diff --git a/code/__DEFINES/_tgs_defines.dm b/code/__DEFINES/_tgs_defines.dm index b8ec5f16be5..0e090dbf448 100644 --- a/code/__DEFINES/_tgs_defines.dm +++ b/code/__DEFINES/_tgs_defines.dm @@ -3,7 +3,7 @@ #define TGS_DEFINE_AND_SET_GLOBAL(Name, Value) GLOBAL_VAR_INIT(##Name, ##Value); GLOBAL_PROTECT(##Name) #define TGS_READ_GLOBAL(Name) GLOB.##Name #define TGS_WRITE_GLOBAL(Name, Value) GLOB.##Name = ##Value -#define TGS_WORLD_ANNOUNCE(message) to_chat(world, "
Host Announcement: [html_encode(##message)]
") +#define TGS_WORLD_ANNOUNCE(message) to_chat(world, "
[SPAN_BOLDANNOUNCEOOC("Host Announcement: [html_encode(##message)]")]
") #define TGS_INFO_LOG(message) log_tgs(message, "INF") #define TGS_WARNING_LOG(message) log_tgs(message, "WRN") #define TGS_ERROR_LOG(message) log_tgs(message, "ERR") diff --git a/code/__DEFINES/span_defines.dm b/code/__DEFINES/span_defines.dm new file mode 100644 index 00000000000..6f2d6986954 --- /dev/null +++ b/code/__DEFINES/span_defines.dm @@ -0,0 +1,131 @@ +// Yes the pluses look bad but the compiler fully folds these down so there isn't a single operation overhead +// Please maintain this format +// Sorted alphabetically +#define SPAN_ABDUCTOR(str) ("" + str + "") +#define SPAN_ADMIN_CHANNEL(str) ("" + str + "") +#define SPAN_ADMIN(str) ("" + str + "") +#define SPAN_ADMINHELP(str) ("" + str + "") +#define SPAN_ADMINNOTICE(str) ("" + str + "") +#define SPAN_ADMINTICKET(str) ("" + str + "") +#define SPAN_ADMINTICKETALT(str) ("" + str + "") +#define SPAN_AGENT_B(str) ("" + str + "") +#define SPAN_ALERT(str) ("" + str + "") +#define SPAN_ALERTALIEN(str) ("" + str + "") +#define SPAN_ALIEN(str) ("" + str + "") +#define SPAN_ALL_ADMIN_PING(str) ("" + str + "") +#define SPAN_ATTACK(str) ("" + str + "") +#define SPAN_AVERAGE(str) ("" + str + "") +#define SPAN_BAD(str) ("" + str + "") +#define SPAN_BIG(str) ("" + str + "") +#define SPAN_BIGGERDANGER(str) ("" + str + "") +#define SPAN_BLOB(str) ("" + str + "") +#define SPAN_BLUETEXT(str) ("" + str + "") +#define SPAN_BODY(str) ("" + str + "") +#define SPAN_BOLD(str) ("" + str + "") +#define SPAN_BOLDANNOUNCE(str) ("" + str + "") +#define SPAN_BOLDANNOUNCEIC(str) ("" + str + "") +#define SPAN_BOLDANNOUNCEOOC(str) ("" + str + "") +#define SPAN_BOLDDANGER(str) ("" + str + "") +#define SPAN_BOLDMESSAGE(str) ("" + str + "") +#define SPAN_BOLDNOTICE(str) ("" + str + "") +#define SPAN_BOLDWARNING(str) ("" + str + "") +#define SPAN_CARBON_DIOXIDE(str) ("" + str + "") +#define SPAN_CAUTION(str) ("" + str + "") +#define SPAN_CHANGELING(str) ("" + str + "") +#define SPAN_CHAOSBAD(str) ("" + str + "") +#define SPAN_CHAOSGOOD(str) ("" + str + "") +#define SPAN_CHAOSNEUTRAL(str) ("" + str + "") +#define SPAN_CHAOSVERYBAD(str) ("" + str + "") +#define SPAN_CHAOSVERYGOOD(str) ("" + str + "") +#define SPAN_CLOWN(str) ("" + str + "") +#define SPAN_CODEPHRASES(str) ("" + str + "") +#define SPAN_CODERESPONSES(str) ("" + str + "") +#define SPAN_COLOSSUS(str) ("" + str + "") +#define SPAN_CULT(str) ("" + str + "") +#define SPAN_CULTITALIC(str) ("" + str + "") +#define SPAN_CULTLARGE(str) ("" + str + "") +#define SPAN_DANGER(str) ("" + str + "") +#define SPAN_DANTALION(str) ("" + str + "") +#define SPAN_DARK(str) ("" + str + "") +#define SPAN_DARKMBLUE(str) ("" + str + "") +#define SPAN_DEAD(str) ("" + str + "") +#define SPAN_DEADSAY(str) ("" + str + "") +#define SPAN_DEBUG(str) ("" + str + "") +#define SPAN_DEPTRADIO(str) ("" + str + "") +#define SPAN_DEV_CHANNEL(str) ("" + str + "") +#define SPAN_DISARM(str) ("" + str + "") +#define SPAN_DISCORDPM(str) ("" + str + "") +#define SPAN_EMOJI_ENABLED(str) ("" + str + "") +#define SPAN_EMOTE(str) ("" + str + "") +#define SPAN_ERROR(str) ("" + str + "") +#define SPAN_GHOSTALERT(str) ("" + str + "") +#define SPAN_GOOD(str) ("" + str + "") +#define SPAN_GREEN(str) ("" + str + "") +#define SPAN_GREENANNOUNCE(str) ("" + str + "") +#define SPAN_GREENTEXT(str) ("" + str + "") +#define SPAN_HEADER(str) ("" + str + "") +#define SPAN_HEALTHSCAN_OXY(str) ("" + str + "") +#define SPAN_HEAR(str) ("" + str + "") +#define SPAN_HIEROPHANT_WARNING(str) ("" + str + "") +#define SPAN_HIEROPHANT(str) ("" + str + "") +#define SPAN_HIS_GRACE(str) ("" + str + "") +#define SPAN_HOLOPARASITE(str) ("" + str + "") +#define SPAN_HYDROGEN(str) ("" + str + "") +#define SPAN_INFO(str) ("" + str + "") +#define SPAN_INFORMATION(str) ("" + str + "") +#define SPAN_INTERFACE(str) ("" + str + "") +#define SPAN_ITALICS(str) ("" + str + "") +#define SPAN_LINKOFF(str) ("" + str + "") +#define SPAN_LOOC(str) ("" + str + "") +#define SPAN_MAPTEXT(str) ("" + str + "") +#define SPAN_MEMO(str) ("" + str + "") +#define SPAN_MEMOEDIT(str) ("" + str + "") +#define SPAN_MENTOR_CHANNEL(str) ("" + str + "") +#define SPAN_MENTORHELP(str) ("" + str + "") +#define SPAN_MESSAGE(str) ("" + str + "") +#define SPAN_MIND_CONTROL(str) ("" + str + "") +#define SPAN_MODERATE(str) ("" + str + "") +#define SPAN_MOTD(str) ("" + str + "") +#define SPAN_NAME(str) ("" + str + "") +#define SPAN_NARSIE(str) ("" + str + "") +#define SPAN_NICEGREEN(str) ("" + str + "") +#define SPAN_NITROGEN(str) ("" + str + "") +#define SPAN_NOTICE(str) ("" + str + "") +#define SPAN_NOTICEALIEN(str) ("" + str + "") +#define SPAN_OOC(str) ("" + str + "") +#define SPAN_OXYGEN(str) ("" + str + "") +#define SPAN_PLASMA(str) ("" + str + "") +#define SPAN_PR_ANNOUNCE(str) ("" + str + "") +#define SPAN_PREFIX(str) ("" + str + "") +#define SPAN_PURPLE(str) ("" + str + "") +#define SPAN_REALLYBIG(str) ("" + str + "") +#define SPAN_RED(str) ("" + str + "") +#define SPAN_REDTEXT(str) ("" + str + "") +#define SPAN_RESONATE(str) ("" + str + "") +#define SPAN_REVENBIGNOTICE(str) ("" + str + "") +#define SPAN_REVENDANGER(str) ("" + str + "") +#define SPAN_REVENMINOR(str) ("" + str + "") +#define SPAN_REVENNOTICE(str) ("" + str + "") +#define SPAN_REVENWARNING(str) ("" + str + "") +#define SPAN_ROBOT(str) ("" + str + "") +#define SPAN_ROSE(str) ("" + str + "") +#define SPAN_SANS(str) ("" + str + "") +#define SPAN_SCIRADIO(str) ("" + str + "") +#define SPAN_SINISTER(str) ("" + str + "") +#define SPAN_SLEEPING_AGENT(str) ("" + str + "") +#define SPAN_SPECIALNOTICE(str) ("" + str + "") +#define SPAN_STAFF_CHANNEL(str) ("" + str + "") +#define SPAN_SUBTLE(str) ("" + str + "") +#define SPAN_SUCCESS(str) ("" + str + "") +#define SPAN_SUICIDE(str) ("" + str + "") +#define SPAN_TERRORSPIDER(str) ("" + str + "") +#define SPAN_TYPING(str) ("" + str + "") +#define SPAN_UNCONSCIOUS(str) ("" + str + "") +#define SPAN_USERDANGER(str) ("" + str + "") +#define SPAN_VALUE(str) ("" + str + "") +#define SPAN_WARN(str) ("" + str + "") +#define SPAN_WARNING(str) ("" + str + "") +#define SPAN_WATER_VAPOR(str) ("" + str + "") +#define SPAN_WHISPER(str) ("" + str + "") +#define SPAN_ZOMBIE(str) ("" + str + "") +#define SPAN_ZOMBIELARGE(str) ("" + str + "") diff --git a/code/__DEFINES/tools_defines.dm b/code/__DEFINES/tools_defines.dm index 09e776c95f2..e612e69cf0c 100644 --- a/code/__DEFINES/tools_defines.dm +++ b/code/__DEFINES/tools_defines.dm @@ -44,43 +44,43 @@ GLOBAL_LIST_INIT(surgery_tool_behaviors, list( #define MIN_TOOL_SOUND_DELAY 20 //Crowbar messages -#define CROWBAR_ATTEMPT_PRY_CIRCUIT_MESSAGE user.visible_message("[user] begins removing the circuit board from [src]...", "You begin removing the circuit board from [src]...", "You hear prying noises.") -#define CROWBAR_PRY_CIRCUIT_SUCCESS_MESSAGE user.visible_message("[user] pries out the circuit board from [src]!", "You pry out the circuit board from [src]!", "You hear prying noises.") +#define CROWBAR_ATTEMPT_PRY_CIRCUIT_MESSAGE user.visible_message(SPAN_NOTICE("[user] begins removing the circuit board from [src]..."), SPAN_NOTICE("You begin removing the circuit board from [src]..."), SPAN_WARNING("You hear prying noises.")) +#define CROWBAR_PRY_CIRCUIT_SUCCESS_MESSAGE user.visible_message(SPAN_NOTICE("[user] pries out the circuit board from [src]!"), SPAN_NOTICE("You pry out the circuit board from [src]!"), SPAN_WARNING("You hear prying noises.")) //Screwdriver messages -#define SCREWDRIVER_SCREW_MESSAGE user.visible_message("[user] tightens the screws on [src]!", "You tighten the screws on [src]!", "You hear a screwdriver.") -#define SCREWDRIVER_UNSCREW_MESSAGE user.visible_message("[user] loosens the screws on [src]!", "You loosen the screws on [src]!", "You hear a screwdriver.") -#define SCREWDRIVER_OPEN_PANEL_MESSAGE user.visible_message("[user] opens the panel on [src]!", "You open the panel on [src]!", "You hear a screwdriver.") -#define SCREWDRIVER_CLOSE_PANEL_MESSAGE user.visible_message("[user] closes the panel on [src]!", "You close the panel on [src]!", "You hear a screwdriver.") +#define SCREWDRIVER_SCREW_MESSAGE user.visible_message(SPAN_NOTICE("[user] tightens the screws on [src]!"), SPAN_NOTICE("You tighten the screws on [src]!"), SPAN_WARNING("You hear a screwdriver.")) +#define SCREWDRIVER_UNSCREW_MESSAGE user.visible_message(SPAN_NOTICE("[user] loosens the screws on [src]!"), SPAN_NOTICE("You loosen the screws on [src]!"), SPAN_WARNING("You hear a screwdriver.")) +#define SCREWDRIVER_OPEN_PANEL_MESSAGE user.visible_message(SPAN_NOTICE("[user] opens the panel on [src]!"), SPAN_NOTICE("You open the panel on [src]!"), SPAN_WARNING("You hear a screwdriver.")) +#define SCREWDRIVER_CLOSE_PANEL_MESSAGE user.visible_message(SPAN_NOTICE("[user] closes the panel on [src]!"), SPAN_NOTICE("You close the panel on [src]!"), SPAN_WARNING("You hear a screwdriver.")) //Wirecutter messages -#define WIRECUTTER_SNIP_MESSAGE user.visible_message("[user] cuts the wires from [src]!", "You cut the wires from [src]!", "You hear snipping.") -#define WIRECUTTER_ATTEMPT_DISMANTLE_MESSAGE user.visible_message("[user] begins cutting [src] apart...", "You begin cutting [src] apart...", "You hear snipping.") -#define WIRECUTTER_DISMANTLE_SUCCESS_MESSAGE user.visible_message("[user] cuts [src] apart!", "You cut [src] apart!", "You hear snipping.") +#define WIRECUTTER_SNIP_MESSAGE user.visible_message(SPAN_NOTICE("[user] cuts the wires from [src]!"), SPAN_NOTICE("You cut the wires from [src]!"), SPAN_WARNING("You hear snipping.")) +#define WIRECUTTER_ATTEMPT_DISMANTLE_MESSAGE user.visible_message(SPAN_NOTICE("[user] begins cutting [src] apart..."), SPAN_NOTICE("You begin cutting [src] apart..."), SPAN_WARNING("You hear snipping.")) +#define WIRECUTTER_DISMANTLE_SUCCESS_MESSAGE user.visible_message(SPAN_NOTICE("[user] cuts [src] apart!"), SPAN_NOTICE("You cut [src] apart!"), SPAN_WARNING("You hear snipping.")) //Welder messages and other stuff #define HEALPERWELD 15 -#define WELDER_ATTEMPT_WELD_MESSAGE user.visible_message("[user] begins welding [src]...", "You begin welding [src]...", "You hear welding.") -#define WELDER_WELD_SUCCESS_MESSAGE to_chat(user, "You finish welding [src]!") -#define WELDER_ATTEMPT_REPAIR_MESSAGE user.visible_message("[user] begins repairing the damage on [src]...", "You begin repairing [src]...", "You hear welding.") -#define WELDER_REPAIR_SUCCESS_MESSAGE to_chat(user, "You repair the damage on [src]!") -#define WELDER_ATTEMPT_SLICING_MESSAGE user.visible_message("[user] begins slicing through [src]...", "You begin slicing through [src]...", "You hear welding.") -#define WELDER_SLICING_SUCCESS_MESSAGE to_chat(user, "You slice clean through [src]!") -#define WELDER_ATTEMPT_FLOOR_SLICE_MESSAGE user.visible_message("[user] begins slicing [src] free from [get_turf(src)]...", "You begin slicing [src] free from [get_turf(src)]...", "You hear welding.") -#define WELDER_FLOOR_SLICE_SUCCESS_MESSAGE to_chat(user, "You slice [src] clear of [get_turf(src)]!") -#define WELDER_ATTEMPT_FLOOR_WELD_MESSAGE user.visible_message("[user] begins welding [src] to [get_turf(src)]...", "You begin welding [src] to [get_turf(src)]...", "You hear welding.") -#define WELDER_FLOOR_WELD_SUCCESS_MESSAGE to_chat(user, "You weld [src] to [get_turf(src)]!") -#define WELDER_ATTEMPT_UNWELD_MESSAGE user.visible_message("[user] begins cutting through the weld on [src]...", "You begin cutting through the weld on [src]...", "You hear welding.") -#define WELDER_UNWELD_SUCCESS_MESSAGE to_chat(user, "You finish unwelding [src]!") +#define WELDER_ATTEMPT_WELD_MESSAGE user.visible_message(SPAN_NOTICE("[user] begins welding [src]..."), SPAN_NOTICE("You begin welding [src]..."), SPAN_WARNING("You hear welding.")) +#define WELDER_WELD_SUCCESS_MESSAGE to_chat(user, SPAN_NOTICE("You finish welding [src]!")) +#define WELDER_ATTEMPT_REPAIR_MESSAGE user.visible_message(SPAN_NOTICE("[user] begins repairing the damage on [src]..."), SPAN_NOTICE("You begin repairing [src]..."), SPAN_WARNING("You hear welding.")) +#define WELDER_REPAIR_SUCCESS_MESSAGE to_chat(user, SPAN_NOTICE("You repair the damage on [src]!")) +#define WELDER_ATTEMPT_SLICING_MESSAGE user.visible_message(SPAN_NOTICE("[user] begins slicing through [src]..."), SPAN_NOTICE("You begin slicing through [src]..."), SPAN_WARNING("You hear welding.")) +#define WELDER_SLICING_SUCCESS_MESSAGE to_chat(user, SPAN_NOTICE("You slice clean through [src]!")) +#define WELDER_ATTEMPT_FLOOR_SLICE_MESSAGE user.visible_message(SPAN_NOTICE("[user] begins slicing [src] free from [get_turf(src)]..."), SPAN_NOTICE("You begin slicing [src] free from [get_turf(src)]..."), SPAN_WARNING("You hear welding.")) +#define WELDER_FLOOR_SLICE_SUCCESS_MESSAGE to_chat(user, SPAN_NOTICE("You slice [src] clear of [get_turf(src)]!")) +#define WELDER_ATTEMPT_FLOOR_WELD_MESSAGE user.visible_message(SPAN_NOTICE("[user] begins welding [src] to [get_turf(src)]..."), SPAN_NOTICE("You begin welding [src] to [get_turf(src)]..."), SPAN_WARNING("You hear welding.")) +#define WELDER_FLOOR_WELD_SUCCESS_MESSAGE to_chat(user, SPAN_NOTICE("You weld [src] to [get_turf(src)]!")) +#define WELDER_ATTEMPT_UNWELD_MESSAGE user.visible_message(SPAN_NOTICE("[user] begins cutting through the weld on [src]..."), SPAN_NOTICE("You begin cutting through the weld on [src]..."), SPAN_WARNING("You hear welding.")) +#define WELDER_UNWELD_SUCCESS_MESSAGE to_chat(user, SPAN_NOTICE("You finish unwelding [src]!")) //Wrench messages -#define WRENCH_ANCHOR_MESSAGE user.visible_message("[user] tightens the bolts on [src]!", "You tighten the bolts on [src]!", "You hear ratcheting.") -#define WRENCH_UNANCHOR_MESSAGE user.visible_message("[user] loosens the bolts on [src]!", "You loosen the bolts on [src]!", "You hear ratcheting.") -#define WRENCH_ATTEMPT_ANCHOR_MESSAGE user.visible_message("[user] begins tightening the bolts on [src]...", "You begin tightening the bolts on [src]...", "You hear ratcheting.") -#define WRENCH_ATTEMPT_UNANCHOR_MESSAGE user.visible_message("[user] begins loosening the bolts on [src]...", "You begin loosening the bolts on [src]...", "You hear ratcheting.") -#define WRENCH_UNANCHOR_WALL_MESSAGE user.visible_message("[user] unwrenches [src] from the wall!", "You unwrench [src] from the wall!", "You hear ratcheting.") -#define WRENCH_ANCHOR_TO_WALL_MESSAGE user.visible_message("[user] affixes [src] to the wall!", "You affix [src] to the wall!", "You hear ratcheting.") +#define WRENCH_ANCHOR_MESSAGE user.visible_message(SPAN_NOTICE("[user] tightens the bolts on [src]!"), SPAN_NOTICE("You tighten the bolts on [src]!"), SPAN_WARNING("You hear ratcheting.")) +#define WRENCH_UNANCHOR_MESSAGE user.visible_message(SPAN_NOTICE("[user] loosens the bolts on [src]!"), SPAN_NOTICE("You loosen the bolts on [src]!"), SPAN_WARNING("You hear ratcheting.")) +#define WRENCH_ATTEMPT_ANCHOR_MESSAGE user.visible_message(SPAN_NOTICE("[user] begins tightening the bolts on [src]..."), SPAN_NOTICE("You begin tightening the bolts on [src]..."), SPAN_WARNING("You hear ratcheting.")) +#define WRENCH_ATTEMPT_UNANCHOR_MESSAGE user.visible_message(SPAN_NOTICE("[user] begins loosening the bolts on [src]..."), SPAN_NOTICE("You begin loosening the bolts on [src]..."), SPAN_WARNING("You hear ratcheting.")) +#define WRENCH_UNANCHOR_WALL_MESSAGE user.visible_message(SPAN_NOTICE("[user] unwrenches [src] from the wall!"), SPAN_NOTICE("You unwrench [src] from the wall!"), SPAN_WARNING("You hear ratcheting.")) +#define WRENCH_ANCHOR_TO_WALL_MESSAGE user.visible_message(SPAN_NOTICE("[user] affixes [src] to the wall!"), SPAN_NOTICE("You affix [src] to the wall!"), SPAN_WARNING("You hear ratcheting.")) //Generic tool messages that don't correspond to any particular tool -#define TOOL_ATTEMPT_DISMANTLE_MESSAGE user.visible_message("[user] begins to disassemble [src] with [I]...", "You begin to disassemble [src] with [I]...", "You hear someone using some kind of tool.") -#define TOOL_DISMANTLE_SUCCESS_MESSAGE user.visible_message("[user] dismantles [src]!", "You dismantle [src]!", "You hear someone using some kind of tool.") +#define TOOL_ATTEMPT_DISMANTLE_MESSAGE user.visible_message(SPAN_NOTICE("[user] begins to disassemble [src] with [I]..."), SPAN_NOTICE("You begin to disassemble [src] with [I]..."), SPAN_WARNING("You hear someone using some kind of tool.")) +#define TOOL_DISMANTLE_SUCCESS_MESSAGE user.visible_message(SPAN_NOTICE("[user] dismantles [src]!"), SPAN_NOTICE("You dismantle [src]!"), SPAN_WARNING("You hear someone using some kind of tool.")) diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index 4b7573aa345..1f5f9b7f749 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -41,7 +41,7 @@ GLOBAL_PROTECT(log_end) for(var/client/C in GLOB.admins) if(check_rights(R_DEBUG | R_VIEWRUNTIMES, FALSE, C.mob) && (C.prefs.toggles & PREFTOGGLE_CHAT_DEBUGLOGS)) - to_chat(C, "DEBUG: [text]", MESSAGE_TYPE_DEBUG, confidential = TRUE) + to_chat(C, SPAN_DEBUG("DEBUG: [text]"), MESSAGE_TYPE_DEBUG, confidential = TRUE) /proc/log_game(text) if(GLOB.configuration.logging.game_logging) @@ -235,7 +235,7 @@ GLOBAL_PROTECT(log_end) // help devs test initialization stuff that happens a lot /proc/log_after_setup(message) if(SSticker && SSticker.current_state > GAME_STATE_SETTING_UP) - to_chat(world, "[message]") + to_chat(world, SPAN_DANGER("[message]")) log_world(message) /* For logging round startup. */ diff --git a/code/__HELPERS/api.dm b/code/__HELPERS/api.dm index 9f25fe4c2a4..5941dad585a 100644 --- a/code/__HELPERS/api.dm +++ b/code/__HELPERS/api.dm @@ -20,7 +20,7 @@ if(IsAdminAdvancedProcCall()) // Admins shouldnt fuck with this - to_chat(usr, "API interaction blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("API interaction blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to interact with the internal API via advanced proc-call") log_admin("[key_name(usr)] attempted to interact with the internal API via advanced proc-call") return diff --git a/code/__HELPERS/files.dm b/code/__HELPERS/files.dm index 0810fc2cb41..1ddc1fe4749 100644 --- a/code/__HELPERS/files.dm +++ b/code/__HELPERS/files.dm @@ -2,7 +2,7 @@ /proc/wrap_file(filepath) if(IsAdminAdvancedProcCall()) // Admins shouldnt fuck with this - to_chat(usr, "File load blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("File load blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to load files via advanced proc-call") log_admin("[key_name(usr)] attempted to load files via advanced proc-call") return @@ -12,7 +12,7 @@ /proc/wrap_file2text(filepath) if(IsAdminAdvancedProcCall()) // Admins shouldnt fuck with this - to_chat(usr, "File load blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("File load blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to load files via advanced proc-call") log_admin("[key_name(usr)] attempted to load files via advanced proc-call") return diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index c47c775bf0b..39a59d50610 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -70,7 +70,7 @@ var/datum/pai_software/P = new type() if(GLOB.pai_software_by_key[P.id]) var/datum/pai_software/O = GLOB.pai_software_by_key[P.id] - to_chat(world, "pAI software module [P.name] has the same key as [O.name]!") + to_chat(world, SPAN_WARNING("pAI software module [P.name] has the same key as [O.name]!")) continue GLOB.pai_software_by_key[P.id] = P diff --git a/code/__HELPERS/mob_helpers.dm b/code/__HELPERS/mob_helpers.dm index df1abe1ef93..54857c16aa9 100644 --- a/code/__HELPERS/mob_helpers.dm +++ b/code/__HELPERS/mob_helpers.dm @@ -237,7 +237,7 @@ if("execute", SEC_RECORD_STATUS_EXECUTE) if((ACCESS_MAGISTRATE in authcard_access) || (ACCESS_ARMORY in authcard_access)) status = SEC_RECORD_STATUS_EXECUTE - message_admins("[ADMIN_FULLMONTY(usr)] authorized EXECUTION for [their_rank] [their_name], with comment: [comment]") + message_admins("[ADMIN_FULLMONTY(usr)] authorized [SPAN_WARNING("EXECUTION")] for [their_rank] [their_name], with comment: [comment]") else return 0 if("search", SEC_RECORD_STATUS_SEARCH) @@ -245,7 +245,7 @@ if("monitor", SEC_RECORD_STATUS_MONITOR) status = SEC_RECORD_STATUS_MONITOR if("demote", SEC_RECORD_STATUS_DEMOTE) - message_admins("[ADMIN_FULLMONTY(usr)] set criminal status to DEMOTE for [their_rank] [their_name], with comment: [comment]") + message_admins("[ADMIN_FULLMONTY(usr)] set criminal status to [SPAN_WARNING("DEMOTE")] for [their_rank] [their_name], with comment: [comment]") status = SEC_RECORD_STATUS_DEMOTE if("incarcerated", SEC_RECORD_STATUS_INCARCERATED) status = SEC_RECORD_STATUS_INCARCERATED @@ -492,7 +492,7 @@ GLOBAL_LIST_EMPTY(do_after_once_tracker) var/cache_key = "[user.UID()][target.UID()][special_identifier]" if(GLOB.do_after_once_tracker[cache_key]) GLOB.do_after_once_tracker[cache_key] = DOAFTERONCE_MAGIC - to_chat(user, "[attempt_cancel_message]") + to_chat(user, SPAN_WARNING("[attempt_cancel_message]")) return FALSE extra_checks += CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(do_after_once_checks), cache_key, hidden) @@ -591,10 +591,10 @@ GLOBAL_LIST_EMPTY(do_after_once_tracker) if(!.) . = M else - to_chat(user, "Multiple mobs in [A], using first mob found...") + to_chat(user, SPAN_WARNING("Multiple mobs in [A], using first mob found...")) break if(!.) - to_chat(user, "No mob located in [A].") + to_chat(user, SPAN_WARNING("No mob located in [A].")) // Suppress the mouse macros /mob/proc/LogMouseMacro(verbused, params) diff --git a/code/_onclick/ai_onclick.dm b/code/_onclick/ai_onclick.dm index 0bb3c6caf08..dcfae62eec2 100644 --- a/code/_onclick/ai_onclick.dm +++ b/code/_onclick/ai_onclick.dm @@ -196,7 +196,7 @@ if(stat & BROKEN) return if(!user.can_remote_apc_interface(src)) - to_chat(user, "Unable to interface: Connection refused.") + to_chat(user, SPAN_WARNING("Unable to interface: Connection refused.")) return toggle_breaker(user) @@ -235,7 +235,7 @@ if(!ai_control_check(user)) return if(wires.is_cut(WIRE_ELECTRIFY)) - to_chat(user, "The electrification wire is cut - Cannot electrify the door.") + to_chat(user, SPAN_WARNING("The electrification wire is cut - Cannot electrify the door.")) if(isElectrified()) electrify(0, user, TRUE) // un-shock else diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 187fb1918bf..8d3a7ae4107 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -63,7 +63,7 @@ if(dragged && !modifiers[dragged]) return if(IsFrozen(A) && !is_admin(usr)) - to_chat(usr, "Interacting with admin-frozen players is not permitted.") + to_chat(usr, SPAN_BOLDANNOUNCEIC("Interacting with admin-frozen players is not permitted.")) return if(modifiers["middle"] && modifiers["shift"] && modifiers["ctrl"]) MiddleShiftControlClickOn(A) diff --git a/code/_onclick/click_override.dm b/code/_onclick/click_override.dm index 8a377d6706b..cb8232babe7 100644 --- a/code/_onclick/click_override.dm +++ b/code/_onclick/click_override.dm @@ -27,10 +27,10 @@ /obj/item/badmin_book/attack_self__legacy__attackchain(mob/living/user as mob) if(user.middleClickOverride) - to_chat(user, "You try to draw power from [src], but you cannot hold the power at this time!") + to_chat(user, SPAN_WARNING("You try to draw power from [src], but you cannot hold the power at this time!")) return user.middleClickOverride = clickBehavior - to_chat(user, "You draw a bit of power from [src], you can use middle click or alt click to release the power!") + to_chat(user, SPAN_NOTICE("You draw a bit of power from [src], you can use middle click or alt click to release the power!")) /datum/middle_click_override/badmin_clicker var/summon_path = /obj/item/food/cookie @@ -38,8 +38,8 @@ /datum/middle_click_override/badmin_clicker/onClick(atom/A, mob/living/user) var/atom/movable/newObject = new summon_path newObject.loc = get_turf(A) - to_chat(user, "You release the power you had stored up, summoning \a [newObject.name]!") - usr.loc.visible_message("[user] waves [user.p_their()] hand and summons \a [newObject.name]!") + to_chat(user, SPAN_NOTICE("You release the power you had stored up, summoning \a [newObject.name]!")) + usr.loc.visible_message(SPAN_NOTICE("[user] waves [user.p_their()] hand and summons \a [newObject.name]!")) ..() /datum/middle_click_override/shock_implant @@ -51,17 +51,17 @@ if(!P) return if(!COOLDOWN_FINISHED(P, last_shocked)) - to_chat(user, "The powerchip is still recharging.") + to_chat(user, SPAN_WARNING("The powerchip is still recharging.")) return FALSE var/turf/T = get_turf(user) var/obj/structure/cable/C = locate() in T if(!P.unlimited_power) if(!C || !istype(C)) - to_chat(user, "There is no cable here to power the bio-chip.") + to_chat(user, SPAN_WARNING("There is no cable here to power the bio-chip.")) return FALSE var/turf/target_turf = get_turf(A) if(get_dist(T, target_turf) > P.shock_range) - to_chat(user, "The target is too far away.") + to_chat(user, SPAN_WARNING("The target is too far away.")) return FALSE target_turf.hotspot_expose(2000, 1) playsound(user.loc, 'sound/effects/eleczap.ogg', 40, 1) diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index fdf37341cdd..52a3d6162d9 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -63,7 +63,7 @@ if(is_component_functioning("camera")) aiCamera.captureimage(A, usr) else - to_chat(src, "Your camera isn't functional.") + to_chat(src, SPAN_USERDANGER("Your camera isn't functional.")) return /* diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index d71129da49d..c0070026c4b 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -162,7 +162,7 @@ if(!can_use(user)) return locked = !locked - to_chat(user, "[src]'s button has been [locked ? "":"un"]locked.") + to_chat(user, SPAN_NOTICE("[src]'s button has been [locked ? "":"un"]locked.")) /** @@ -187,10 +187,10 @@ user.client.active_keybindings[keybind_to_set_to] += list(triggerer) linked_keybind = triggerer triggerer.binded_to = keybind_to_set_to - to_chat(user, "[src] has been binded to [keybind_to_set_to]!") + to_chat(user, SPAN_NOTICE("[src] has been binded to [keybind_to_set_to]!")) else if(linked_keybind) clean_up_keybinds(user) - to_chat(user, "Your active keybinding on [src] has been cleared.") + to_chat(user, SPAN_NOTICE("Your active keybinding on [src] has been cleared.")) /atom/movable/screen/movable/action_button/AltClick(mob/user) return linked_action.AltTrigger() @@ -370,7 +370,7 @@ GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6, for(var/datum/hud/hud as anything in action.viewers) var/atom/movable/screen/movable/action_button/button = action.viewers[hud] hud.position_action(button, SCRN_OBJ_DEFAULT) - to_chat(usr, "Action button positions have been reset.") + to_chat(usr, SPAN_NOTICE("Action button positions have been reset.")) return TRUE set_expanded(!expanded) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index d8e39ad3d0f..0ac270493fd 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -136,11 +136,11 @@ if(!usr || !usr.client) return FALSE if(usr != owner) - to_chat(usr, "Only [owner] can use that!") + to_chat(usr, SPAN_NOTICE("Only [owner] can use that!")) return FALSE var/paramslist = params2list(params) if(paramslist["shift"]) // screen objects don't do the normal Click() stuff so we'll cheat - to_chat(usr, "[name] - [desc]") + to_chat(usr, SPAN_BOLDNOTICE("[name] - [desc]")) return FALSE if(master) usr.client.Click(master, location, control, params) @@ -544,9 +544,9 @@ so as to remain in compliance with the most up-to-date laws." return var/obj/mecha/M = usr.loc if(M.connect(target)) - to_chat(usr, "[M] connects to the port.") + to_chat(usr, SPAN_NOTICE("[M] connects to the port.")) else - to_chat(usr, "[M] failed to connect to the port.") + to_chat(usr, SPAN_NOTICE("[M] failed to connect to the port.")) /atom/movable/screen/alert/mech_port_disconnect name = "Disconnect from Port" @@ -560,9 +560,9 @@ so as to remain in compliance with the most up-to-date laws." return var/obj/mecha/M = usr.loc if(M.disconnect()) - to_chat(usr, "[M] disconnects from the port.") + to_chat(usr, SPAN_NOTICE("[M] disconnects from the port.")) else - to_chat(usr, "[M] is not connected to a port at the moment.") + to_chat(usr, SPAN_NOTICE("[M] is not connected to a port at the moment.")) /atom/movable/screen/alert/mech_nocell name = "Missing Power Cell" @@ -946,6 +946,6 @@ so as to remain in compliance with the most up-to-date laws." var/mob/living/carbon/C = owner var/datum/organ/heart/heart = C.get_int_organ_datum(ORGAN_DATUM_HEART) heart_name = heart.linked_organ.name - to_chat(owner, "Electricity flows through our [heart_name]! We have been brought back to life and have stopped our regeneration.") + to_chat(owner, SPAN_DANGER("Electricity flows through our [heart_name]! We have been brought back to life and have stopped our regeneration.")) . = COMPONENT_DEFIB_FAKEDEATH_ACCEPTED owner.clear_alert("cling_defib") diff --git a/code/_onclick/hud/follow_alert.dm b/code/_onclick/hud/follow_alert.dm index 090f0ff08bd..fe12eecab18 100644 --- a/code/_onclick/hud/follow_alert.dm +++ b/code/_onclick/hud/follow_alert.dm @@ -42,10 +42,10 @@ if(!usr || !usr.client || !isobserver(usr)) return if(usr in followers) - to_chat(usr, "You will now not auto-follow [thing_followed].") + to_chat(usr, SPAN_NOTICE("You will now not auto-follow [thing_followed].")) remove_follower(usr) else - to_chat(usr, "You are now auto-following [thing_followed]. Click again to stop.") + to_chat(usr, SPAN_NOTICE("You are now auto-following [thing_followed]. Click again to stop.")) add_follower(usr) /atom/movable/screen/alert/augury/Destroy(force) diff --git a/code/_onclick/hud/ghost_hud.dm b/code/_onclick/hud/ghost_hud.dm index 2af8734df6f..b9151475b65 100644 --- a/code/_onclick/hud/ghost_hud.dm +++ b/code/_onclick/hud/ghost_hud.dm @@ -79,7 +79,7 @@ /atom/movable/screen/ghost/respawn_pai/Click() var/mob/dead/observer/G = usr if(!GLOB.paiController.check_recruit(G)) - to_chat(G, "You are not eligible to become a pAI.") + to_chat(G, SPAN_WARNING("You are not eligible to become a pAI.")) return GLOB.paiController.recruitWindow(G) diff --git a/code/_onclick/hud/guardian_hud.dm b/code/_onclick/hud/guardian_hud.dm index f8a960e62d7..ee21412ab6e 100644 --- a/code/_onclick/hud/guardian_hud.dm +++ b/code/_onclick/hud/guardian_hud.dm @@ -47,10 +47,10 @@ var/mob/living/simple_animal/hostile/guardian/G = usr var/summoner_loc = G.summoner.loc if(istype(summoner_loc, /obj/machinery/atmospherics)) - to_chat(G, "You can not manifest while in these pipes!") + to_chat(G, SPAN_WARNING("You can not manifest while in these pipes!")) return if(istype(summoner_loc, /obj/structure/closet/cardboard/agent)) - to_chat(G, "You can not manifest while inside an active Stealth Implant!") + to_chat(G, SPAN_WARNING("You can not manifest while inside an active Stealth Implant!")) return if(G.loc == G.summoner) G.Manifest() diff --git a/code/_onclick/hud/hud_datum.dm b/code/_onclick/hud/hud_datum.dm index 26fe8f62192..20c51d968cd 100644 --- a/code/_onclick/hud/hud_datum.dm +++ b/code/_onclick/hud/hud_datum.dm @@ -278,13 +278,13 @@ /mob/proc/hide_hud() if(HAS_TRAIT(src, TRAIT_KNOCKEDOUT) && isliving(src)) - to_chat(src, "You can not change huds while asleep!") + to_chat(src, SPAN_WARNING("You can not change huds while asleep!")) return if(hud_used && client) hud_used.show_hud() //Shows the next hud preset - to_chat(src, "Switched HUD mode. Press the key you just pressed to toggle the HUD mode again.") + to_chat(src, SPAN_NOTICE("Switched HUD mode. Press the key you just pressed to toggle the HUD mode again.")) else - to_chat(src, "This mob type does not use a HUD.") + to_chat(src, SPAN_WARNING("This mob type does not use a HUD.")) /datum/hud/proc/update_locked_slots() return diff --git a/code/_onclick/hud/robot_hud.dm b/code/_onclick/hud/robot_hud.dm index bbdfcf90f4a..0ad43b4df03 100644 --- a/code/_onclick/hud/robot_hud.dm +++ b/code/_onclick/hud/robot_hud.dm @@ -264,7 +264,7 @@ screenmob.client.screen += module_store_icon //"store" icon if(!R.module.modules) - to_chat(usr, "Selected module has no modules to select.") + to_chat(usr, SPAN_DANGER("Selected module has no modules to select.")) return if(!robot_modules_background) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 99aa28939e0..0a389bc745c 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -74,11 +74,11 @@ var/time = (reagent_temp / 10) / (temperature / 1000) if(user.mind && HAS_TRAIT(user.mind, TRAIT_QUICK_HEATER)) while(do_after_once(user, time, TRUE, user, TRUE, attempt_cancel_message = "You stop heating up [target].")) - to_chat(user, "You heat [target] with [src].") + to_chat(user, SPAN_NOTICE("You heat [target] with [src].")) target.reagents.temperature_reagents(temperature) else if(do_after_once(user, time, TRUE, user, TRUE, attempt_cancel_message = "You stop heating up [target].")) - to_chat(user, "You heat [target] with [src].") + to_chat(user, SPAN_NOTICE("You heat [target] with [src].")) target.reagents.temperature_reagents(temperature) /** @@ -171,11 +171,11 @@ // TODO: Migrate all of this to the proper objects so it's not clogging up a core proc and called at irrelevant times if((is_surgery_tool_by_behavior(src) || is_organ(src) || tool_behaviour) && user.a_intent == INTENT_HELP && on_operable_surface(target) && target != user) - to_chat(user, "You don't want to harm the person you're trying to help!") + to_chat(user, SPAN_NOTICE("You don't want to harm the person you're trying to help!")) return FALSE if(force && HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm other living beings!") + to_chat(user, SPAN_WARNING("You don't want to harm other living beings!")) return FALSE if(!force) @@ -226,9 +226,9 @@ var/damage = attacker.force if(attacker.force) user.visible_message( - "[user] has hit [src] with [attacker]!", - "You hit [src] with [attacker]!", - "You hear something being struck by a weapon!" + SPAN_DANGER("[user] has hit [src] with [attacker]!"), + SPAN_DANGER("You hit [src] with [attacker]!"), + SPAN_DANGER("You hear something being struck by a weapon!") ) if(ishuman(user)) @@ -255,16 +255,16 @@ /mob/living/simple_animal/attacked_by(obj/item/attacker, mob/living/user) if(!attacker.force) user.visible_message( - "[user] gently taps [src] with [attacker].", - "This weapon is ineffective, it does no damage!", - "You hear a gentle tapping." + SPAN_NOTICE("[user] gently taps [src] with [attacker]."), + SPAN_WARNING("This weapon is ineffective, it does no damage!"), + SPAN_NOTICE("You hear a gentle tapping.") ) else if(attacker.force < force_threshold || attacker.damtype == STAMINA) visible_message( - "[attacker] bounces harmlessly off of [src].", - "[attacker] bounces harmlessly off of [src]!", - "You hear something being struck by a weapon!" + SPAN_WARNING("[attacker] bounces harmlessly off of [src]."), + SPAN_WARNING("[attacker] bounces harmlessly off of [src]!"), + SPAN_WARNING("You hear something being struck by a weapon!") ) else diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 3a3f9a34e6b..5f107d39dce 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -125,7 +125,7 @@ if(focus) d = max(d,get_dist(user,focus)) // whichever is further if(d > TK_MAXRANGE || user.z != target.z) - to_chat(user, "Your mind won't reach that far.") + to_chat(user, SPAN_WARNING("Your mind won't reach that far.")) return if(!focus) @@ -146,10 +146,10 @@ else if(focus.buckled_mobs) - to_chat(user, "This object is too heavy to move with something buckled to it!") + to_chat(user, SPAN_NOTICE("This object is too heavy to move with something buckled to it!")) return if(length(focus.client_mobs_in_contents)) - to_chat(user, "This object is too heavy to move with something inside of it!") + to_chat(user, SPAN_NOTICE("This object is too heavy to move with something inside of it!")) return apply_focus_overlay() focus.throw_at(target, 10, 1, user) diff --git a/code/controllers/controller.dm b/code/controllers/controller.dm index 5e44bf77cab..5026ec99c47 100644 --- a/code/controllers/controller.dm +++ b/code/controllers/controller.dm @@ -29,5 +29,5 @@ */ /datum/controller/proc/log_startup_progress(message) Master.last_init_info = "([name]): [message]" - to_chat(world, "\[[name]] [message]", MESSAGE_TYPE_DEBUG, confidential = TRUE) + to_chat(world, SPAN_DANGER("\[[name]] [message]"), MESSAGE_TYPE_DEBUG, confidential = TRUE) log_world("\[[name]] [message]") diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm index 8dfa035ab30..ec08c924105 100644 --- a/code/controllers/failsafe.dm +++ b/code/controllers/failsafe.dm @@ -42,10 +42,10 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) break else if(defcon == 1) //Exit Failsafe if we weren't able to recover the MC in the last stage log_game("FailSafe: Failed to recover MC while in emergency state. Failsafe exiting.") - message_admins("Failsafe failed critically while trying to recreate broken MC. Please manually fix the MC or reboot the server. Failsafe exiting now.") - message_admins("You can try manually calling these two procs:.") - message_admins("/proc/recover_all_SS_and_recreate_master: Most stuff should still function but expect instability/runtimes/broken stuff.") - message_admins("/proc/delete_all_SS_and_recreate_master: Most stuff will be broken but basic stuff like movement and chat should still work.") + message_admins(SPAN_BOLDANNOUNCEOOC("Failsafe failed critically while trying to recreate broken MC. Please manually fix the MC or reboot the server. Failsafe exiting now.")) + message_admins(SPAN_BOLDANNOUNCEOOC("You can try manually calling these two procs:.")) + message_admins(SPAN_BOLDANNOUNCEOOC("/proc/recover_all_SS_and_recreate_master: Most stuff should still function but expect instability/runtimes/broken stuff.")) + message_admins(SPAN_BOLDANNOUNCEOOC("/proc/delete_all_SS_and_recreate_master: Most stuff will be broken but basic stuff like movement and chat should still work.")) else if(recovery_result == -1) //Failed to recreate MC defcon-- sleep(initial(processing_interval)) //Wait a bit until the next try @@ -74,24 +74,24 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) --defcon if(3) - message_admins("Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks.") + message_admins(SPAN_BOLDNOTICE("Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks.")) --defcon if(2) - to_chat(GLOB.admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.") + to_chat(GLOB.admins, SPAN_BOLDANNOUNCEOOC("Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.")) --defcon if(1) - to_chat(GLOB.admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting...") + to_chat(GLOB.admins, SPAN_BOLDANNOUNCEOOC("Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting...")) --defcon var/rtn = Recreate_MC() if(rtn > 0) defcon = 4 master_iteration = 0 - to_chat(GLOB.admins, "MC restarted successfully") + to_chat(GLOB.admins, SPAN_BOLDNOTICE("MC restarted successfully")) else if(rtn < 0) log_game("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0") - to_chat(GLOB.admins, "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.") + to_chat(GLOB.admins, SPAN_BOLDANNOUNCEOOC("ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.")) //if the return number was 0, it just means the mc was restarted too recently, and it just needs some time before we try again //no need to handle that specially when defcon 0 can handle it @@ -100,7 +100,7 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) if(rtn > 0) defcon = 4 master_iteration = 0 - to_chat(GLOB.admins, "MC restarted successfully") + to_chat(GLOB.admins, SPAN_BOLDNOTICE("MC restarted successfully")) else defcon = min(defcon + 1,5) master_iteration = Master.iteration @@ -129,10 +129,10 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) master_iteration = 0 SSticker.Recover(); //Recover the ticket system so the Masters runlevel gets set Master.Initialize(10, FALSE, TRUE) //Need to manually start the MC, normally world.new would do this - to_chat(GLOB.admins, "Failsafe recovered MC while in emergency state [defcon_pretty()]") + to_chat(GLOB.admins, SPAN_BOLDNOTICE("Failsafe recovered MC while in emergency state [defcon_pretty()]")) else log_game("FailSafe: Failsafe in emergency state and was unable to recreate MC while in defcon state [defcon_pretty()].") - message_admins("Failsafe in emergency state and master down, trying to recreate MC while in defcon level [defcon_pretty()] failed.") + message_admins(SPAN_BOLDANNOUNCEOOC("Failsafe in emergency state and master down, trying to recreate MC while in defcon level [defcon_pretty()] failed.")) ///Recreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars /proc/recover_all_SS_and_recreate_master() @@ -148,9 +148,9 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) if(. == 1) //We were able to create a new master SSticker.Recover(); //Recover the ticket system so the Masters runlevel gets set Master.Initialize(10, FALSE, TRUE) //Need to manually start the MC, normally world.new would do this - to_chat(GLOB.admins, "MC successfully recreated after recovering all subsystems!") + to_chat(GLOB.admins, SPAN_BOLDNOTICE("MC successfully recreated after recovering all subsystems!")) else - message_admins("Failed to create new MC!") + message_admins(SPAN_BOLDANNOUNCEOOC("Failed to create new MC!")) ///Delete all existing SS to basically start over /proc/delete_all_SS_and_recreate_master() @@ -165,9 +165,9 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) if(. == 1) //We were able to create a new master SSticker.Recover(); //Recover the ticket system so the Masters runlevel gets set Master.Initialize(10, FALSE, TRUE) //Need to manually start the MC, normally world.new would do this - to_chat(GLOB.admins, "MC successfully recreated after deleting and recreating all subsystems!") + to_chat(GLOB.admins, SPAN_BOLDNOTICE("MC successfully recreated after deleting and recreating all subsystems!")) else - message_admins("Failed to create new MC!") + message_admins(SPAN_BOLDNOTICE("Failed to create new MC!")) /datum/controller/failsafe/proc/defcon_pretty() return defcon diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 3b68731c52c..cfd11519e14 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -182,10 +182,10 @@ GLOBAL_REAL(Master, /datum/controller/master) = new msg = "The [BadBoy.name] subsystem was the last to fire for 2 controller restarts. It will be recovered now and disabled if it happens again." FireHim = TRUE if(3) - msg = "The [BadBoy.name] subsystem seems to be destabilizing the MC and will be offlined. The following implications are now in effect: [BadBoy.offline_implications]" + msg = "The [BadBoy.name] subsystem seems to be destabilizing the MC and will be offlined. [SPAN_NOTICE("The following implications are now in effect: [BadBoy.offline_implications]")]" BadBoy.flags |= SS_NO_FIRE if(msg) - to_chat(GLOB.admins, "[msg]") + to_chat(GLOB.admins, SPAN_BOLDANNOUNCEOOC("[msg]")) log_world(msg) if(istype(Master.subsystems)) @@ -195,7 +195,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new current_runlevel = Master.current_runlevel StartProcessing(10) else - to_chat(world, "The Master Controller is having some issues, we will need to re-initialize EVERYTHING") + to_chat(world, SPAN_BOLDANNOUNCEOOC("The Master Controller is having some issues, we will need to re-initialize EVERYTHING")) Initialize(20, TRUE) // Please don't stuff random bullshit here, diff --git a/code/controllers/subsystem/SSafk.dm b/code/controllers/subsystem/SSafk.dm index 6bf0e99629e..374196ff4a2 100644 --- a/code/controllers/subsystem/SSafk.dm +++ b/code/controllers/subsystem/SSafk.dm @@ -43,14 +43,14 @@ SUBSYSTEM_DEF(afk) if(!afk_players[H.ckey]) afk_players[H.ckey] = AFK_WARNED - warn(H, "You are AFK for [mins_afk] minutes. You will be cryod after [GLOB.configuration.afk.auto_cryo_minutes] total minutes and fully despawned after [GLOB.configuration.afk.auto_despawn_minutes] total minutes. Please move or click in game if you want to avoid being despawned.") + warn(H, SPAN_DANGER("You are AFK for [mins_afk] minutes. You will be cryod after [GLOB.configuration.afk.auto_cryo_minutes] total minutes and fully despawned after [GLOB.configuration.afk.auto_despawn_minutes] total minutes. Please move or click in game if you want to avoid being despawned.")) else var/area/A = T.loc // Turfs loc is the area if(afk_players[H.ckey] == AFK_WARNED) if(mins_afk >= GLOB.configuration.afk.auto_cryo_minutes && A.can_get_auto_cryod) if(A.fast_despawn) toRemove += H.ckey - warn(H, "You have been despawned after being AFK for [mins_afk] minutes. You have been despawned instantly due to you being in a secure area.") + warn(H, SPAN_DANGER("You have been despawned after being AFK for [mins_afk] minutes. You have been despawned instantly due to you being in a secure area.")) log_afk_action(H, mins_afk, T, "despawned", "AFK in a fast despawn area") force_cryo_human(H) else @@ -69,7 +69,7 @@ SUBSYSTEM_DEF(afk) else if(afk_players[H.ckey] != AFK_ADMINS_WARNED && mins_afk >= GLOB.configuration.afk.auto_despawn_minutes) log_afk_action(H, mins_afk, T, "despawned") - warn(H, "You have been despawned after being AFK for [mins_afk] minutes.") + warn(H, SPAN_DANGER("You have been despawned after being AFK for [mins_afk] minutes.")) toRemove += H.ckey force_cryo_human(H) diff --git a/code/controllers/subsystem/SSair.dm b/code/controllers/subsystem/SSair.dm index 412a2d713bd..8d2693481d4 100644 --- a/code/controllers/subsystem/SSair.dm +++ b/code/controllers/subsystem/SSair.dm @@ -801,7 +801,7 @@ SUBSYSTEM_DEF(air) log_debug(err) var/msg = "MILLA has crashed. SSair will stop running, and all atmospherics will stop functioning. Every turf will report as full of breathable air, and all fires will be extinguished. Shuttle call highly recommended." - to_chat(GLOB.admins, "[msg]") + to_chat(GLOB.admins, SPAN_BOLDANNOUNCEOOC("[msg]")) log_world(msg) // Disable firing. diff --git a/code/controllers/subsystem/SSdbcore.dm b/code/controllers/subsystem/SSdbcore.dm index 565fe3a7283..58306de0454 100644 --- a/code/controllers/subsystem/SSdbcore.dm +++ b/code/controllers/subsystem/SSdbcore.dm @@ -274,7 +274,7 @@ SUBSYSTEM_DEF(dbcore) */ /datum/controller/subsystem/dbcore/proc/NewQuery(sql_query, arguments) if(IsAdminAdvancedProcCall()) - to_chat(usr, "DB query blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("DB query blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to create a DB query via advanced proc-call") log_admin("[key_name(usr)] attempted to create a DB query via advanced proc-call") return FALSE @@ -375,7 +375,7 @@ SUBSYSTEM_DEF(dbcore) if(!.) SSdbcore.total_errors++ if(usr) - to_chat(usr, "A SQL error occurred during this operation, please inform an admin or a coder.", MESSAGE_TYPE_ADMINLOG, confidential = TRUE) + to_chat(usr, SPAN_DANGER("A SQL error occurred during this operation, please inform an admin or a coder."), MESSAGE_TYPE_ADMINLOG, confidential = TRUE) message_admins("An SQL error has occurred. Please check the server logs, with the following timestamp ID: \[[time_stamp()]]") /** @@ -483,12 +483,12 @@ SUBSYSTEM_DEF(dbcore) // Verb that lets admins force reconnect the DB USER_VERB(reestablish_db_connection, R_ADMIN, "Reestablish DB Connection", "Force a reconnection to the database.", VERB_CATEGORY_DEBUG) if(!GLOB.configuration.database.enabled) - to_chat(client, "The Database is not enabled in the server configuration!") + to_chat(client, SPAN_WARNING("The Database is not enabled in the server configuration!")) return if(SSdbcore.IsConnected()) if(!check_rights_client(R_DEBUG, FALSE, client)) - to_chat(client, "The database is already connected! (Only those with +DEBUG can force a reconnection)") + to_chat(client, SPAN_WARNING("The database is already connected! (Only those with +DEBUG can force a reconnection)")) return var/reconnect = alert(client, "The database is already connected! If you *KNOW* that this is incorrect, you can force a reconnection", "The database is already connected!", "Force Reconnect", "Cancel") diff --git a/code/controllers/subsystem/SSevents.dm b/code/controllers/subsystem/SSevents.dm index ccab3509c23..249ba4859a5 100644 --- a/code/controllers/subsystem/SSevents.dm +++ b/code/controllers/subsystem/SSevents.dm @@ -114,7 +114,7 @@ SUBSYSTEM_DEF(events) html += "
" html += "

Available [GLOB.severity_to_string[selected_event_container.severity]] Events (queued & running events will not be displayed)

" html += "" - html += "" + html += "" for(var/datum/event_meta/EM in selected_event_container.available_events) if(!EM.skeleton) continue @@ -125,7 +125,7 @@ SUBSYSTEM_DEF(events) html += "" html += "" html += "" - html += "" + html += "" html += "" html += "" html += "
Name Weight MinWeight MaxWeight OneShot Enabled CurrWeight Remove
Name Weight MinWeight MaxWeight OneShot Enabled [SPAN_ALERT("CurrWeight ")]Remove
[EM.max_weight == INFINITY ? "No max" : EM.max_weight][EM.one_shot][EM.enabled][EM.get_weight(total_resources)][SPAN_ALERT("[EM.get_weight(total_resources)]")]Remove
" diff --git a/code/controllers/subsystem/SSghost_spawns.dm b/code/controllers/subsystem/SSghost_spawns.dm index fb2e9e7ab57..3ccb932285d 100644 --- a/code/controllers/subsystem/SSghost_spawns.dm +++ b/code/controllers/subsystem/SSghost_spawns.dm @@ -137,7 +137,7 @@ SUBSYSTEM_DEF(ghost_spawns) var/atom/atom_source = source act_jump = "\[Teleport]" var/act_signup = "\[Sign Up]" - to_chat(M, "Now looking for candidates [role ? "to play as \an [role_cleanname || role]" : "\"[question]\""]. [act_jump] [act_signup] [reason ? "\nReason: [sanitize(reason)]" : ""]", MESSAGE_TYPE_DEADCHAT) + to_chat(M, "[SPAN_BOLDNOTICE("Now looking for candidates [role ? "to play as \an [role_cleanname || role]" : "\"[question]\""]. [act_jump] [act_signup] [reason ? "\nReason: [sanitize(reason)]" : ""]")]", MESSAGE_TYPE_DEADCHAT) // Start processing it so it updates visually the timer START_PROCESSING(SSprocessing, A) @@ -258,18 +258,18 @@ SUBSYSTEM_DEF(ghost_spawns) return if(M in signed_up) if(!silent) - to_chat(M, "You have already signed up for this!") + to_chat(M, SPAN_WARNING("You have already signed up for this!")) return if(time_left() <= 0) if(!silent) - to_chat(M, "Sorry, you were too late for the consideration!") + to_chat(M, SPAN_DANGER("Sorry, you were too late for the consideration!")) SEND_SOUND(M, sound('sound/machines/buzz-sigh.ogg')) return signed_up += M if(!silent) - to_chat(M, "You have signed up for this role! A candidate will be picked randomly soon.") + to_chat(M, SPAN_NOTICE("You have signed up for this role! A candidate will be picked randomly soon.")) // Sign them up for any other polls with the same mob type for(var/existing_poll in SSghost_spawns.currently_polling) var/datum/candidate_poll/P = existing_poll @@ -291,17 +291,17 @@ SUBSYSTEM_DEF(ghost_spawns) return if(!(M in signed_up)) if(!silent) - to_chat(M, "You aren't signed up for this!") + to_chat(M, SPAN_WARNING("You aren't signed up for this!")) return if(time_left() <= 0) if(!silent) - to_chat(M, "It's too late to unregister yourself, selection has already begun!") + to_chat(M, SPAN_DANGER("It's too late to unregister yourself, selection has already begun!")) return signed_up -= M if(!silent) - to_chat(M, "You have been unregistered as a candidate for this role. You can freely sign up again before the poll ends.") + to_chat(M, SPAN_NOTICE("You have been unregistered as a candidate for this role. You can freely sign up again before the poll ends.")) for(var/existing_poll in SSghost_spawns.currently_polling) var/datum/candidate_poll/P = existing_poll diff --git a/code/controllers/subsystem/SSheartbeat.dm b/code/controllers/subsystem/SSheartbeat.dm index 83a2aa6419a..03fd7b6fcc1 100644 --- a/code/controllers/subsystem/SSheartbeat.dm +++ b/code/controllers/subsystem/SSheartbeat.dm @@ -16,5 +16,5 @@ SUBSYSTEM_DEF(heartbeat) /datum/controller/subsystem/heartbeat/fire(resumed) // If the last heartbeat is 0, we never got one this round if(last_heartbeat != 0 && (last_heartbeat + 2 MINUTES < REALTIMEOFDAY) && !warning_tripped) - to_chat(GLOB.admins, "
--- CRITICAL ---
The server hasn't received an uptime check from the server daemon for over 2 minutes. Inform AA ASAP.

") + to_chat(GLOB.admins, "
[SPAN_USERDANGER("--- CRITICAL ---")]
The server hasn't received an uptime check from the server daemon for over 2 minutes. Inform AA ASAP.

") warning_tripped = TRUE diff --git a/code/controllers/subsystem/SSjobs.dm b/code/controllers/subsystem/SSjobs.dm index 69024273528..77525a04b99 100644 --- a/code/controllers/subsystem/SSjobs.dm +++ b/code/controllers/subsystem/SSjobs.dm @@ -41,7 +41,7 @@ SUBSYSTEM_DEF(jobs) occupations = list() var/list/all_jobs = subtypesof(/datum/job) if(!length(all_jobs)) - to_chat(world, "Error setting up jobs, no job datums found.") + to_chat(world, SPAN_WARNING("Error setting up jobs, no job datums found.")) return 0 for(var/J in all_jobs) @@ -270,8 +270,8 @@ SUBSYSTEM_DEF(jobs) H.mind.store_memory("Your account number is: #[account.account_number]
Your account pin is: [account.account_pin]") H.mind.set_initial_account(account) - to_chat(H, "As an employee of Nanotrasen you will receive a paycheck of $[account.payday_amount] credits every 30 minutes") - to_chat(H, "Your account number is: [account.account_number], your account pin is: [account.account_pin]") + to_chat(H, SPAN_BOLDNOTICE("As an employee of Nanotrasen you will receive a paycheck of $[account.payday_amount] credits every 30 minutes")) + to_chat(H, SPAN_BOLDNOTICE("Your account number is: [account.account_number], your account pin is: [account.account_pin]")) if(!job) //if their job datum is null (looking at you ERTs...), we don't need to do anything past this point return @@ -307,8 +307,8 @@ SUBSYSTEM_DEF(jobs) remembered_info += "Your department's account funds are: $[department_account.credit_balance]
" H.mind.store_memory(remembered_info) - to_chat(H, "Your department will receive a $[department_account.payday_amount] credit stipend every 30 minutes") - to_chat(H, "The [department.department_name] department's account number is: #[department_account.account_number], Your department's account pin is: [department_account.account_pin]") + to_chat(H, SPAN_BOLDNOTICE("Your department will receive a $[department_account.payday_amount] credit stipend every 30 minutes")) + to_chat(H, SPAN_BOLDNOTICE("The [department.department_name] department's account number is: #[department_account.account_number], Your department's account pin is: [department_account.account_pin]")) /// Returns a list of jobs keyed by name to UI color for the job transfer selection. /datum/controller/subsystem/jobs/proc/format_jobs_for_id_computer(obj/item/card/id/tgtcard) @@ -520,7 +520,7 @@ SUBSYSTEM_DEF(jobs) added_differential[EXP_TYPE_LIVING] += minutes if(announce) - to_chat(C.mob, "You got: [minutes] Living EXP!") + to_chat(C.mob, SPAN_NOTICE("You got: [minutes] Living EXP!")) for(var/category in GLOB.exp_jobsmap) if(GLOB.exp_jobsmap[category]["titles"]) @@ -528,18 +528,18 @@ SUBSYSTEM_DEF(jobs) play_records[C.ckey][category] += minutes added_differential[category] += minutes if(announce) - to_chat(C.mob, "You got: [minutes] [category] EXP!") + to_chat(C.mob, SPAN_NOTICE("You got: [minutes] [category] EXP!")) if(C.mob.mind.special_role) play_records[C.ckey][EXP_TYPE_SPECIAL] += minutes if(announce) - to_chat(C.mob, "You got: [minutes] Special EXP!") + to_chat(C.mob, SPAN_NOTICE("You got: [minutes] Special EXP!")) else if(isobserver(C.mob)) play_records[C.ckey][EXP_TYPE_GHOST] += minutes added_differential[EXP_TYPE_GHOST] += minutes if(announce) - to_chat(C.mob, "You got: [minutes] Ghost EXP!") + to_chat(C.mob, SPAN_NOTICE("You got: [minutes] Ghost EXP!")) else continue diff --git a/code/controllers/subsystem/SSticker.dm b/code/controllers/subsystem/SSticker.dm index 6c096da2c4c..e605af697d8 100644 --- a/code/controllers/subsystem/SSticker.dm +++ b/code/controllers/subsystem/SSticker.dm @@ -84,7 +84,7 @@ SUBSYSTEM_DEF(ticker) // This is ran as soon as the MC starts firing, and should only run ONCE, unless startup fails pregame_timeleft = GLOB.configuration.general.lobby_time SECONDS round_start_time = world.time + pregame_timeleft - to_chat(world, "Welcome to the pre-game lobby!") + to_chat(world, "[SPAN_DARKMBLUE("Welcome to the pre-game lobby!")]") to_chat(world, "Please, setup your character and select ready. Game will start in [GLOB.configuration.general.lobby_time] seconds") current_state = GAME_STATE_PREGAME fire() // TG says this is a good idea @@ -160,7 +160,7 @@ SUBSYSTEM_DEF(ticker) var/datum/map/target_map = pick(pickable_types) SSmapping.next_map = new target_map - to_chat(world, "Map for next round: [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])") + to_chat(world, SPAN_INTERFACE("Map for next round: [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])")) /datum/controller/subsystem/ticker/proc/call_reboot() if(mode.station_was_nuked) @@ -228,7 +228,7 @@ SUBSYSTEM_DEF(ticker) var/has_antags = (length(P.client.prefs.be_special) > 0) if(!P.client.prefs.active_character.check_any_job()) - to_chat(P, "You have no jobs enabled, along with return to lobby if job is unavailable. This makes you ineligible for any round start role, please update your job preferences.") + to_chat(P, SPAN_DANGER("You have no jobs enabled, along with return to lobby if job is unavailable. This makes you ineligible for any round start role, please update your job preferences.")) if(has_antags) // We add these to a list so we can deal with them as a batch later // A lot of DB tracking stuff needs doing, so we may as well async it @@ -344,11 +344,11 @@ SUBSYSTEM_DEF(ticker) qdel(S) SSdbcore.SetRoundStart() - to_chat(world, "Enjoy the game!") + to_chat(world, SPAN_DARKMBLUE("Enjoy the game!")) SEND_SOUND(world, sound(SSmapping.map_datum.welcome_sound)) if(SSholiday.holidays) - to_chat(world, "and...") + to_chat(world, SPAN_DARKMBLUE("and...")) for(var/holidayname in SSholiday.holidays) var/datum/holiday/holiday = SSholiday.holidays[holidayname] to_chat(world, "

[holiday.greet()]

") @@ -396,7 +396,7 @@ SUBSYSTEM_DEF(ticker) if(M.stat != DEAD) var/turf/T = get_turf(M) if(T && is_station_level(T.z) && !istype(M.loc, /obj/structure/closet/secure_closet/freezer) && !(issilicon(M) && override == "AI malfunction")) - to_chat(M, "The blast wave from the explosion tears you atom from atom!") + to_chat(M, SPAN_DANGER("The blast wave from the explosion tears you atom from atom!")) var/mob/ghost = M.ghostize() M.dust() //no mercy if(ghost && ghost.client) //Play the victims an uninterrupted cinematic. @@ -520,23 +520,23 @@ SUBSYSTEM_DEF(ticker) if(length(S.contents) < S.storage_slots) I.forceMove(H.back) ok = TRUE - to_chat(H, "Your [I.name] has been added to your [H.back.name].") + to_chat(H, SPAN_NOTICE("Your [I.name] has been added to your [H.back.name].")) if(!ok) for(var/obj/item/storage/S in H.contents) // Try to place it in any item that can store stuff, on the mob. if(length(S.contents) < S.storage_slots) I.forceMove(S) ok = TRUE - to_chat(H, "Your [I.name] has been added to your [S.name].") + to_chat(H, SPAN_NOTICE("Your [I.name] has been added to your [S.name].")) break if(!ok) // Finally, since everything else failed, place it on the ground var/turf/T = get_turf(H) if(T) I.forceMove(T) - to_chat(H, "Your [I.name] is on the [T.name] below you.") + to_chat(H, SPAN_NOTICE("Your [I.name] is on the [T.name] below you.")) else - to_chat(H, "Your [I.name] couldnt spawn anywhere on you or even on the floor below you. Please file a bug report.") + to_chat(H, SPAN_NOTICE("Your [I.name] couldnt spawn anywhere on you or even on the floor below you. Please file a bug report.")) qdel(I) @@ -553,7 +553,7 @@ SUBSYSTEM_DEF(ticker) m = pick(memetips) if(m) - to_chat(world, "Tip of the round: [html_encode(m)]") + to_chat(world, SPAN_PURPLE("Tip of the round: [html_encode(m)]")) /datum/controller/subsystem/ticker/proc/send_fact_of_the_round() var/factoid @@ -565,7 +565,7 @@ SUBSYSTEM_DEF(ticker) factoid = pick(random_facts) if(length(factoid)) - to_chat(world, "Fact of the round: [html_encode(factoid)]") + to_chat(world, SPAN_GREEN("Fact of the round: [html_encode(factoid)]")) /datum/controller/subsystem/ticker/proc/declare_completion() GLOB.nologevent = TRUE //end of round murder and shenanigans are legal; there's no need to jam up attack logs past this point. @@ -592,7 +592,7 @@ SUBSYSTEM_DEF(ticker) aiPlayer.laws_sanity_check() for(var/datum/ai_law/law as anything in aiPlayer.laws.sorted_laws) if(law == aiPlayer.laws.zeroth_law) - end_of_round_info += "[law.get_index()]. [law.law]" + end_of_round_info += SPAN_DANGER("[law.get_index()]. [law.law]") else end_of_round_info += "[law.get_index()]. [law.law]" @@ -621,7 +621,7 @@ SUBSYSTEM_DEF(ticker) robo.laws_sanity_check() for(var/datum/ai_law/law as anything in robo.laws.sorted_laws) if(law == robo.laws.zeroth_law) - end_of_round_info += "[law.get_index()]. [law.law]" + end_of_round_info += SPAN_DANGER("[law.get_index()]. [law.law]") else end_of_round_info += "[law.get_index()]. [law.law]" @@ -722,7 +722,7 @@ SUBSYSTEM_DEF(ticker) /datum/controller/subsystem/ticker/proc/reboot_helper(reason, end_string, delay) // Admins delayed round end. Just alert and dont bother with anything else. if(delay_end) - to_chat(world, "An admin has delayed the round end.") + to_chat(world, SPAN_BOLDANNOUNCEOOC("An admin has delayed the round end.")) return if(delay) INVOKE_ASYNC(src, TYPE_PROC_REF(/datum/controller/subsystem/ticker, show_server_restart_blurb), reason) @@ -734,14 +734,14 @@ SUBSYSTEM_DEF(ticker) // Use default restart timeout delay = max(0, GLOB.configuration.general.restart_timeout SECONDS) - to_chat(world, "Rebooting world in [delay/10] [delay > 10 ? "seconds" : "second"]. [reason]") + to_chat(world, SPAN_BOLDANNOUNCEOOC("Rebooting world in [delay/10] [delay > 10 ? "seconds" : "second"]. [reason]")) real_reboot_time = world.time + delay UNTIL(world.time > real_reboot_time) // Hold it here // And if we re-delayed, bail again if(delay_end) - to_chat(world, "Reboot was cancelled by an admin.") + to_chat(world, SPAN_BOLDANNOUNCEOOC("Reboot was cancelled by an admin.")) return if(end_string) diff --git a/code/controllers/subsystem/non_firing/SSchangelog.dm b/code/controllers/subsystem/non_firing/SSchangelog.dm index 53830ebce02..110724c8c2e 100644 --- a/code/controllers/subsystem/non_firing/SSchangelog.dm +++ b/code/controllers/subsystem/non_firing/SSchangelog.dm @@ -35,7 +35,7 @@ SUBSYSTEM_DEF(changelog) qdel(latest_cl_date) if(!GenerateChangelogData()) // if this failed to generate - to_chat(world, "WARNING: Changelog failed to generate. Please inform a coder/server dev") + to_chat(world, SPAN_ALERT("WARNING: Changelog failed to generate. Please inform a coder/server dev")) return ..() ss_ready = TRUE @@ -75,18 +75,18 @@ SUBSYSTEM_DEF(changelog) // If we are ready, process the button style if(C.prefs.lastchangelog != current_cl_timestamp) winset(C, "rpane.changelog", "border=line;background-color=#bb7700;text-color=#FFFFFF;font-style=bold") - to_chat(C, "Changelog has changed since your last visit.") + to_chat(C, SPAN_BOLDNOTICE("Changelog has changed since your last visit.")) /datum/controller/subsystem/changelog/proc/OpenChangelog(client/C) // If SQL isnt enabled, dont even queue them, just tell them it wont work if(!SSdbcore.IsConnected()) - to_chat(C, "This server is not running with an SQL backend. Changelog is unavailable.") + to_chat(C, SPAN_NOTICE("This server is not running with an SQL backend. Changelog is unavailable.")) return // If SQL is enabled but we aint ready, queue them up if(!ss_ready) startup_clients_open |= C - to_chat(C, "The changelog system is still initializing. The changelog will open for you once it has initialized.") + to_chat(C, SPAN_NOTICE("The changelog system is still initializing. The changelog will open for you once it has initialized.")) return UpdatePlayerChangelogDate(C) @@ -219,5 +219,5 @@ SUBSYSTEM_DEF(changelog) usr << link(url) return TRUE - to_chat(usr, "The GitHub URL is not set in the server configuration. PRs cannot be opened from changelog view. Please inform the server host.") + to_chat(usr, SPAN_DANGER("The GitHub URL is not set in the server configuration. PRs cannot be opened from changelog view. Please inform the server host.")) diff --git a/code/controllers/subsystem/non_firing/SSmapping.dm b/code/controllers/subsystem/non_firing/SSmapping.dm index 95f69cceb8b..3e86f858667 100644 --- a/code/controllers/subsystem/non_firing/SSmapping.dm +++ b/code/controllers/subsystem/non_firing/SSmapping.dm @@ -317,12 +317,12 @@ SUBSYSTEM_DEF(mapping) if(map_datum_path) map_datum = new map_datum_path else - to_chat(world, "ERROR: The map datum specified to load is invalid. Falling back to... cyberiad probably?") + to_chat(world, SPAN_NARSIE("ERROR: The map datum specified to load is invalid. Falling back to... cyberiad probably?")) ASSERT(map_datum.map_path) if(!fexists(map_datum.map_path)) // Make a VERY OBVIOUS error - to_chat(world, "ERROR: The path specified for the map to load is invalid. No station has been loaded!") + to_chat(world, SPAN_NARSIE("ERROR: The path specified for the map to load is invalid. No station has been loaded!")) return var/watch = start_watch() diff --git a/code/controllers/subsystem/non_firing/SSmaprotate.dm b/code/controllers/subsystem/non_firing/SSmaprotate.dm index b6f2ed4ff01..934b994de7b 100644 --- a/code/controllers/subsystem/non_firing/SSmaprotate.dm +++ b/code/controllers/subsystem/non_firing/SSmaprotate.dm @@ -109,4 +109,4 @@ SUBSYSTEM_DEF(maprotate) var/datum/map/winner = pickweight(pickable_maps) // Even if no one votes, pickweight will pick from them evenly. This means a map with zero votes *can* be chosen to_chat(world, "[returned_text.Join("\n")]") SSmapping.next_map = new winner - to_chat(world, "Map for next round: [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])") + to_chat(world, SPAN_INTERFACE("Map for next round: [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])")) diff --git a/code/controllers/subsystem/non_firing/SSuser_verbs.dm b/code/controllers/subsystem/non_firing/SSuser_verbs.dm index 3c0468d92e3..6d9a045a062 100644 --- a/code/controllers/subsystem/non_firing/SSuser_verbs.dm +++ b/code/controllers/subsystem/non_firing/SSuser_verbs.dm @@ -107,7 +107,7 @@ SUBSYSTEM_DEF(user_verbs) CRASH("Attempted to dynamically invoke user verb '[verb_type]' that doesn't exist.") if(!check_rights_client(verb_singleton.permissions, FALSE, admin)) - to_chat(admin, "You lack the permissions to do this.") + to_chat(admin, SPAN_ADMINNOTICE("You lack the permissions to do this.")) return var/old_usr = usr diff --git a/code/controllers/subsystem/tickets/SSmentor_tickets.dm b/code/controllers/subsystem/tickets/SSmentor_tickets.dm index 6f659339a56..8b4e4b8f2c6 100644 --- a/code/controllers/subsystem/tickets/SSmentor_tickets.dm +++ b/code/controllers/subsystem/tickets/SSmentor_tickets.dm @@ -23,7 +23,7 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets /datum/controller/subsystem/tickets/mentor_tickets/Initialize() ..() close_messages = list("- [ticket_name] Closed -", - "Please try to be as descriptive as possible in mentor helps. Mentors do not know the full situation you're in and need more information to give you a helpful response.", + SPAN_BOLDMESSAGE("Please try to be as descriptive as possible in mentor helps. Mentors do not know the full situation you're in and need more information to give you a helpful response."), "Your [ticket_name] has now been closed.") response_phrases = list("Known Bug" = "Unfortunately, that's a known bug. Hopefully it gets fixed soon.", @@ -85,12 +85,12 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets for(var/mob/living/carbon/human/nct as anything in nct_active) if(!locate(/obj/item/radio/headset) in list(nct.l_ear, nct.r_ear)) // If the NCT doesn't have a headset, ignore it. continue - to_chat(nct, "Incoming priority transmission from Nanotrasen Training Center. Request information as follows: Career Trainer, we've received a request from an employee. [trainee.p_their(TRUE)] name is [trainee.real_name], [trainee.p_theyre()] a [trainee.mind.assigned_role]. See if [trainee.p_they()] need [trainee.p_s()] any help.") + to_chat(nct, SPAN_NOTICE("Incoming priority transmission from Nanotrasen Training Center. Request information as follows: Career Trainer, we've received a request from an employee. [trainee.p_their(TRUE)] name is [trainee.real_name], [trainee.p_theyre()] a [trainee.mind.assigned_role]. See if [trainee.p_they()] need [trainee.p_s()] any help.")) SEND_SOUND(nct, 'sound/effects/headset_message.ogg') SEND_SOUND(returnClient(N), sound('sound/effects/adminhelp.ogg')) - to_chat_safe(returnClient(N), "[key_name_hidden(C)] is autoresponding with: [response_phrases[message_key]]") //for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key] - message_staff("[C] has auto responded to [ticket_owner]\'s mentorhelp with: [message_key]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key + to_chat_safe(returnClient(N), "[key_name_hidden(C)] is autoresponding with: [SPAN_ADMINTICKETALT("[response_phrases[message_key]]")]") //for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key] + message_staff("[C] has auto responded to [ticket_owner]\'s mentorhelp with:[SPAN_ADMINTICKETALT(" [message_key]")]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key T.lastStaffResponse = "Autoresponse: [message_key]" resolveTicket(N) log_game("[C] has auto responded to [ticket_owner]\'s mentorhelp with: [response_phrases[message_key]]") diff --git a/code/controllers/subsystem/tickets/SStickets.dm b/code/controllers/subsystem/tickets/SStickets.dm index 5ac7654e76a..3d617c32be6 100644 --- a/code/controllers/subsystem/tickets/SStickets.dm +++ b/code/controllers/subsystem/tickets/SStickets.dm @@ -48,7 +48,7 @@ SUBSYSTEM_DEF(tickets) /datum/controller/subsystem/tickets/Initialize() close_messages = list("- [ticket_name] Rejected! -", - "Please try to be calm, clear, and descriptive in admin helps, do not assume the staff member has seen any related events, and clearly state the names of anybody you are reporting. If you asked a question, please ensure it was clear what you were asking.", + SPAN_BOLDMESSAGE("Please try to be calm, clear, and descriptive in admin helps, do not assume the staff member has seen any related events, and clearly state the names of anybody you are reporting. If you asked a question, please ensure it was clear what you were asking."), "Your [ticket_name] has now been closed.") response_phrases = list("Thanks" = "Thanks for the ahelp!", @@ -157,7 +157,7 @@ SUBSYSTEM_DEF(tickets) key_and_name = key_name(M, TRUE, ticket_help_type, ticket_id = ticketNum) var/list/L = list() - L += "[ticket_help_type]: [key_and_name][one_line ? " " : "
"]
" + L += "[ticket_help_type]: [SPAN_BOLDNOTICE("[key_and_name][one_line ? " " : "
"]")]" if(M) L += "([ADMIN_QUE(M,"?")]) ([ADMIN_PP(M,"PP")]) ([ADMIN_VV(M,"VV")]) ([ADMIN_TP(M,"TP")]) ([ADMIN_SM(M,"SM")]) ([admin_jump_link(M)])" L += "(TICKET) " @@ -248,7 +248,7 @@ SUBSYSTEM_DEF(tickets) return var/datum/ticket/T = allTickets[ticketId] if(T.ticket_converted) - to_chat(usr, "This ticket has already been converted!") + to_chat(usr, SPAN_WARNING("This ticket has already been converted!")) return convert_ticket(T) message_staff("[usr.client] / ([usr]) converted [ticket_name] number [ticketId]") @@ -308,15 +308,15 @@ SUBSYSTEM_DEF(tickets) SSuser_verbs.invoke_verb(C, /datum/user_verb/man_up, returnClient(N)) T.lastStaffResponse = "Autoresponse: [message_key]" resolveTicket(N) - message_staff("[C] has auto responded to [ticket_owner]\'s adminhelp with: [message_key]") + message_staff("[C] has auto responded to [ticket_owner]\'s adminhelp with:[SPAN_ADMINTICKETALT(" [message_key]")]") sendFollowupToDiscord(T, C, "*Autoresponded with [message_key]*") log_game("[C] has auto responded to [T.client_ckey]\'s adminhelp with: [response_phrases[message_key]]") if("Mentorhelp") convert_ticket(T) else SEND_SOUND(returnClient(N), sound('sound/effects/adminhelp.ogg')) - to_chat_safe(returnClient(N), "[key_name_hidden(C)] is autoresponding with: [response_phrases[message_key]]")//for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key] - message_staff("[C] has auto responded to [ticket_owner]\'s adminhelp with: [message_key]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key + to_chat_safe(returnClient(N), "[key_name_hidden(C)] is autoresponding with: [SPAN_ADMINTICKETALT("[response_phrases[message_key]]")]")//for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key] + message_staff("[C] has auto responded to [ticket_owner]\'s adminhelp with:[SPAN_ADMINTICKETALT(" [message_key]")]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key sendFollowupToDiscord(T, C, "*Autoresponded with [message_key]*") T.lastStaffResponse = "Autoresponse: [message_key]" resolveTicket(N) @@ -579,7 +579,7 @@ UI STUFF for(var/key in C?.persistent.pm_tracker.pms) var/datum/pm_convo/convo = C.persistent.pm_tracker.pms[key] if(convo.typing) - dat += "[key] is typing
" + dat += "[SPAN_TYPING("[key] is typing")]
" var/found_typing = FALSE for(var/client/X in GLOB.admins) @@ -592,7 +592,7 @@ UI STUFF continue var/datum/pm_convo/convo = X.persistent.pm_tracker.pms[key] if(convo.typing) - dat += "[key] is typing
" + dat += "[SPAN_TYPING("[key] is typing")]
" found_typing = TRUE break if(found_typing) @@ -669,9 +669,9 @@ UI STUFF /datum/controller/subsystem/tickets/proc/message_staff(msg, prefix_type = TICKET_STAFF_MESSAGE_PREFIX, important = FALSE) switch(prefix_type) if(TICKET_STAFF_MESSAGE_ADMIN_CHANNEL) - msg = "ADMIN TICKET: [msg]" + msg = SPAN_ADMIN_CHANNEL("ADMIN TICKET: [msg]") if(TICKET_STAFF_MESSAGE_PREFIX) - msg = "ADMIN TICKET: [msg]" + msg = SPAN_ADMINTICKET("[SPAN_PREFIX("ADMIN TICKET:")] [msg]") message_adminTicket(chat_box_ahelp(msg), important) /datum/controller/subsystem/tickets/Topic(href, href_list) @@ -715,7 +715,7 @@ UI STUFF if(href_list["detailclose"]) var/indexNum = text2num(href_list["detailclose"]) if(!check_rights(close_rights)) - to_chat(usr, "Not enough rights to close this ticket.") + to_chat(usr, SPAN_WARNING("Not enough rights to close this ticket.")) return if(alert("Are you sure? This will send a negative message.", null,"Yes","No") != "Yes") return @@ -759,7 +759,7 @@ UI STUFF if(span_class == "mentorhelp") message_staff("[usr.client] / ([usr]) has taken [ticket_name] number [index]") else - message_staff("[usr.client] / ([usr]) has taken [ticket_name] number [index]", TICKET_STAFF_MESSAGE_ADMIN_CHANNEL) + message_staff(SPAN_ADMIN_CHANNEL("[usr.client] / ([usr]) has taken [ticket_name] number [index]"), TICKET_STAFF_MESSAGE_ADMIN_CHANNEL) to_chat_safe(returnClient(index), "Your [ticket_name] is being handled by [usr.client].") /datum/controller/subsystem/tickets/proc/unassignTicket(index) @@ -770,7 +770,7 @@ UI STUFF if(span_class == "mentorhelp") message_staff("[usr.client] / ([usr]) has unassigned [ticket_name] number [index]") else - message_staff("[usr.client] / ([usr]) has unassigned [ticket_name] number [index]", TICKET_STAFF_MESSAGE_ADMIN_CHANNEL) + message_staff(SPAN_ADMIN_CHANNEL("[usr.client] / ([usr]) has unassigned [ticket_name] number [index]"), TICKET_STAFF_MESSAGE_ADMIN_CHANNEL) /datum/controller/subsystem/tickets/Shutdown() diff --git a/code/datums/actions/item_action.dm b/code/datums/actions/item_action.dm index b9b67fc866f..3b0f5c819ea 100644 --- a/code/datums/actions/item_action.dm +++ b/code/datums/actions/item_action.dm @@ -255,7 +255,7 @@ /datum/action/item_action/toggle_research_scanner/Trigger(left_click) if(IsAvailable()) owner.research_scanner = !owner.research_scanner - to_chat(owner, "Research analyzer is now [owner.research_scanner ? "active" : "deactivated"].") + to_chat(owner, SPAN_NOTICE("Research analyzer is now [owner.research_scanner ? "active" : "deactivated"].")) return TRUE /datum/action/item_action/toggle_research_scanner/Remove(mob/living/L) diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm index 9b546db88be..950b55c9079 100644 --- a/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm @@ -11,7 +11,7 @@ living_pawn.befriend(living_target) var/befriend_text = controller.blackboard[befriend_message] if(befriend_text) - to_chat(living_target, "[living_pawn] [befriend_text]") + to_chat(living_target, SPAN_NOTICE("[living_pawn] [befriend_text]")) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm index e2446a646af..9a5286331a2 100644 --- a/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm @@ -25,7 +25,7 @@ else seen_message = "[controller.pawn] seems resigned to its fate." self_message = "You resign yourself to your fate." - controller.pawn.visible_message("[seen_message]", "[self_message]") + controller.pawn.visible_message(SPAN_NOTICE("[seen_message]"), SPAN_NOTICE("[self_message]")) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED /datum/ai_behavior/tipped_reaction/finish_action(datum/ai_controller/controller, succeeded, tipper_key, reacting_key) diff --git a/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm b/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm index d3b89472c8f..fec90305edc 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm @@ -20,7 +20,7 @@ var/deaggro_chance = controller.blackboard[BB_RANDOM_DEAGGRO_CHANCE] || 10 if(!SPT_PROB(deaggro_chance, seconds_per_tick)) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED - pawn.visible_message("[pawn] calms down.") // We can blackboard key this if anyone else actually wants to customise it + pawn.visible_message(SPAN_NOTICE("[pawn] calms down.")) // We can blackboard key this if anyone else actually wants to customise it controller.clear_blackboard_key(BB_BASIC_MOB_RETALIATE_LIST) controller.clear_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET) controller.cancel_actions() // Otherwise they will try and get one last kick in @@ -51,12 +51,12 @@ return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED controller.insert_blackboard_key_lazylist(BB_BASIC_MOB_RETALIATE_LIST, final_target) - pawn.visible_message("[pawn] glares grumpily at [final_target]!") + pawn.visible_message(SPAN_WARNING("[pawn] glares grumpily at [final_target]!")) return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED /// Called if we try but fail to target something /datum/ai_behavior/capricious_retaliate/proc/failed_targeting(atom/pawn) - pawn.visible_message("[pawn] grumbles.") // We're pissed off but with no outlet to vent our frustration upon + pawn.visible_message(SPAN_NOTICE("[pawn] grumbles.")) // We're pissed off but with no outlet to vent our frustration upon /datum/ai_behavior/capricious_retaliate/finish_action(datum/ai_controller/controller, succeeded, ignore_faction) . = ..() diff --git a/code/datums/ai_laws_datums.dm b/code/datums/ai_laws_datums.dm index 9dd5589c72e..979c2546296 100644 --- a/code/datums/ai_laws_datums.dm +++ b/code/datums/ai_laws_datums.dm @@ -236,7 +236,7 @@ if(law == zeroth_law_borg) continue if(law == zeroth_law) - to_chat(who, "[law.get_index()]. [law.law]") + to_chat(who, SPAN_DANGER("[law.get_index()]. [law.law]")) else to_chat(who, "[law.get_index()]. [law.law]") @@ -247,7 +247,7 @@ if(law == zeroth_law_borg) continue if(law == zeroth_law) - . += "[law.get_index()]. [law.law]" + . += SPAN_DANGER("[law.get_index()]. [law.law]") else . += "[law.get_index()]. [law.law]" diff --git a/code/datums/beam.dm b/code/datums/beam.dm index 191240b3022..1a288482f82 100644 --- a/code/datums/beam.dm +++ b/code/datums/beam.dm @@ -226,7 +226,7 @@ var/mob/living/L = entered var/damage = 50 if(L.stat == DEAD) - visible_message("[L] is disintegrated by the beam!") + visible_message(SPAN_DANGER("[L] is disintegrated by the beam!")) L.dust() if(isliving(owner.origin)) var/mob/living/O = owner.origin @@ -234,7 +234,7 @@ return damage = 70 - ((O.health / O.maxHealth) * 20) playsound(L,'sound/weapons/sear.ogg', 50, TRUE, -4) - to_chat(L, "You're struck by a disintegration laser!") + to_chat(L, SPAN_USERDANGER("You're struck by a disintegration laser!")) var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) var/armor = L.run_armor_check(limb_to_hit, LASER) L.apply_damage(damage, BURN, limb_to_hit, armor) diff --git a/code/datums/browser.dm b/code/datums/browser.dm index 5174a9f2c7a..bef68842a81 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -133,7 +133,7 @@ /datum/browser/proc/open(use_onclose = TRUE) if(isnull(window_id)) //null check because this can potentially nuke goonchat WARNING("Browser [title] tried to open with a null ID") - to_chat(user, "The [title] browser you tried to open failed a sanity check! Please report this on github!") + to_chat(user, SPAN_USERDANGER("The [title] browser you tried to open failed a sanity check! Please report this on github!")) return var/window_size = "" diff --git a/code/datums/bug_report.dm b/code/datums/bug_report.dm index 8946a6e608f..7ca5becc363 100644 --- a/code/datums/bug_report.dm +++ b/code/datums/bug_report.dm @@ -84,13 +84,13 @@ GLOBAL_LIST_EMPTY(bug_report_time) // whether or not an admin/dev can access the record at a given time. /datum/tgui_bug_report_form/proc/assign_approver(mob/user) if(!initial_key) - to_chat(user, "Unable to identify the author of the bug report.") + to_chat(user, SPAN_WARNING("Unable to identify the author of the bug report.")) return FALSE if(approving_user) if(user.client == approving_user) - to_chat(user, "This bug report review is already opened and accessed by you.") + to_chat(user, SPAN_WARNING("This bug report review is already opened and accessed by you.")) else - to_chat(user, "Another staff member is currently accessing this report, please wait for them to finish before making any changes.") + to_chat(user, SPAN_WARNING("Another staff member is currently accessing this report, please wait for them to finish before making any changes.")) return FALSE if(!check_rights(R_VIEWRUNTIMES|R_ADMIN|R_DEBUG, user = user)) message_admins("[user.ckey] has attempted to review [initial_key]'s bug report titled [bug_report_data["title"]] without proper authorization at [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")].") @@ -180,13 +180,13 @@ GLOBAL_LIST_EMPTY(bug_report_time) var/datum/http_response/response = request.into_response() if(response.errored || response.status_code != STATUS_SUCCESS) - message_admins("The GitHub API has failed to create the bug report titled [bug_report_data["title"]] approved by [approving_user], status code:[response.status_code]. Please paste this error code into the development channel on discord.") + message_admins(SPAN_ADMINNOTICE("The GitHub API has failed to create the bug report titled [bug_report_data["title"]] approved by [approving_user], status code:[response.status_code]. Please paste this error code into the development channel on discord.")) external_link_prompt(user) else var/client/initial_user = locateUID(initial_user_uid) message_admins("[user.ckey] has approved a bug report from [initial_key] titled [bug_report_data["title"]] at [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")].") if(initial_user) - to_chat(initial_user, "An admin has successfully submitted your report and it should now be visible on GitHub. Thanks again!") + to_chat(initial_user, SPAN_NOTICE("An admin has successfully submitted your report and it should now be visible on GitHub. Thanks again!")) // approved and submitted, we no longer need the datum. qdel(src) @@ -194,7 +194,7 @@ GLOBAL_LIST_EMPTY(bug_report_time) /datum/tgui_bug_report_form/proc/bug_report_request() var/client/initial_user = locateUID(initial_user_uid) if(initial_user) - to_chat(initial_user, "Your bug report has been submitted, thank you!") + to_chat(initial_user, SPAN_NOTICE("Your bug report has been submitted, thank you!")) if(!db_uid) db_uid = world.realtime GLOB.bug_reports += src @@ -210,7 +210,7 @@ GLOBAL_LIST_EMPTY(bug_report_time) switch(action) if("confirm") if(selected_confirm) // prevent someone from spamming the approve button - to_chat(user, "You have already approved this submission, please wait a moment for the API to process your submission.") + to_chat(user, SPAN_WARNING("You have already approved this submission, please wait a moment for the API to process your submission.")) return bug_report_data = sanitize_payload(params) add_metadata(user) diff --git a/code/datums/components/anti_magic.dm b/code/datums/components/anti_magic.dm index 645e579a709..0128c1dd87a 100644 --- a/code/datums/components/anti_magic.dm +++ b/code/datums/components/anti_magic.dm @@ -115,7 +115,7 @@ if(!(antimagic_flags & knownspell.antimagic_flags)) continue - to_chat(equipper, "[parent] is interfering with your ability to cast magic!") + to_chat(equipper, SPAN_WARNING("[parent] is interfering with your ability to cast magic!")) alert_caster_on_equip = FALSE break diff --git a/code/datums/components/boomerang.dm b/code/datums/components/boomerang.dm index 637f11df183..7591544da91 100644 --- a/code/datums/components/boomerang.dm +++ b/code/datums/components/boomerang.dm @@ -79,8 +79,8 @@ addtimer(CALLBACK(true_parent, TYPE_PROC_REF(/atom/movable, throw_at), thrown_by, boomerang_throw_range, throwing_datum.speed, null, TRUE), 0.1 SECONDS) COOLDOWN_START(src, last_boomerang_throw, BOOMERANG_REBOUND_INTERVAL) var/mob/thrower = throwing_datum?.get_thrower() - true_parent.visible_message("[true_parent] is flying back at [thrower]!", \ - "You see [true_parent] fly back at you!", \ - "You hear an aerodynamic woosh!") + true_parent.visible_message(SPAN_DANGER("[true_parent] is flying back at [thrower]!"), \ + SPAN_DANGER("You see [true_parent] fly back at you!"), \ + SPAN_HEAR("You hear an aerodynamic woosh!")) #undef BOOMERANG_REBOUND_INTERVAL diff --git a/code/datums/components/caltrop.dm b/code/datums/components/caltrop.dm index bc0a510f47e..31255d2e5b0 100644 --- a/code/datums/components/caltrop.dm +++ b/code/datums/components/caltrop.dm @@ -83,9 +83,9 @@ if(cooldown < world.time - 10) //cooldown to avoid message spam. if(!H.incapacitated(ignore_restraints = TRUE)) - H.visible_message("[H] steps on [A].", "You step on [A]!") + H.visible_message(SPAN_DANGER("[H] steps on [A]."), SPAN_USERDANGER("You step on [A]!")) else - H.visible_message("[H] slides on [A]!", "You slide on [A]!") + H.visible_message(SPAN_DANGER("[H] slides on [A]!"), SPAN_USERDANGER("You slide on [A]!")) cooldown = world.time H.Weaken(weaken_duration) diff --git a/code/datums/components/corpse_description.dm b/code/datums/components/corpse_description.dm index 1378b56628b..489c6f91dbb 100644 --- a/code/datums/components/corpse_description.dm +++ b/code/datums/components/corpse_description.dm @@ -27,6 +27,6 @@ if(corpse.stat != DEAD || !description_text) return // Why the hell you put this on them then if(naive_description && HAS_TRAIT(corpse_inspector, TRAIT_COMIC_SANS)) - examine_list += "[naive_description]" + examine_list += SPAN_NOTICE("[naive_description]") return - examine_list += "[description_text]" + examine_list += SPAN_NOTICE("[description_text]") diff --git a/code/datums/components/deadchat_control.dm b/code/datums/components/deadchat_control.dm index 24e7c916b2a..0c623e6b8fa 100644 --- a/code/datums/components/deadchat_control.dm +++ b/code/datums/components/deadchat_control.dm @@ -79,17 +79,17 @@ return var/cooldown = ckey_to_cooldown[source.ckey] - world.time if(cooldown > 0) - to_chat(source, "Your deadchat control inputs are still on cooldown for another [CEILING(cooldown * 0.1, 1)] second\s.") + to_chat(source, SPAN_WARNING("Your deadchat control inputs are still on cooldown for another [CEILING(cooldown * 0.1, 1)] second\s.")) return MOB_DEADSAY_SIGNAL_INTERCEPT ckey_to_cooldown[source.ckey] = world.time + input_cooldown addtimer(CALLBACK(src, PROC_REF(end_cooldown), source.ckey), input_cooldown) inputs[message].Invoke() - to_chat(source, "\"[message]\" input accepted. You are now on cooldown for [input_cooldown * 0.1] second\s.") + to_chat(source, SPAN_NOTICE("\"[message]\" input accepted. You are now on cooldown for [input_cooldown * 0.1] second\s.")) return MOB_DEADSAY_SIGNAL_INTERCEPT if(deadchat_mode & DEADCHAT_DEMOCRACY_MODE) ckey_to_cooldown[source.ckey] = message - to_chat(source, "You have voted for \"[message]\".") + to_chat(source, SPAN_NOTICE("You have voted for \"[message]\".")) return MOB_DEADSAY_SIGNAL_INTERCEPT /datum/component/deadchat_control/proc/democracy_loop() @@ -147,11 +147,11 @@ if(isobserver(orbiter)) var/mob/dead/observer/O = orbiter if(O.client && !(O.client.prefs.toggles & PREFTOGGLE_CHAT_DEAD)) - to_chat(O, "You have deadchat muted, and as such will not receive messages related to, nor be able to participate in, controlling this object.") - to_chat(O, "If you would like to participate, unmute deadchat and follow this object again.") + to_chat(O, SPAN_DEADSAY("You have deadchat muted, and as such will not receive messages related to, nor be able to participate in, controlling this object.")) + to_chat(O, SPAN_NOTICE("If you would like to participate, unmute deadchat and follow this object again.")) return else - to_chat(O, "[parent] is deadchat-controllable! Examine [parent] to see possible commands you can use while orbiting [parent.p_them()] to control [parent.p_their()] behavior!") + to_chat(O, SPAN_DEADSAY("[parent] is deadchat-controllable! Examine [parent] to see possible commands you can use while orbiting [parent.p_them()] to control [parent.p_their()] behavior!")) RegisterSignal(orbiter, COMSIG_MOB_DEADSAY, PROC_REF(deadchat_react)) RegisterSignal(orbiter, COMSIG_MOB_AUTOMUTE_CHECK, PROC_REF(waive_automute)) @@ -191,10 +191,10 @@ if(!isobserver(user)) return - examine_list += "[A.p_theyre(TRUE)] currently under deadchat control using the [(deadchat_mode & DEADCHAT_DEMOCRACY_MODE) ? "democracy" : "anarchy"] ruleset!" + examine_list += SPAN_NOTICE("[A.p_theyre(TRUE)] currently under deadchat control using the [(deadchat_mode & DEADCHAT_DEMOCRACY_MODE) ? "democracy" : "anarchy"] ruleset!") if(user.client && !(user.client.prefs.toggles & PREFTOGGLE_CHAT_DEAD)) - examine_list += "As you have deadchat disabled, you will not see vote messages, nor be able to participate in voting." + examine_list += SPAN_DEADSAY("As you have deadchat disabled, you will not see vote messages, nor be able to participate in voting.") return if(!(user in orbiters)) @@ -203,9 +203,9 @@ if(deadchat_mode & DEADCHAT_DEMOCRACY_MODE) - examine_list += "Type a command into chat to vote on an action. This happens once every [input_cooldown * 0.1] second\s." + examine_list += SPAN_NOTICE("Type a command into chat to vote on an action. This happens once every [input_cooldown * 0.1] second\s.") else if(deadchat_mode & DEADCHAT_ANARCHY_MODE) - examine_list += "Type a command into chat to perform. You may do this once every [input_cooldown * 0.1] second\s." + examine_list += SPAN_NOTICE("Type a command into chat to perform. You may do this once every [input_cooldown * 0.1] second\s.") var/extended_examine = "Command list:" @@ -221,7 +221,7 @@ var/mob/ghost = get_mob_by_ckey(ghost_ckey) if(!ghost || isliving(ghost)) return - to_chat(ghost, "Your deadchat control inputs for [parent] ([ghost_follow_link(parent, ghost)]) are no longer on cooldown.") + to_chat(ghost, SPAN_GREEN("Your deadchat control inputs for [parent] ([ghost_follow_link(parent, ghost)]) are no longer on cooldown.")) /// Dummy to call since we can't proc reference builtins /datum/component/deadchat_control/proc/_step(ref, dir) diff --git a/code/datums/components/defibrillator.dm b/code/datums/components/defibrillator.dm index 6403433312f..6be498d288e 100644 --- a/code/datums/components/defibrillator.dm +++ b/code/datums/components/defibrillator.dm @@ -92,11 +92,11 @@ if(safety) safety = FALSE - unit.visible_message("[unit] beeps: Safety protocols disabled!") + unit.visible_message(SPAN_NOTICE("[unit] beeps: Safety protocols disabled!")) playsound(get_turf(unit), safety_off_sound, 50, FALSE) else safety = TRUE - unit.visible_message("[unit] beeps: Safety protocols enabled!") + unit.visible_message(SPAN_NOTICE("[unit] beeps: Safety protocols enabled!")) playsound(get_turf(unit), safety_on_sound, 50, FALSE) /datum/component/defib/proc/on_emag(obj/item/unit, mob/user) @@ -148,12 +148,12 @@ var/application_result = SEND_SIGNAL(parent, COMSIG_DEFIB_PADDLES_APPLIED, user, target, should_cause_harm) if(application_result & COMPONENT_BLOCK_DEFIB_DEAD) - user.visible_message("[defib_ref] beeps: Unit is unpowered.") + user.visible_message(SPAN_NOTICE("[defib_ref] beeps: Unit is unpowered.")) playsound(get_turf(defib_ref), fail_sound, 50, FALSE) return if(on_cooldown) - to_chat(user, "[defib_ref] is recharging.") + to_chat(user, SPAN_NOTICE("[defib_ref] is recharging.")) return if(application_result & COMPONENT_BLOCK_DEFIB_MISC) @@ -161,9 +161,9 @@ if(!istype(target)) if(robotic) - to_chat(user, "This unit is only designed to work on humanoid lifeforms.") + to_chat(user, SPAN_NOTICE("This unit is only designed to work on humanoid lifeforms.")) else - to_chat(user, "The instructions on [defib_ref] don't mention how to defibrillate that...") + to_chat(user, SPAN_NOTICE("The instructions on [defib_ref] don't mention how to defibrillate that...")) return if(should_cause_harm && combat && heart_attack_chance == 100) @@ -178,23 +178,23 @@ return user.visible_message( - "[user] begins to place [parent] on [target]'s chest.", - "You begin to place [parent] on [target.name]'s chest." + SPAN_WARNING("[user] begins to place [parent] on [target]'s chest."), + SPAN_WARNING("You begin to place [parent] on [target.name]'s chest.") ) busy = TRUE var/mob/dead/observer/ghost = target.get_ghost() if(ghost) - to_chat(ghost, "Your heart is being defibrillated. Return to your body if you want to be revived! (Verbs -> Ghost -> Re-enter corpse)") + to_chat(ghost, "[SPAN_GHOSTALERT("Your heart is being defibrillated. Return to your body if you want to be revived!")] (Verbs -> Ghost -> Re-enter corpse)") window_flash(ghost.client) SEND_SOUND(ghost, sound('sound/effects/genetics.ogg')) else if(HAS_TRAIT_FROM(target, TRAIT_FAKEDEATH, CHANGELING_TRAIT)) - to_chat(target, "Your heart is being defibrillated. Click the defibrillator status to be revived!") + to_chat(target, SPAN_GHOSTALERT("Your heart is being defibrillated. Click the defibrillator status to be revived!")) window_flash(target.client) SEND_SOUND(target, sound('sound/effects/genetics.ogg')) target.throw_alert("cling_defib", /atom/movable/screen/alert/changeling_defib_revive, alert_args = list(parent, target)) - user.visible_message("[user] places [parent] on [target]'s chest.", "You place [parent] on [target]'s chest.") + user.visible_message(SPAN_NOTICE("[user] places [parent] on [target]'s chest."), SPAN_WARNING("You place [parent] on [target]'s chest.")) playsound(get_turf(defib_ref), charge_sound, 50, FALSE) if(ghost && !ghost.client && !QDELETED(ghost)) @@ -208,7 +208,7 @@ return if(istype(target.wear_suit, /obj/item/clothing/suit/space) && !combat) - user.visible_message("[defib_ref] buzzes: Patient's chest is obscured. Operation aborted.") + user.visible_message(SPAN_NOTICE("[defib_ref] buzzes: Patient's chest is obscured. Operation aborted.")) playsound(get_turf(defib_ref), fail_sound, 50, FALSE) busy = FALSE return @@ -223,9 +223,9 @@ if(target.undergoing_cardiac_arrest() && target.stat != DEAD) // Can have a heart attack and heart is either missing, necrotic, or not beating var/datum/organ/heart/heart = target.get_int_organ_datum(ORGAN_DATUM_HEART) if(!heart) - user.visible_message("[defib_ref] buzzes: Resuscitation failed - Failed to pick up any heart electrical activity.") + user.visible_message(SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Failed to pick up any heart electrical activity.")) else if(heart.linked_organ.status & ORGAN_DEAD) - user.visible_message("[defib_ref] buzzes: Resuscitation failed - Heart necrosis detected.") + user.visible_message(SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Heart necrosis detected.")) if(!heart || (heart.linked_organ.status & ORGAN_DEAD)) playsound(get_turf(defib_ref), fail_sound, 50, FALSE) busy = FALSE @@ -235,8 +235,8 @@ SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK, 100) SEND_SIGNAL(parent, COMSIG_DEFIB_SHOCK_APPLIED, user, target, should_cause_harm, TRUE) set_cooldown(cooldown) - user.visible_message("[defib_ref] pings: Cardiac arrhythmia corrected.") - target.visible_message("[target]'s body convulses a bit.", "You feel a jolt, and your heartbeat seems to steady.") + user.visible_message(SPAN_BOLDNOTICE("[defib_ref] pings: Cardiac arrhythmia corrected.")) + target.visible_message(SPAN_WARNING("[target]'s body convulses a bit."), SPAN_USERDANGER("You feel a jolt, and your heartbeat seems to steady.")) playsound(get_turf(defib_ref), zap_sound, 50, TRUE, -1) playsound(get_turf(defib_ref), "bodyfall", 50, TRUE) playsound(get_turf(defib_ref), success_sound, 50, FALSE) @@ -244,12 +244,12 @@ return if(target.stat != DEAD && !HAS_TRAIT(target, TRAIT_FAKEDEATH)) - user.visible_message("[defib_ref] buzzes: Patient is not in a valid state. Operation aborted.") + user.visible_message(SPAN_NOTICE("[defib_ref] buzzes: Patient is not in a valid state. Operation aborted.")) playsound(get_turf(defib_ref), fail_sound, 50, FALSE) busy = FALSE return - target.visible_message("[target]'s body convulses a bit.") + target.visible_message(SPAN_WARNING("[target]'s body convulses a bit.")) playsound(get_turf(defib_ref), "bodyfall", 50, TRUE) playsound(get_turf(defib_ref), zap_sound, 50, TRUE, -1) ghost = target.get_ghost(TRUE) // We have to double check whether the dead guy has entered their body during the above @@ -259,31 +259,31 @@ var/failure_message if(!target.is_revivable()) - failure_message = "[defib_ref] buzzes: Resuscitation failed - Heart tissue damage beyond point of no return for defibrillation." + failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Heart tissue damage beyond point of no return for defibrillation.") else if(target.getBruteLoss() >= 180 || target.getFireLoss() >= 180) - failure_message = "[defib_ref] buzzes: Resuscitation failed - Severe tissue damage detected." + failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Severe tissue damage detected.") else if(HAS_TRAIT(target, TRAIT_HUSK)) - failure_message = "[defib_ref] buzzes: Resuscitation failed - Subject is husked." + failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Subject is husked.") else if(target.blood_volume < BLOOD_VOLUME_SURVIVE) - failure_message = "[defib_ref] buzzes: Resuscitation failed - Patient blood volume critically low." + failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Patient blood volume critically low.") else if(!target.get_organ_slot("brain")) // So things like headless clings don't get outed - failure_message = "[defib_ref] buzzes: Resuscitation failed - No brain detected within patient." + failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - No brain detected within patient.") else if(ghost) if(!(ghost.ghost_flags & GHOST_CAN_REENTER) || target.suiciding) // DNR or AntagHUD - failure_message = "[defib_ref] buzzes: Resuscitation failed - No electrical brain activity detected." + failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - No electrical brain activity detected.") else - failure_message = "[defib_ref] buzzes: Resuscitation failed - Patient's brain is unresponsive. Further attempts may succeed." + failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Patient's brain is unresponsive. Further attempts may succeed.") else if(HAS_TRAIT(target, TRAIT_FAKEDEATH)) if(signal_result & COMPONENT_DEFIB_FAKEDEATH_DENIED) - failure_message = "[defib_ref] buzzes: Resuscitation failed - Patient's brain is unresponsive. Further attempts may succeed." + failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Patient's brain is unresponsive. Further attempts may succeed.") else if(signal_result & COMPONENT_DEFIB_FAKEDEATH_ACCEPTED) // as much as I hate that this is here, it has to come after the `Patient is not in a valid state. Operation aborted.` check. REMOVE_TRAIT(target, TRAIT_FAKEDEATH, CHANGELING_TRAIT) else - failure_message = "[defib_ref] buzzes: Resuscitation failed." // has a fakedeath like capulettium + failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed.") // has a fakedeath like capulettium else if((signal_result & COMPONENT_BLOCK_DEFIB) || HAS_TRAIT(target, TRAIT_BADDNA) || target.suiciding) // these are a bit more arbitrary - failure_message = "[defib_ref] buzzes: Resuscitation failed." + failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed.") if(failure_message) user.visible_message(failure_message) @@ -313,11 +313,11 @@ if(target.check_brain_threshold(BRAIN_DAMAGE_RATIO_CRITICAL)) // If you want to treat this with mannitol, it'll have to metabolize while the patient is alive, so it's alright to bring them back up for a minute playsound(get_turf(defib_ref), safety_off_sound, 50, FALSE) - user.visible_message("[defib_ref] chimes: Minimal brain activity detected, brain treatment recommended for full resuscitation.") + user.visible_message(SPAN_BOLDNOTICE("[defib_ref] chimes: Minimal brain activity detected, brain treatment recommended for full resuscitation.")) else playsound(get_turf(defib_ref), success_sound, 50, FALSE) - user.visible_message("[defib_ref] pings: Resuscitation successful.") + user.visible_message(SPAN_BOLDNOTICE("[defib_ref] pings: Resuscitation successful.")) SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK, 100) if(ishuman(target.pulledby)) // For some reason, pulledby isnt a list despite it being possible to be pulled by multiple people @@ -349,8 +349,8 @@ if(!istype(target)) return busy = TRUE - target.visible_message("[user] has touched [target] with [parent]!", \ - "[user] touches you with [parent], and you feel a strong jolt!") + target.visible_message(SPAN_DANGER("[user] has touched [target] with [parent]!"), \ + SPAN_USERDANGER("[user] touches you with [parent], and you feel a strong jolt!")) target.apply_damage(60, STAMINA) target.KnockDown(10 SECONDS) playsound(get_turf(parent), zap_sound, 50, TRUE, -1) @@ -373,13 +373,13 @@ if(IS_HORIZONTAL(target) && HAS_TRAIT(target, TRAIT_HANDS_BLOCKED)) // Weakening exists which doesn't floor you while stunned add_attack_logs(user, target, "Gave a heart attack with [parent]") target.set_heartattack(TRUE) - target.visible_message("[user] has touched [target] with [parent]!", \ - "[user] touches you with [parent], and you feel a strong jolt!") + target.visible_message(SPAN_DANGER("[user] has touched [target] with [parent]!"), \ + SPAN_USERDANGER("[user] touches you with [parent], and you feel a strong jolt!")) playsound(get_turf(parent), zap_sound, 50, TRUE, -1) SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK, 100) set_cooldown(cooldown) return - target.visible_message("[user] touches [target] lightly with [parent]!") + target.visible_message(SPAN_DANGER("[user] touches [target] lightly with [parent]!")) set_cooldown(2.5 SECONDS) /* @@ -407,8 +407,8 @@ if(electrocute_mob(affecting, power_source, origin)) // shock anyone touching them >:) var/datum/organ/heart/heart = affecting.get_int_organ_datum(ORGAN_DATUM_HEART) if(heart.linked_organ.parent_organ == "chest" && affecting.has_both_hands()) // making sure the shock will go through their heart (drask hearts are in their head), and that they have both arms so the shock can cross their heart inside their chest - affecting.visible_message("[affecting]'s entire body shakes as a shock travels up [affecting.p_their()] arm!", \ - "You feel a powerful shock travel up your [affecting.hand ? affecting.get_organ("l_arm") : affecting.get_organ("r_arm")] and back down your [affecting.hand ? affecting.get_organ("r_arm") : affecting.get_organ("l_arm")]!") + affecting.visible_message(SPAN_DANGER("[affecting]'s entire body shakes as a shock travels up [affecting.p_their()] arm!"), \ + SPAN_USERDANGER("You feel a powerful shock travel up your [affecting.hand ? affecting.get_organ("l_arm") : affecting.get_organ("r_arm")] and back down your [affecting.hand ? affecting.get_organ("r_arm") : affecting.get_organ("l_arm")]!")) affecting.set_heartattack(TRUE) #undef DEFIB_TIME diff --git a/code/datums/components/direct_explosive_trap.dm b/code/datums/components/direct_explosive_trap.dm index b2ba85d7e02..86d60435e1e 100644 --- a/code/datums/components/direct_explosive_trap.dm +++ b/code/datums/components/direct_explosive_trap.dm @@ -63,7 +63,7 @@ /datum/component/direct_explosive_trap/proc/on_examined(datum/source, mob/user, list/examine_text) SIGNAL_HANDLER // COMSIG_PARENT_EXAMINE if(get_dist(source, user) <= 2) - examine_text += "Looks odd!" + examine_text += SPAN_NOTICE("Looks odd!") /// Blow up /datum/component/direct_explosive_trap/proc/explode(atom/source, mob/living/victim) @@ -77,9 +77,9 @@ return else if(result == DIRECT_EXPLOSIVE_TRAP_IGNORE) return - to_chat(victim, "[source] was boobytrapped!") + to_chat(victim, SPAN_DANGER("[source] was boobytrapped!")) if(!isnull(saboteur)) - to_chat(saboteur, "Success! Your trap on [source] caught [victim.name]!") + to_chat(saboteur, SPAN_DANGER("Success! Your trap on [source] caught [victim.name]!")) playsound(source, 'sound/effects/explosion2.ogg', 200, TRUE) victim.ex_act(explosive_force) // A bomb went off in your hands. Actually lets people follow up with it if @@ -90,7 +90,7 @@ /// Called if we sit too long without going off /datum/component/direct_explosive_trap/proc/bomb_expired() if(!isnull(saboteur)) - to_chat(saboteur, "Failure! Your trap on [parent] didn't catch anyone this time.") + to_chat(saboteur, SPAN_DANGER("Failure! Your trap on [parent] didn't catch anyone this time.")) qdel(src) /// Don't hang a reference to the person who placed the bomb diff --git a/code/datums/components/ducttape.dm b/code/datums/components/ducttape.dm index 8a1c69f8a28..decf1908d30 100644 --- a/code/datums/components/ducttape.dm +++ b/code/datums/components/ducttape.dm @@ -22,7 +22,7 @@ I.add_tape() /datum/component/proc/add_tape_text(datum/source, mob/user, list/examine_list) - examine_list += "There's some sticky tape attached to [source]." + examine_list += SPAN_NOTICE("There's some sticky tape attached to [source].") /datum/component/ducttape/proc/add_tape_overlay(obj/item/O, list/overlays) SIGNAL_HANDLER // COMSIG_ATOM_UPDATE_OVERLAYS @@ -32,7 +32,7 @@ overlays += tape_overlay /datum/component/ducttape/proc/remove_tape(obj/item/I, mob/user) - to_chat(user, "You tear the tape off [I]!") + to_chat(user, SPAN_NOTICE("You tear the tape off [I]!")) playsound(I, 'sound/items/poster_ripped.ogg', 50, 1) new /obj/item/trash/tapetrash(user.loc) I.update_icon() @@ -58,7 +58,7 @@ var/target_direction = get_dir(source_turf, target_turf)//The direction we clicked // Snowflake diagonal handling if(target_direction in GLOB.diagonals) - to_chat(user, "You can't reach [target_turf].") + to_chat(user, SPAN_WARNING("You can't reach [target_turf].")) return if(target_direction & EAST) x_offset = 16 @@ -74,7 +74,7 @@ y_offset = -16 if(!user.drop_item_to_ground(I)) return - to_chat(user, "You stick [I] to [target_turf].") + to_chat(user, SPAN_NOTICE("You stick [I] to [target_turf].")) I.pixel_x = x_offset I.pixel_y = y_offset diff --git a/code/datums/components/forces_doors_open.dm b/code/datums/components/forces_doors_open.dm index c099a927d92..949d8ceedea 100644 --- a/code/datums/components/forces_doors_open.dm +++ b/code/datums/components/forces_doors_open.dm @@ -67,7 +67,7 @@ return if(SEND_SIGNAL(parent, COMSIG_TWOHANDED_WIELDED_TRY_WIELD_INTERACT) && airlock.arePowerSystemsOn()) - to_chat(user, "You need to be wielding [parent] to do that!") + to_chat(user, SPAN_WARNING("You need to be wielding [parent] to do that!")) return TRUE if(!airlock.density) @@ -94,7 +94,7 @@ // opening failed if(airlock.density) - to_chat(user, "Despite your attempts, [airlock] refuses to open.") + to_chat(user, SPAN_WARNING("Despite your attempts, [airlock] refuses to open.")) /// open door without checks /datum/component/forces_doors_open/proc/open_unpowered_door(obj/machinery/door/door) @@ -110,7 +110,7 @@ var/obj/item/melee/mantis_blade/secondblade = user.get_inactive_hand() if(!istype(secondblade, /obj/item/melee/mantis_blade)) - to_chat(user, "You need a second [parent] to pry open doors!") + to_chat(user, SPAN_WARNING("You need a second [parent] to pry open doors!")) return ITEM_INTERACT_COMPLETE if(try_to_force_open_airlock(user, target)) diff --git a/code/datums/components/fullauto.dm b/code/datums/components/fullauto.dm index c82266a6be8..59a6dd13437 100644 --- a/code/datums/components/fullauto.dm +++ b/code/datums/components/fullauto.dm @@ -290,7 +290,7 @@ var/other_hand = shooter.get_organ(shooter.hand ? BODY_ZONE_PRECISE_R_HAND : BODY_ZONE_PRECISE_L_HAND) if(weapon_weight == WEAPON_HEAVY && (shooter.get_inactive_hand() || !other_hand)) - to_chat(shooter, "You need to use both hands!") + to_chat(shooter, SPAN_WARNING("You need to use both hands!")) return FALSE return TRUE diff --git a/code/datums/components/ghost_direct_control.dm b/code/datums/components/ghost_direct_control.dm index 06eaa3e018c..5bb7d3f8bcb 100644 --- a/code/datums/components/ghost_direct_control.dm +++ b/code/datums/components/ghost_direct_control.dm @@ -63,7 +63,7 @@ var/mob/living/our_mob = parent if(our_mob.stat == DEAD || our_mob.key || awaiting_ghosts) return - examine_text += "You could take control of this mob by clicking on it." + examine_text += SPAN_BOLDNOTICE("You could take control of this mob by clicking on it.") /// Send out a request for a brain /datum/component/ghost_direct_control/proc/request_ghost_control(poll_question, role_name, poll_length) @@ -95,10 +95,10 @@ if(!hopeful_ghost.client) return COMPONENT_CANCEL_ATTACK_CHAIN if(awaiting_ghosts) - to_chat(hopeful_ghost, "Ghost candidate selection currently in progress!") + to_chat(hopeful_ghost, SPAN_WARNING("Ghost candidate selection currently in progress!")) return COMPONENT_CANCEL_ATTACK_CHAIN if(!SSticker.HasRoundStarted()) - to_chat(hopeful_ghost, "You cannot assume control of this until after the round has started!") + to_chat(hopeful_ghost, SPAN_WARNING("You cannot assume control of this until after the round has started!")) return COMPONENT_CANCEL_ATTACK_CHAIN INVOKE_ASYNC(src, PROC_REF(attempt_possession), our_mob, hopeful_ghost) return COMPONENT_CANCEL_ATTACK_CHAIN @@ -113,17 +113,17 @@ /// Grant possession of our mob, component is now no longer required /datum/component/ghost_direct_control/proc/assume_direct_control(mob/harbinger) if(QDELETED(src)) - to_chat(harbinger, "Offer to possess creature has expired!") + to_chat(harbinger, SPAN_WARNING("Offer to possess creature has expired!")) return if(jobban_isbanned(harbinger, ban_type) || jobban_isbanned(harbinger, ROLE_SENTIENT) || (is_antag_spawner && jobban_isbanned(harbinger, ROLE_SYNDICATE))) - to_chat(harbinger, "You are banned from playing as this role!") + to_chat(harbinger, SPAN_WARNING("You are banned from playing as this role!")) return var/mob/living/new_body = parent if(new_body.stat == DEAD) - to_chat(harbinger, "This body has passed away, it is of no use!") + to_chat(harbinger, SPAN_WARNING("This body has passed away, it is of no use!")) return if(new_body.key) - to_chat(harbinger, "[parent] has already become sapient!") + to_chat(harbinger, SPAN_WARNING("[parent] has already become sapient!")) qdel(src) return if(extra_control_checks && !extra_control_checks.Invoke(harbinger)) @@ -142,6 +142,6 @@ // This proc is called the very moment .key is set, so we need to force mind to initialize here if we want the invoke to affect the mind of the mob if(isnull(harbinger.mind)) harbinger.mind_initialize() - to_chat(harbinger, "[assumed_control_message]") + to_chat(harbinger, SPAN_BOLDNOTICE("[assumed_control_message]")) after_assumed_control?.Invoke(harbinger) qdel(src) diff --git a/code/datums/components/label.dm b/code/datums/components/label.dm index ef48a70759a..117086cb3ef 100644 --- a/code/datums/components/label.dm +++ b/code/datums/components/label.dm @@ -63,7 +63,7 @@ apply_label() /datum/component/label/proc/on_examine(datum/source, mob/user, list/examine_list) - examine_list += "It has a label with some words written on it. Use a hand labeler to remove it." + examine_list += SPAN_NOTICE("It has a label with some words written on it. Use a hand labeler to remove it.") /// Applies a label to the name of the parent in the format of: "parent_name (label)" /datum/component/label/proc/apply_label() @@ -94,7 +94,7 @@ owner = person if(department) owner += " in [department]" - + if(from_cc) label_name = owner else @@ -113,4 +113,4 @@ /// Adds detailed information to the examine text. /datum/component/label/goal/on_examine(datum/source, mob/user, list/examine_list) - examine_list += "It has a label on it, marking it as part of a secondary goal for [owner]. Use a hand labeler to remove it." + examine_list += SPAN_NOTICE("It has a label on it, marking it as part of a secondary goal for [owner]. Use a hand labeler to remove it.") diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index fdf0081b68f..9502b96d3a8 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -59,7 +59,7 @@ var/datum/material/M = materials[I] var/amt = amount(M.id) if(amt) - examine_list += "It has [amt] units of [lowertext(M.name)] stored." + examine_list += SPAN_NOTICE("It has [amt] units of [lowertext(M.name)] stored.") /datum/component/material_container/proc/OnAttackBy(datum/source, obj/item/I, mob/living/user) var/list/tc = allowed_typecache @@ -72,7 +72,7 @@ if(I.flags & ABSTRACT) return if((I.flags_2 & (HOLOGRAM_2 | NO_MAT_REDEMPTION_2)) || (tc && !is_type_in_typecache(I, tc))) - to_chat(user, "[parent] won't accept [I]!") + to_chat(user, SPAN_WARNING("[parent] won't accept [I]!")) return . = COMPONENT_SKIP_AFTERATTACK var/datum/callback/pc = precondition @@ -80,10 +80,10 @@ return var/material_amount = get_item_material_amount(I) if(!material_amount) - to_chat(user, "[I] does not contain sufficient amounts of metal or glass to be accepted by [parent].") + to_chat(user, SPAN_WARNING("[I] does not contain sufficient amounts of metal or glass to be accepted by [parent].")) return if(!has_space(material_amount)) - to_chat(user, "[parent] is full. Please remove metal or glass from [parent] in order to insert more.") + to_chat(user, SPAN_WARNING("[parent] is full. Please remove metal or glass from [parent] in order to insert more.")) return user_insert(I, user) @@ -99,18 +99,18 @@ if(QDELETED(I) || QDELETED(user) || QDELETED(src) || parent != current_parent || user.incapacitated() || !in_range(current_parent, user) || user.l_hand != I && user.r_hand != I) return if(!user.drop_item()) - to_chat(user, "[I] is stuck to you and cannot be placed into [parent].") + to_chat(user, SPAN_WARNING("[I] is stuck to you and cannot be placed into [parent].")) return var/inserted = insert_item(I, stack_amt = requested_amount) if(inserted) if(istype(I, /obj/item/stack)) var/obj/item/stack/S = I - to_chat(user, "You insert [inserted] [S.singular_name][inserted>1 ? "s" : ""] into [parent].") + to_chat(user, SPAN_NOTICE("You insert [inserted] [S.singular_name][inserted>1 ? "s" : ""] into [parent].")) if(!QDELETED(I) && !user.put_in_hands(I)) stack_trace("Warning: User could not put object back in hand during material container insertion, line [__LINE__]! This can lead to issues.") I.forceMove(user.drop_location()) else - to_chat(user, "You insert a material total of [inserted] into [parent].") + to_chat(user, SPAN_NOTICE("You insert a material total of [inserted] into [parent].")) qdel(I) if(after_insert) after_insert.Invoke(I.type, last_inserted_id, inserted) diff --git a/code/datums/components/paintable.dm b/code/datums/components/paintable.dm index 6450033d9ac..fbb82285d1a 100644 --- a/code/datums/components/paintable.dm +++ b/code/datums/components/paintable.dm @@ -17,7 +17,7 @@ return . = COMPONENT_SKIP_AFTERATTACK if(spraycan.capped) - to_chat(user, "Take the cap off first!") + to_chat(user, SPAN_WARNING("Take the cap off first!")) return if(spraycan.uses < 2) to_chat(user, "There is not enough paint in the can!") @@ -28,4 +28,4 @@ var/atom/A = parent A.add_atom_colour(colour, FIXED_COLOUR_PRIORITY) playsound(spraycan, 'sound/effects/spray.ogg', 5, TRUE, 5) - to_chat(user, "You spray [spraycan] on [A], painting it.") + to_chat(user, SPAN_NOTICE("You spray [spraycan] on [A], painting it.")) diff --git a/code/datums/components/parry.dm b/code/datums/components/parry.dm index c22651ec020..d1e39485018 100644 --- a/code/datums/components/parry.dm +++ b/code/datums/components/parry.dm @@ -63,7 +63,7 @@ for(var/attack_type in parryable_attack_types) attack_list += attack_types_english[attack_type] - examine_text = "It's able to parry [english_list(attack_list)]." + examine_text = SPAN_NOTICE("It's able to parry [english_list(attack_list)].") /datum/component/parry/proc/equipped(datum/source, mob/user, slot) SIGNAL_HANDLER diff --git a/code/datums/components/pet_commands/obeys_commands.dm b/code/datums/components/pet_commands/obeys_commands.dm index b2f927a5992..f7d6a144963 100644 --- a/code/datums/components/pet_commands/obeys_commands.dm +++ b/code/datums/components/pet_commands/obeys_commands.dm @@ -57,4 +57,4 @@ return if(!(user in source.ai_controller?.blackboard[BB_FRIENDS_LIST])) return - examine_list += "[source.p_they(TRUE)] seem[source.p_s()] happy to see you!" + examine_list += SPAN_NOTICE("[source.p_they(TRUE)] seem[source.p_s()] happy to see you!") diff --git a/code/datums/components/pet_commands/pet_command.dm b/code/datums/components/pet_commands/pet_command.dm index a3adcd53a12..1e09dc2cdf7 100644 --- a/code/datums/components/pet_commands/pet_command.dm +++ b/code/datums/components/pet_commands/pet_command.dm @@ -175,5 +175,5 @@ if(!look_for_target(friend, potential_target) || !set_command_target(parent, potential_target)) return FALSE var/suffix = pointed_reaction ? " [pointed_reaction]" : "" - parent.visible_message("[parent] follows [friend]'s gesture towards [potential_target][suffix]!") + parent.visible_message(SPAN_WARNING("[parent] follows [friend]'s gesture towards [potential_target][suffix]!")) return TRUE diff --git a/code/datums/components/pet_commands/pet_commands_basic.dm b/code/datums/components/pet_commands/pet_commands_basic.dm index 741877bf1b5..09507ef632b 100644 --- a/code/datums/components/pet_commands/pet_commands_basic.dm +++ b/code/datums/components/pet_commands/pet_commands_basic.dm @@ -125,7 +125,7 @@ /datum/pet_command/attack/proc/refuse_target(mob/living/parent, atom/target) var/mob/living/living_parent = parent living_parent.custom_emote(EMOTE_VISIBLE, refuse_reaction) - living_parent.visible_message("[living_parent] refuses to attack [target].") + living_parent.visible_message(SPAN_NOTICE("[living_parent] refuses to attack [target].")) /datum/pet_command/attack/execute_action(datum/ai_controller/controller) controller.queue_behavior(attack_behaviour, BB_CURRENT_PET_TARGET, targeting_strategy_key) diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index 18ee3e0029f..58b6b3c5d4f 100644 --- a/code/datums/components/radioactive.dm +++ b/code/datums/components/radioactive.dm @@ -136,7 +136,7 @@ fragments += "[length(fragments) ? " and [master.p_they()] " : "[master] "]hurt[master.p_s()] to look at." if(length(fragments)) - out += "[fragments.Join()]" + out += SPAN_WARNING("[fragments.Join()]") /datum/component/radioactive/proc/rad_attack(datum/source, atom/movable/target, mob/living/user) SIGNAL_HANDLER diff --git a/code/datums/components/riding/riding.dm b/code/datums/components/riding/riding.dm index 149ea6ca655..81e37aca34a 100644 --- a/code/datums/components/riding/riding.dm +++ b/code/datums/components/riding/riding.dm @@ -103,7 +103,7 @@ /// This proc is called when the rider attempts to grab something, preventing them from doing so. /datum/component/riding/proc/on_rider_try_pull(mob/living/rider_pulling, atom/movable/target, force) SIGNAL_HANDLER // COMSIG_LIVING_TRY_PULL - to_chat(rider_pulling, "You can't pull [target]!") + to_chat(rider_pulling, SPAN_WARNING("You can't pull [target]!")) return COMSIG_LIVING_CANCEL_PULL /// Some ridable atoms may want to only show on top of the rider in certain directions, like wheelchairs diff --git a/code/datums/components/riding/riding_vehicle.dm b/code/datums/components/riding/riding_vehicle.dm index 2b2ff091bef..c42cdfecfdd 100644 --- a/code/datums/components/riding/riding_vehicle.dm +++ b/code/datums/components/riding/riding_vehicle.dm @@ -19,43 +19,43 @@ if(!keycheck(user)) if(COOLDOWN_FINISHED(src, message_cooldown)) - to_chat(user, "[vehicle_parent] has no key inserted!") + to_chat(user, SPAN_WARNING("[vehicle_parent] has no key inserted!")) COOLDOWN_START(src, message_cooldown, 5 SECONDS) return COMPONENT_DRIVER_BLOCK_MOVE if(user.incapacitated()) if(ride_check_flags & UNBUCKLE_DISABLED_RIDER) INVOKE_ASYNC(vehicle_parent, TYPE_PROC_REF(/atom/movable, unbuckle_mob), user, TRUE) - user.visible_message("[user] falls off [vehicle_parent].",\ - "You slip off [vehicle_parent] as your body slumps!") + user.visible_message(SPAN_DANGER("[user] falls off [vehicle_parent]."),\ + SPAN_DANGER("You slip off [vehicle_parent] as your body slumps!")) user.Stun(3 SECONDS) if(COOLDOWN_FINISHED(src, message_cooldown)) - to_chat(user, "You cannot operate [vehicle_parent] right now!") + to_chat(user, SPAN_WARNING("You cannot operate [vehicle_parent] right now!")) COOLDOWN_START(src, message_cooldown, 5 SECONDS) return COMPONENT_DRIVER_BLOCK_MOVE if(ride_check_flags & RIDER_NEEDS_LEGS && HAS_TRAIT(user, TRAIT_FLOORED)) if(ride_check_flags & UNBUCKLE_DISABLED_RIDER) INVOKE_ASYNC(vehicle_parent, TYPE_PROC_REF(/atom/movable, unbuckle_mob), user, TRUE) - user.visible_message("[user] falls off [vehicle_parent].",\ - "You fall off [vehicle_parent] while trying to operate it while unable to stand!") + user.visible_message(SPAN_DANGER("[user] falls off [vehicle_parent]."),\ + SPAN_DANGER("You fall off [vehicle_parent] while trying to operate it while unable to stand!")) user.Stun(3 SECONDS) if(COOLDOWN_FINISHED(src, message_cooldown)) - to_chat(user, "You can't seem to manage that while unable to stand up enough to move [vehicle_parent]...") + to_chat(user, SPAN_WARNING("You can't seem to manage that while unable to stand up enough to move [vehicle_parent]...")) COOLDOWN_START(src, message_cooldown, 5 SECONDS) return COMPONENT_DRIVER_BLOCK_MOVE if(ride_check_flags & RIDER_NEEDS_ARMS && HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) if(ride_check_flags & UNBUCKLE_DISABLED_RIDER) INVOKE_ASYNC(vehicle_parent, TYPE_PROC_REF(/atom/movable, unbuckle_mob), user, TRUE) - user.visible_message("[user] falls off [vehicle_parent].",\ - "You fall off [vehicle_parent] while trying to operate it without being able to hold on!") + user.visible_message(SPAN_DANGER("[user] falls off [vehicle_parent]."),\ + SPAN_DANGER("You fall off [vehicle_parent] while trying to operate it without being able to hold on!")) user.Stun(3 SECONDS) if(COOLDOWN_FINISHED(src, message_cooldown)) - to_chat(user, "You can't seem to hold onto [vehicle_parent] to move it...") + to_chat(user, SPAN_WARNING("You can't seem to hold onto [vehicle_parent] to move it...")) COOLDOWN_START(src, message_cooldown, 5 SECONDS) return COMPONENT_DRIVER_BLOCK_MOVE @@ -71,7 +71,7 @@ if(!istype(next) || !istype(current)) return //not happening. if(!turf_check(next, current)) - to_chat(user, "[movable_parent] cannot go onto [next]!") + to_chat(user, SPAN_WARNING("[movable_parent] cannot go onto [next]!")) return if(GLOB.move_manager.processing_on(movable_parent, SSspacedrift) && !override_allow_spacemove) return @@ -126,7 +126,7 @@ /datum/component/riding/vehicle/scooter/skateboard/proc/on_examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER //COMSIG_PARENT_EXAMINE - examine_list += "Going nice and slow at walk speed will prevent crashing into things." + examine_list += SPAN_NOTICE("Going nice and slow at walk speed will prevent crashing into things.") /datum/component/riding/vehicle/scooter/skateboard/vehicle_mob_buckle(datum/source, mob/living/rider, force = FALSE) . = ..() @@ -157,8 +157,8 @@ if((L.getStaminaLoss() >= 60 || L.health <= 40) && !L.absorb_stun(0)) // Only injured people can be shot off. Hulks and people on stimulants can not be shot off. S.unbuckle_mob(L) L.KnockDown(2 SECONDS) - L.visible_message("[L] gets shot off [S] by [projectile]!", - "You get shot off [S] by [projectile]!") + L.visible_message(SPAN_WARNING("[L] gets shot off [S] by [projectile]!"), + SPAN_WARNING("You get shot off [S] by [projectile]!")) /datum/component/riding/vehicle/scooter/skateboard/pro vehicle_move_delay = 1 diff --git a/code/datums/components/scope.dm b/code/datums/components/scope.dm index 37b046a8791..a0e24b1a6e7 100644 --- a/code/datums/components/scope.dm +++ b/code/datums/components/scope.dm @@ -75,7 +75,7 @@ if(!is_zoomed_in()) return if(source.loc != tracker.owner) //Dropped. - to_chat(tracker.owner, "[parent]'s scope is overloaded by movement and shuts down!") + to_chat(tracker.owner, SPAN_WARNING("[parent]'s scope is overloaded by movement and shuts down!")) stop_zooming(tracker.owner) /datum/component/scope/proc/on_action_trigger(datum/action/source) @@ -113,7 +113,7 @@ var/scope = istype(parent, /obj/item/gun) ? "scope in" : "zoom out" switch(zoom_method) if(ZOOM_METHOD_WIELD) - examine_list += "You can [scope] by wielding it with both hands." + examine_list += SPAN_NOTICE("You can [scope] by wielding it with both hands.") /** * We find and return the best target to hit on a given turf. @@ -154,13 +154,13 @@ if(isnull(user.client)) return if(HAS_TRAIT(user, TRAIT_SCOPED)) - to_chat(user, "You are already zoomed in!") + to_chat(user, SPAN_WARNING("You are already zoomed in!")) return if((flags & SCOPE_TURF_ONLY) && !isturf(user.loc)) - to_chat(user, "There is not enough space to zoom in!") + to_chat(user, SPAN_WARNING("There is not enough space to zoom in!")) return if((flags & SCOPE_NEED_ACTIVE_HAND) && user.get_active_hand() != parent) - to_chat(user, "You need to hold [parent] in your active hand to zoom in!") + to_chat(user, SPAN_WARNING("You need to hold [parent] in your active hand to zoom in!")) return if(time_to_scope) if(!do_after_once(user, time_to_scope, target = parent)) diff --git a/code/datums/components/shelved.dm b/code/datums/components/shelved.dm index 0e7a1322d19..9cf003c2b18 100644 --- a/code/datums/components/shelved.dm +++ b/code/datums/components/shelved.dm @@ -43,7 +43,7 @@ return var/joined_results = english_list(results) - examine_list += "It currently holds: [joined_results]." + examine_list += SPAN_NOTICE("It currently holds: [joined_results].") /datum/component/shelver/proc/prepare_autoshelf() SIGNAL_HANDLER // COMSIG_SHELF_ADDED_ON_MAPLOAD @@ -131,7 +131,7 @@ return if(length(allowed_types) && !(attacker.type in allowed_types)) - to_chat(user, "[attacker] won't fit on [parent]!") + to_chat(user, SPAN_NOTICE("[attacker] won't fit on [parent]!")) return COMPONENT_SKIP_AFTERATTACK var/list/PL = params2list(params) @@ -143,15 +143,15 @@ i++ if(icon_x >= coords[1] && icon_x <= coords[3] && icon_y >= coords[2] && icon_y <= coords[4]) if(used_places[i]) - to_chat(user, "There's already something there on [parent].") + to_chat(user, SPAN_NOTICE("There's already something there on [parent].")) return COMPONENT_SKIP_AFTERATTACK var/position_details = placement_zones[coords] if(user.drop_item()) add_item(attacker, i, position_details) user.visible_message( - "[user] places [attacker] on [parent].", - "You place [attacker] on [parent].", + SPAN_NOTICE("[user] places [attacker] on [parent]."), + SPAN_NOTICE("You place [attacker] on [parent]."), ) return COMPONENT_SKIP_AFTERATTACK @@ -301,7 +301,7 @@ CRASH("received non-obj shelf with UID [shelf_uid]") var/shelf_name = shelf ? "flies off [shelf]" : "falls down" - O.visible_message("[O] [shelf_name]!") + O.visible_message(SPAN_NOTICE("[O] [shelf_name]!")) O.throw_at(pick(clear_turfs), 2, 3) qdel(src) diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm index 010e675e98a..1d25b4177bf 100644 --- a/code/datums/components/shielded.dm +++ b/code/datums/components/shielded.dm @@ -180,7 +180,7 @@ /// Default on_hit proc, since cult robes are stupid and have different descriptions/sparks /datum/component/shielded/proc/default_run_hit_callback(mob/living/owner, attack_text, current_charges) do_sparks(2, TRUE, owner) - owner.visible_message("[owner]'s shields deflect [attack_text] in a shower of sparks!") + owner.visible_message(SPAN_DANGER("[owner]'s shields deflect [attack_text] in a shower of sparks!")) if(current_charges <= 0) - owner.visible_message("[owner]'s shield overloads!") + owner.visible_message(SPAN_WARNING("[owner]'s shield overloads!")) diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm index 81731db2a29..dac70c8f61f 100644 --- a/code/datums/components/spawner.dm +++ b/code/datums/components/spawner.dm @@ -54,7 +54,7 @@ L.nest = src L.faction = src.faction ADD_TRAIT(L, TRAIT_FROM_TENDRIL, INNATE_TRAIT) - P.visible_message("[L] [spawn_text] [P].") + P.visible_message(SPAN_DANGER("[L] [spawn_text] [P].")) P.on_mob_spawn(L) return L diff --git a/code/datums/components/special_tastes.dm b/code/datums/components/special_tastes.dm index 5b5a9165dea..c732c3fab6d 100644 --- a/code/datums/components/special_tastes.dm +++ b/code/datums/components/special_tastes.dm @@ -2,7 +2,7 @@ /datum/component/special_tastes /// associated list of item to reagents and tastes /// Typepath = (list(reagents = list(reagents), tastes = list(tastes)); Ex: list(/obj/item/stack/sheet/mineral/silver = list("reagents" = list("nutriment" = 5, "vitamin" = 1), "tastes" = list("metal and blood" = 1))) - var/list/obj/item/edible_items = list() + var/list/obj/item/edible_items = list() /datum/component/special_tastes/Initialize(list/edible_items) if(!length(edible_items)) @@ -37,7 +37,7 @@ if(istype(attacking_item, /obj/item/stack)) var/obj/item/stack/stacked_item = attacking_item if(stacked_item.amount > 1) - to_chat(user, "You can only eat one of [stacked_item] at a time.") + to_chat(user, SPAN_NOTICE("You can only eat one of [stacked_item] at a time.")) return var/obj/item/food/food = turn_into_food(attacking_item, similar_to) user.drop_item_to_ground(attacking_item, TRUE, TRUE) @@ -50,7 +50,7 @@ food.On_Consume(user, user) qdel(attacking_item) return // couldnt eat it, undo - to_chat(user, "You are too full to eat [attacking_item].") + to_chat(user, SPAN_NOTICE("You are too full to eat [attacking_item].")) user.drop_item_to_ground(food, TRUE, TRUE) user.put_in_active_hand(attacking_item) qdel(food) diff --git a/code/datums/components/spooky.dm b/code/datums/components/spooky.dm index 3ec7ab5bbe6..a7efa34a163 100644 --- a/code/datums/components/spooky.dm +++ b/code/datums/components/spooky.dm @@ -35,7 +35,7 @@ if((H.getStaminaLoss() > 95) && (!istype(H.dna.species, /datum/species/diona) && !istype(H.dna.species, /datum/species/machine) && !istype(H.dna.species, /datum/species/slime) && !istype(H.dna.species, /datum/species/golem) && !istype(H.dna.species, /datum/species/plasmaman) && !istype(H.dna.species, /datum/species/skeleton))) H.Stun(40 SECONDS) H.set_species(/datum/species/skeleton) // Makes the OP skelly - H.visible_message("[H] has given up on life as a mortal.") + H.visible_message(SPAN_WARNING("[H] has given up on life as a mortal.")) var/T = get_turf(H) if(too_spooky) if(prob(30)) @@ -45,9 +45,9 @@ else if(prob(30)) new/obj/item/instrument/trombone/spectral(T) else - to_chat(H, "The spooky gods forgot to ship your instrument. Better luck next unlife.") - to_chat(H, "You are the spooky skeleton!") - to_chat(H, "A new life and identity has begun. Help your fellow skeletons into bringing out the spooky-pocalypse. You haven't forgotten your past life, and are still beholden to past loyalties.") + to_chat(H, SPAN_BOLDWARNING("The spooky gods forgot to ship your instrument. Better luck next unlife.")) + to_chat(H, SPAN_BOLDNOTICE("You are the spooky skeleton!")) + to_chat(H, SPAN_BOLDNOTICE("A new life and identity has begun. Help your fellow skeletons into bringing out the spooky-pocalypse. You haven't forgotten your past life, and are still beholden to past loyalties.")) change_name(H) //time for a new name! /datum/component/spooky/proc/change_name(mob/living/carbon/human/H) diff --git a/code/datums/components/sticky.dm b/code/datums/components/sticky.dm index dcfeed36aa3..03f6cc936e6 100644 --- a/code/datums/components/sticky.dm +++ b/code/datums/components/sticky.dm @@ -18,7 +18,7 @@ if(attached_to) if(!QDELETED(parent) && isitem(parent)) var/obj/item/I = parent - I.visible_message("[parent] falls off of [attached_to].") + I.visible_message(SPAN_NOTICE("[parent] falls off of [attached_to].")) pick_up(parent) move_to_the_thing(parent, get_turf(parent)) @@ -55,7 +55,7 @@ attached_to = target move_to_the_thing(parent) if(user) - to_chat(user, "You attach [parent] to [attached_to].") + to_chat(user, SPAN_NOTICE("You attach [parent] to [attached_to].")) overlay = icon(I.icon, I.icon_state) //Clamp it so that the icon never moves more than 16 pixels in either direction @@ -103,7 +103,7 @@ move_to_the_thing(parent) if(user) INVOKE_ASYNC(user, TYPE_PROC_REF(/mob, put_in_hands), I) - to_chat(user, "You take [parent] off of [attached_to].") + to_chat(user, SPAN_NOTICE("You take [parent] off of [attached_to].")) I.invisibility = initial(I.invisibility) @@ -116,7 +116,7 @@ SIGNAL_HANDLER if(!in_range(user, attached_to)) return - examine_list += "There is [parent] attached to [source], grab [attached_to.p_them()] to remove it." + examine_list += SPAN_NOTICE("There is [parent] attached to [source], grab [attached_to.p_them()] to remove it.") /datum/component/sticky/proc/on_move(datum/source, oldloc, move_dir) SIGNAL_HANDLER diff --git a/code/datums/components/surgery_initiator.dm b/code/datums/components/surgery_initiator.dm index 6232562ed83..31deb61f6a2 100644 --- a/code/datums/components/surgery_initiator.dm +++ b/code/datums/components/surgery_initiator.dm @@ -59,7 +59,7 @@ /datum/component/surgery_initiator/proc/on_parent_examine_more(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER // COMSIG_PARENT_EXAMINE_MORE - examine_list += "You can use this on someone who is laying down to begin surgery on them." + examine_list += SPAN_NOTICE("You can use this on someone who is laying down to begin surgery on them.") /// Keep tabs on the attached item's sharpness. /// This component gets added in atoms when they're made sharp as well. @@ -93,7 +93,7 @@ return if(L.has_status_effect(STATUS_EFFECT_SUMMONEDGHOST)) - to_chat(user, "You realise that a ghost probably doesn't have any useful organs.") + to_chat(user, SPAN_NOTICE("You realise that a ghost probably doesn't have any useful organs.")) return //no cult ghost surgery please INVOKE_ASYNC(src, PROC_REF(do_initiate_surgery_moment), target, user) // This signal is actually part of the attack chain, so it needs to return true to stop it @@ -128,9 +128,9 @@ if(!length(available_surgeries)) if(IS_HORIZONTAL(target) || isanimal(target)) - to_chat(user, "There aren't any surgeries you can perform there right now.") + to_chat(user, SPAN_NOTICE("There aren't any surgeries you can perform there right now.")) else - to_chat(user, "You can't perform any surgeries there while [target] is standing.") + to_chat(user, SPAN_NOTICE("You can't perform any surgeries there while [target] is standing.")) return // if we have a surgery that should be performed regardless with this item, @@ -170,8 +170,8 @@ /datum/component/surgery_initiator/proc/cancel_unstarted_surgery_fluff(datum/surgery/the_surgery, mob/living/patient, mob/user, selected_zone) user.visible_message( - "[user] stops the surgery on [patient]'s [parse_zone(selected_zone)] with [parent].", - "You stop the surgery on [patient]'s [parse_zone(selected_zone)] with [parent].", + SPAN_NOTICE("[user] stops the surgery on [patient]'s [parse_zone(selected_zone)] with [parent]."), + SPAN_NOTICE("You stop the surgery on [patient]'s [parse_zone(selected_zone)] with [parent]."), ) /// Does the surgery de-initiation. @@ -226,7 +226,7 @@ else close_tool = locate(/obj/item/crowbar) in user.get_all_slots() if(!close_tool) - to_chat(user, "You need a prying tool in an inactive slot to stop the surgery!") + to_chat(user, SPAN_WARNING("You need a prying tool in an inactive slot to stop the surgery!")) return TRUE else if(other_hand) @@ -236,7 +236,7 @@ break if(!close_tool) - to_chat(user, "You need a [is_robotic ? "prying": "cauterizing"] tool in your inactive hand to stop the surgery!") + to_chat(user, SPAN_WARNING("You need a [is_robotic ? "prying": "cauterizing"] tool in your inactive hand to stop the surgery!")) return TRUE if(skip_surgery || chosen_close_step.try_op(user, patient, selected_zone, close_tool, the_surgery) == SURGERY_INITIATE_SUCCESS) @@ -255,13 +255,13 @@ // The item was moved somewhere else if(!(parent in user)) - to_chat(user, "You cannot start an operation if you aren't holding the tool anymore.") + to_chat(user, SPAN_WARNING("You cannot start an operation if you aren't holding the tool anymore.")) return FALSE // While we were choosing, another surgery was started at the same location for(var/datum/surgery/surgery in target.surgeries) if(surgery.location == user.zone_selected) - to_chat(user, "There's already another surgery in progress on their [parse_zone(surgery.location)].") + to_chat(user, SPAN_WARNING("There's already another surgery in progress on their [parse_zone(surgery.location)].")) return FALSE return TRUE @@ -280,32 +280,32 @@ if(surgery.requires_bodypart == isnull(affecting_limb)) if(surgery.requires_bodypart) - to_chat(user, "The patient has no [parse_zone(selected_zone)]!") + to_chat(user, SPAN_WARNING("The patient has no [parse_zone(selected_zone)]!")) else - to_chat(user, "The patient has \a [parse_zone(selected_zone)]!") + to_chat(user, SPAN_WARNING("The patient has \a [parse_zone(selected_zone)]!")) return if(iscarbon(target)) if(!isnull(affecting_limb)) if((surgery.requires_organic_bodypart && affecting_limb.is_robotic()) || (!surgery.requires_organic_bodypart && !affecting_limb.is_robotic())) - to_chat(user, "That's not the right type of limb for this operation!") + to_chat(user, SPAN_WARNING("That's not the right type of limb for this operation!")) return if(surgery_needs_exposure(surgery, target)) - to_chat(user, "You have to expose [target.p_their()] [parse_zone(selected_zone)] first!") + to_chat(user, SPAN_WARNING("You have to expose [target.p_their()] [parse_zone(selected_zone)] first!")) return if(surgery.lying_required && !on_operable_surface(target)) - to_chat(user, "Patient must be lying down for this operation.") + to_chat(user, SPAN_NOTICE("Patient must be lying down for this operation.")) return if(target == user && !surgery.self_operable) - to_chat(user, "You can't perform that operation on yourself!") + to_chat(user, SPAN_NOTICE("You can't perform that operation on yourself!")) return if(!surgery.can_start(user, target)) - to_chat(user, "Can't start the surgery!") + to_chat(user, SPAN_WARNING("Can't start the surgery!")) return var/datum/surgery/procedure = new surgery.type(target, selected_zone, affecting_limb) @@ -314,7 +314,7 @@ if(istype(procedure, /datum/surgery/dissect)) if(isnull(target.surgery_container)) log_debug("A dissection was started on [target] with contains_xeno_organ as TRUE, however its surgery_container was null!") - CRASH("[target] does not have a dissection surgery information set to it. Please inform an admin or developer.") + CRASH(SPAN_USERDANGER("[target] does not have a dissection surgery information set to it. Please inform an admin or developer.")) if(ispath(target.surgery_container, /datum/xenobiology_surgery_container)) target.surgery_container = new target.surgery_container procedure.steps = target.surgery_container.dissection_tool_step @@ -335,8 +335,8 @@ /// Handle to allow for easily overriding the message shown /datum/component/surgery_initiator/proc/show_starting_message(mob/user, mob/living/target, datum/surgery/procedure) user.visible_message( - "[user] holds [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for surgery.", - "You hold [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for \an [procedure.name].", + SPAN_NOTICE("[user] holds [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for surgery."), + SPAN_NOTICE("You hold [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for \an [procedure.name]."), ) /datum/component/surgery_initiator/proc/on_prevent_germs() @@ -367,14 +367,14 @@ /datum/component/surgery_initiator/cloth/show_starting_message(mob/user, mob/living/target, datum/surgery/procedure) user.visible_message( - "[user] drapes [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for surgery.", - "You drape [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for \an [procedure.name].", + SPAN_NOTICE("[user] drapes [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for surgery."), + SPAN_NOTICE("You drape [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for \an [procedure.name]."), ) /datum/component/surgery_initiator/cloth/on_surgery_selection(mob/user, mob/living/target, datum/surgery/target_surgery) user.visible_message( - "[user] starts to apply [parent] onto [target].", - "You start to apply [parent] onto [target].", + SPAN_NOTICE("[user] starts to apply [parent] onto [target]."), + SPAN_NOTICE("You start to apply [parent] onto [target]."), ) if(!isnull(surgery_start_sound)) @@ -383,8 +383,8 @@ playsound(src, surgery_start_sound) if(!do_after_once(user, 3 SECONDS, TRUE, target)) user.visible_message( - "[user] stops applying [parent] onto [target].", - "You stop applying [parent] onto [target]." + SPAN_WARNING("[user] stops applying [parent] onto [target]."), + SPAN_WARNING("You stop applying [parent] onto [target].") ) return @@ -395,7 +395,7 @@ /datum/component/surgery_initiator/cloth/on_blood_splash(datum/surgery, mob/user, mob/target, zone, obj/item/tool) if(prob(90 * germ_prevention_quality)) - target.visible_message("Blood splashes onto the dressing.") + target.visible_message(SPAN_NOTICE("Blood splashes onto the dressing.")) var/obj/item/I = parent // safety: this component can only go onto an item I.add_mob_blood(target) return COMPONENT_BLOOD_SPLASH_HANDLED diff --git a/code/datums/components/tameable.dm b/code/datums/components/tameable.dm index b32f5dd74c3..2e4215bdb96 100644 --- a/code/datums/components/tameable.dm +++ b/code/datums/components/tameable.dm @@ -62,7 +62,7 @@ if(QDELETED(animal) || chosen_name == animal.name) return if(!chosen_name) - to_chat(tamer, "Please enter a valid name.") + to_chat(tamer, SPAN_WARNING("Please enter a valid name.")) rename_pet(animal, tamer) return animal.rename_character(animal.name, chosen_name) diff --git a/code/datums/components/tether.dm b/code/datums/components/tether.dm index e5fde3c0ba9..b7bc343ed16 100644 --- a/code/datums/components/tether.dm +++ b/code/datums/components/tether.dm @@ -74,7 +74,7 @@ return var/atom/atom = parent atom?.setDir(get_dir(parent, newloc)) - to_chat(atom, "You can't move in that direction with the [tethered_to] tethered to you!") + to_chat(atom, SPAN_WARNING("You can't move in that direction with the [tethered_to] tethered to you!")) return COMPONENT_MOVABLE_BLOCK_PRE_MOVE /datum/component/tether/proc/pre_tethered_movement(atom/movable/source, newloc) @@ -86,13 +86,13 @@ durability_cost() var/atom/atom = parent atom?.setDir(get_dir(parent, newloc)) - to_chat(atom, "You can't move in that direction with the [tethered_to] tethered to you!") + to_chat(atom, SPAN_WARNING("You can't move in that direction with the [tethered_to] tethered to you!")) return COMPONENT_MOVABLE_BLOCK_PRE_MOVE /datum/component/tether/proc/can_equip(atom/source, mob/user) // Check to make sure we dont go into an inventory outside of our range if(get_dist(get_turf(parent), get_turf(user)) > max_range) - to_chat(user, "You try to pick up [tethered_to], you can't pull it's [tether_name] any farther!") + to_chat(user, SPAN_WARNING("You try to pick up [tethered_to], you can't pull it's [tether_name] any farther!")) return COMPONENT_CANCEL_ATTACK_CHAIN /datum/component/tether/proc/parent_check_bounds(atom/movable/source, atom/mover, atom/old_loc, direction) @@ -167,7 +167,7 @@ return durability -= cost if(durability <= 0 && !QDELETED(tethered_to)) - tethered_to.visible_message("[tethered_to]'s [tether_name] wears out and snaps back!") + tethered_to.visible_message(SPAN_WARNING("[tethered_to]'s [tether_name] wears out and snaps back!")) terminate() return TRUE // it breaks, let the parent move outside of the range again return FALSE diff --git a/code/datums/components/tilted.dm b/code/datums/components/tilted.dm index 7027fdbc5e8..5bd7e6e5b4c 100644 --- a/code/datums/components/tilted.dm +++ b/code/datums/components/tilted.dm @@ -49,7 +49,7 @@ /datum/component/tilted/proc/on_examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER // COMSIG_PARENT_EXAMINE - examine_list += "It's been tilted over. Alt+Click it to right it." + examine_list += SPAN_NOTICE("It's been tilted over. Alt+Click it to right it.") /datum/component/tilted/proc/on_alt_click(atom/source, mob/user) SIGNAL_HANDLER // COMSIG_CLICK_ALT @@ -59,7 +59,7 @@ /datum/component/tilted/proc/on_interact(atom/source, mob/user) SIGNAL_HANDLER // COMSIG_ATOM_ATTACK_HAND if(block_interactions) - to_chat(user, "You can't do that right now, you need to right it first!") + to_chat(user, SPAN_WARNING("You can't do that right now, you need to right it first!")) return COMPONENT_CANCEL_ATTACK_CHAIN /datum/component/tilted/proc/on_untilt(atom/source, mob/user) @@ -88,9 +88,9 @@ if(!do_after(user, duration, TRUE, parent) || QDELETED(src)) return user.visible_message( - "[user] rights [atom_parent].", - "You right [atom_parent].", - "You hear a loud clang." + SPAN_NOTICE("[user] rights [atom_parent]."), + SPAN_NOTICE("You right [atom_parent]."), + SPAN_NOTICE("You hear a loud clang.") ) if(QDELETED(atom_parent)) diff --git a/code/datums/components/tippable.dm b/code/datums/components/tippable.dm index 4e8d3634905..c6acdeacdb3 100644 --- a/code/datums/components/tippable.dm +++ b/code/datums/components/tippable.dm @@ -84,16 +84,16 @@ return if(tip_time > 0) - to_chat(tipper, "You begin tipping over [tipped_mob]...") + to_chat(tipper, SPAN_WARNING("You begin tipping over [tipped_mob]...")) tipped_mob.visible_message( - "[tipper] begins tipping over [tipped_mob].", - "[tipper] begins tipping you over!" + SPAN_WARNING("[tipper] begins tipping over [tipped_mob]."), + SPAN_USERDANGER("[tipper] begins tipping you over!") ) if(!do_after(tipper, tip_time, target = tipped_mob)) if(!isnull(tipped_mob.client)) add_attack_logs(tipper, tipped_mob, "attempted to tip over") - to_chat(tipper, "You fail to tip over [tipped_mob].") + to_chat(tipper, SPAN_DANGER("You fail to tip over [tipped_mob].")) return do_tip(tipped_mob, tipper) @@ -111,12 +111,12 @@ if(is_tipped) // sanity check in case multiple people try to tip at the same time return - to_chat(tipper, "You tip over [tipped_mob].") + to_chat(tipper, SPAN_WARNING("You tip over [tipped_mob].")) if(!isnull(tipped_mob.client)) add_attack_logs(tipper, tipped_mob, "tipped over") tipped_mob.visible_message( - "[tipper] tips over [tipped_mob].", - "You are tipped over by [tipper]!" + SPAN_WARNING("[tipper] tips over [tipped_mob]."), + SPAN_DANGER("You are tipped over by [tipper]!") ) set_tipped_status(tipped_mob, TRUE) @@ -137,14 +137,14 @@ */ /datum/component/tippable/proc/try_untip(mob/living/tipped_mob, mob/untipper) if(untip_time > 0) - to_chat(untipper, "You begin righting [tipped_mob]...") + to_chat(untipper, SPAN_NOTICE("You begin righting [tipped_mob]...")) tipped_mob.visible_message( - "[untipper] begins righting [tipped_mob].", - "[untipper] begins righting you.", + SPAN_NOTICE("[untipper] begins righting [tipped_mob]."), + SPAN_NOTICE("[untipper] begins righting you."), ) if(!do_after(untipper, untip_time, target = tipped_mob)) - to_chat(untipper, "You fail to right [tipped_mob].") + to_chat(untipper, SPAN_WARNING("You fail to right [tipped_mob].")) return do_untip(tipped_mob, untipper) @@ -162,10 +162,10 @@ if(!is_tipped) // sanity check in case multiple people try to untip at the same time return - to_chat(untipper, "You right [tipped_mob].") + to_chat(untipper, SPAN_NOTICE("You right [tipped_mob].")) tipped_mob.visible_message( - "[untipper] rights [tipped_mob].", - "You are righted by [untipper]!" + SPAN_NOTICE("[untipper] rights [tipped_mob]."), + SPAN_NOTICE("You are righted by [untipper]!") ) if(self_untip_timer) @@ -187,8 +187,8 @@ post_untipped_callback?.Invoke() tipped_mob.visible_message( - "[tipped_mob] rights [tipped_mob.p_themselves()].", - "You right yourself." + SPAN_NOTICE("[tipped_mob] rights [tipped_mob.p_themselves()]."), + SPAN_NOTICE("You right yourself.") ) /** diff --git a/code/datums/components/two_handed.dm b/code/datums/components/two_handed.dm index d89713bf8d5..db466e36b28 100644 --- a/code/datums/components/two_handed.dm +++ b/code/datums/components/two_handed.dm @@ -163,7 +163,7 @@ /datum/component/two_handed/proc/on_attack_hand(datum/source, mob/user) SIGNAL_HANDLER // COMSIG_ATOM_ATTACK_HAND if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_HAND, user) & COMPONENT_CANCEL_ATTACK_CHAIN) if(require_twohands && user.get_inactive_hand()) - to_chat(user, "[parent] is too cumbersome to carry in one hand!") + to_chat(user, SPAN_NOTICE("[parent] is too cumbersome to carry in one hand!")) return COMPONENT_CANCEL_ATTACK_CHAIN /** @@ -177,22 +177,22 @@ return if(ismonkeybasic(user)) if(require_twohands) - to_chat(user, "[parent] is too heavy and cumbersome for you to carry!") + to_chat(user, SPAN_NOTICE("[parent] is too heavy and cumbersome for you to carry!")) user.drop_item_to_ground(parent, force = TRUE) else - to_chat(user, "[parent] too heavy for you to wield fully.") + to_chat(user, SPAN_NOTICE("[parent] too heavy for you to wield fully.")) return if(user.get_inactive_hand()) if(require_twohands) - to_chat(user, "[parent] is too cumbersome to carry in one hand!") + to_chat(user, SPAN_NOTICE("[parent] is too cumbersome to carry in one hand!")) user.drop_item_to_ground(parent, force = TRUE) else - to_chat(user, "You need your other hand to be empty!") + to_chat(user, SPAN_WARNING("You need your other hand to be empty!")) return if(!user.has_both_hands()) if(require_twohands) user.drop_item_to_ground(parent, force = TRUE) - to_chat(user, "You don't have enough intact hands.") + to_chat(user, SPAN_WARNING("You don't have enough intact hands.")) return // wield update status @@ -218,9 +218,9 @@ parent_item.update_appearance() if(isrobot(user)) - to_chat(user, "You dedicate your module to [parent].") + to_chat(user, SPAN_NOTICE("You dedicate your module to [parent].")) else - to_chat(user, "You grab [parent] with both hands.") + to_chat(user, SPAN_NOTICE("You grab [parent] with both hands.")) // Play sound if one is set if(wieldsound) @@ -293,11 +293,11 @@ // Show message if requested if(show_message) if(isrobot(user)) - to_chat(user, "You free up your module.") + to_chat(user, SPAN_NOTICE("You free up your module.")) else if(require_twohands) - to_chat(user, "You drop [parent].") + to_chat(user, SPAN_NOTICE("You drop [parent].")) else - to_chat(user, "You are now carrying [parent] with one hand.") + to_chat(user, SPAN_NOTICE("You are now carrying [parent] with one hand.")) // Play sound if set if(unwieldsound) @@ -395,12 +395,12 @@ if(require_twohands) INVOKE_ASYNC(src, PROC_REF(try_drop_item), user) else - user.visible_message("[user] unwields [parent] as the handcuffs make it too hard to hold properly.") + user.visible_message(SPAN_NOTICE("[user] unwields [parent] as the handcuffs make it too hard to hold properly.")) INVOKE_ASYNC(src, PROC_REF(unwield), user) /datum/component/two_handed/proc/try_drop_item(mob/user) if(user.drop_item_to_ground(parent)) - user.visible_message("[user] loses [user.p_their()] grip on [parent]!") + user.visible_message(SPAN_NOTICE("[user] loses [user.p_their()] grip on [parent]!")) /** * The offhand dummy item for two handed items diff --git a/code/datums/components/zombie_regen.dm b/code/datums/components/zombie_regen.dm index 602b729986a..db052ace841 100644 --- a/code/datums/components/zombie_regen.dm +++ b/code/datums/components/zombie_regen.dm @@ -42,7 +42,7 @@ zomboid.reagents.remove_reagent("zombiecure4", the_cure.metabolization_rate * zomboid.metabolism_efficiency) return zombie_rejuv() - to_chat(zomboid, "We... Awaken...") + to_chat(zomboid, SPAN_ZOMBIELARGE("We... Awaken...")) zomboid.notify_ghost_cloning("Your zombie body has risen again, re-enter your corpse to continue the feast!", source = zomboid) // If no client, but they were a player thats not SSD (debrained, revived but hasn't returned to body, etc) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 1a4dea3226a..a7a8884fd57 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -493,31 +493,31 @@ USER_CONTEXT_MENU(debug_variables, R_ADMIN|R_VIEWRUNTIMES, "\[Admin\] View Varia . = "DISPLAY_ERROR: ([value] \ref[value]s)" if(isnull(value)) - return "null" + return SPAN_VALUE("null") else if(is_color_text(value)) - return "  \"[value]\"" + return SPAN_VALUE("  \"[value]\"") else if(istext(value)) - return "\"[VV_HTML_ENCODE(value)]\"" + return SPAN_VALUE("\"[VV_HTML_ENCODE(value)]\"") else if(isicon(value)) #ifdef VARSICON - return "/icon ([value]) [bicon(value, use_class=0)]" + return "/icon ([SPAN_VALUE("[value]")]) [bicon(value, use_class=0)]" #else - return "/icon ([value])" + return "/icon ([SPAN_VALUE("[value]")])" #endif else if(istype(value, /image)) var/image/I = value #ifdef VARSICON - return "[name] \ref[value] /image ([value]) [bicon(value, use_class=0)]" + return "[name] \ref[value] /image ([SPAN_VALUE("[value]")]) [bicon(value, use_class=0)]" #else - return "[name] \ref[value] /image ([value])" + return "[name] \ref[value] /image ([SPAN_VALUE("[value]")])" #endif else if(isfile(value)) - return "'[value]'" + return SPAN_VALUE("'[value]'") else if(istype(value, /datum)) var/datum/D = value @@ -545,9 +545,9 @@ USER_CONTEXT_MENU(debug_variables, R_ADMIN|R_VIEWRUNTIMES, "\[Admin\] View Varia return "/list ([length(L)])" else if(name in GLOB.bitfields) - return "[VV_HTML_ENCODE(translate_bitfield(VV_BITFIELD, name, value))]" + return SPAN_VALUE("[VV_HTML_ENCODE(translate_bitfield(VV_BITFIELD, name, value))]") else - return "[VV_HTML_ENCODE(value)]" + return SPAN_VALUE("[VV_HTML_ENCODE(value)]") /datum/proc/debug_variable_value(sanitize) return "[VV_HTML_ENCODE(src)] \ref[src] ([type])" @@ -731,13 +731,13 @@ USER_VERB(debug_global_variables, R_ADMIN|R_VIEWRUNTIMES, "Debug Global Variable if("vars") return FALSE if(!(var_search in GLOB.vars)) - to_chat(client, "GLOB.[var_search] does not exist.") + to_chat(client, SPAN_DEBUG("GLOB.[var_search] does not exist.")) return log_and_message_admins("is debugging the Global Variables controller with the search term \"[var_search]\"") var/result = GLOB.vars[var_search] if(islist(result) || isclient(result) || istype(result, /datum)) - to_chat(client, "Now showing GLOB.[var_search].") + to_chat(client, SPAN_DEBUG("Now showing GLOB.[var_search].")) return client.debug_variables(result) - to_chat(client, "GLOB.[var_search] returned [result].") + to_chat(client, SPAN_DEBUG("GLOB.[var_search] returned [result].")) #undef VV_HTML_ENCODE diff --git a/code/datums/diseases/_MobProcs.dm b/code/datums/diseases/_MobProcs.dm index 484f973bb21..db60e99d75f 100644 --- a/code/datums/diseases/_MobProcs.dm +++ b/code/datums/diseases/_MobProcs.dm @@ -168,7 +168,7 @@ MARK: Helpers return FALSE if(notify_ghosts) for(var/mob/ghost as anything in GLOB.dead_mob_list) //Announce outbreak to dchat - to_chat(ghost, "Disease outbreak: [src] ([ghost_follow_link(src, ghost)]) [D.carrier ? "is now a carrier of" : "has contracted"] [D]!") + to_chat(ghost, SPAN_DEADSAY("Disease outbreak: [src] ([ghost_follow_link(src, ghost)]) [D.carrier ? "is now a carrier of" : "has contracted"] [D]!")) message_admins("[key_name(src)] [D.carrier ? "is now a carrier of" : "has contracted"] [D]!") log_admin("[key_name(src)] [D.carrier ? "is now a carrier of" : "has contracted"] [D]!") AddDisease(D, respect_carrier) diff --git a/code/datums/diseases/advance/symptoms/beard.dm b/code/datums/diseases/advance/symptoms/beard.dm index 048dcff0fec..ad3e1a3091f 100644 --- a/code/datums/diseases/advance/symptoms/beard.dm +++ b/code/datums/diseases/advance/symptoms/beard.dm @@ -31,17 +31,17 @@ BONUS return switch(A.stage) if(1, 2) - to_chat(H, "Your chin itches.") + to_chat(H, SPAN_WARNING("Your chin itches.")) if(head_organ.f_style == "Shaved") head_organ.f_style = "Jensen Beard" H.update_fhair() if(3, 4) - to_chat(H, "You feel tough.") + to_chat(H, SPAN_WARNING("You feel tough.")) if(!(head_organ.f_style == "Dwarf Beard") && !(head_organ.f_style == "Very Long Beard") && !(head_organ.f_style == "Full Beard")) head_organ.f_style = "Full Beard" H.update_fhair() else - to_chat(H, "You feel manly!") + to_chat(H, SPAN_WARNING("You feel manly!")) if(!(head_organ.f_style == "Dwarf Beard") && !(head_organ.f_style == "Very Long Beard")) head_organ.f_style = pick("Dwarf Beard", "Very Long Beard") H.update_fhair() diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm index e5e6b84ab02..1ee53f59a27 100644 --- a/code/datums/diseases/advance/symptoms/choking.dm +++ b/code/datums/diseases/advance/symptoms/choking.dm @@ -30,13 +30,13 @@ Bonus var/mob/living/M = A.affected_mob switch(A.stage) if(1, 2) - to_chat(M, "[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]") + to_chat(M, SPAN_WARNING("[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]")) if(3, 4) - to_chat(M, "[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]") + to_chat(M, SPAN_WARNING("[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]")) Choke(M, A, unmitigated) M.emote("gasp") else - to_chat(M, "[pick("You're choking!", "You can't breathe!")]") + to_chat(M, SPAN_USERDANGER("[pick("You're choking!", "You can't breathe!")]")) Choke(M, A) M.emote("gasp") return diff --git a/code/datums/diseases/advance/symptoms/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm index f016b937487..da99f35d723 100644 --- a/code/datums/diseases/advance/symptoms/confusion.dm +++ b/code/datums/diseases/advance/symptoms/confusion.dm @@ -34,10 +34,10 @@ Bonus /datum/symptom/confusion/symptom_act(datum/disease/advance/A, unmitigated) var/mob/living/carbon/M = A.affected_mob if(prob(A.progress ** 2)) - to_chat(M, "You can't think straight!") + to_chat(M, SPAN_USERDANGER("You can't think straight!")) M.AdjustConfused(16 SECONDS * unmitigated, bound_lower = 0, bound_upper = 200 SECONDS) else - to_chat(M, "[pick("Your head hurts.", "Your mind blanks for a moment.")]") + to_chat(M, SPAN_WARNING("[pick("Your head hurts.", "Your mind blanks for a moment.")]")) return diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm index 9c06171cf52..6875a17b77c 100644 --- a/code/datums/diseases/advance/symptoms/deafness.dm +++ b/code/datums/diseases/advance/symptoms/deafness.dm @@ -32,7 +32,7 @@ Bonus return //cutting off your ears to cure the deafness: the ultimate own switch(A.stage) if(3, 4) - to_chat(M, "[pick("You hear a ringing in your ear.", "Your ears pop.")]") + to_chat(M, SPAN_WARNING("[pick("You hear a ringing in your ear.", "Your ears pop.")]")) if(5) - to_chat(M, "Your ears pop and begin ringing loudly!") + to_chat(M, SPAN_USERDANGER("Your ears pop and begin ringing loudly!")) M.Deaf(40 SECONDS * unmitigated) diff --git a/code/datums/diseases/advance/symptoms/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm index 9151f169ed1..fa32c84cf2e 100644 --- a/code/datums/diseases/advance/symptoms/dizzy.dm +++ b/code/datums/diseases/advance/symptoms/dizzy.dm @@ -32,8 +32,8 @@ Bonus var/mob/living/M = A.affected_mob switch(A.stage) if(1, 2, 3, 4) - to_chat(M, "[pick("You feel dizzy.", "Your head spins.")]") + to_chat(M, SPAN_WARNING("[pick("You feel dizzy.", "Your head spins.")]")) else - to_chat(M, "A wave of dizziness washes over you!") + to_chat(M, SPAN_USERDANGER("A wave of dizziness washes over you!")) M.Dizzy(10 SECONDS * unmitigated) return diff --git a/code/datums/diseases/advance/symptoms/fever.dm b/code/datums/diseases/advance/symptoms/fever.dm index 770fe993061..3fd9303cc9e 100644 --- a/code/datums/diseases/advance/symptoms/fever.dm +++ b/code/datums/diseases/advance/symptoms/fever.dm @@ -27,7 +27,7 @@ Bonus /datum/symptom/fever/symptom_act(datum/disease/advance/A, unmitigated) var/mob/living/carbon/M = A.affected_mob - to_chat(M, "[pick("You feel hot.", "You feel like you're burning.")]") + to_chat(M, SPAN_WARNING("[pick("You feel hot.", "You feel like you're burning.")]")) if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT) Heat(M, A, unmitigated) return diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm index 7181971fa82..d9fa2d0a67a 100644 --- a/code/datums/diseases/advance/symptoms/fire.dm +++ b/code/datums/diseases/advance/symptoms/fire.dm @@ -35,16 +35,16 @@ Bonus return switch(A.progress) if(30 to 59) - to_chat(M, "[pick("You feel hot.", "You hear a crackling noise.", "You smell smoke.")]") + to_chat(M, SPAN_WARNING("[pick("You feel hot.", "You hear a crackling noise.", "You smell smoke.")]")) if(60 to 79) Firestacks(M, A, unmitigated) M.IgniteMob() - to_chat(M, "Your skin bursts into flames!") + to_chat(M, SPAN_USERDANGER("Your skin bursts into flames!")) M.emote("scream") if(80 to INFINITY) Firestacks(M, A, unmitigated) M.IgniteMob() - to_chat(M, "Your skin erupts into an inferno!") + to_chat(M, SPAN_USERDANGER("Your skin erupts into an inferno!")) M.emote("scream") return @@ -67,6 +67,6 @@ Bonus . = FALSE target.wetlevel = max(round(target.wetlevel - 3 * heat_mod), 0) if(target.wetlevel) - to_chat(target, "Some water steams off your body") + to_chat(target, SPAN_USERDANGER("Some water steams off your body")) else - to_chat(target, "All of the water steams off your body!") + to_chat(target, SPAN_USERDANGER("All of the water steams off your body!")) diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm index cf8a6ebc5b0..7283a5bcdf1 100644 --- a/code/datums/diseases/advance/symptoms/flesh_eating.dm +++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm @@ -34,10 +34,10 @@ Bonus var/mob/living/M = A.affected_mob if(A.stage > 1) if(prob(A.progress)) - to_chat(M, "[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]") + to_chat(M, SPAN_USERDANGER("[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]")) Flesheat(M, A, unmitigated) else - to_chat(M, "[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]") + to_chat(M, SPAN_WARNING("[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]")) return diff --git a/code/datums/diseases/advance/symptoms/hair.dm b/code/datums/diseases/advance/symptoms/hair.dm index c6bcf6434c0..34cd8e7dbf1 100644 --- a/code/datums/diseases/advance/symptoms/hair.dm +++ b/code/datums/diseases/advance/symptoms/hair.dm @@ -34,10 +34,10 @@ BONUS return switch(A.stage) if(1, 2, 3) - to_chat(H, "Your scalp itches.") + to_chat(H, SPAN_WARNING("Your scalp itches.")) head_organ.h_style = random_hair_style(H.gender, head_organ.dna.species.name) else - to_chat(H, "Hair bursts forth from your scalp!") + to_chat(H, SPAN_WARNING("Hair bursts forth from your scalp!")) var/datum/sprite_accessory/tmp_hair_style = GLOB.hair_styles_full_list["Very Long Hair"] if(head_organ.dna.species.name in tmp_hair_style.species_allowed) //If 'Very Long Hair' is a style the person's species can have, give it to them. diff --git a/code/datums/diseases/advance/symptoms/hallucigen.dm b/code/datums/diseases/advance/symptoms/hallucigen.dm index a4f3f80d810..e2aa53e97ef 100644 --- a/code/datums/diseases/advance/symptoms/hallucigen.dm +++ b/code/datums/diseases/advance/symptoms/hallucigen.dm @@ -31,11 +31,11 @@ Bonus var/mob/living/carbon/M = A.affected_mob switch(A.stage) if(1, 2) - to_chat(M, "[pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whisper with no source.", "Your head aches.")]") + to_chat(M, SPAN_WARNING("[pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whisper with no source.", "Your head aches.")]")) if(3, 4) - to_chat(M, "[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]") + to_chat(M, SPAN_WARNING("[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]")) else - to_chat(M, "[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]") + to_chat(M, SPAN_USERDANGER("[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]")) M.AdjustHallucinate(5 SECONDS) return diff --git a/code/datums/diseases/advance/symptoms/headache.dm b/code/datums/diseases/advance/symptoms/headache.dm index 4f7b0ad932c..671e140a148 100644 --- a/code/datums/diseases/advance/symptoms/headache.dm +++ b/code/datums/diseases/advance/symptoms/headache.dm @@ -31,5 +31,5 @@ BONUS /datum/symptom/headache/symptom_act(datum/disease/advance/A, unmitigated) var/mob/living/M = A.affected_mob - to_chat(M, "[pick("Your head hurts.", "Your head starts pounding.")]") + to_chat(M, SPAN_WARNING("[pick("Your head hurts.", "Your head starts pounding.")]")) return diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index d3cb4f43ae9..ca3c44168a2 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -77,7 +77,7 @@ Bonus cured_diseases += D.GetDiseaseID() D.cure() if(cured) - to_chat(M, "You feel much better.") + to_chat(M, SPAN_NOTICE("You feel much better.")) /datum/symptom/heal/metabolism/End(datum/disease/advance/A) // Remove all the diseases we cured. @@ -87,7 +87,7 @@ Bonus for(var/res in M.resistances) if(res in cured_diseases) M.resistances -= res - to_chat(M, "You feel weaker.") + to_chat(M, SPAN_WARNING("You feel weaker.")) */ /* diff --git a/code/datums/diseases/advance/symptoms/itching.dm b/code/datums/diseases/advance/symptoms/itching.dm index 4d12932eeea..f3c59d29001 100644 --- a/code/datums/diseases/advance/symptoms/itching.dm +++ b/code/datums/diseases/advance/symptoms/itching.dm @@ -30,5 +30,5 @@ BONUS /datum/symptom/itching/symptom_act(datum/disease/advance/A, unmitigated) var/mob/living/M = A.affected_mob - to_chat(M, "Your [pick("back", "arm", "leg", "elbow", "head")] itches.") + to_chat(M, SPAN_WARNING("Your [pick("back", "arm", "leg", "elbow", "head")] itches.")) return diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm index 3e628d6eaab..640a8d1179a 100644 --- a/code/datums/diseases/advance/symptoms/oxygen.dm +++ b/code/datums/diseases/advance/symptoms/oxygen.dm @@ -34,5 +34,5 @@ Bonus if(M.reagents.get_reagent_amount("salbutamol") < 20) M.reagents.add_reagent("salbutamol", 20) else - to_chat(M, "[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]") + to_chat(M, SPAN_NOTICE("[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]")) return diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm index 42f88702263..3784f2bbaf3 100644 --- a/code/datums/diseases/advance/symptoms/sensory.dm +++ b/code/datums/diseases/advance/symptoms/sensory.dm @@ -59,4 +59,4 @@ Bonus M.reagents.add_reagent("oculine", 20) else if(prob(SYMPTOM_ACTIVATION_PROB * 5)) - to_chat(M, "[pick("Your eyes feel great.","You feel like your eyes can focus more clearly.", "You don't feel the need to blink.","Your ears feel great.","Your hearing feels more acute.")]") + to_chat(M, SPAN_NOTICE("[pick("Your eyes feel great.","You feel like your eyes can focus more clearly.", "You don't feel the need to blink.","Your ears feel great.","Your hearing feels more acute.")]")) diff --git a/code/datums/diseases/advance/symptoms/shedding.dm b/code/datums/diseases/advance/symptoms/shedding.dm index 7d3dabb5d8e..5080d9463e4 100644 --- a/code/datums/diseases/advance/symptoms/shedding.dm +++ b/code/datums/diseases/advance/symptoms/shedding.dm @@ -30,17 +30,17 @@ BONUS var/obj/item/organ/external/head/head_organ = H.get_organ("head") if(!istype(head_organ)) return - to_chat(H, "[pick("Your scalp itches.", "Your skin feels flakey.")]") + to_chat(H, SPAN_WARNING("[pick("Your scalp itches.", "Your skin feels flakey.")]")) if(NO_HAIR in H.dna.species.species_traits) return // Hair can't fall out if you don't have any switch(A.stage) if(3, 4) if(head_organ.h_style != "Bald" && head_organ.h_style != "Balding Hair") - to_chat(H, "Your hair starts to fall out in clumps...") + to_chat(H, SPAN_WARNING("Your hair starts to fall out in clumps...")) addtimer(CALLBACK(src, PROC_REF(change_hair), H, head_organ, null, "Balding Hair"), 5 SECONDS) if(5) if((head_organ.f_style != "Shaved") || (head_organ.h_style != "Bald")) - to_chat(H, "Your hair starts to fall out in clumps...") + to_chat(H, SPAN_WARNING("Your hair starts to fall out in clumps...")) addtimer(CALLBACK(src, PROC_REF(change_hair), H, head_organ, "Shaved", "Bald"), 5 SECONDS) /datum/symptom/shedding/proc/change_hair(mob/living/carbon/human/H, obj/item/organ/external/head/head_organ, f_style, h_style) diff --git a/code/datums/diseases/advance/symptoms/shivering.dm b/code/datums/diseases/advance/symptoms/shivering.dm index e33b35d735a..7d5b4808532 100644 --- a/code/datums/diseases/advance/symptoms/shivering.dm +++ b/code/datums/diseases/advance/symptoms/shivering.dm @@ -26,7 +26,7 @@ Bonus /datum/symptom/shivering/symptom_act(datum/disease/advance/A, unmitigated) var/mob/living/carbon/M = A.affected_mob - to_chat(M, "[pick("You feel cold.", "You start shivering.")]") + to_chat(M, SPAN_WARNING("[pick("You feel cold.", "You start shivering.")]")) M.emote("shiver") if(M.bodytemperature > BODYTEMP_COLD_DAMAGE_LIMIT) Chill(M, A) diff --git a/code/datums/diseases/advance/symptoms/skin.dm b/code/datums/diseases/advance/symptoms/skin.dm index e736af707ea..7a037f7dd14 100644 --- a/code/datums/diseases/advance/symptoms/skin.dm +++ b/code/datums/diseases/advance/symptoms/skin.dm @@ -35,7 +35,7 @@ BONUS if(5) H.change_skin_tone(85, TRUE) else - H.visible_message("[H] looks a bit pale...", "Your skin suddenly appears lighter...") + H.visible_message(SPAN_WARNING("[H] looks a bit pale..."), SPAN_NOTICE("Your skin suddenly appears lighter...")) return @@ -78,6 +78,6 @@ BONUS if(5) H.change_skin_tone(-85, TRUE) else - H.visible_message("[H] looks a bit dark...", "Your skin suddenly appears darker...") + H.visible_message(SPAN_WARNING("[H] looks a bit dark..."), SPAN_NOTICE("Your skin suddenly appears darker...")) return diff --git a/code/datums/diseases/advance/symptoms/viral.dm b/code/datums/diseases/advance/symptoms/viral.dm index 109ffb8709f..0feeaadf408 100644 --- a/code/datums/diseases/advance/symptoms/viral.dm +++ b/code/datums/diseases/advance/symptoms/viral.dm @@ -24,9 +24,9 @@ BONUS var/mob/living/M = A.affected_mob switch(A.stage) if(1) - to_chat(M, "You feel off, but no different from before.") + to_chat(M, SPAN_NOTICE("You feel off, but no different from before.")) if(5) - to_chat(M, "You feel better, but nothing interesting happens.") + to_chat(M, SPAN_NOTICE("You feel better, but nothing interesting happens.")) /* ////////////////////////////////////// @@ -60,9 +60,9 @@ BONUS var/mob/living/M = A.affected_mob if(prob(A.progress * 2)) // randomly set the value of a minor disability block - to_chat(M, "You feel like something is changing") + to_chat(M, SPAN_NOTICE("You feel like something is changing")) A.affected_mob.dna.SetSEValue(pick(possible_blocks), rand(0, 4095)) domutcheck(A.affected_mob) else - to_chat(M, "You feel a weird") + to_chat(M, SPAN_NOTICE("You feel a weird")) diff --git a/code/datums/diseases/advance/symptoms/vision.dm b/code/datums/diseases/advance/symptoms/vision.dm index 76b1f75c447..0bf2352cc9c 100644 --- a/code/datums/diseases/advance/symptoms/vision.dm +++ b/code/datums/diseases/advance/symptoms/vision.dm @@ -35,18 +35,18 @@ Bonus return switch(A.stage) if(1, 2) - to_chat(M, "Your eyes itch.") + to_chat(M, SPAN_WARNING("Your eyes itch.")) if(3, 4) - to_chat(M, "Your eyes burn!") + to_chat(M, SPAN_WARNING("Your eyes burn!")) M.EyeBlurry(40 SECONDS * unmitigated) eyes.receive_damage(1 * unmitigated) else - to_chat(M, "Your eyes burn horrificly!") + to_chat(M, SPAN_USERDANGER("Your eyes burn horrificly!")) M.EyeBlurry(60 SECONDS * unmitigated) eyes.receive_damage(5 * unmitigated) if(eyes.damage >= 10) M.become_nearsighted(EYE_DAMAGE) if(prob(eyes.damage - 10 + 1) * unmitigated) if(!M.AmountBlinded()) - to_chat(M, "You go blind!") + to_chat(M, SPAN_USERDANGER("You go blind!")) eyes.receive_damage(eyes.max_damage) diff --git a/code/datums/diseases/advance/symptoms/voice_change.dm b/code/datums/diseases/advance/symptoms/voice_change.dm index af173b71960..24e80bf8e0c 100644 --- a/code/datums/diseases/advance/symptoms/voice_change.dm +++ b/code/datums/diseases/advance/symptoms/voice_change.dm @@ -35,7 +35,7 @@ Bonus var/mob/living/carbon/M = A.affected_mob switch(A.stage) if(1, 2, 3, 4) - to_chat(M, "[pick("Your throat hurts.", "You clear your throat.")]") + to_chat(M, SPAN_WARNING("[pick("Your throat hurts.", "You clear your throat.")]")) else if(ishuman(M)) var/mob/living/carbon/human/H = M diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm index 94831c0c8b6..e1df4abbd11 100644 --- a/code/datums/diseases/advance/symptoms/vomit.dm +++ b/code/datums/diseases/advance/symptoms/vomit.dm @@ -50,9 +50,9 @@ Bonus else switch(A.progress) if(0 to 59) - to_chat(M, "[pick("You feel nauseous.", "You feel like you're going to throw up!")]") + to_chat(M, SPAN_WARNING("[pick("You feel nauseous.", "You feel like you're going to throw up!")]")) if(60 to INFINITY) - to_chat(M, "[pick("You feel extremely nauseous!", "You barely manage to not throw up!")]") + to_chat(M, SPAN_WARNING("[pick("You feel extremely nauseous!", "You barely manage to not throw up!")]")) return /datum/symptom/vomit/proc/Vomit(mob/living/carbon/M, progress) diff --git a/code/datums/diseases/advance/symptoms/weakness.dm b/code/datums/diseases/advance/symptoms/weakness.dm index 1f5b5248315..af238f927b2 100644 --- a/code/datums/diseases/advance/symptoms/weakness.dm +++ b/code/datums/diseases/advance/symptoms/weakness.dm @@ -34,14 +34,14 @@ Bonus var/mob/living/M = A.affected_mob switch(A.stage) if(1, 2) - to_chat(M, "[pick("You feel weak.", "You feel lazy.")]") + to_chat(M, SPAN_WARNING("[pick("You feel weak.", "You feel lazy.")]")) if(3, 4) - to_chat(M, "[pick("You feel very frail.", "You think you might faint.")]") + to_chat(M, SPAN_WARNING("[pick("You feel very frail.", "You think you might faint.")]")) M.adjustStaminaLoss(15 * unmitigated) else - to_chat(M, "[pick("You feel tremendously weak!", "Your body trembles as exhaustion creeps over you.")]") + to_chat(M, SPAN_USERDANGER("[pick("You feel tremendously weak!", "Your body trembles as exhaustion creeps over you.")]")) M.adjustStaminaLoss(30 * unmitigated) if(M.getStaminaLoss() > 60 && !M.stat) - M.visible_message("[M] faints!", "You swoon and faint...") + M.visible_message(SPAN_WARNING("[M] faints!"), SPAN_USERDANGER("You swoon and faint...")) M.AdjustSleeping(10 SECONDS * unmitigated) return diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm index fcb9fbf2366..e76843f6bf2 100644 --- a/code/datums/diseases/advance/symptoms/weight.dm +++ b/code/datums/diseases/advance/symptoms/weight.dm @@ -36,9 +36,9 @@ Bonus /datum/symptom/weight_loss/symptom_act(datum/disease/advance/A, unmitigated) var/mob/living/M = A.affected_mob if(prob(A.progress)) - to_chat(M, "[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]") + to_chat(M, SPAN_WARNING("[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]")) M.overeatduration = max(M.overeatduration - A.progress * unmitigated, 0) M.adjust_nutrition(-A.progress * unmitigated) else - to_chat(M, "[pick("You feel hungry.", "You crave for food.")]") + to_chat(M, SPAN_WARNING("[pick("You feel hungry.", "You crave for food.")]")) diff --git a/code/datums/diseases/advance/symptoms/youth.dm b/code/datums/diseases/advance/symptoms/youth.dm index 1fac7faa556..3ee112af8eb 100644 --- a/code/datums/diseases/advance/symptoms/youth.dm +++ b/code/datums/diseases/advance/symptoms/youth.dm @@ -33,21 +33,21 @@ BONUS if(1) if(H.age > 41) H.age = 41 - to_chat(H, "You haven't had this much energy in years!") + to_chat(H, SPAN_NOTICE("You haven't had this much energy in years!")) if(2) if(H.age > 36) H.age = 36 - to_chat(H, "You're suddenly in a good mood.") + to_chat(H, SPAN_NOTICE("You're suddenly in a good mood.")) if(3) if(H.age > 31) H.age = 31 - to_chat(H, "You begin to feel more lithe.") + to_chat(H, SPAN_NOTICE("You begin to feel more lithe.")) if(4) if(H.age > 26) H.age = 26 - to_chat(H, "You feel reinvigorated.") + to_chat(H, SPAN_NOTICE("You feel reinvigorated.")) if(5) if(H.age > 21) H.age = 21 - to_chat(H, "You feel like you can take on the world!") + to_chat(H, SPAN_NOTICE("You feel like you can take on the world!")) return diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm index 0b0f4a5b2f9..f7e858278d4 100644 --- a/code/datums/diseases/anxiety.dm +++ b/code/datums/diseases/anxiety.dm @@ -17,26 +17,26 @@ switch(stage) if(2) if(prob(5)) - to_chat(affected_mob, "You feel anxious.") + to_chat(affected_mob, SPAN_NOTICE("You feel anxious.")) if(3) if(prob(10)) - to_chat(affected_mob, "Your stomach flutters.") + to_chat(affected_mob, SPAN_NOTICE("Your stomach flutters.")) if(prob(5)) - to_chat(affected_mob, "You feel panicky.") + to_chat(affected_mob, SPAN_NOTICE("You feel panicky.")) if(prob(2)) - to_chat(affected_mob, "You're overtaken with panic!") + to_chat(affected_mob, SPAN_DANGER("You're overtaken with panic!")) affected_mob.AdjustConfused(rand(4 SECONDS, 6 SECONDS)) if(4) if(prob(10)) - to_chat(affected_mob, "You feel butterflies in your stomach.") + to_chat(affected_mob, SPAN_DANGER("You feel butterflies in your stomach.")) if(prob(5)) - affected_mob.visible_message("[affected_mob] stumbles around in a panic.", \ - "You have a panic attack!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] stumbles around in a panic."), \ + SPAN_USERDANGER("You have a panic attack!")) affected_mob.AdjustConfused(rand(12 SECONDS, 16 SECONDS)) affected_mob.AdjustJitter(rand(12 SECONDS, 16 SECONDS)) if(prob(2)) - affected_mob.visible_message("[affected_mob] coughs up butterflies!", \ - "You cough up butterflies!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] coughs up butterflies!"), \ + SPAN_USERDANGER("You cough up butterflies!")) for(var/i in 1 to 2) var/mob/living/basic/butterfly/B = new(affected_mob.loc) addtimer(CALLBACK(B, TYPE_PROC_REF(/mob/living/basic/butterfly, decompose)), rand(5, 25) SECONDS) @@ -45,6 +45,6 @@ * Made so severe anxiety does not overload the SSmob while keeping it's effect */ /mob/living/basic/butterfly/proc/decompose() - visible_message("[src] decomposes due to being outside of its original habitat for too long!", - "You decompose for being too long out of your habitat!") + visible_message(SPAN_NOTICE("[src] decomposes due to being outside of its original habitat for too long!"), + SPAN_USERDANGER("You decompose for being too long out of your habitat!")) melt() diff --git a/code/datums/diseases/appendicitis.dm b/code/datums/diseases/appendicitis.dm index 502bfa99f9d..9160f3e66e6 100644 --- a/code/datums/diseases/appendicitis.dm +++ b/code/datums/diseases/appendicitis.dm @@ -28,7 +28,7 @@ A.inflamed = 1 A.update_icon() if(prob(3)) - to_chat(affected_mob, "You feel a stabbing pain in your abdomen!") + to_chat(affected_mob, SPAN_WARNING("You feel a stabbing pain in your abdomen!")) affected_mob.Stun(rand(4 SECONDS, 6 SECONDS)) affected_mob.adjustToxLoss(1) if(3) diff --git a/code/datums/diseases/beesease.dm b/code/datums/diseases/beesease.dm index cfc1038e092..93aa94bd166 100644 --- a/code/datums/diseases/beesease.dm +++ b/code/datums/diseases/beesease.dm @@ -17,22 +17,22 @@ switch(stage) if(2) if(prob(2)) - to_chat(affected_mob, "You taste honey in your mouth.") + to_chat(affected_mob, SPAN_NOTICE("You taste honey in your mouth.")) if(3) if(prob(10)) - to_chat(affected_mob, "Your stomach rumbles.") + to_chat(affected_mob, SPAN_NOTICE("Your stomach rumbles.")) if(prob(2)) - to_chat(affected_mob, "Your stomach stings painfully.") + to_chat(affected_mob, SPAN_DANGER("Your stomach stings painfully.")) if(prob(20)) affected_mob.adjustToxLoss(2) if(4) if(prob(10)) - affected_mob.visible_message("[affected_mob] buzzes.", \ - "Your stomach buzzes violently!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] buzzes."), \ + SPAN_USERDANGER("Your stomach buzzes violently!")) if(prob(5)) - to_chat(affected_mob, "You feel something moving in your throat.") + to_chat(affected_mob, SPAN_DANGER("You feel something moving in your throat.")) if(prob(1)) - affected_mob.visible_message("[affected_mob] coughs up a swarm of bees!", \ - "You cough up a swarm of bees!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] coughs up a swarm of bees!"), \ + SPAN_USERDANGER("You cough up a swarm of bees!")) new /mob/living/basic/bee(affected_mob.loc) return diff --git a/code/datums/diseases/berserker.dm b/code/datums/diseases/berserker.dm index 0ff6fecdf77..378de6774e9 100644 --- a/code/datums/diseases/berserker.dm +++ b/code/datums/diseases/berserker.dm @@ -17,7 +17,7 @@ if(!..()) return FALSE if(affected_mob.reagents.has_reagent("thc")) - to_chat(affected_mob, "You mellow out.") + to_chat(affected_mob, SPAN_NOTICE("You mellow out.")) cure() return switch(stage) @@ -34,22 +34,22 @@ var/speak = pick("AAARRGGHHH!!!!", "GRR!!!", "FUCK!! FUUUUUUCK!!!", "FUCKING SHITCOCK!!", "WROOAAAGHHH!!") affected_mob.say(speak) if(prob(15)) - affected_mob.visible_message("[affected_mob] twitches violently!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] twitches violently!")) affected_mob.drop_l_hand() affected_mob.drop_r_hand() if(prob(33)) if(affected_mob.incapacitated()) - affected_mob.visible_message("[affected_mob] spasms and twitches!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] spasms and twitches!")) return - affected_mob.visible_message("[affected_mob] thrashes around violently!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] thrashes around violently!")) for(var/mob/living/carbon/M in range(1, affected_mob)) if(M == affected_mob) continue var/damage = rand(1, 5) if(prob(80)) playsound(affected_mob.loc, "punch", 25, TRUE, -1) - affected_mob.visible_message("[affected_mob] hits [M] with [affected_mob.p_their()] thrashing!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] hits [M] with [affected_mob.p_their()] thrashing!")) M.adjustBruteLoss(damage) else playsound(affected_mob.loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - affected_mob.visible_message("[affected_mob] fails to hit [M] with [affected_mob.p_their()] thrashing!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] fails to hit [M] with [affected_mob.p_their()] thrashing!")) diff --git a/code/datums/diseases/brainrot.dm b/code/datums/diseases/brainrot.dm index 5f5bd15f458..78859ec99e0 100644 --- a/code/datums/diseases/brainrot.dm +++ b/code/datums/diseases/brainrot.dm @@ -22,7 +22,7 @@ if(prob(2)) affected_mob.emote("yawn") if(prob(2)) - to_chat(affected_mob, "You don't feel like yourself.") + to_chat(affected_mob, SPAN_DANGER("You don't feel like yourself.")) if(prob(5)) affected_mob.adjustBrainLoss(1) if(3) @@ -33,7 +33,7 @@ if(prob(10) && affected_mob.getBrainLoss() < 100) affected_mob.adjustBrainLoss(2) if(prob(2)) - to_chat(affected_mob, "Your try to remember something important...but can't.") + to_chat(affected_mob, SPAN_DANGER("Your try to remember something important...but can't.")) if(4) if(prob(2)) @@ -43,10 +43,10 @@ if(prob(15) && affected_mob.getBrainLoss() < 100) affected_mob.adjustBrainLoss(3) if(prob(2)) - to_chat(affected_mob, "Strange buzzing fills your head, removing all thoughts.") + to_chat(affected_mob, SPAN_DANGER("Strange buzzing fills your head, removing all thoughts.")) if(prob(3)) - to_chat(affected_mob, "You lose consciousness...") - affected_mob.visible_message("[affected_mob] suddenly collapses") + to_chat(affected_mob, SPAN_DANGER("You lose consciousness...")) + affected_mob.visible_message(SPAN_WARNING("[affected_mob] suddenly collapses")) affected_mob.Paralyse(rand(10 SECONDS, 20 SECONDS)) if(prob(1)) affected_mob.emote("snore") diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm index 7363cc96725..613b6578637 100644 --- a/code/datums/diseases/cold.dm +++ b/code/datums/diseases/cold.dm @@ -16,15 +16,15 @@ switch(stage) if(2) if(affected_mob.stat == UNCONSCIOUS && prob(40)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(IS_HORIZONTAL(affected_mob) && prob(10)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(1) && prob(5)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(1)) @@ -32,20 +32,20 @@ if(prob(1)) affected_mob.emote("cough") if(prob(1)) - to_chat(affected_mob, "Your throat feels sore.") + to_chat(affected_mob, SPAN_DANGER("Your throat feels sore.")) if(prob(1)) - to_chat(affected_mob, "Mucous runs down the back of your throat.") + to_chat(affected_mob, SPAN_DANGER("Mucous runs down the back of your throat.")) if(3) if(affected_mob.stat == UNCONSCIOUS && prob(25)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(IS_HORIZONTAL(affected_mob) && prob(5)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(1) && prob(1)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(1)) @@ -53,9 +53,9 @@ if(prob(1)) affected_mob.emote("cough") if(prob(1)) - to_chat(affected_mob, "Your throat feels sore.") + to_chat(affected_mob, SPAN_DANGER("Your throat feels sore.")) if(prob(1)) - to_chat(affected_mob, "Mucous runs down the back of your throat.") + to_chat(affected_mob, SPAN_DANGER("Mucous runs down the back of your throat.")) if(prob(1) && prob(50)) if(!affected_mob.resistances.Find(/datum/disease/flu)) var/datum/disease/Flu = new /datum/disease/flu(0) diff --git a/code/datums/diseases/cold9.dm b/code/datums/diseases/cold9.dm index 8b31fc36d6d..81d9364ec96 100644 --- a/code/datums/diseases/cold9.dm +++ b/code/datums/diseases/cold9.dm @@ -24,7 +24,7 @@ if(prob(2 * stage_factor)) affected_mob.emote("cough") if(prob(3 * stage_factor)) - to_chat(affected_mob, "Your throat feels sore.") + to_chat(affected_mob, SPAN_DANGER("Your throat feels sore.")) if(prob(5 * stage_factor)) - to_chat(affected_mob, "You feel stiff.") + to_chat(affected_mob, SPAN_DANGER("You feel stiff.")) affected_mob.adjustFireLoss(1) diff --git a/code/datums/diseases/critical.dm b/code/datums/diseases/critical.dm index d582fd35730..f61b6f1f355 100644 --- a/code/datums/diseases/critical.dm +++ b/code/datums/diseases/critical.dm @@ -38,43 +38,43 @@ /datum/disease/critical/shock/stage_act() if(..()) if(affected_mob.health >= 25 && affected_mob.nutrition >= NUTRITION_LEVEL_HYPOGLYCEMIA) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return switch(stage) if(1) if(prob(1) && prob(10)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(8)) affected_mob.emote(pick("shiver", "pale", "moan")) if(prob(5)) - to_chat(affected_mob, "You feel weak!") + to_chat(affected_mob, SPAN_DANGER("You feel weak!")) if(2) if(prob(1) && prob(10)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(8)) affected_mob.emote(pick("shiver", "pale", "moan", "shudder", "tremble")) if(prob(5)) - to_chat(affected_mob, "You feel absolutely terrible!") + to_chat(affected_mob, SPAN_DANGER("You feel absolutely terrible!")) if(prob(5)) affected_mob.emote(pick(2; "faint", 1; "groan")) if(3) if(prob(1) && prob(10)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(8)) affected_mob.emote(pick("shudder", "pale", "tremble", "groan", "bshake")) if(prob(5)) - to_chat(affected_mob, "You feel horrible!") + to_chat(affected_mob, SPAN_DANGER("You feel horrible!")) if(prob(5)) affected_mob.emote(pick(2; "faint", 1; "groan")) if(prob(7)) - to_chat(affected_mob, "You can't breathe!") + to_chat(affected_mob, SPAN_DANGER("You can't breathe!")) affected_mob.AdjustLoseBreath(2 SECONDS) if(prob(5)) var/datum/disease/D = new /datum/disease/critical/heart_failure @@ -95,27 +95,27 @@ switch(stage) if(1) if(prob(1) && prob(10)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(8)) affected_mob.emote(pick("pale", "shudder")) if(prob(5)) - to_chat(affected_mob, "Your arm hurts!") + to_chat(affected_mob, SPAN_DANGER("Your arm hurts!")) else if(prob(5)) - to_chat(affected_mob, "Your chest hurts!") + to_chat(affected_mob, SPAN_DANGER("Your chest hurts!")) if(2) if(prob(1) && prob(10)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(8)) affected_mob.emote(pick("pale", "groan")) if(prob(5)) - to_chat(affected_mob, "Your heart lurches in your chest!") + to_chat(affected_mob, SPAN_DANGER("Your heart lurches in your chest!")) affected_mob.AdjustLoseBreath(2 SECONDS) if(prob(3)) - to_chat(affected_mob, "Your heart stops beating!") + to_chat(affected_mob, SPAN_DANGER("Your heart stops beating!")) affected_mob.AdjustLoseBreath(6 SECONDS) if(prob(5)) affected_mob.emote(pick(2; "faint", 1; "groan")) @@ -147,27 +147,27 @@ if(isLivingSSD(affected_mob)) // We don't want AFK people dying from this. return if(affected_mob.nutrition > NUTRITION_LEVEL_HYPOGLYCEMIA) - to_chat(affected_mob, "You feel a lot better!") + to_chat(affected_mob, SPAN_NOTICE("You feel a lot better!")) cure() return switch(stage) if(1) if(prob(4)) - to_chat(affected_mob, "You feel hungry!") + to_chat(affected_mob, SPAN_WARNING("You feel hungry!")) if(prob(2)) - to_chat(affected_mob, "You have a headache!") + to_chat(affected_mob, SPAN_WARNING("You have a headache!")) if(prob(2)) - to_chat(affected_mob, "You feel [pick("anxious", "depressed")]!") + to_chat(affected_mob, SPAN_WARNING("You feel [pick("anxious", "depressed")]!")) if(2) if(prob(4)) - to_chat(affected_mob, "You feel like everything is wrong with your life!") + to_chat(affected_mob, SPAN_WARNING("You feel like everything is wrong with your life!")) if(prob(5)) affected_mob.Slowed(rand(8 SECONDS, 32 SECONDS)) - to_chat(affected_mob, "You feel [pick("tired", "exhausted", "sluggish")].") + to_chat(affected_mob, SPAN_WARNING("You feel [pick("tired", "exhausted", "sluggish")].")) if(prob(5)) affected_mob.Weaken(12 SECONDS) affected_mob.Stuttering(20 SECONDS) - to_chat(affected_mob, "You feel [pick("numb", "confused", "dizzy", "lightheaded")].") + to_chat(affected_mob, SPAN_WARNING("You feel [pick("numb", "confused", "dizzy", "lightheaded")].")) affected_mob.emote("collapse") if(3) if(prob(8)) @@ -176,8 +176,8 @@ if(prob(12)) affected_mob.Weaken(12 SECONDS) affected_mob.Stuttering(20 SECONDS) - to_chat(affected_mob, "You feel [pick("numb", "confused", "dizzy", "lightheaded")].") + to_chat(affected_mob, SPAN_WARNING("You feel [pick("numb", "confused", "dizzy", "lightheaded")].")) affected_mob.emote("collapse") if(prob(12)) - to_chat(affected_mob, "You feel [pick("tired", "exhausted", "sluggish")].") + to_chat(affected_mob, SPAN_WARNING("You feel [pick("tired", "exhausted", "sluggish")].")) affected_mob.Slowed(rand(8 SECONDS, 32 SECONDS)) diff --git a/code/datums/diseases/fake_gbs.dm b/code/datums/diseases/fake_gbs.dm index e9efece8bb6..d17f4e03100 100644 --- a/code/datums/diseases/fake_gbs.dm +++ b/code/datums/diseases/fake_gbs.dm @@ -23,7 +23,7 @@ else if(prob(5)) affected_mob.emote("gasp") if(prob(10)) - to_chat(affected_mob, "You're starting to feel very weak...") + to_chat(affected_mob, SPAN_DANGER("You're starting to feel very weak...")) if(4) if(prob(10)) affected_mob.emote("cough") diff --git a/code/datums/diseases/flu.dm b/code/datums/diseases/flu.dm index a56b18a4dbe..861bf75c12b 100644 --- a/code/datums/diseases/flu.dm +++ b/code/datums/diseases/flu.dm @@ -17,7 +17,7 @@ switch(stage) if(2) if(IS_HORIZONTAL(affected_mob) && prob(20)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) stage-- return if(prob(1)) @@ -25,17 +25,17 @@ if(prob(1)) affected_mob.emote("cough") if(prob(1)) - to_chat(affected_mob, "Your muscles ache.") + to_chat(affected_mob, SPAN_DANGER("Your muscles ache.")) if(prob(20)) affected_mob.take_organ_damage(1) if(prob(1)) - to_chat(affected_mob, "Your stomach hurts.") + to_chat(affected_mob, SPAN_DANGER("Your stomach hurts.")) if(prob(20)) affected_mob.adjustToxLoss(1) if(3) if(IS_HORIZONTAL(affected_mob) && prob(15)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) stage-- return if(prob(1)) @@ -43,11 +43,11 @@ if(prob(1)) affected_mob.emote("cough") if(prob(1)) - to_chat(affected_mob, "Your muscles ache.") + to_chat(affected_mob, SPAN_DANGER("Your muscles ache.")) if(prob(20)) affected_mob.take_organ_damage(1) if(prob(1)) - to_chat(affected_mob, "Your stomach hurts.") + to_chat(affected_mob, SPAN_DANGER("Your stomach hurts.")) if(prob(20)) affected_mob.adjustToxLoss(1) return diff --git a/code/datums/diseases/fluspanish.dm b/code/datums/diseases/fluspanish.dm index 17c1a1604df..efae220f031 100644 --- a/code/datums/diseases/fluspanish.dm +++ b/code/datums/diseases/fluspanish.dm @@ -24,5 +24,5 @@ if(prob(3 * stage_factor)) affected_mob.emote("cough") if(prob(2.5 * stage_factor)) - to_chat(affected_mob, "You're burning in your own skin!") + to_chat(affected_mob, SPAN_DANGER("You're burning in your own skin!")) affected_mob.adjustFireLoss(5) diff --git a/code/datums/diseases/food_poisoning.dm b/code/datums/diseases/food_poisoning.dm index df14f79056f..dce69dc41b3 100644 --- a/code/datums/diseases/food_poisoning.dm +++ b/code/datums/diseases/food_poisoning.dm @@ -18,37 +18,37 @@ if(!..()) return FALSE if(affected_mob.IsSleeping() && prob(33)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return switch(stage) if(1) if(prob(5)) - to_chat(affected_mob, "Your stomach feels weird.") + to_chat(affected_mob, SPAN_DANGER("Your stomach feels weird.")) if(prob(5)) - to_chat(affected_mob, "You feel queasy.") + to_chat(affected_mob, SPAN_DANGER("You feel queasy.")) if(2) if(affected_mob.IsSleeping() && prob(40)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(1) && prob(10)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(10)) affected_mob.emote("groan") if(prob(5)) - to_chat(affected_mob, "Your stomach aches.") + to_chat(affected_mob, SPAN_DANGER("Your stomach aches.")) if(prob(5)) - to_chat(affected_mob, "You feel nauseous.") + to_chat(affected_mob, SPAN_DANGER("You feel nauseous.")) if(3) if(affected_mob.IsSleeping() && prob(25)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(1) && prob(10)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(10)) @@ -56,16 +56,16 @@ if(prob(10)) affected_mob.emote("groan") if(prob(1)) - to_chat(affected_mob, "Your stomach hurts.") + to_chat(affected_mob, SPAN_DANGER("Your stomach hurts.")) if(prob(1)) - to_chat(affected_mob, "You feel sick.") + to_chat(affected_mob, SPAN_DANGER("You feel sick.")) if(prob(5)) if(affected_mob.nutrition > 10) - affected_mob.visible_message("[affected_mob] vomits on the floor profusely!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] vomits on the floor profusely!")) affected_mob.fakevomit(no_text = 1) affected_mob.adjust_nutrition(-rand(3,5)) else - to_chat(affected_mob, "Your stomach lurches painfully!") - affected_mob.visible_message("[affected_mob] gags and retches!") + to_chat(affected_mob, SPAN_DANGER("Your stomach lurches painfully!")) + affected_mob.visible_message(SPAN_DANGER("[affected_mob] gags and retches!")) affected_mob.Stun(rand(4 SECONDS, 8 SECONDS)) affected_mob.Weaken(rand(4 SECONDS, 8 SECONDS)) diff --git a/code/datums/diseases/gbs.dm b/code/datums/diseases/gbs.dm index 33c0984a06a..de6af97f970 100644 --- a/code/datums/diseases/gbs.dm +++ b/code/datums/diseases/gbs.dm @@ -25,13 +25,13 @@ else if(prob(5)) affected_mob.emote("gasp") if(prob(10)) - to_chat(affected_mob, "You're starting to feel very weak...") + to_chat(affected_mob, SPAN_DANGER("You're starting to feel very weak...")) if(4) if(prob(10)) affected_mob.emote("cough") affected_mob.adjustToxLoss(5) if(5) - to_chat(affected_mob, "Your body feels as if it's trying to rip itself open...") + to_chat(affected_mob, SPAN_DANGER("Your body feels as if it's trying to rip itself open...")) if(prob(50)) affected_mob.delayed_gib() else diff --git a/code/datums/diseases/kingstons.dm b/code/datums/diseases/kingstons.dm index b00912038e1..f877bb2cfab 100644 --- a/code/datums/diseases/kingstons.dm +++ b/code/datums/diseases/kingstons.dm @@ -18,31 +18,31 @@ if(1) if(prob(10)) if(istajaran(affected_mob)) - to_chat(affected_mob, "You feel good.") + to_chat(affected_mob, SPAN_NOTICE("You feel good.")) else - to_chat(affected_mob, "You feel like playing with string.") + to_chat(affected_mob, SPAN_NOTICE("You feel like playing with string.")) if(2) if(prob(10)) if(istajaran(affected_mob)) - to_chat(affected_mob, "Something in your throat itches.") + to_chat(affected_mob, SPAN_DANGER("Something in your throat itches.")) else - to_chat(affected_mob, "You NEED to find a mouse.") + to_chat(affected_mob, SPAN_DANGER("You NEED to find a mouse.")) if(3) if(prob(10)) if(istajaran(affected_mob)) - to_chat(affected_mob, "You feel something in your throat!") + to_chat(affected_mob, SPAN_DANGER("You feel something in your throat!")) affected_mob.emote("cough") else affected_mob.say(pick("Mew", "Meow!", "Nya!~")) if(4) if(prob(5)) if(istajaran(affected_mob)) - affected_mob.visible_message("[affected_mob] coughs up a hairball!", \ - "You cough up a hairball!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] coughs up a hairball!"), \ + SPAN_USERDANGER("You cough up a hairball!")) affected_mob.Stun(10 SECONDS) else - affected_mob.visible_message("[affected_mob]'s form contorts into something more feline!", \ - "YOU TURN INTO A TAJARAN!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob]'s form contorts into something more feline!"), \ + SPAN_USERDANGER("YOU TURN INTO A TAJARAN!")) var/mob/living/carbon/human/catface = affected_mob catface.set_species(/datum/species/tajaran, retain_damage = TRUE, keep_missing_bodyparts = TRUE) @@ -82,28 +82,28 @@ switch(stage) if(1) if(prob(10)) - to_chat(twisted, "You feel awkward.") + to_chat(twisted, SPAN_NOTICE("You feel awkward.")) if(2) if(prob(10)) - to_chat(twisted, "You itch.") + to_chat(twisted, SPAN_DANGER("You itch.")) if(3) if(prob(10)) - to_chat(twisted, "Your skin starts to flake!") + to_chat(twisted, SPAN_DANGER("Your skin starts to flake!")) if(4) if(!prob(5)) return if(!istype(twisted.dna.species, chosentype)) twisted.visible_message( - "[twisted]'s skin splits and form contorts!", - "Your body mutates into a [initial(chosentype.name)]!" + SPAN_DANGER("[twisted]'s skin splits and form contorts!"), + SPAN_USERDANGER("Your body mutates into a [initial(chosentype.name)]!") ) twisted.set_species(chosentype, retain_damage = TRUE, keep_missing_bodyparts = TRUE) return twisted.visible_message( - "[twisted] scratches at their skin!", - "You scratch your skin to try not to itch!" + SPAN_DANGER("[twisted] scratches at their skin!"), + SPAN_USERDANGER("You scratch your skin to try not to itch!") ) twisted.adjustBruteLoss(5) twisted.adjustStaminaLoss(5) diff --git a/code/datums/diseases/kuru.dm b/code/datums/diseases/kuru.dm index 96dc5d07dfa..0a227b910b8 100644 --- a/code/datums/diseases/kuru.dm +++ b/code/datums/diseases/kuru.dm @@ -25,22 +25,22 @@ affected_mob.Jitter(50 SECONDS) if(2) if(prob(50)) - affected_mob.visible_message("[affected_mob] laughs uncontrollably!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] laughs uncontrollably!")) affected_mob.Weaken(20 SECONDS) affected_mob.Jitter(500 SECONDS) if(3) if(prob(25)) - to_chat(affected_mob, "You feel like you are about to drop dead!") - to_chat(affected_mob, "Your body convulses painfully!") + to_chat(affected_mob, SPAN_DANGER("You feel like you are about to drop dead!")) + to_chat(affected_mob, SPAN_DANGER("Your body convulses painfully!")) affected_mob.adjustBruteLoss(5) affected_mob.adjustOxyLoss(5) affected_mob.Weaken(20 SECONDS) affected_mob.Jitter(500 SECONDS) - affected_mob.visible_message("[affected_mob] laughs uncontrollably!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] laughs uncontrollably!")) if(4) if(prob(25)) - to_chat(affected_mob, "You feel like you are going to die!") + to_chat(affected_mob, SPAN_DANGER("You feel like you are going to die!")) affected_mob.adjustOxyLoss(75) affected_mob.adjustBruteLoss(75) affected_mob.Weaken(20 SECONDS) - affected_mob.visible_message("[affected_mob] laughs uncontrollably!") + affected_mob.visible_message(SPAN_DANGER("[affected_mob] laughs uncontrollably!")) diff --git a/code/datums/diseases/lycancoughy.dm b/code/datums/diseases/lycancoughy.dm index 883ef6d6573..6ccd39d1a14 100644 --- a/code/datums/diseases/lycancoughy.dm +++ b/code/datums/diseases/lycancoughy.dm @@ -25,7 +25,7 @@ if(prob(2)) H.emote("cough") if(prob(3)) - to_chat(H, "You itch.") + to_chat(H, SPAN_NOTICE("You itch.")) H.adjustBruteLoss(rand(4, 6)) if(3) var/obj/item/organ/external/stomach = H.bodyparts_by_name[pick("chest", "groin")] @@ -34,12 +34,12 @@ H.emote("cough") stomach.receive_damage(rand(0, 5)) if(prob(3)) - to_chat(H, "You hear faint barking.") + to_chat(H, SPAN_NOTICE("You hear faint barking.")) stomach.receive_damage(rand(4, 6)) if(prob(2)) - to_chat(H, "You crave meat.") + to_chat(H, SPAN_NOTICE("You crave meat.")) if(prob(3)) - to_chat(H, "Your stomach growls!") + to_chat(H, SPAN_DANGER("Your stomach growls!")) stomach.receive_damage(rand(5, 10)) if(4) var/obj/item/organ/external/stomach = H.bodyparts_by_name[pick("chest", "groin")] @@ -48,24 +48,24 @@ H.emote("cough") stomach.receive_damage(rand(0, 5)) if(prob(5)) - to_chat(H, "Your stomach barks?!") + to_chat(H, SPAN_DANGER("Your stomach barks?!")) stomach.receive_damage(rand(5, 10)) if(prob(5)) H.visible_message( - "[H] howls!", - "You howl!" + SPAN_DANGER("[H] howls!"), + SPAN_USERDANGER("You howl!") ) H.AdjustConfused(rand(12 SECONDS, 16 SECONDS)) stomach.receive_damage(rand(0, 5)) if(prob(5)) if(!barklimit) - to_chat(H, "Your stomach growls!") + to_chat(H, SPAN_DANGER("Your stomach growls!")) stomach.receive_damage(rand(5, 10)) else var/atom/hairball = pick(prob(50) ? puppy_types : plush_types) H.visible_message( - "[H] coughs up \a [initial(hairball.name)]!", - "You cough up \a [initial(hairball.name)]?!" + SPAN_DANGER("[H] coughs up \a [initial(hairball.name)]!"), + SPAN_USERDANGER("You cough up \a [initial(hairball.name)]?!") ) new hairball(H.loc) barklimit-- diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm index 350c208ac01..db828427b22 100644 --- a/code/datums/diseases/magnitis.dm +++ b/code/datums/diseases/magnitis.dm @@ -20,24 +20,24 @@ switch(stage) if(1) if(prob(5)) // Water, air, fire and dirt! Fucking magnets, how do they work!? - to_chat(affected_mob, "You query upon the nature of miracles...") + to_chat(affected_mob, SPAN_DANGER("You query upon the nature of miracles...")) if(2) if(prob(10)) - to_chat(affected_mob, "You feel a light tingling sensation.") + to_chat(affected_mob, SPAN_DANGER("You feel a light tingling sensation.")) if(prob(10)) - to_chat(affected_mob, "You feel a slight shock course through your body!") + to_chat(affected_mob, SPAN_DANGER("You feel a slight shock course through your body!")) magnetic_pull(affected_mob, LOW_ATTRACTION_RANGE, 0) if(3) if(prob(10)) - to_chat(affected_mob, "You feel pins and needles radiating through you!") + to_chat(affected_mob, SPAN_DANGER("You feel pins and needles radiating through you!")) if(prob(10)) - to_chat(affected_mob, "You feel a strong shock course through your body.") + to_chat(affected_mob, SPAN_USERDANGER("You feel a strong shock course through your body.")) magnetic_pull(affected_mob, MEDIUM_ATTRACTION_RANGE, 50) if(4) if(prob(10)) - to_chat(affected_mob, "You feel a thousand pinpricks across every inch of your body!") + to_chat(affected_mob, SPAN_USERDANGER("You feel a thousand pinpricks across every inch of your body!")) if(prob(10)) - to_chat(affected_mob, "You feel a powerful shock course through your body!") + to_chat(affected_mob, SPAN_USERDANGER("You feel a powerful shock course through your body!")) magnetic_pull(affected_mob, HIGH_ATTRACTION_RANGE, 100) /** diff --git a/code/datums/diseases/pierrot_throat.dm b/code/datums/diseases/pierrot_throat.dm index 1a9dc8334b4..8054479c101 100644 --- a/code/datums/diseases/pierrot_throat.dm +++ b/code/datums/diseases/pierrot_throat.dm @@ -21,16 +21,16 @@ var/static/list/message_chances = list(null, 4, 2, 1) if(prob(message_chances[stage])) - to_chat(H, "You feel [pick("a little silly", "like making a joke", "in the mood for giggling", "like the world is a little more vibrant")].") + to_chat(H, SPAN_DANGER("You feel [pick("a little silly", "like making a joke", "in the mood for giggling", "like the world is a little more vibrant")].")) if(prob(message_chances[stage])) - to_chat(H, "You see [pick("rainbows", "puppies", "banana pies")] for a moment.") + to_chat(H, SPAN_DANGER("You see [pick("rainbows", "puppies", "banana pies")] for a moment.")) if(stage < 3) return var/static/list/honk_chances = list(null, null, 4, 0.66) if(prob(honk_chances[stage])) - to_chat(H, "Your thoughts are interrupted by a loud HONK!") + to_chat(H, SPAN_DANGER("Your thoughts are interrupted by a loud HONK!")) SEND_SOUND(H, sound(pick(18; 'sound/items/bikehorn.ogg', 1; 'sound/items/airhorn.ogg', 1; 'sound/items/airhorn2.ogg'))) // 10% chance total for an airhorn if(stage < 4) diff --git a/code/datums/diseases/retrovirus.dm b/code/datums/diseases/retrovirus.dm index f5531b6eafc..0fb93b63a81 100644 --- a/code/datums/diseases/retrovirus.dm +++ b/code/datums/diseases/retrovirus.dm @@ -32,38 +32,38 @@ if(1) if(restcure) if(IS_HORIZONTAL(affected_mob) && prob(30)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(8)) - to_chat(affected_mob, "Your head hurts.") + to_chat(affected_mob, SPAN_DANGER("Your head hurts.")) if(prob(9)) to_chat(affected_mob, "You feel a tingling sensation in your chest.") if(prob(9)) - to_chat(affected_mob, "You feel angry.") + to_chat(affected_mob, SPAN_DANGER("You feel angry.")) if(2) if(restcure) if(IS_HORIZONTAL(affected_mob) && prob(20)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(8)) - to_chat(affected_mob, "Your skin feels loose.") + to_chat(affected_mob, SPAN_DANGER("Your skin feels loose.")) if(prob(10)) to_chat(affected_mob, "You feel very strange.") if(prob(4)) - to_chat(affected_mob, "You feel a stabbing pain in your head!") + to_chat(affected_mob, SPAN_DANGER("You feel a stabbing pain in your head!")) affected_mob.Paralyse(4 SECONDS) if(prob(4)) - to_chat(affected_mob, "Your stomach churns.") + to_chat(affected_mob, SPAN_DANGER("Your stomach churns.")) if(3) if(restcure) if(IS_HORIZONTAL(affected_mob) && prob(20)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(10)) - to_chat(affected_mob, "Your entire body vibrates.") + to_chat(affected_mob, SPAN_DANGER("Your entire body vibrates.")) if(prob(35)) if(prob(50)) @@ -74,7 +74,7 @@ if(4) if(restcure) if(IS_HORIZONTAL(affected_mob) && prob(5)) - to_chat(affected_mob, "You feel better.") + to_chat(affected_mob, SPAN_NOTICE("You feel better.")) cure() return if(prob(60)) diff --git a/code/datums/diseases/rhumba_beat.dm b/code/datums/diseases/rhumba_beat.dm index b8ef0322a2d..a2fb684b254 100644 --- a/code/datums/diseases/rhumba_beat.dm +++ b/code/datums/diseases/rhumba_beat.dm @@ -20,21 +20,21 @@ if(prob(45)) affected_mob.adjustToxLoss(5) if(prob(1)) - to_chat(affected_mob, "You feel strange...") + to_chat(affected_mob, SPAN_DANGER("You feel strange...")) if(3) if(prob(5)) - to_chat(affected_mob, "You feel the urge to dance...") + to_chat(affected_mob, SPAN_DANGER("You feel the urge to dance...")) else if(prob(5)) affected_mob.emote("gasp") else if(prob(10)) - to_chat(affected_mob, "You feel the need to chick chicky boom...") + to_chat(affected_mob, SPAN_DANGER("You feel the need to chick chicky boom...")) if(4) if(prob(10)) affected_mob.emote("gasp") - to_chat(affected_mob, "You feel a burning beat inside...") + to_chat(affected_mob, SPAN_DANGER("You feel a burning beat inside...")) if(prob(20)) affected_mob.adjustToxLoss(5) if(5) - to_chat(affected_mob, "Your body is unable to contain the Rhumba Beat...") + to_chat(affected_mob, SPAN_DANGER("Your body is unable to contain the Rhumba Beat...")) if(prob(50)) affected_mob.gib() diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index 242b32d9867..7132857e33f 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -92,9 +92,9 @@ stage1 = null stage2 = null stage3 = null - stage4 = list("Your back hurts.", "You breathe through your mouth.", - "You have a craving for bananas.", "Your mind feels clouded.") - stage5 = list("You feel like monkeying around.") + stage4 = list(SPAN_WARNING("Your back hurts."), SPAN_WARNING("You breathe through your mouth."), + SPAN_WARNING("You have a craving for bananas."), SPAN_WARNING("Your mind feels clouded.")) + stage5 = list(SPAN_WARNING("You feel like monkeying around.")) /datum/disease/transformation/jungle_fever/do_disease_transformation(mob/living/carbon/human/affected_mob) if(!issmall(affected_mob)) @@ -105,10 +105,10 @@ switch(stage) if(2) if(prob(2)) - to_chat(affected_mob, "Your [pick("back", "arm", "leg", "elbow", "head")] itches.") + to_chat(affected_mob, SPAN_NOTICE("Your [pick("back", "arm", "leg", "elbow", "head")] itches.")) if(3) if(prob(4)) - to_chat(affected_mob, "You feel a stabbing pain in your head.") + to_chat(affected_mob, SPAN_DANGER("You feel a stabbing pain in your head.")) affected_mob.AdjustConfused(20 SECONDS) if(4) if(prob(3)) @@ -124,10 +124,10 @@ agent = "R2D2 Nanomachines" desc = "This disease, actually acute nanomachine infection, converts the victim into a cyborg." stage1 = null - stage2 = list("Your joints feel stiff.", "Beep...boop..") - stage3 = list("Your joints feel very stiff.", "Your skin feels loose.", "You can feel something move...inside.") - stage4 = list("Your skin feels very loose.", "You can feel... something...inside you.") - stage5 = list("Your skin feels as if it's about to burst off!") + stage2 = list("Your joints feel stiff.", SPAN_DANGER("Beep...boop..")) + stage3 = list(SPAN_DANGER("Your joints feel very stiff."), "Your skin feels loose.", SPAN_DANGER("You can feel something move...inside.")) + stage4 = list(SPAN_DANGER("Your skin feels very loose."), SPAN_DANGER("You can feel... something...inside you.")) + stage5 = list(SPAN_DANGER("Your skin feels as if it's about to burst off!")) new_form = /mob/living/silicon/robot job_role = "Cyborg" @@ -139,7 +139,7 @@ if(prob(8)) affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop")) if(prob(4)) - to_chat(affected_mob, "You feel a stabbing pain in your head.") + to_chat(affected_mob, SPAN_DANGER("You feel a stabbing pain in your head.")) affected_mob.Paralyse(4 SECONDS) if(4) if(prob(20)) @@ -155,10 +155,10 @@ agent = "Rip-LEY Alien Microbes" desc = "This disease changes the victim into a xenomorph." stage1 = null - stage2 = list("Your throat feels scratchy.", "Kill...") - stage3 = list("Your throat feels very scratchy.", "Your skin feels tight.", "You can feel something move...inside.") - stage4 = list("Your skin feels very tight.", "Your blood boils!", "You can feel... something...inside you.") - stage5 = list("Your skin feels as if it's about to burst off!") + stage2 = list("Your throat feels scratchy.", SPAN_DANGER("Kill...")) + stage3 = list(SPAN_DANGER("Your throat feels very scratchy."), "Your skin feels tight.", SPAN_DANGER("You can feel something move...inside.")) + stage4 = list(SPAN_DANGER("Your skin feels very tight."), SPAN_DANGER("Your blood boils!"), SPAN_DANGER("You can feel... something...inside you.")) + stage5 = list(SPAN_DANGER("Your skin feels as if it's about to burst off!")) new_form = /mob/living/carbon/alien/humanoid/hunter job_role = ROLE_ALIEN @@ -167,7 +167,7 @@ switch(stage) if(3) if(prob(4)) - to_chat(affected_mob, "You feel a stabbing pain in your head.") + to_chat(affected_mob, SPAN_DANGER("You feel a stabbing pain in your head.")) affected_mob.Paralyse(4 SECONDS) if(4) if(prob(20)) @@ -183,9 +183,9 @@ desc = "This highly concentrated extract converts anything into more of itself." stage1 = list("You don't feel very well.") stage2 = list("Your skin feels a little slimy.") - stage3 = list("Your appendages are melting away.", "Your limbs begin to lose their shape.") - stage4 = list("You are turning into a slime.") - stage5 = list("You have become a slime.") + stage3 = list(SPAN_DANGER("Your appendages are melting away."), SPAN_DANGER("Your limbs begin to lose their shape.")) + stage4 = list(SPAN_DANGER("You are turning into a slime.")) + stage5 = list(SPAN_DANGER("You have become a slime.")) new_form = /mob/living/simple_animal/slime/random /datum/disease/transformation/slime/stage_act() @@ -210,9 +210,9 @@ desc = "This disease transforms the victim into a corgi." stage1 = list("BARK.") stage2 = list("You feel the need to wear silly hats.") - stage3 = list("Must... eat... chocolate....", "YAP") - stage4 = list("Visions of washing machines assail your mind!") - stage5 = list("AUUUUUU!!!") + stage3 = list(SPAN_DANGER("Must... eat... chocolate...."), SPAN_DANGER("YAP")) + stage4 = list(SPAN_DANGER("Visions of washing machines assail your mind!")) + stage5 = list(SPAN_DANGER("AUUUUUU!!!")) new_form = /mob/living/simple_animal/pet/dog/corgi /datum/disease/transformation/corgi/stage_act() @@ -234,9 +234,9 @@ stage_prob = 20 stage1 = list("Your stomach rumbles.") stage2 = list("Your skin feels saggy.") - stage3 = list("Your appendages are melting away.", "Your limbs begin to lose their shape.") - stage4 = list("You're ravenous.") - stage5 = list("You have become a morph.") - transformation_text = "This transformation does NOT make you an antagonist if you were not one already. If you were not an antagonist, you should not eat any steal objectives or the contents of the armory." + stage3 = list(SPAN_DANGER("Your appendages are melting away."), SPAN_DANGER("Your limbs begin to lose their shape.")) + stage4 = list(SPAN_DANGER("You're ravenous.")) + stage5 = list(SPAN_DANGER("You have become a morph.")) + transformation_text = SPAN_USERDANGER("This transformation does NOT make you an antagonist if you were not one already. If you were not an antagonist, you should not eat any steal objectives or the contents of the armory.") new_form = /mob/living/simple_animal/hostile/morph job_role = ROLE_MORPH diff --git a/code/datums/diseases/tuberculosis.dm b/code/datums/diseases/tuberculosis.dm index f8709892d16..81adba1c751 100644 --- a/code/datums/diseases/tuberculosis.dm +++ b/code/datums/diseases/tuberculosis.dm @@ -20,41 +20,41 @@ if(2) if(prob(2)) affected_mob.emote("cough") - to_chat(affected_mob, "Your chest hurts.") + to_chat(affected_mob, SPAN_DANGER("Your chest hurts.")) if(prob(2)) - to_chat(affected_mob, "Your stomach violently rumbles!") + to_chat(affected_mob, SPAN_DANGER("Your stomach violently rumbles!")) if(prob(5)) - to_chat(affected_mob, "You feel a cold sweat form.") + to_chat(affected_mob, SPAN_DANGER("You feel a cold sweat form.")) if(4) if(prob(2)) - to_chat(affected_mob, "You see four of everything") + to_chat(affected_mob, SPAN_USERDANGER("You see four of everything")) affected_mob.Dizzy(10 SECONDS) if(prob(2)) - to_chat(affected_mob, "You feel a sharp pain from your lower chest!") + to_chat(affected_mob, SPAN_DANGER("You feel a sharp pain from your lower chest!")) affected_mob.adjustOxyLoss(5) affected_mob.emote("gasp") if(prob(10)) - to_chat(affected_mob, "You feel air escape from your lungs painfully.") + to_chat(affected_mob, SPAN_DANGER("You feel air escape from your lungs painfully.")) affected_mob.adjustOxyLoss(25) affected_mob.emote("gasp") if(5) if(prob(2)) - to_chat(affected_mob, "[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]") + to_chat(affected_mob, SPAN_USERDANGER("[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]")) affected_mob.adjustStaminaLoss(70) if(prob(10)) affected_mob.adjustStaminaLoss(100) - affected_mob.visible_message("[affected_mob] faints!", "You surrender yourself and feel at peace...") + affected_mob.visible_message(SPAN_WARNING("[affected_mob] faints!"), SPAN_USERDANGER("You surrender yourself and feel at peace...")) affected_mob.AdjustSleeping(10 SECONDS) if(prob(2)) - to_chat(affected_mob, "You feel your mind relax and your thoughts drift!") + to_chat(affected_mob, SPAN_USERDANGER("You feel your mind relax and your thoughts drift!")) affected_mob.AdjustConfused(16 SECONDS, bound_lower = 0, bound_upper = 200 SECONDS) if(prob(10)) affected_mob.vomit(20) if(prob(3)) - to_chat(affected_mob, "[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]") + to_chat(affected_mob, SPAN_WARNING("[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]")) affected_mob.overeatduration = max(affected_mob.overeatduration - 100, 0) affected_mob.adjust_nutrition(-100) if(prob(15)) - to_chat(affected_mob, "[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]") + to_chat(affected_mob, SPAN_DANGER("[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]")) affected_mob.bodytemperature += 40 return diff --git a/code/datums/diseases/wizard_diseases.dm b/code/datums/diseases/wizard_diseases.dm index 2208317452e..bb361e73280 100644 --- a/code/datums/diseases/wizard_diseases.dm +++ b/code/datums/diseases/wizard_diseases.dm @@ -45,15 +45,15 @@ switch(stage) if(1) if(prob(3)) - to_chat(affected_mob, "Your stomach feels strange.") + to_chat(affected_mob, SPAN_DANGER("Your stomach feels strange.")) if(2) if(prob(3)) - to_chat(affected_mob, "You feel bloated.") + to_chat(affected_mob, SPAN_DANGER("You feel bloated.")) if(prob(2)) - to_chat(affected_mob, "Your feel an uncomfortable pressure in your abdomen.") + to_chat(affected_mob, SPAN_DANGER("Your feel an uncomfortable pressure in your abdomen.")) if(3) if(prob(3)) - to_chat(affected_mob, "Your feel an uncomfortable pressure in your abdomen.") + to_chat(affected_mob, SPAN_DANGER("Your feel an uncomfortable pressure in your abdomen.")) if(prob(2)) affected_mob.custom_emote(EMOTE_AUDIBLE, "burps") if(prob(1)) @@ -65,9 +65,9 @@ if(prob(2)) affected_mob.custom_emote(EMOTE_AUDIBLE, "burps") if(prob(3)) - to_chat(affected_mob, "Your feel horribly bloated.") + to_chat(affected_mob, SPAN_DANGER("Your feel horribly bloated.")) if(prob(2)) - to_chat(affected_mob, "A deep bubbling resounds through your chest.") + to_chat(affected_mob, SPAN_DANGER("A deep bubbling resounds through your chest.")) if(5) if(prob(2)) affected_mob.custom_emote(EMOTE_AUDIBLE, "belches loudly!") @@ -76,16 +76,16 @@ if(prob(1)) affected_mob.emote("groan") if(prob(3)) - to_chat(affected_mob, "Your stomach is killing you!") + to_chat(affected_mob, SPAN_DANGER("Your stomach is killing you!")) if(prob(3)) - to_chat(affected_mob, "Your abdomen gurgles and bubbles with a fierce intensity!") + to_chat(affected_mob, SPAN_DANGER("Your abdomen gurgles and bubbles with a fierce intensity!")) if(prob(2) && affected_mob.nutrition >= 100) affected_mob.adjustBruteLoss(5) affected_mob.vomit(6, 0, TRUE, 7, 0) affected_mob.visible_message( - "[affected_mob] vomits with such force that [affected_mob.p_theyre(FALSE)] sent flying backwards!", - "You vomit a torrent of magic bile so forcefully, that you are sent flying!", - "You hear someone vomit profusely." + SPAN_DANGER("[affected_mob] vomits with such force that [affected_mob.p_theyre(FALSE)] sent flying backwards!"), + SPAN_USERDANGER("You vomit a torrent of magic bile so forcefully, that you are sent flying!"), + SPAN_WARNING("You hear someone vomit profusely.") ) do_fling(affected_mob) @@ -123,27 +123,27 @@ if(prob(3)) affected_mob.emote("sniff") if(prob(3)) - to_chat(affected_mob, "Your nose and throat feel uncomfortably dry.") + to_chat(affected_mob, SPAN_DANGER("Your nose and throat feel uncomfortably dry.")) if(3) if(prob(2)) affected_mob.emote("cough") if(prob(3)) affected_mob.emote("sniff") if(prob(3)) - to_chat(affected_mob, "Your nose and throat feel uncomfortably dry.") + to_chat(affected_mob, SPAN_DANGER("Your nose and throat feel uncomfortably dry.")) if(4) if(prob(2)) affected_mob.emote("cough") if(prob(3)) affected_mob.emote("sneeze") if(prob(3)) - to_chat(affected_mob, "Your throat burns and itches!") + to_chat(affected_mob, SPAN_DANGER("Your throat burns and itches!")) if(5) if(prob(2)) affected_mob.emote("cough") if(prob(2)) - to_chat(affected_mob, "Your nose feels like it's going to burn right off your face!") + to_chat(affected_mob, SPAN_DANGER("Your nose feels like it's going to burn right off your face!")) affected_mob.adjustFireLoss(5) if(prob(3)) affected_mob.emote("sniff") @@ -188,18 +188,18 @@ switch(stage) if(1) if(prob(2)) - to_chat(affected_mob, "You feel nauseous.") + to_chat(affected_mob, SPAN_DANGER("You feel nauseous.")) if(2) if(prob(3)) - to_chat(affected_mob, "Your stomach aches.") + to_chat(affected_mob, SPAN_DANGER("Your stomach aches.")) if(3) if(prob(3)) - to_chat(affected_mob, "You feel a growing emptiness inside you.") + to_chat(affected_mob, SPAN_DANGER("You feel a growing emptiness inside you.")) if(prob(2)) affected_mob.emote("cough") if(4) if(prob(3)) - to_chat(affected_mob, "Your chest feels like it's going to cave in!") + to_chat(affected_mob, SPAN_DANGER("Your chest feels like it's going to cave in!")) if(prob(2)) affected_mob.emote("cough") if(prob(2)) @@ -229,7 +229,7 @@ milla.invoke_async(src) if(world.time >= time_to_live) // dont want to remove the spot, but stop removing atmos STOP_PROCESSING(SSprocessing, src) - src.visible_message("[src] evaporates into nothingness!") + src.visible_message(SPAN_DANGER("[src] evaporates into nothingness!")) qdel(src) /datum/milla_safe/spacematter_vomit_process diff --git a/code/datums/diseases/wizarditis.dm b/code/datums/diseases/wizarditis.dm index 11861edc222..9fbe1817bad 100644 --- a/code/datums/diseases/wizarditis.dm +++ b/code/datums/diseases/wizarditis.dm @@ -45,12 +45,12 @@ if(prob(2)) // Low prob. since everyone else will also be spouting this affected_mob.say(pick("You shall not pass!", "Expeliarmus!", "By Merlin's beard!", "Feel the power of the Dark Side!", "A wizard is never late!", "50 points for Security!", "NEC CANTIO!", "STI KALY!", "AULIE OXIN FIERA!", "GAR YOK!", "DIRI CEL!")) if(prob(8)) // Double the stage advancement prob. so each player has a chance to catch a couple - to_chat(affected_mob, "You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "that this location gives you a +1 to INT", "an urge to summon familiar")].") + to_chat(affected_mob, SPAN_DANGER("You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "that this location gives you a +1 to INT", "an urge to summon familiar")].")) if(4) if(prob(1)) affected_mob.say(pick("FORTI GY AMA!", "GITTAH WEIGH!", "TOKI WO TOMARE!", "TARCOL MINTI ZHERI!", "ONI SOMA!", "EI NATH!", "BIRUZ BENNAR!", "NWOLC EGNEVER!")) if(prob(3)) // Last stage, so we'll have plenty of time to show these off even with a lower prob. - to_chat(affected_mob, "You feel [pick("the tidal wave of raw power building inside", "that this location gives you a +2 to INT and +1 to WIS", "an urge to teleport", "the magic bubbling in your veins", "an urge to summon familiar")].") + to_chat(affected_mob, SPAN_DANGER("You feel [pick("the tidal wave of raw power building inside", "that this location gives you a +2 to INT and +1 to WIS", "an urge to teleport", "the magic bubbling in your veins", "an urge to summon familiar")].")) if(prob(3)) // About 1 minute per item on average spawn_wizard_clothes() if(prob(0.033)) // Assuming 50 infected, someone should teleport every ~2 minutes on average diff --git a/code/datums/diseases/zombie_virus.dm b/code/datums/diseases/zombie_virus.dm index 661fdad1b98..7cc0c811860 100644 --- a/code/datums/diseases/zombie_virus.dm +++ b/code/datums/diseases/zombie_virus.dm @@ -54,21 +54,21 @@ switch(stage) if(1) // cured by lvl 1 cure if(prob(4)) - to_chat(affected_mob, "[pick("Your scalp itches.", "Your skin feels flakey.")]") + to_chat(affected_mob, SPAN_WARNING("[pick("Your scalp itches.", "Your skin feels flakey.")]")) else if(prob(5)) - to_chat(affected_mob, "Your [pick("back", "arm", "leg", "elbow", "head")] itches.") + to_chat(affected_mob, SPAN_WARNING("Your [pick("back", "arm", "leg", "elbow", "head")] itches.")) if(2) if(prob(2)) - to_chat(affected_mob, "Mucous runs down the back of your throat.") + to_chat(affected_mob, SPAN_DANGER("Mucous runs down the back of your throat.")) else if(prob(5)) - to_chat(affected_mob, "[pick("You feel hungry.", "You crave for something to eat.")]") + to_chat(affected_mob, SPAN_WARNING("[pick("You feel hungry.", "You crave for something to eat.")]")) if(3) // cured by lvl 2 cure if(prob(2)) affected_mob.emote("sneeze") else if(prob(2)) affected_mob.emote("cough") else if(prob(5)) - to_chat(affected_mob, "[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]") + to_chat(affected_mob, SPAN_WARNING("[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]")) if(prob(5)) affected_mob.adjustToxLoss(1) if(4) // shows up on medhuds @@ -77,14 +77,14 @@ else if(prob(2)) affected_mob.emote("drool") else if(prob(5)) - to_chat(affected_mob, "You feel a cold sweat form.") + to_chat(affected_mob, SPAN_DANGER("You feel a cold sweat form.")) if(prob(25)) affected_mob.adjustToxLoss(1) if(5, 6) // 5 is cured by lvl 3 cure. 6+ needs lvl 4 cure var/turf/T = get_turf(affected_mob) if(T.get_lumcount() >= 0.5) if(prob(5)) - to_chat(affected_mob, "Those lights seem bright. It stings.") + to_chat(affected_mob, SPAN_DANGER("Those lights seem bright. It stings.")) if(prob(25)) affected_mob.adjustFireLoss(2) if(prob(2)) diff --git a/code/datums/elements/basic_eating.dm b/code/datums/elements/basic_eating.dm index c0e9cc7d45d..277725620b5 100644 --- a/code/datums/elements/basic_eating.dm +++ b/code/datums/elements/basic_eating.dm @@ -80,19 +80,19 @@ var/healed = heal_amt && eater.health < eater.maxHealth eater.heal_overall_damage(heal_amt) eater.visible_message( - "[eater] [eat_verb]s [target].", - "You [eat_verb] [target][healed ? ", restoring some health" : ""].") + SPAN_NOTICE("[eater] [eat_verb]s [target]."), + SPAN_NOTICE("You [eat_verb] [target][healed ? ", restoring some health" : ""].")) else if(damage_amount > 0 && damage_type) eater.apply_damage(damage_amount, damage_type) eater.visible_message( - "[eater] [eat_verb]s [target], and seems to hurt itself.", - "You [eat_verb] [target], hurting yourself in the process.") + SPAN_NOTICE("[eater] [eat_verb]s [target], and seems to hurt itself."), + SPAN_NOTICE("You [eat_verb] [target], hurting yourself in the process.")) else eater.visible_message( - "[eater] [eat_verb]s [target].", - "You [eat_verb] [target].") + SPAN_NOTICE("[eater] [eat_verb]s [target]."), + SPAN_NOTICE("You [eat_verb] [target].")) finish_eating(eater, target, feeder) return TRUE diff --git a/code/datums/elements/bombable_turf.dm b/code/datums/elements/bombable_turf.dm index 63060c9df85..7c583a02daf 100644 --- a/code/datums/elements/bombable_turf.dm +++ b/code/datums/elements/bombable_turf.dm @@ -38,4 +38,4 @@ /// Show a little extra on examine /datum/element/bombable_turf/proc/on_examined(turf/source, mob/user, list/examine_list) SIGNAL_HANDLER - examine_list += "It seems to be slightly cracked..." + examine_list += SPAN_NOTICE("It seems to be slightly cracked...") diff --git a/code/datums/elements/butchers_humans.dm b/code/datums/elements/butchers_humans.dm index 52907f2d50e..437d173a474 100644 --- a/code/datums/elements/butchers_humans.dm +++ b/code/datums/elements/butchers_humans.dm @@ -17,7 +17,7 @@ /datum/element/butchers_humans/proc/on_examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER // COMSIG_PARENT_EXAMINE - examine_list += "Can be used to butcher dead people into meat while on harm intent." + examine_list += SPAN_WARNING("Can be used to butcher dead people into meat while on harm intent.") /datum/element/butchers_humans/proc/on_attack(datum/source, mob/living/victim, mob/living/user, params) SIGNAL_HANDLER // COMSIG_ATTACK @@ -37,7 +37,7 @@ human.meatleft-- if(human.meatleft) - to_chat(user, "You hack off a chunk of meat from [human]!") + to_chat(user, SPAN_WARNING("You hack off a chunk of meat from [human]!")) // fallthrough so we get side-effects like blood splatter and limb // flyoff from human attacked_by while we still have a corpse around return @@ -49,6 +49,6 @@ if(item.hitsound) playsound(get_turf(item), item.hitsound, item.get_clamped_volume(), TRUE, extrarange = item.stealthy_audio ? SILENCED_SOUND_EXTRARANGE : -1, falloff_distance = 0) add_attack_logs(user, human, "Chopped up into meat with [item.name] ([uppertext(user.a_intent)])", human.ckey ? null : ATKLOG_ALMOSTALL) - to_chat(user, "You reduce [human] to a pile of meat!") + to_chat(user, SPAN_WARNING("You reduce [human] to a pile of meat!")) qdel(human) return COMPONENT_CANCEL_ATTACK_CHAIN diff --git a/code/datums/elements/ridable.dm b/code/datums/elements/ridable.dm index f9ef50d1ece..9c97c5fda43 100644 --- a/code/datums/elements/ridable.dm +++ b/code/datums/elements/ridable.dm @@ -54,16 +54,16 @@ ride_check_flags |= RIDER_NEEDS_ARMS if(arms_needed && !equip_buckle_inhands(potential_rider, arms_needed, target_movable)) - potential_rider.visible_message("[potential_rider] can't get a grip on [target_movable] because [potential_rider.p_their()] hands are full!", "You can't get a grip on [target_movable] because your hands are full!") + potential_rider.visible_message(SPAN_WARNING("[potential_rider] can't get a grip on [target_movable] because [potential_rider.p_their()] hands are full!"), SPAN_WARNING("You can't get a grip on [target_movable] because your hands are full!")) return COMPONENT_BLOCK_BUCKLE if((ride_check_flags & RIDER_NEEDS_LEGS) && HAS_TRAIT(potential_rider, TRAIT_FLOORED)) - potential_rider.visible_message("[potential_rider] can't get [potential_rider.p_their()] footing on [target_movable]!", - "You can't get your footing on [target_movable]!") + potential_rider.visible_message(SPAN_WARNING("[potential_rider] can't get [potential_rider.p_their()] footing on [target_movable]!"), + SPAN_WARNING("You can't get your footing on [target_movable]!")) return COMPONENT_BLOCK_BUCKLE if((ride_check_flags & RIDER_CARBON_OR_SILICON_NO_LARGE_MOBS) && !(iscarbon(potential_rider) || issilicon(potential_rider) || potential_rider.mob_size <= MOB_SIZE_SMALL)) - potential_rider.visible_message("[potential_rider] is too big to get [potential_rider.p_their()] footing on [target_movable]!", - "You are too big to get your footing on [target_movable]!") + potential_rider.visible_message(SPAN_WARNING("[potential_rider] is too big to get [potential_rider.p_their()] footing on [target_movable]!"), + SPAN_WARNING("You are too big to get your footing on [target_movable]!")) return COMPONENT_BLOCK_BUCKLE var/mob/living/target_living = target_movable @@ -113,20 +113,20 @@ SIGNAL_HANDLER if(potion_boosted) - to_chat(user, "[ridable_atom] has already been coated with red, that's as fast as it'll go!") + to_chat(user, SPAN_WARNING("[ridable_atom] has already been coated with red, that's as fast as it'll go!")) return if(ridable_atom.has_buckled_mobs()) // effect won't take place til the next time someone mounts it, so just prevent that situation - to_chat(user, "It's too dangerous to smear [speed_potion] on [ridable_atom] while it's being ridden!") + to_chat(user, SPAN_WARNING("It's too dangerous to smear [speed_potion] on [ridable_atom] while it's being ridden!")) return var/speed_limit = round(GLOB.configuration.movement.human_delay * 0.85, 0.01) var/datum/component/riding/theoretical_riding_component = riding_component_type var/theoretical_speed = initial(theoretical_riding_component.vehicle_move_delay) if(theoretical_speed <= speed_limit) // i say speed but this is actually move delay, so you have to be ABOVE the speed limit to pass - to_chat(user, "[ridable_atom] can't be made any faster!") + to_chat(user, SPAN_WARNING("[ridable_atom] can't be made any faster!")) return Detach(ridable_atom) ridable_atom.AddElement(/datum/element/ridable, component_type = riding_component_type, potion_boost = TRUE) - to_chat(user, "You slather the red gunk over [ridable_atom], making it faster.") + to_chat(user, SPAN_NOTICE("You slather the red gunk over [ridable_atom], making it faster.")) ridable_atom.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) ridable_atom.add_atom_colour("#6e6e86", FIXED_COLOUR_PRIORITY) ADD_TRAIT(ridable_atom, TRAIT_OIL_SLICKED, "potion") diff --git a/code/datums/elements/rust_element.dm b/code/datums/elements/rust_element.dm index 973455c23bb..dcd9af8b52f 100644 --- a/code/datums/elements/rust_element.dm +++ b/code/datums/elements/rust_element.dm @@ -34,7 +34,7 @@ /datum/element/rust/proc/handle_examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER //COMSIG_PARENT_EXAMINE - examine_list += "[source] is very rusty, you could probably burn it off." + examine_list += SPAN_NOTICE("[source] is very rusty, you could probably burn it off.") /datum/element/rust/proc/apply_rust_overlay(atom/parent_atom, list/overlays) SIGNAL_HANDLER //COMSIG_ATOM_UPDATE_OVERLAYS @@ -55,11 +55,11 @@ if(TOOL_WELDER) if(!item.tool_start_check(source, user, amount=1)) return - to_chat(user, "You start burning off the rust...") + to_chat(user, SPAN_NOTICE("You start burning off the rust...")) if(!item.use_tool(source, user, 5 SECONDS, volume = item.tool_volume)) return - to_chat(user, "You burn off the rust!") + to_chat(user, SPAN_NOTICE("You burn off the rust!")) Detach(source) return @@ -67,7 +67,7 @@ /datum/element/rust/proc/on_interaction(datum/source, mob/living/user, obj/item/tool, list/modifiers) SIGNAL_HANDLER // COMSIG_INTERACT_TARGET if(istype(tool, /obj/item/stack/tile) || istype(tool, /obj/item/stack/rods) || istype(tool, /obj/item/rcd)) - to_chat(user, "[source] is too rusted to build on!") + to_chat(user, SPAN_WARNING("[source] is too rusted to build on!")) return ITEM_INTERACT_COMPLETE /// For rust applied by heretics (if that ever happens) / revenants diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm index 7663e2e2890..1aa8e0bf3fa 100644 --- a/code/datums/elements/strippable.dm +++ b/code/datums/elements/strippable.dm @@ -64,7 +64,7 @@ /// It should not perform the equipping itself. /datum/strippable_item/proc/try_equip(atom/source, obj/item/equipping, mob/user) if(equipping.flags & NODROP) - to_chat(user, "You can't put [equipping] on [source], it's stuck to your hand!") + to_chat(user, SPAN_WARNING("You can't put [equipping] on [source], it's stuck to your hand!")) return FALSE if(equipping.flags & ABSTRACT) @@ -78,13 +78,13 @@ var/thief_mode = in_thief_mode(user) if(!thief_mode) source.visible_message( - "[user] tries to put [equipping] on [source].", - "[user] tries to put [equipping] on you.", + SPAN_NOTICE("[user] tries to put [equipping] on [source]."), + SPAN_NOTICE("[user] tries to put [equipping] on you."), ) if(ishuman(source)) var/mob/living/carbon/human/victim_human = source if(!victim_human.has_vision()) - to_chat(victim_human, "You feel someone trying to put something on you.") + to_chat(victim_human, SPAN_USERDANGER("You feel someone trying to put something on you.")) if(!do_mob(user, source, equipping.put_on_delay, hidden = thief_mode)) return FALSE @@ -124,21 +124,21 @@ if(isnull(item)) return FALSE - to_chat(user, "You try to remove [source]'s [item.name]...") + to_chat(user, SPAN_DANGER("You try to remove [source]'s [item.name]...")) add_attack_logs(user, source, "Attempting stripping of [item]") item.add_fingerprint(user) var/thief_mode = in_thief_mode(user) if(!thief_mode) source.visible_message( - "[user] tries to remove [source]'s [item.name].", - "[user] tries to remove your [item.name].", + SPAN_WARNING("[user] tries to remove [source]'s [item.name]."), + SPAN_USERDANGER("[user] tries to remove your [item.name]."), "You hear rustling." ) if(ishuman(source)) var/mob/living/carbon/human/victim_human = source if(!victim_human.has_vision()) - to_chat(source, "You feel someone fumble with your belongings.") + to_chat(source, SPAN_USERDANGER("You feel someone fumble with your belongings.")) return start_unequip_mob(get_item(source), source, user, hidden = thief_mode) @@ -204,7 +204,7 @@ return FALSE if(!equipping.mob_can_equip(source, item_slot, disable_warning = TRUE)) - to_chat(user, "\The [equipping] doesn't fit in that place!") + to_chat(user, SPAN_WARNING("\The [equipping] doesn't fit in that place!")) return FALSE return TRUE diff --git a/code/datums/elements/wears_collar.dm b/code/datums/elements/wears_collar.dm index fb6664a27d4..e9aaf9fecf0 100644 --- a/code/datums/elements/wears_collar.dm +++ b/code/datums/elements/wears_collar.dm @@ -89,14 +89,14 @@ if(!istype(attacking_item, /obj/item/petcollar)) return NONE if(locate(/obj/item/petcollar) in source) - to_chat(user, "[source] is already wearing a collar!") + to_chat(user, SPAN_WARNING("[source] is already wearing a collar!")) return COMPONENT_SKIP_AFTERATTACK if(user.drop_item()) attacking_item.forceMove(source) - to_chat(user, "You put [attacking_item] around [source]'s neck.") + to_chat(user, SPAN_NOTICE("You put [attacking_item] around [source]'s neck.")) else - to_chat(user, "[attacking_item] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[attacking_item] is stuck to your hand!")) return COMPONENT_SKIP_AFTERATTACK diff --git a/code/datums/emote.dm b/code/datums/emote.dm index 2af8e079ee3..a4c4646d575 100644 --- a/code/datums/emote.dm +++ b/code/datums/emote.dm @@ -174,7 +174,7 @@ return TRUE if(isnull(msg)) - to_chat(user, "'[emote_arg]' isn't a valid parameter for [key].") + to_chat(user, SPAN_WARNING("'[emote_arg]' isn't a valid parameter for [key].")) return TRUE msg = replace_pronoun(user, msg) @@ -209,16 +209,16 @@ if(!ghost.client) continue if((ghost.client.prefs.toggles & PREFTOGGLE_CHAT_GHOSTSIGHT) && !(ghost in viewers(user_turf, null))) - ghost.show_message("[user] ([ghost_follow_link(user, ghost)]) [msg]", chat_message_type = MESSAGE_TYPE_LOCALCHAT) + ghost.show_message(SPAN_EMOTE("[user] ([ghost_follow_link(user, ghost)]) [msg]"), chat_message_type = MESSAGE_TYPE_LOCALCHAT) if(isobserver(user)) for(var/mob/dead/observer/ghost in viewers(user)) - ghost.show_message("[displayed_msg]", EMOTE_VISIBLE, chat_message_type = MESSAGE_TYPE_LOCALCHAT) + ghost.show_message(SPAN_DEADSAY("[displayed_msg]"), EMOTE_VISIBLE, chat_message_type = MESSAGE_TYPE_LOCALCHAT) else if((emote_type & EMOTE_AUDIBLE) && !user.mind?.miming) - user.audible_message(displayed_msg, deaf_message = "You see how [user] [msg]") + user.audible_message(displayed_msg, deaf_message = SPAN_EMOTE("You see how [user] [msg]")) else - user.visible_message(displayed_msg, blind_message = "You hear how someone [msg]") + user.visible_message(displayed_msg, blind_message = SPAN_EMOTE("You hear how someone [msg]")) if(!((emote_type & EMOTE_FORCE_NO_RUNECHAT) || suppressed) && !isobserver(user)) runechat_emote(user, msg) @@ -515,7 +515,7 @@ return FALSE if(check_mute(user.client?.ckey, MUTE_EMOTE)) - to_chat(user, "You cannot send emotes (muted).") + to_chat(user, SPAN_WARNING("You cannot send emotes (muted).")) return FALSE if(status_check && !is_type_in_typecache(user, mob_type_ignore_stat_typecache)) @@ -527,7 +527,7 @@ return FALSE if(stat) - to_chat(user, "You cannot [key] while [stat]!") + to_chat(user, SPAN_WARNING("You cannot [key] while [stat]!")) return FALSE if(HAS_TRAIT(user, TRAIT_FAKEDEATH)) // Don't let people blow their cover by mistake @@ -535,7 +535,7 @@ if(hands_use_check && !user.can_use_hands() && (iscarbon(user))) if(!intentional) return FALSE - to_chat(user, "You cannot use your hands to [key] right now!") + to_chat(user, SPAN_WARNING("You cannot use your hands to [key] right now!")) return FALSE if(isliving(user)) @@ -550,14 +550,14 @@ else // deadchat handling if(check_mute(user.client?.ckey, MUTE_DEADCHAT)) - to_chat(user, "You cannot send deadchat emotes (muted).") + to_chat(user, SPAN_WARNING("You cannot send deadchat emotes (muted).")) return FALSE if(!(user.client?.prefs.toggles & PREFTOGGLE_CHAT_DEAD)) - to_chat(user, "You have deadchat muted.") + to_chat(user, SPAN_WARNING("You have deadchat muted.")) return FALSE if(!check_rights(R_ADMIN, FALSE, user)) if(!GLOB.dsay_enabled) - to_chat(user, "Deadchat is globally muted.") + to_chat(user, SPAN_WARNING("Deadchat is globally muted.")) return FALSE /** diff --git a/code/datums/helper_datums/construction_datum.dm b/code/datums/helper_datums/construction_datum.dm index 593b960a375..4a344550d68 100644 --- a/code/datums/helper_datums/construction_datum.dm +++ b/code/datums/helper_datums/construction_datum.dm @@ -47,7 +47,7 @@ if(istype(used_atom, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = used_atom if(C.get_amount() < 4) - to_chat(user, ("There's not enough cable to finish the task.")) + to_chat(user, (SPAN_WARNING("There's not enough cable to finish the task."))) return 0 else C.use(4) @@ -55,7 +55,7 @@ else if(istype(used_atom, /obj/item/stack)) var/obj/item/stack/S = used_atom if(S.get_amount() < 5) - to_chat(user, ("There's not enough material in this stack.")) + to_chat(user, (SPAN_WARNING("There's not enough material in this stack."))) return 0 else S.use(5) @@ -101,7 +101,7 @@ if(istype(used_atom,/obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/coil=used_atom if(!coil.use(amount)) - to_chat(user, "You don't have enough cable! You need at least [amount] coils.") + to_chat(user, SPAN_WARNING("You don't have enough cable! You need at least [amount] coils.")) return 0 // TOOLS if(isitem(used_atom)) @@ -113,7 +113,7 @@ if(istype(used_atom,/obj/item/stack)) var/obj/item/stack/stack=used_atom if(stack.get_amount() < amount) - to_chat(user, "You don't have enough [stack]! You need at least [amount].") + to_chat(user, SPAN_WARNING("You don't have enough [stack]! You need at least [amount].")) return 0 stack.use(amount) return 1 diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index b660b64f842..f4a845f97f9 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -218,7 +218,7 @@ if(isliving(teleatom)) var/mob/living/MM = teleatom - to_chat(MM, "The bluespace interface on your bag of holding interferes with the teleport!") + to_chat(MM, SPAN_WARNING("The bluespace interface on your bag of holding interferes with the teleport!")) return TRUE // Random safe location finder diff --git a/code/datums/job_selection/job_selector.dm b/code/datums/job_selection/job_selector.dm index 1342a2469eb..28f6af7a9e6 100644 --- a/code/datums/job_selection/job_selector.dm +++ b/code/datums/job_selection/job_selector.dm @@ -38,7 +38,7 @@ RESTRICT_TYPE(/datum/job_selector) if(assign_role(candidate, job, latejoin = TRUE, step = "latejoin")) candidate.apply_to_player(player) else - to_chat(player, "You are unable to join the round as [job.title]. Please try another job.") + to_chat(player, SPAN_WARNING("You are unable to join the round as [job.title]. Please try another job.")) /datum/job_selector/proc/apply_roles_to_players() for(var/datum/job_candidate/candidate in assigned_candidates) diff --git a/code/datums/keybindings/ai_keybinds.dm b/code/datums/keybindings/ai_keybinds.dm index ba8c62021c8..31e566d6adf 100644 --- a/code/datums/keybindings/ai_keybinds.dm +++ b/code/datums/keybindings/ai_keybinds.dm @@ -21,7 +21,7 @@ . = ..() var/mob/living/silicon/ai/AI = C.mob if(AI.store_location(location_number)) - to_chat(AI, "Successfully set location [location_number].") + to_chat(AI, SPAN_NOTICE("Successfully set location [location_number].")) /datum/keybinding/ai/store_location/one name = "Store Location One" @@ -51,11 +51,11 @@ var/mob/living/silicon/ai/AI = C.mob if(ismecha(AI.loc)) - to_chat(AI, "You can't change camera locations while in a mech!") + to_chat(AI, SPAN_WARNING("You can't change camera locations while in a mech!")) return if(AI.stored_locations[location_number] == "unset") - to_chat(AI, "You haven't set location [location_number] yet!") + to_chat(AI, SPAN_WARNING("You haven't set location [location_number] yet!")) return AI.eyeobj.set_loc(AI.stored_locations[location_number]) diff --git a/code/datums/keybindings/communication_keybinds.dm b/code/datums/keybindings/communication_keybinds.dm index 79bf4910e28..5348cbba4a2 100644 --- a/code/datums/keybindings/communication_keybinds.dm +++ b/code/datums/keybindings/communication_keybinds.dm @@ -11,7 +11,7 @@ return if(mute_category && check_mute(C.ckey, mute_category)) - to_chat(C, "You cannot use [name] (muted).", MESSAGE_TYPE_WARNING) + to_chat(C, SPAN_DANGER("You cannot use [name] (muted)."), MESSAGE_TYPE_WARNING) return winset(C, null, "command=[C.tgui_say_create_open_command(name)];") @@ -26,11 +26,11 @@ return ..() if(!GLOB.ooc_enabled) - to_chat(C, "OOC is globally muted.", MESSAGE_TYPE_WARNING) + to_chat(C, SPAN_DANGER("OOC is globally muted."), MESSAGE_TYPE_WARNING) return if(!GLOB.dooc_enabled && C.mob.stat == DEAD) - to_chat(C, "OOC for dead mobs has been turned off.", MESSAGE_TYPE_WARNING) + to_chat(C, SPAN_DANGER("OOC for dead mobs has been turned off."), MESSAGE_TYPE_WARNING) return return ..() diff --git a/code/datums/keybindings/mob_keybinds.dm b/code/datums/keybindings/mob_keybinds.dm index 60b340b4625..398c77ca1e4 100644 --- a/code/datums/keybindings/mob_keybinds.dm +++ b/code/datums/keybindings/mob_keybinds.dm @@ -32,7 +32,7 @@ C.mob.drop_item_v() return - to_chat(C, "You have nothing to drop in your hand!") + to_chat(C, SPAN_WARNING("You have nothing to drop in your hand!")) /datum/keybinding/mob/swap_hands name = "Swap Hands" @@ -104,7 +104,7 @@ if(C.mob.pulling) C.mob.stop_pulling() else - to_chat(C, "You are not pulling anything.") + to_chat(C, SPAN_NOTICE("You are not pulling anything.")) /datum/keybinding/mob/face_dir /// The direction to face towards. diff --git a/code/datums/log_record.dm b/code/datums/log_record.dm index 2b9aef01cc2..7ec8e831342 100644 --- a/code/datums/log_record.dm +++ b/code/datums/log_record.dm @@ -67,13 +67,13 @@ return time_diff /datum/log_record/vv_edit_var(var_name, var_value) - message_admins("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.") + message_admins(SPAN_USERDANGER("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.")) log_admin("[key_name(src)] attempted to VV edit a logging object. Inform the host at once.") GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "[key_name(src)] attempted to VV edit a logging object. Inform the host at once.") return FALSE /datum/log_record/can_vv_delete() - message_admins("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.") + message_admins(SPAN_USERDANGER("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.")) log_admin("[key_name(src)] attempted to VV edit a logging object. Inform the host at once.") GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "[key_name(src)] attempted to VV edit a logging object. Inform the host at once.") return FALSE diff --git a/code/datums/log_viewer.dm b/code/datums/log_viewer.dm index 843eb32bf06..e6f27dfd4e7 100644 --- a/code/datums/log_viewer.dm +++ b/code/datums/log_viewer.dm @@ -51,7 +51,7 @@ if(!result || result.ckey != __ckey){\ log_records.Add(logs.Copy(start_index, end_index + 1)) if(length(invalid_mobs)) - to_chat(user, "The search criteria contained invalid mobs. They have been removed from the criteria.") + to_chat(user, SPAN_WARNING("The search criteria contained invalid mobs. They have been removed from the criteria.")) for(var/i in invalid_mobs) selected_mobs -= i // Cleanup @@ -202,7 +202,7 @@ if(!result || result.ckey != __ckey){\ return var/res = timeStampToNum(input) if(res < 0) - to_chat(usr, "'[input]' is an invalid input value.") + to_chat(usr, SPAN_WARNING("'[input]' is an invalid input value.")) return time_from = res show_ui(usr) @@ -213,7 +213,7 @@ if(!result || result.ckey != __ckey){\ return var/res = timeStampToNum(input) if(res < 0) - to_chat(usr, "'[input]' is an invalid input value.") + to_chat(usr, SPAN_WARNING("'[input]' is an invalid input value.")) return time_to = res @@ -232,7 +232,7 @@ if(!result || result.ckey != __ckey){\ log_records.Cut() else if(records_len > RECORD_HARD_LIMIT) - to_chat(usr, "Record limit reached. Limiting to [RECORD_HARD_LIMIT].") + to_chat(usr, SPAN_WARNING("Record limit reached. Limiting to [RECORD_HARD_LIMIT].")) log_records.Cut(RECORD_HARD_LIMIT) show_ui(usr) return diff --git a/code/datums/logging.dm b/code/datums/logging.dm index 9cf2fb84f3c..605fa859172 100644 --- a/code/datums/logging.dm +++ b/code/datums/logging.dm @@ -47,13 +47,13 @@ return log_records /datum/logging/vv_edit_var(var_name, var_value) - message_admins("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.") + message_admins(SPAN_USERDANGER("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.")) log_admin("[key_name(src)] attempted to VV edit a logging object. Inform the host at once.") GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "[key_name(src)] attempted to VV edit a logging object. Inform the host at once.") return FALSE /datum/logging/can_vv_delete() - message_admins("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.") + message_admins(SPAN_USERDANGER("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.")) log_admin("[key_name(src)] attempted to VV edit a logging object. Inform the host at once.") GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "[key_name(src)] attempted to VV edit a logging object. Inform the host at once.") return FALSE diff --git a/code/datums/mind.dm b/code/datums/mind.dm index da6b507daeb..0ed3bcaf9fd 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -709,14 +709,14 @@ new_target = input("Select target:", "Objective target", def_target) as null|anything in possible_targets else if(!length(possible_targets_random)) - to_chat(usr, "No random target found. Pick one manually.") + to_chat(usr, SPAN_WARNING("No random target found. Pick one manually.")) return new_target = pick(possible_targets_random) if(!new_target) return else - to_chat(usr, "No possible target found. Defaulting to a Free objective.") + to_chat(usr, SPAN_WARNING("No possible target found. Defaulting to a Free objective.")) new_target = "Free objective" var/objective_path = text2path("/datum/objective/[new_obj_type]") @@ -859,7 +859,7 @@ for(var/obj/item/bio_chip/mindshield/I in H.contents) if(I && I.implanted) qdel(I) - to_chat(H, "Your mindshield bio-chip has been deactivated.") + to_chat(H, SPAN_NOTICE("Your mindshield bio-chip has been deactivated.")) log_admin("[key_name(usr)] has deactivated [key_name(current)]'s mindshield bio-chip") message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s mindshield bio-chip") if("add") @@ -869,11 +869,11 @@ log_admin("[key_name(usr)] has given [key_name(current)] a mindshield bio-chip") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a mindshield bio-chip") - to_chat(H, "You somehow have become the recipient of a mindshield transplant, and it just activated!") + to_chat(H, SPAN_USERDANGER("You somehow have become the recipient of a mindshield transplant, and it just activated!")) var/datum/antagonist/rev/has_rev = has_antag_datum(/datum/antagonist/rev) if(has_rev) remove_antag_datum(/datum/antagonist/rev, silent_removal = TRUE) // we have some custom text, lets make the removal silent - to_chat(H, "The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!") + to_chat(H, SPAN_USERDANGER("The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!")) else if(href_list["revolution"]) @@ -926,7 +926,7 @@ if("flash") var/datum/antagonist/rev/head/headrev = has_antag_datum(/datum/antagonist/rev/head) if(!headrev.equip_revolutionary(TRUE, FALSE)) - to_chat(usr, "Spawning flash failed!") + to_chat(usr, SPAN_WARNING("Spawning flash failed!")) log_admin("[key_name(usr)] has given [key_name(current)] a flash") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a flash") @@ -934,7 +934,7 @@ var/list/L = current.get_contents() var/obj/item/flash/flash = locate() in L if(!flash) - to_chat(usr, "Deleting flash failed!") + to_chat(usr, SPAN_WARNING("Deleting flash failed!")) qdel(flash) log_admin("[key_name(usr)] has taken [key_name(current)]'s flash") message_admins("[key_name_admin(usr)] has taken [key_name_admin(current)]'s flash") @@ -943,7 +943,7 @@ var/list/L = current.get_contents() var/obj/item/flash/flash = locate() in L if(!flash) - to_chat(usr, "Repairing flash failed!") + to_chat(usr, SPAN_WARNING("Repairing flash failed!")) else flash.broken = FALSE log_admin("[key_name(usr)] has repaired [key_name(current)]'s flash") @@ -956,7 +956,7 @@ take_uplink() var/datum/antagonist/rev/head/headrev = has_antag_datum(/datum/antagonist/rev/head) if(!headrev.equip_revolutionary()) - to_chat(usr, "Reequipping revolutionary went wrong!") + to_chat(usr, SPAN_WARNING("Reequipping revolutionary went wrong!")) return log_admin("[key_name(usr)] has equipped [key_name(current)] as a revolutionary") message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a revolutionary") @@ -971,17 +971,17 @@ if("cultist") if(!has_antag_datum(/datum/antagonist/cultist)) add_antag_datum(/datum/antagonist/cultist) - to_chat(current, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [GET_CULT_DATA(entity_title2, "your god")] above all else. Bring It back.") + to_chat(current, SPAN_CULTITALIC("Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [GET_CULT_DATA(entity_title2, "your god")] above all else. Bring It back.")) log_and_message_admins("has culted [key_name(current)]") if("dagger") var/datum/antagonist/cultist/cultist = has_antag_datum(/datum/antagonist/cultist) if(!cultist.cult_give_item(/obj/item/melee/cultblade/dagger)) - to_chat(usr, "Spawning dagger failed!") + to_chat(usr, SPAN_WARNING("Spawning dagger failed!")) log_and_message_admins("has equipped [key_name(current)] with a cult dagger") if("runedmetal") var/datum/antagonist/cultist/cultist = has_antag_datum(/datum/antagonist/cultist) if(!cultist.cult_give_item(/obj/item/stack/sheet/runed_metal/ten)) - to_chat(usr, "Spawning runed metal failed!") + to_chat(usr, SPAN_WARNING("Spawning runed metal failed!")) log_and_message_admins("has equipped [key_name(current)] with 10 runed metal sheets") else if(href_list["wizard"]) @@ -1032,21 +1032,21 @@ if("changeling") if(!IS_CHANGELING(current)) add_antag_datum(/datum/antagonist/changeling) - to_chat(current, "Your powers have awoken. A flash of memory returns to us... We are a changeling!") + to_chat(current, SPAN_BIGGERDANGER("Your powers have awoken. A flash of memory returns to us... We are a changeling!")) log_admin("[key_name(usr)] has changelinged [key_name(current)]") message_admins("[key_name_admin(usr)] has changelinged [key_name_admin(current)]") if("autoobjectives") var/datum/antagonist/changeling/cling = has_antag_datum(/datum/antagonist/changeling) cling.give_objectives() - to_chat(usr, "The objectives for changeling [key] have been generated. You can edit them and announce manually.") + to_chat(usr, SPAN_NOTICE("The objectives for changeling [key] have been generated. You can edit them and announce manually.")) log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") if("initialdna") var/datum/antagonist/changeling/cling = has_antag_datum(/datum/antagonist/changeling) if(!cling || !length(cling.absorbed_dna)) - to_chat(usr, "Resetting DNA failed!") + to_chat(usr, SPAN_WARNING("Resetting DNA failed!")) else current.dna = cling.absorbed_dna[1] current.real_name = current.dna.real_name @@ -1138,7 +1138,7 @@ if("autoobjectives") var/datum/antagonist/vampire/V = has_antag_datum(/datum/antagonist/vampire) V.give_objectives() - to_chat(usr, "The objectives for vampire [key] have been generated. You can edit them and announce manually.") + to_chat(usr, SPAN_NOTICE("The objectives for vampire [key] have been generated. You can edit them and announce manually.")) log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") @@ -1181,7 +1181,7 @@ SSticker.mode.update_synd_icons_removed(src) special_role = null objective_holder.clear(/datum/objective/nuclear) - to_chat(current, "You have been brainwashed! You are no longer a Syndicate operative!") + to_chat(current, SPAN_WARNING("You have been brainwashed! You are no longer a Syndicate operative!")) log_admin("[key_name(usr)] has de-nuke op'd [key_name(current)]") message_admins("[key_name_admin(usr)] has de-nuke op'd [key_name_admin(current)]") if("nuclear") @@ -1193,7 +1193,7 @@ else current.real_name = "[syndicate_name()] Operative #[length(SSticker.mode.syndicates) - 1]" special_role = SPECIAL_ROLE_NUKEOPS - to_chat(current, "You are a [syndicate_name()] agent!") + to_chat(current, SPAN_NOTICE("You are a [syndicate_name()] agent!")) SSticker.mode.forge_syndicate_objectives(src) SSticker.mode.greet_syndicate(src, FALSE) // False to fix the agent message appearing twice log_admin("[key_name(usr)] has nuke op'd [key_name(current)]") @@ -1216,7 +1216,7 @@ qdel(H.w_uniform) if(!SSticker.mode.equip_syndicate(current)) - to_chat(usr, "Equipping a Syndicate failed!") + to_chat(usr, SPAN_WARNING("Equipping a Syndicate failed!")) return SSticker.mode.update_syndicate_id(current.mind, length(SSticker.mode.syndicates) == 1) log_admin("[key_name(usr)] has equipped [key_name(current)] as a nuclear operative") @@ -1234,7 +1234,7 @@ log_admin("[key_name(usr)] has given [key_name(current)] the nuclear authorization code") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] the nuclear authorization code") else - to_chat(usr, "No valid nuke found!") + to_chat(usr, SPAN_WARNING("No valid nuke found!")) else if(href_list["eventmisc"]) switch(href_list["eventmisc"]) @@ -1309,7 +1309,7 @@ if("autoobjectives") var/datum/antagonist/traitor/T = has_antag_datum(/datum/antagonist/traitor) T.give_objectives() - to_chat(usr, "The objectives for traitor [key] have been generated. You can edit them and announce manually.") + to_chat(usr, SPAN_NOTICE("The objectives for traitor [key] have been generated. You can edit them and announce manually.")) log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") @@ -1522,10 +1522,10 @@ else if(href_list["abductor"]) switch(href_list["abductor"]) if("clear") - to_chat(usr, "This will probably never be implemented. Sorry!") + to_chat(usr, SPAN_USERDANGER("This will probably never be implemented. Sorry!")) if("abductor") if(!ishuman(current)) - to_chat(usr, "This only works on humans!") + to_chat(usr, SPAN_WARNING("This only works on humans!")) return make_Abductor() log_admin("[key_name(usr)] turned [current] into an abductor.") @@ -1580,7 +1580,7 @@ if(has_antag_datum(/datum/antagonist/traitor)) var/datum/antagonist/traitor/T = has_antag_datum(/datum/antagonist/traitor) if(!T.give_uplink()) - to_chat(usr, "Equipping a Syndicate failed!") + to_chat(usr, SPAN_WARNING("Equipping a Syndicate failed!")) return log_admin("[key_name(usr)] has given [key_name(current)] an uplink") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] an uplink") @@ -1680,7 +1680,7 @@ return var/list/text = list() if(title) - text.Add("Your current objectives:") + text.Add(SPAN_NOTICE("Your current objectives:")) text.Add(gen_objective_text()) return text @@ -1710,7 +1710,7 @@ current.real_name = "[syndicate_name()] Operative #[length(SSticker.mode.syndicates) - 1]" special_role = SPECIAL_ROLE_NUKEOPS assigned_role = SPECIAL_ROLE_NUKEOPS - to_chat(current, "You are a [syndicate_name()] agent!") + to_chat(current, SPAN_NOTICE("You are a [syndicate_name()] agent!")) SSticker.mode.forge_syndicate_objectives(src) SSticker.mode.greet_syndicate(src, FALSE) // False to fix the agent message appearing twice @@ -1842,8 +1842,8 @@ var/mob/living/carbon/human/H = current H.update_inv_w_uniform() - to_chat(current, "You seem to have forgotten the events of the past 10 minutes or so, and your head aches a bit as if someone beat it savagely with a stick.") - to_chat(current, "This means you don't remember who you were working for or what you were doing.") + to_chat(current, SPAN_WARNING("You seem to have forgotten the events of the past 10 minutes or so, and your head aches a bit as if someone beat it savagely with a stick.")) + to_chat(current, SPAN_WARNING("This means you don't remember who you were working for or what you were doing.")) /datum/mind/proc/has_normal_assigned_role() if(!assigned_role) diff --git a/code/datums/ores.dm b/code/datums/ores.dm index c396fd1ee29..febc61a20d5 100644 --- a/code/datums/ores.dm +++ b/code/datums/ores.dm @@ -134,7 +134,7 @@ source.name = "gibtonite deposit" source.desc = "An active gibtonite reserve. Run!" stage = GIBTONITE_ACTIVE - source.visible_message("There was gibtonite inside! It's going to explode!") + source.visible_message(SPAN_DANGER("There was gibtonite inside! It's going to explode!")) if(!is_mining_level(source.z)) notify_admins = TRUE @@ -181,7 +181,7 @@ SIGNAL_HANDLER // COMSIG_ATTACK_BY if(istype(attacker, /obj/item/mining_scanner) || istype(attacker, /obj/item/t_scanner/adv_mining_scanner) && stage == GIBTONITE_ACTIVE) - user.visible_message("[user] holds [attacker] to [source]...", "You use [attacker] to locate where to cut off the chain reaction and attempt to stop it...") + user.visible_message(SPAN_NOTICE("[user] holds [attacker] to [source]..."), SPAN_NOTICE("You use [attacker] to locate where to cut off the chain reaction and attempt to stop it...")) defuse(source) return COMPONENT_SKIP_AFTERATTACK @@ -217,7 +217,7 @@ if(remaining_time < 0) remaining_time = 0 - source.visible_message("The chain reaction was stopped! The gibtonite had [remaining_time] reactions left till the explosion!") + source.visible_message(SPAN_NOTICE("The chain reaction was stopped! The gibtonite had [remaining_time] reactions left till the explosion!")) #undef GIBTONITE_UNSTRUCK #undef GIBTONITE_ACTIVE diff --git a/code/datums/outfits/outfit_debug.dm b/code/datums/outfits/outfit_debug.dm index 7f7205e2396..69c4278ad97 100644 --- a/code/datums/outfits/outfit_debug.dm +++ b/code/datums/outfits/outfit_debug.dm @@ -118,7 +118,7 @@ handle_traits(user) /obj/item/clothing/glasses/hud/debug/AltClick(mob/living/carbon/human/user) - to_chat(user, "You [xray ? "de" : ""]activate the x-ray setting on [src].") + to_chat(user, SPAN_NOTICE("You [xray ? "de" : ""]activate the x-ray setting on [src].")) xray = !xray if(istype(user) && user.glasses == src) handle_traits(user, TRUE) @@ -155,7 +155,7 @@ /obj/item/debug/human_spawner/examine(mob/user) . = ..() - . += "Alt-Click to toggle mind-activation on spawning." + . += SPAN_NOTICE("Alt-Click to toggle mind-activation on spawning.") /obj/item/debug/human_spawner/afterattack__legacy__attackchain(atom/target, mob/user, proximity) ..() @@ -176,7 +176,7 @@ if(!Adjacent(user)) return activate_mind = !activate_mind - to_chat(user, "Any humans spawned will [activate_mind ? "" : "not "]spawn with an initialized mind.") + to_chat(user, SPAN_NOTICE("Any humans spawned will [activate_mind ? "" : "not "]spawn with an initialized mind.")) /obj/item/rcd/combat/admin name = "AVD-CNED RCD" diff --git a/code/datums/revision.dm b/code/datums/revision.dm index 979bd37f6bd..2a4eaf37f23 100644 --- a/code/datums/revision.dm +++ b/code/datums/revision.dm @@ -74,7 +74,7 @@ GLOBAL_PROTECT(revision_info) // Dont mess with this /datum/code_revision/proc/get_testmerge_chatmessage(header = FALSE) var/list/msg = list() if(header) - msg += "The following PRs are currently testmerged:" + msg += SPAN_NOTICE("The following PRs are currently testmerged:") for(var/pr in GLOB.revision_info.testmerges) var/datum/tgs_revision_information/test_merge/tm = pr @@ -88,7 +88,7 @@ GLOBAL_PROTECT(revision_info) // Dont mess with this set desc = "Retrieve technical information about the server" var/list/msg = list() - msg += "Server Revision Info" + msg += SPAN_NOTICE("Server Revision Info") // Round ID first msg += "Round ID: [GLOB.round_id ? GLOB.round_id : "NULL"]" #ifdef PARADISE_PRODUCTION_HARDWARE diff --git a/code/datums/spell_handler/alien_spell_handler.dm b/code/datums/spell_handler/alien_spell_handler.dm index b8aa1e7cbcc..94f5f3fd73e 100644 --- a/code/datums/spell_handler/alien_spell_handler.dm +++ b/code/datums/spell_handler/alien_spell_handler.dm @@ -14,7 +14,7 @@ This was also the case with the verb implementation, it's just much more obvious return FALSE if(vessel.stored_plasma < plasma_cost) if(show_message) - to_chat(user, "You require at least [plasma_cost] plasma to use this ability!") + to_chat(user, SPAN_WARNING("You require at least [plasma_cost] plasma to use this ability!")) return FALSE return TRUE @@ -22,12 +22,12 @@ This was also the case with the verb implementation, it's just much more obvious user.use_plasma_spell(plasma_cost, user) /datum/spell_handler/alien/before_cast(list/targets, mob/living/carbon/user, datum/spell/spell) - to_chat(user, "You have [user.get_plasma()] plasma left to use.") + to_chat(user, SPAN_BOLDNOTICE("You have [user.get_plasma()] plasma left to use.")) user.update_plasma_display(user) /datum/spell_handler/alien/revert_cast(mob/living/carbon/user, datum/spell/spell) user.add_plasma(plasma_cost, user) - to_chat(user, "You have [user.get_plasma()] plasma left to use.") + to_chat(user, SPAN_BOLDNOTICE("You have [user.get_plasma()] plasma left to use.")) user.update_plasma_display(user) /mob/living/carbon/proc/get_plasma() diff --git a/code/datums/spell_handler/morph_spell_handler.dm b/code/datums/spell_handler/morph_spell_handler.dm index 336b0bc5942..8fac8b544a4 100644 --- a/code/datums/spell_handler/morph_spell_handler.dm +++ b/code/datums/spell_handler/morph_spell_handler.dm @@ -5,12 +5,12 @@ /datum/spell_handler/morph/can_cast(mob/living/simple_animal/hostile/morph/user, charge_check, show_message, datum/spell/spell) if(!istype(user)) if(show_message) - to_chat(user, "You should not be able to use this ability! Report this as a bug on github please.") + to_chat(user, SPAN_WARNING("You should not be able to use this ability! Report this as a bug on github please.")) return FALSE if(user.gathered_food < hunger_cost) if(show_message) - to_chat(user, "You require at least [hunger_cost] stored food to use this ability!") + to_chat(user, SPAN_WARNING("You require at least [hunger_cost] stored food to use this ability!")) return FALSE return TRUE @@ -20,8 +20,8 @@ /datum/spell_handler/morph/before_cast(list/targets, mob/living/simple_animal/hostile/morph/user, datum/spell/spell) if(hunger_cost) - to_chat(user, "You have [user.gathered_food] left to use.") + to_chat(user, SPAN_BOLDNOTICE("You have [user.gathered_food] left to use.")) /datum/spell_handler/morph/revert_cast(mob/living/simple_animal/hostile/morph/user, datum/spell/spell) user.add_food(hunger_cost) - to_chat(user, "You have [user.gathered_food] left to use.") + to_chat(user, SPAN_BOLDNOTICE("You have [user.gathered_food] left to use.")) diff --git a/code/datums/spell_handler/vampire.dm b/code/datums/spell_handler/vampire.dm index 837976a6130..aee63cc9e4e 100644 --- a/code/datums/spell_handler/vampire.dm +++ b/code/datums/spell_handler/vampire.dm @@ -13,21 +13,21 @@ if(user.stat >= DEAD) // TODO check if needed if(show_message) - to_chat(user, "Not while you're dead!") + to_chat(user, SPAN_WARNING("Not while you're dead!")) return FALSE if(vampire.nullified >= VAMPIRE_COMPLETE_NULLIFICATION && !fullpower) // above 100 nullification vampire powers are useless if(show_message) - to_chat(user, "Something is blocking your powers!") + to_chat(user, SPAN_WARNING("Something is blocking your powers!")) return FALSE if(vampire.bloodusable < required_blood) if(show_message) - to_chat(user, "You require at least [required_blood] units of usable blood to do that!") + to_chat(user, SPAN_WARNING("You require at least [required_blood] units of usable blood to do that!")) return FALSE //chapel check if(istype(get_area(user), /area/station/service/chapel) && !fullpower) if(show_message) - to_chat(user, "Your powers are useless on this holy ground.") + to_chat(user, SPAN_WARNING("Your powers are useless on this holy ground.")) return FALSE return TRUE @@ -50,6 +50,6 @@ if(!required_blood) return var/datum/antagonist/vampire/vampire = user.mind.has_antag_datum(/datum/antagonist/vampire) - to_chat(user, "You have [vampire.bloodusable] left to use.") + to_chat(user, SPAN_BOLDNOTICE("You have [vampire.bloodusable] left to use.")) SSblackbox.record_feedback("tally", "vampire_powers_used", 1, "[spell]") // Only log abilities which require blood diff --git a/code/datums/spell_targeting/spell_targeting.dm b/code/datums/spell_targeting/spell_targeting.dm index 5183dd73fb4..71f990364fd 100644 --- a/code/datums/spell_targeting/spell_targeting.dm +++ b/code/datums/spell_targeting/spell_targeting.dm @@ -50,7 +50,7 @@ target = A if(target) - to_chat(user, "Only one target found. Casting [spell] on [target]!") + to_chat(user, SPAN_WARNING("Only one target found. Casting [spell] on [target]!")) spell.try_perform(list(target), user) return TRUE return FALSE diff --git a/code/datums/spells/alien_spells/basetype_alien_touch.dm b/code/datums/spells/alien_spells/basetype_alien_touch.dm index a035affec2d..de0bc476ffd 100644 --- a/code/datums/spells/alien_spells/basetype_alien_touch.dm +++ b/code/datums/spells/alien_spells/basetype_alien_touch.dm @@ -23,7 +23,7 @@ /datum/spell/touch/alien_spell/Click(mob/user = usr) if(attached_hand) - to_chat(user, "You withdraw your [src].") + to_chat(user, SPAN_NOTICEALIEN("You withdraw your [src].")) ..() /datum/spell/touch/alien_spell/write_custom_logs(list/targets, mob/user) diff --git a/code/datums/spells/alien_spells/build_resin_structure.dm b/code/datums/spells/alien_spells/build_resin_structure.dm index 0d1cb5d8366..dfe7a50cf6f 100644 --- a/code/datums/spells/alien_spells/build_resin_structure.dm +++ b/code/datums/spells/alien_spells/build_resin_structure.dm @@ -24,15 +24,15 @@ revert_cast() return if(isspaceturf(turf_to_spawn_at)) - to_chat(user, "You cannot build the [choice] while in space!") + to_chat(user, SPAN_ALERTALIEN("You cannot build the [choice] while in space!")) revert_cast(user) return var/obj/structure/alien/resin/resin_on_turf = locate() in turf_to_spawn_at if(resin_on_turf) - to_chat(user, "There is already a resin construction here.") + to_chat(user, SPAN_DANGER("There is already a resin construction here.")) revert_cast(user) return - user.visible_message("[user] vomits up a thick purple substance and shapes it!") + user.visible_message(SPAN_ALERTALIEN("[user] vomits up a thick purple substance and shapes it!")) switch(choice) if(RESIN_WALL) new /obj/structure/alien/resin/wall(turf_to_spawn_at) @@ -57,7 +57,7 @@ /obj/item/melee/touch_attack/alien/consume_resin/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(target == user) - to_chat(user, "You stop trying to consume resin.") + to_chat(user, SPAN_NOTICEALIEN("You stop trying to consume resin.")) return if(!proximity_flag || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return @@ -66,19 +66,19 @@ qdel(target) if(istype(target, /obj/structure/alien/weeds/node)) C.add_plasma(50) - C.visible_message("[C] rips and tears into [target] with their teeth!", "You viciously rip apart and consume [target]!") + C.visible_message(SPAN_ALERTALIEN("[C] rips and tears into [target] with their teeth!"), SPAN_ALERTALIEN("You viciously rip apart and consume [target]!")) return if(!plasma_check(10, C)) - to_chat(C, "You don't have enough plasma to perform this action!") + to_chat(C, SPAN_NOTICEALIEN("You don't have enough plasma to perform this action!")) return var/static/list/resin_objects = list(/obj/structure/alien/resin, /obj/structure/alien/egg, /obj/structure/bed/nest) for(var/resin_type in resin_objects) if(!istype(target, resin_type)) continue - C.visible_message("[C] rips and tears into [target] with their teeth!") + C.visible_message(SPAN_ALERTALIEN("[C] rips and tears into [target] with their teeth!")) if(!do_after(C, 3 SECONDS, target = target)) return - to_chat(C, "You viciously rip apart and consume [target]!") + to_chat(C, SPAN_ALERTALIEN("You viciously rip apart and consume [target]!")) C.add_plasma(-10) qdel(target) handle_delete(user) diff --git a/code/datums/spells/alien_spells/corrosive_acid_spit.dm b/code/datums/spells/alien_spells/corrosive_acid_spit.dm index 3e03006e279..d8e4de19e8e 100644 --- a/code/datums/spells/alien_spells/corrosive_acid_spit.dm +++ b/code/datums/spells/alien_spells/corrosive_acid_spit.dm @@ -14,27 +14,27 @@ /obj/item/melee/touch_attack/alien/corrosive_acid/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(target == user) - to_chat(user, "You withdraw your readied acid.") + to_chat(user, SPAN_NOTICEALIEN("You withdraw your readied acid.")) return if(!proximity_flag || isalien(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) // Don't want xenos ditching out of cuffs return var/mob/living/carbon/C = user if(!plasma_check(200, C)) - to_chat(C, "You don't have enough plasma to perform this action!") + to_chat(C, SPAN_NOTICEALIEN("You don't have enough plasma to perform this action!")) return var/acid_damage_modifier = 100 if(isliving(target)) acid_damage_modifier = 50 if(target.acid_act(2 * acid_damage_modifier, acid_damage_modifier)) - visible_message("[C] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!") + visible_message(SPAN_ALERTALIEN("[C] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!")) add_attack_logs(C, target, "Applied corrosive acid") // Want this logged C.add_plasma(-200) else - to_chat(C, "You cannot dissolve this object.") + to_chat(C, SPAN_NOTICEALIEN("You cannot dissolve this object.")) handle_delete(user) /obj/item/melee/touch_attack/alien/corrosive_acid/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is dripping with vile corrosive goo!" + return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is dripping with vile corrosive goo!") /datum/spell/touch/alien_spell/burning_touch name = "Blazing touch" @@ -52,13 +52,13 @@ /obj/item/melee/touch_attack/alien/burning_touch/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(target == user) - to_chat(user, "You cool down your boiled aid.") + to_chat(user, SPAN_NOTICEALIEN("You cool down your boiled aid.")) return if(!proximity_flag || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return var/mob/living/carbon/C = user if(!plasma_check(100, C)) - to_chat(C, "You don't have enough plasma to perform this action!") + to_chat(C, SPAN_NOTICEALIEN("You don't have enough plasma to perform this action!")) return if(isliving(target)) var/mob/living/guy_to_burn = target @@ -66,18 +66,18 @@ guy_to_burn.adjustFireLoss(60) guy_to_burn.adjust_fire_stacks(3) guy_to_burn.IgniteMob() - C.visible_message("[C] touches [target] and a fireball erupts on contact!") + C.visible_message(SPAN_ALERTALIEN("[C] touches [target] and a fireball erupts on contact!")) C.add_plasma(-100) else var/static/list/resin_objects = list(/obj/structure/alien/resin, /obj/structure/alien/egg, /obj/structure/bed/nest) for(var/resin_type in resin_objects) if(!istype(target, resin_type)) continue - C.visible_message("[C] touches [target] and burns right through it!") + C.visible_message(SPAN_ALERTALIEN("[C] touches [target] and burns right through it!")) C.add_plasma(-100) qdel(target) handle_delete(user) /obj/item/melee/touch_attack/alien/burning_touch/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] has a shimmering mirage around it!" + return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] has a shimmering mirage around it!") diff --git a/code/datums/spells/alien_spells/larva_evolve.dm b/code/datums/spells/alien_spells/larva_evolve.dm index b10f7d1bebe..b98519f2aa8 100644 --- a/code/datums/spells/alien_spells/larva_evolve.dm +++ b/code/datums/spells/alien_spells/larva_evolve.dm @@ -12,18 +12,18 @@ return if(user.handcuffed || user.legcuffed) - to_chat(user, "You cannot evolve when you are cuffed.") + to_chat(user, SPAN_WARNING("You cannot evolve when you are cuffed.")) return if(user.amount_grown < user.max_grown) - to_chat(user, "You are not fully grown.") + to_chat(user, SPAN_WARNING("You are not fully grown.")) return //green is impossible to read, so i made these blue and changed the formatting slightly - to_chat(user, "You are growing into a beautiful alien! It is time to choose a caste.") - to_chat(user, "There are three to choose from:") - to_chat(user, "Hunters are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.") - to_chat(user, "Sentinels are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.") - to_chat(user, "Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.") + to_chat(user, SPAN_BOLDNOTICE("You are growing into a beautiful alien! It is time to choose a caste.")) + to_chat(user, SPAN_NOTICE("There are three to choose from:")) + to_chat(user, "Hunters [SPAN_NOTICE("are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.")]") + to_chat(user, "Sentinels [SPAN_NOTICE("are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.")]") + to_chat(user, "Drones [SPAN_NOTICE("are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.")]") var/static/list/to_evolve = list("Hunter" = image(icon = 'icons/mob/alien.dmi', icon_state = "alienh_s"), "Sentinel" = image(icon = 'icons/mob/alien.dmi', icon_state = "aliens_s"), "Drone" = image(icon = 'icons/mob/alien.dmi', icon_state = "aliend_s")) diff --git a/code/datums/spells/alien_spells/lay_alien_eggs.dm b/code/datums/spells/alien_spells/lay_alien_eggs.dm index bd8bb45d5da..ed4761566bd 100644 --- a/code/datums/spells/alien_spells/lay_alien_eggs.dm +++ b/code/datums/spells/alien_spells/lay_alien_eggs.dm @@ -30,10 +30,10 @@ target.color = "#c72623" addtimer(CALLBACK(src, PROC_REF(blow_it_up), target, user), 3 SECONDS) - to_chat(user, "[target] will explode in 3 seconds!") + to_chat(user, SPAN_NOTICEALIEN("[target] will explode in 3 seconds!")) return TRUE /datum/spell/alien_spell/combust_facehuggers/proc/blow_it_up(obj/target, mob/user) add_attack_logs(user, target, "Caused it to explode") explosion(get_turf(target), 0, 2, 3, 3, cause = "[user.ckey]: [name]") - to_chat(user, "[target] has detonated!") + to_chat(user, SPAN_NOTICEALIEN("[target] has detonated!")) diff --git a/code/datums/spells/alien_spells/neurotoxin_spit.dm b/code/datums/spells/alien_spells/neurotoxin_spit.dm index 79290eacacf..16f1166a995 100644 --- a/code/datums/spells/alien_spells/neurotoxin_spit.dm +++ b/code/datums/spells/alien_spells/neurotoxin_spit.dm @@ -3,8 +3,8 @@ desc = "This ability allows you to fire some neurotoxin. Knocks down anyone you hit, applying a small amount of stamina damage as well." base_cooldown = 3 SECONDS plasma_cost = 50 - selection_activated_message = "Your prepare some neurotoxin!" - selection_deactivated_message = "You swallow your prepared neurotoxin." + selection_activated_message = SPAN_NOTICE("Your prepare some neurotoxin!") + selection_deactivated_message = SPAN_NOTICE("You swallow your prepared neurotoxin.") var/neurotoxin_type = /obj/projectile/bullet/neurotoxin action_icon_state = "alien_neurotoxin_0" diff --git a/code/datums/spells/alien_spells/plasma_weeds.dm b/code/datums/spells/alien_spells/plasma_weeds.dm index 4be86a5ca08..70761992b92 100644 --- a/code/datums/spells/alien_spells/plasma_weeds.dm +++ b/code/datums/spells/alien_spells/plasma_weeds.dm @@ -13,24 +13,24 @@ /datum/spell/alien_spell/plant_weeds/cast(list/targets, mob/living/carbon/user) var/turf/T = user.loc if(locate(weed_type) in T) - to_chat(user, "There's already \a [weed_name] here.") + to_chat(user, SPAN_NOTICEALIEN("There's already \a [weed_name] here.")) revert_cast() return if(isspaceturf(T)) - to_chat(user, "You cannot plant [weed_name]s in space.") + to_chat(user, SPAN_NOTICEALIEN("You cannot plant [weed_name]s in space.")) revert_cast() return if(!isturf(T)) - to_chat(user, "You cannot plant [weed_name]s inside something!") + to_chat(user, SPAN_NOTICEALIEN("You cannot plant [weed_name]s inside something!")) revert_cast() return - user.visible_message("Vines burst from the back of [user], securing themselves to the ground and swarming onto [user.loc].", "You begin infesting [user.loc] with [initial(weed_type.name)].") + user.visible_message(SPAN_WARNING("Vines burst from the back of [user], securing themselves to the ground and swarming onto [user.loc]."), SPAN_WARNING("You begin infesting [user.loc] with [initial(weed_type.name)].")) if(requires_do_after && !do_mob(user, user, 2 SECONDS)) revert_cast() return - user.visible_message("[user] has planted \a [weed_name]!") + user.visible_message(SPAN_ALERTALIEN("[user] has planted \a [weed_name]!")) new weed_type(T) diff --git a/code/datums/spells/alien_spells/queen_evolve.dm b/code/datums/spells/alien_spells/queen_evolve.dm index fc330630666..9bf33380edc 100644 --- a/code/datums/spells/alien_spells/queen_evolve.dm +++ b/code/datums/spells/alien_spells/queen_evolve.dm @@ -11,12 +11,12 @@ /// First we check if there is a living queen for(var/mob/living/carbon/alien/humanoid/queen/living_queen in GLOB.alive_mob_list) if(living_queen.key || !living_queen.get_int_organ(/obj/item/organ/internal/brain)) // We do a once over to check the queen didn't end up going away into the magic land of semi-dead - to_chat(user, "We already have a living queen.") + to_chat(user, SPAN_NOTICE("We already have a living queen.")) revert_cast(user) return // If there is no queen, that means we can evolve - to_chat(user, "You begin to evolve!") - user.visible_message("[user] begins to twist and contort!") + to_chat(user, SPAN_NOTICEALIEN("You begin to evolve!")) + user.visible_message(SPAN_ALERTALIEN("[user] begins to twist and contort!")) var/mob/living/carbon/alien/humanoid/queen/new_xeno = new(get_turf(user)) user.mind.transfer_to(new_xeno) new_xeno.mind.name = new_xeno.name diff --git a/code/datums/spells/alien_spells/regurgitate.dm b/code/datums/spells/alien_spells/regurgitate.dm index 4e91808e931..7dfb56aef0e 100644 --- a/code/datums/spells/alien_spells/regurgitate.dm +++ b/code/datums/spells/alien_spells/regurgitate.dm @@ -13,6 +13,6 @@ return user.stomach_contents -= M M.forceMove(output_loc) - user.visible_message("[user] hurls out the contents of [p_their()] stomach!") + user.visible_message(SPAN_ALERTALIEN("[user] hurls out the contents of [p_their()] stomach!")) return - user.visible_message("[user] dry heaves!") + user.visible_message(SPAN_ALERTALIEN("[user] dry heaves!")) diff --git a/code/datums/spells/alien_spells/tail_lash.dm b/code/datums/spells/alien_spells/tail_lash.dm index 929d0ed9532..3bf0cdc71ce 100644 --- a/code/datums/spells/alien_spells/tail_lash.dm +++ b/code/datums/spells/alien_spells/tail_lash.dm @@ -16,7 +16,7 @@ for(var/mob/living/to_knock_down in orange(1, user)) if(to_knock_down.KnockDown(10 SECONDS)) cast_resolved = TRUE - to_knock_down.visible_message("[user] sweeps [to_knock_down] off their feet!") + to_knock_down.visible_message(SPAN_NOTICEALIEN("[user] sweeps [to_knock_down] off their feet!")) if(!cast_resolved) revert_cast() diff --git a/code/datums/spells/alien_spells/transfer_plasma.dm b/code/datums/spells/alien_spells/transfer_plasma.dm index 4123f0334c4..10ae8e2ce53 100644 --- a/code/datums/spells/alien_spells/transfer_plasma.dm +++ b/code/datums/spells/alien_spells/transfer_plasma.dm @@ -16,8 +16,8 @@ user.Beam(target, icon_state = "sendbeam", time = 2 SECONDS, beam_color = "#f180bd") target.add_plasma(50) - to_chat(user, "You have transferred 50 plasma to [target].") - to_chat(target, "[user] has transferred 50 plasma to you!") + to_chat(user, SPAN_NOTICEALIEN("You have transferred 50 plasma to [target].")) + to_chat(target, SPAN_NOTICEALIEN("[user] has transferred 50 plasma to you!")) return TRUE /datum/spell/alien_spell/syphon_plasma @@ -49,6 +49,6 @@ user.add_plasma(150) plasma_syphoned = 50 vessel.stored_plasma = vessel.stored_plasma - 150 - to_chat(user, "You have syphoned [plasma_syphoned] plasma from [target].") - to_chat(target, "[user] has syphoned [plasma_syphoned] from you!") + to_chat(user, SPAN_NOTICEALIEN("You have syphoned [plasma_syphoned] plasma from [target].")) + to_chat(target, SPAN_NOTICEALIEN("[user] has syphoned [plasma_syphoned] from you!")) return TRUE diff --git a/code/datums/spells/alien_spells/whisper.dm b/code/datums/spells/alien_spells/whisper.dm index a280b63719a..394fbcc3627 100644 --- a/code/datums/spells/alien_spells/whisper.dm +++ b/code/datums/spells/alien_spells/whisper.dm @@ -23,6 +23,6 @@ return log_say("(AWHISPER to [key_name(target)]) [msg]", user) to_chat(target, "You hear a strange, alien voice in your head... [msg]") - to_chat(user, "You said: [msg] to [target]") + to_chat(user, SPAN_NOTICEALIEN("You said: [msg] to [target]")) for(var/mob/dead/observer/ghosts in GLOB.player_list) ghosts.show_message("Alien message from [user] ([ghost_follow_link(user, ghost=ghosts)]) to [target] ([ghost_follow_link(target, ghost=ghosts)]): [msg]") diff --git a/code/datums/spells/banana_touch.dm b/code/datums/spells/banana_touch.dm index 9d3d27ba953..181892660d9 100644 --- a/code/datums/spells/banana_touch.dm +++ b/code/datums/spells/banana_touch.dm @@ -27,7 +27,7 @@ . = ..() if(is_apprentice_spell && iswizard(target) && target != user) - to_chat(user, "Seriously?! Honk THEM, not me!") + to_chat(user, SPAN_DANGER("Seriously?! Honk THEM, not me!")) return if(!proximity_flag || target == user || blocked_by_antimagic || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return diff --git a/code/datums/spells/bloodcrawl.dm b/code/datums/spells/bloodcrawl.dm index 1314f938e32..cf91f237050 100644 --- a/code/datums/spells/bloodcrawl.dm +++ b/code/datums/spells/bloodcrawl.dm @@ -84,7 +84,7 @@ /datum/spell/bloodcrawl/proc/block_hands(mob/living/carbon/C) if(C.l_hand || C.r_hand) - to_chat(C, "You may not hold items while blood crawling!") + to_chat(C, SPAN_WARNING("You may not hold items while blood crawling!")) return FALSE var/obj/item/bloodcrawl/B1 = new(C) var/obj/item/bloodcrawl/B2 = new(C) @@ -107,8 +107,8 @@ /datum/spell/bloodcrawl/proc/sink_animation(atom/A, mob/living/L) var/turf/mob_loc = get_turf(L) mob_loc.visible_message( - "[L] sinks into [A].", - "You hear something sinking into a thick liquid." + SPAN_DANGER("[L] sinks into [A]."), + SPAN_DANGER("You hear something sinking into a thick liquid.") ) playsound(mob_loc, 'sound/misc/enter_blood.ogg', 100, TRUE, -1) new /obj/effect/temp_visual/dir_setting/bloodcrawl(mob_loc, L.dir, "jaunt") @@ -121,8 +121,8 @@ return if(victim.stat == CONSCIOUS) A.visible_message( - "[victim] kicks free of [A] just before entering it!", - "You hear something sinking into a thick liquid and someone struggling!" + SPAN_WARNING("[victim] kicks free of [A] just before entering it!"), + SPAN_WARNING("You hear something sinking into a thick liquid and someone struggling!") ) L.stop_pulling() return @@ -130,14 +130,14 @@ victim.forceMove(holder) victim.emote("scream") A.visible_message( - "[L] drags [victim] into [A]!", - "You hear something being dragged into a thick liquid!" + SPAN_DANGER("[L] drags [victim] into [A]!"), + SPAN_DANGER("You hear something being dragged into a thick liquid!") ) L.stop_pulling() to_chat(L, "You begin to feast on [victim]. You cannot move while you are doing this.") A.visible_message( - "Loud eating sounds come from the blood...", - "The sound of torn flesh and snapping bones fills the air..." + SPAN_DANGER("Loud eating sounds come from the blood..."), + SPAN_DANGER("The sound of torn flesh and snapping bones fills the air...") ) var/sound if(isslaughterdemon(L)) @@ -151,21 +151,21 @@ sleep(3 SECONDS) if(!victim) - to_chat(L, "You happily devour... nothing? Your meal vanished at some point!") + to_chat(L, SPAN_DANGER("You happily devour... nothing? Your meal vanished at some point!")) return if(victim.mind) - to_chat(L, "You devour [victim]. Your health is fully restored.") + to_chat(L, SPAN_WARNING("You devour [victim]. Your health is fully restored.")) L.adjustBruteLoss(-1000) L.adjustFireLoss(-1000) L.adjustOxyLoss(-1000) L.adjustToxLoss(-1000) else if((ishuman(victim) || isrobot(victim))) - to_chat(L, "You devour [victim], but their lack of intelligence renders their flesh dull and unappetizing, leaving you wanting for more.") + to_chat(L, SPAN_WARNING("You devour [victim], but their lack of intelligence renders their flesh dull and unappetizing, leaving you wanting for more.")) L.adjustBruteLoss(-50) if(!isslaughterdemon(L)) L.adjustFireLoss(-50) else if(isanimal_or_basicmob(victim)) - to_chat(L, "You devour [victim], but this measly meal barely sates your appetite!") + to_chat(L, SPAN_WARNING("You devour [victim], but this measly meal barely sates your appetite!")) L.adjustBruteLoss(-25) if(!isslaughterdemon(L)) L.adjustFireLoss(-25) @@ -173,7 +173,7 @@ if(isslaughterdemon(L)) var/mob/living/basic/demon/slaughter/demon = L demon.devoured++ - to_chat(victim, "You feel teeth sink into your flesh, and the--") + to_chat(victim, SPAN_USERDANGER("You feel teeth sink into your flesh, and the--")) var/obj/item/organ/internal/regenerative_core/legion/core = victim.get_int_organ(/obj/item/organ/internal/regenerative_core/legion) if(core) core.remove(victim) @@ -217,8 +217,8 @@ var/list/voice = list('sound/hallucinations/behind_you1.ogg', 'sound/hallucinations/im_here1.ogg', 'sound/hallucinations/turn_around1.ogg', 'sound/hallucinations/i_see_you1.ogg') playsound(tele_loc, pick(voice),50, TRUE, -1) A.visible_message( - "[L] rises out of [A]!", - "You hear something rising out of a thick liquid!" + SPAN_DANGER("[L] rises out of [A]!"), + SPAN_DANGER("You hear something rising out of a thick liquid!") ) playsound(get_turf(tele_loc), 'sound/misc/exit_blood.ogg', 100, TRUE, -1) @@ -230,8 +230,8 @@ /datum/spell/bloodcrawl/proc/rise_message(atom/A) A.visible_message( - "[A] starts to bubble...", - "You can hear bubbling..." + SPAN_DANGER("[A] starts to bubble..."), + SPAN_DANGER("You can hear bubbling...") ) /datum/spell/bloodcrawl/proc/post_phase_out(atom/A, mob/living/L) @@ -246,7 +246,7 @@ /datum/spell/bloodcrawl/proc/phasein(atom/A, mob/living/L) if(L.notransform) - to_chat(L, "Finish eating first!") + to_chat(L, SPAN_WARNING("Finish eating first!")) return FALSE rise_message(A) if(!do_after(L, 2 SECONDS, target = A)) @@ -280,7 +280,7 @@ return ..() if(current_demon.block_shadow_crawl) - to_chat(user, "You are too concentrated to activate [name].") + to_chat(user, SPAN_WARNING("You are too concentrated to activate [name].")) return FALSE return ..() @@ -298,7 +298,7 @@ return /datum/spell/bloodcrawl/shadow_crawl/sink_animation(atom/A, mob/living/L) - A.visible_message("[L] sinks into the shadows...") + A.visible_message(SPAN_DANGER("[L] sinks into the shadows...")) new /obj/effect/temp_visual/dir_setting/bloodcrawl(get_turf(L), L.dir, "shadowwalk_disappear") /datum/spell/bloodcrawl/shadow_crawl/post_phase_in(mob/living/L, obj/effect/dummy/slaughter/holder) diff --git a/code/datums/spells/chaplain_bless.dm b/code/datums/spells/chaplain_bless.dm index fab3e98b5fd..55b44def1ce 100644 --- a/code/datums/spells/chaplain_bless.dm +++ b/code/datums/spells/chaplain_bless.dm @@ -8,8 +8,8 @@ invocation = "none" antimagic_flags = NONE - selection_activated_message = "You prepare a blessing. Click on a target to start blessing." - selection_deactivated_message = "The crew will be blessed another time." + selection_activated_message = SPAN_NOTICE("You prepare a blessing. Click on a target to start blessing.") + selection_deactivated_message = SPAN_NOTICE("The crew will be blessed another time.") cooldown_min = 20 action_icon_state = "shield" @@ -42,9 +42,9 @@ spawn(0) // allows cast to complete even if recipient ignores the prompt if(tgui_alert(target, "[user] wants to bless you, in the name of [user.p_their()] religion. Accept?", "Accept Blessing?", list("Yes", "No")) == "Yes") // prevents forced conversions - user.visible_message("[user] starts blessing [target] in the name of [SSticker.Bible_deity_name].", "You start blessing [target] in the name of [SSticker.Bible_deity_name].") + user.visible_message("[user] starts blessing [target] in the name of [SSticker.Bible_deity_name].", SPAN_NOTICE("You start blessing [target] in the name of [SSticker.Bible_deity_name].")) if(do_after(user, 150, target = target)) - user.visible_message("[user] has blessed [target] in the name of [SSticker.Bible_deity_name].", "You have blessed [target] in the name of [SSticker.Bible_deity_name].") + user.visible_message("[user] has blessed [target] in the name of [SSticker.Bible_deity_name].", SPAN_NOTICE("You have blessed [target] in the name of [SSticker.Bible_deity_name].")) if(!target.mind.isblessed) target.mind.isblessed = TRUE user.mind.num_blessed++ diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm index 851f919480c..405a794a032 100644 --- a/code/datums/spells/charge.dm +++ b/code/datums/spells/charge.dm @@ -25,9 +25,9 @@ if(M.mind) for(var/datum/spell/S in M.mind.spell_list) S.cooldown_handler.revert_cast() - to_chat(M, "You feel raw magical energy flowing through you, it feels good!") + to_chat(M, SPAN_NOTICE("You feel raw magical energy flowing through you, it feels good!")) else - to_chat(M, "You feel very strange for a moment, but then it passes.") + to_chat(M, SPAN_NOTICE("You feel very strange for a moment, but then it passes.")) burnt_out = TRUE charged_item = M break @@ -36,20 +36,20 @@ if(istype(item, /obj/item/spellbook/oneuse)) var/obj/item/spellbook/oneuse/I = item if(prob(80)) - L.visible_message("[I] catches fire!") + L.visible_message(SPAN_WARNING("[I] catches fire!")) qdel(I) else I.used = FALSE charged_item = I break else - to_chat(L, "Glowing red letters appear on the front cover...") - to_chat(L, "[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]") + to_chat(L, SPAN_CAUTION("Glowing red letters appear on the front cover...")) + to_chat(L, SPAN_WARNING("[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]")) burnt_out = TRUE else if(istype(item, /obj/item/book/granter)) var/obj/item/book/granter/I = item if(prob(80)) - L.visible_message("[I] catches fire!") + L.visible_message(SPAN_WARNING("[I] catches fire!")) qdel(I) else I.uses += 1 @@ -84,8 +84,8 @@ charged_item = item break if(!charged_item) - to_chat(L, "You feel magical power surging to your hands, but the feeling rapidly fades...") + to_chat(L, SPAN_NOTICE("You feel magical power surging to your hands, but the feeling rapidly fades...")) else if(burnt_out) - to_chat(L, "[charged_item] doesn't seem to be reacting to the spell...") + to_chat(L, SPAN_CAUTION("[charged_item] doesn't seem to be reacting to the spell...")) else - to_chat(L, "[charged_item] suddenly feels very warm!") + to_chat(L, SPAN_NOTICE("[charged_item] suddenly feels very warm!")) diff --git a/code/datums/spells/charge_up.dm b/code/datums/spells/charge_up.dm index 1d1d6fad2b0..faab8736fef 100644 --- a/code/datums/spells/charge_up.dm +++ b/code/datums/spells/charge_up.dm @@ -37,18 +37,18 @@ var/energy_perc = get_energy_charge() / max_charge_time if(energy_perc < 0.5) cooldown_handler.start_recharge((1 - energy_perc) * cooldown_handler.recharge_duration) // Shorten the cooldown based on how long it was charged for. - to_chat(user, "[stop_charging_text]") + to_chat(user, SPAN_NOTICE("[stop_charging_text]")) Reset(user) return TRUE else - to_chat(user, "[stop_charging_fail_text]") + to_chat(user, SPAN_DANGER("[stop_charging_fail_text]")) return FALSE /datum/spell/charge_up/proc/get_energy_charge() return min(world.time - start_time, max_charge_time) /datum/spell/charge_up/proc/StartChargeup(mob/user) - to_chat(user, "[start_charging_text]") + to_chat(user, SPAN_NOTICE("[start_charging_text]")) user.add_overlay(charge_up_overlay) playsound(user, charge_sound, 50, FALSE, channel = charge_sound.channel) start_time = world.time @@ -70,7 +70,7 @@ ..() /datum/spell/charge_up/proc/Discharge(mob/user) - to_chat(user, "You lose control over the spell!") + to_chat(user, SPAN_DANGER("You lose control over the spell!")) Reset(user) spend_spell_cost(user) cooldown_handler.start_recharge() diff --git a/code/datums/spells/cluwne.dm b/code/datums/spells/cluwne.dm index 76de292c341..3e3b9981ea6 100644 --- a/code/datums/spells/cluwne.dm +++ b/code/datums/spells/cluwne.dm @@ -14,7 +14,7 @@ if(istype(wear_suit, /obj/item/clothing/suit/mod)) // Check if the modsuit is deployed modsuit_control.active = FALSE // Instantly deactivate the modsuit - if it was activated modsuit_control.quick_deploy(src) // The modsuit is no longer deployed - to_chat(src, "You feel funny.") + to_chat(src, SPAN_DANGER("You feel funny.")) if(!get_int_organ(/obj/item/organ/internal/brain/cluwne)) var/obj/item/organ/internal/brain/cluwne/idiot_brain = new idiot_brain.insert(src, make_cluwne = 0) @@ -44,7 +44,7 @@ equip_to_slot_if_possible(new /obj/item/clothing/shoes/cursedclown, ITEM_SLOT_SHOES, TRUE, TRUE) /mob/living/carbon/human/proc/makeAntiCluwne() - to_chat(src, "You don't feel very funny.") + to_chat(src, SPAN_DANGER("You don't feel very funny.")) adjustBrainLoss(-120) set_nutrition(NUTRITION_LEVEL_STARVING) overeatduration = 0 diff --git a/code/datums/spells/disguise_self.dm b/code/datums/spells/disguise_self.dm index 6b847508499..c0a0da0ce99 100644 --- a/code/datums/spells/disguise_self.dm +++ b/code/datums/spells/disguise_self.dm @@ -19,13 +19,13 @@ var/mob/living/carbon/human/H = user H.emote("spin") - to_chat(H, "You start spinning in place and casting [src]...") + to_chat(H, SPAN_NOTICE("You start spinning in place and casting [src]...")) if(do_after(H, 2 SECONDS, FALSE, H)) finish_disguise(H) return TRUE else H.slip("your own foot", 1 SECONDS, 0, 0, 1, "trip") - to_chat(H, "You must stand still to cast [src]!") + to_chat(H, SPAN_DANGER("You must stand still to cast [src]!")) return FALSE /datum/spell/disguise_self/proc/finish_disguise(mob/living/carbon/human/H) diff --git a/code/datums/spells/ethereal_jaunt.dm b/code/datums/spells/ethereal_jaunt.dm index 5779e346cd1..6945881d46b 100644 --- a/code/datums/spells/ethereal_jaunt.dm +++ b/code/datums/spells/ethereal_jaunt.dm @@ -26,7 +26,7 @@ if(SEND_SIGNAL(target, COMSIG_MOB_PRE_JAUNT, target) & COMPONENT_BLOCK_JAUNT) continue if(!target.can_safely_leave_loc()) // No more brainmobs hopping out of their brains - to_chat(target, "You are somehow too bound to your current location to abandon it.") + to_chat(target, SPAN_WARNING("You are somehow too bound to your current location to abandon it.")) continue INVOKE_ASYNC(src, PROC_REF(do_jaunt), target) @@ -103,7 +103,7 @@ forceMove(newLoc) return if(!IS_DIR_DIAGONAL(direction)) - to_chat(user, "Something is blocking the way!") + to_chat(user, SPAN_WARNING("Something is blocking the way!")) return var/turf/possible_1 = get_step(src, turn(direction, 45)) var/turf/possible_2 = get_step(src, turn(direction, -45)) @@ -113,7 +113,7 @@ if(can_move(possible_2)) forceMove(possible_2) return - to_chat(user, "Something is blocking the way!") + to_chat(user, SPAN_WARNING("Something is blocking the way!")) /obj/effect/dummy/spell_jaunt/proc/can_move(turf/T) return TRUE diff --git a/code/datums/spells/horsemask.dm b/code/datums/spells/horsemask.dm index 8c3ff442c3d..ecb5eb9f555 100644 --- a/code/datums/spells/horsemask.dm +++ b/code/datums/spells/horsemask.dm @@ -7,8 +7,8 @@ invocation_type = "shout" cooldown_min = 30 //30 deciseconds reduction per rank - selection_activated_message = "You start to quietly neigh an incantation. Click on or near a target to cast the spell." - selection_deactivated_message = "You stop neighing to yourself." + selection_activated_message = SPAN_NOTICE("You start to quietly neigh an incantation. Click on or near a target to cast the spell.") + selection_deactivated_message = SPAN_NOTICE("You stop neighing to yourself.") action_icon_state = "barn" sound = 'sound/magic/HorseHead_curse.ogg' @@ -21,16 +21,16 @@ /datum/spell/horsemask/cast(list/targets, mob/user = usr) if(!length(targets)) - to_chat(user, "No target found in range.") + to_chat(user, SPAN_NOTICE("No target found in range.")) return var/mob/living/carbon/human/target = targets[1] if(target.can_block_magic(antimagic_flags)) - target.visible_message("[target]'s face bursts into flames, which instantly burst outward, leaving [target.p_them()] unharmed!", - "Your face starts burning up, but the flames are repulsed by your anti-magic protection!", + target.visible_message(SPAN_DANGER("[target]'s face bursts into flames, which instantly burst outward, leaving [target.p_them()] unharmed!"), + SPAN_DANGER("Your face starts burning up, but the flames are repulsed by your anti-magic protection!"), ) - to_chat(user, "The spell had no effect!") + to_chat(user, SPAN_WARNING("The spell had no effect!")) return FALSE var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead @@ -38,8 +38,8 @@ magichead.set_nodrop(TRUE) magichead.flags_inv = null //so you can still see their face magichead.voicechange = TRUE //NEEEEIIGHH - target.visible_message( "[target]'s face lights up in fire, and after the event a horse's head takes its place!", \ - "Your face burns up, and shortly after the fire you realize you have the face of a horse!") + target.visible_message( SPAN_DANGER("[target]'s face lights up in fire, and after the event a horse's head takes its place!"), \ + SPAN_DANGER("Your face burns up, and shortly after the fire you realize you have the face of a horse!")) if(!target.drop_item_to_ground(target.wear_mask)) qdel(target.wear_mask) target.equip_to_slot_if_possible(magichead, ITEM_SLOT_MASK, TRUE, TRUE) diff --git a/code/datums/spells/inspectors_gaze.dm b/code/datums/spells/inspectors_gaze.dm index 6e52ea3936b..e37d778eee3 100644 --- a/code/datums/spells/inspectors_gaze.dm +++ b/code/datums/spells/inspectors_gaze.dm @@ -3,8 +3,8 @@ desc = "Let the crew know that they're being watched and inspected." base_cooldown = 6 SECONDS clothes_req = FALSE - selection_activated_message = "You look for a crewmember to inspect! Left-click to gaze at a target!" - selection_deactivated_message = "You relinquish your gaze... for now." + selection_activated_message = SPAN_NOTICE("You look for a crewmember to inspect! Left-click to gaze at a target!") + selection_deactivated_message = SPAN_NOTICE("You relinquish your gaze... for now.") action_icon_state = "genetic_view" /datum/spell/inspectors_gaze/create_new_targeting() @@ -15,9 +15,9 @@ /datum/spell/inspectors_gaze/cast(list/targets, mob/living/user = usr) var/mob/target = targets[1] // There is only ever one target for your gaze if(!istype(target)) - to_chat(user, "You don't think [target] can commit SOP violations.") + to_chat(user, SPAN_WARNING("You don't think [target] can commit SOP violations.")) return FALSE - to_chat(target, "You feel someone staring at you...") - to_chat(user, "You gaze at [target], intent to find SOP violations.") + to_chat(target, SPAN_WARNING("You feel someone staring at you...")) + to_chat(user, SPAN_NOTICE("You gaze at [target], intent to find SOP violations.")) return TRUE diff --git a/code/datums/spells/lichdom.dm b/code/datums/spells/lichdom.dm index 45073690978..f0bc008c28d 100644 --- a/code/datums/spells/lichdom.dm +++ b/code/datums/spells/lichdom.dm @@ -28,26 +28,26 @@ /datum/spell/lichdom/proc/attempt_revive(mob/user) // Can only cast when unconscious/dead if(user.stat == CONSCIOUS) - to_chat(user, "You aren't dead enough to revive!") + to_chat(user, SPAN_NOTICE("You aren't dead enough to revive!")) cooldown_handler.revert_cast() return // Body was destroyed if(QDELETED(current_body)) - to_chat(user, "Your body is gone!") + to_chat(user, SPAN_WARNING("Your body is gone!")) return // Phylactery was destroyed var/obj/item/marked_item = locateUID(marked_item_uid) if(QDELETED(marked_item)) - to_chat(user, "Your phylactery is gone!") + to_chat(user, SPAN_WARNING("Your phylactery is gone!")) return // Wrong z-level var/turf/body_turf = get_turf(current_body) var/turf/item_turf = get_turf(marked_item) if(body_turf.z != item_turf.z) - to_chat(user, "Your phylactery is out of range!") + to_chat(user, SPAN_WARNING("Your phylactery is out of range!")) return if(isobserver(user)) @@ -64,7 +64,7 @@ // Give a hint as to where the body is var/wheres_wizdo = dir2text(get_dir(body_turf, item_turf)) if(wheres_wizdo) - current_body.visible_message("Suddenly [current_body.name]'s corpse falls to pieces! You see a strange energy rise from the remains, and speed off towards the [wheres_wizdo]!") + current_body.visible_message(SPAN_WARNING("Suddenly [current_body.name]'s corpse falls to pieces! You see a strange energy rise from the remains, and speed off towards the [wheres_wizdo]!")) body_turf.Beam(item_turf, icon_state = "lichbeam", icon = 'icons/effects/effects.dmi', time = 10 + 10 * resurrections, maxdistance = INFINITY) UnregisterSignal(current_body, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_Z_CHANGED)) @@ -81,20 +81,20 @@ current_body = lich cooldown_handler.recharge_duration += 1 MINUTES - to_chat(lich, "Your bones clatter and shudder as they're pulled back into this world!") + to_chat(lich, SPAN_WARNING("Your bones clatter and shudder as they're pulled back into this world!")) /datum/spell/lichdom/proc/attempt_mark_item(mob/user) var/obj/item/target = user.get_active_hand() if(!target) - to_chat(user, "You must hold an item you wish to make your phylactery!") + to_chat(user, SPAN_WARNING("You must hold an item you wish to make your phylactery!")) return if(target.flags & (ABSTRACT|NODROP)) - to_chat(user, "[target] cannot be used as your phylactery!") + to_chat(user, SPAN_WARNING("[target] cannot be used as your phylactery!")) return if(!do_after(user, 5 SECONDS, target = target)) - to_chat(user, "Your soul snaps back to your body as you drop [target]!") + to_chat(user, SPAN_WARNING("Your soul snaps back to your body as you drop [target]!")) return name = "RISE!" @@ -108,7 +108,7 @@ build_all_button_icons() target.name = "ensouled [target.name]" - target.desc += "
A terrible aura surrounds this item, its very existence is offensive to life itself..." + target.desc += "
[SPAN_WARNING("A terrible aura surrounds this item, its very existence is offensive to life itself...")]" target.color = "#003300" marked_item_uid = target.UID() @@ -122,7 +122,7 @@ H.drop_item_to_ground(H.head) equip_lich(H) - to_chat(user, "With a hideous feeling of emptiness you watch in horrified fascination as skin sloughs off bone! Blood boils, nerves disintegrate, eyes boil in their sockets! As your organs crumble to dust in your fleshless chest you come to terms with your choice. You're a lich!") + to_chat(user, SPAN_USERDANGER("With a hideous feeling of emptiness you watch in horrified fascination as skin sloughs off bone! Blood boils, nerves disintegrate, eyes boil in their sockets! As your organs crumble to dust in your fleshless chest you come to terms with your choice. You're a lich!")) /datum/spell/lichdom/proc/is_revive_possible() var/obj/item/marked_item = locateUID(marked_item_uid) diff --git a/code/datums/spells/lightning.dm b/code/datums/spells/lightning.dm index 820138236f8..17ad9bdf651 100644 --- a/code/datums/spells/lightning.dm +++ b/code/datums/spells/lightning.dm @@ -39,8 +39,8 @@ /datum/spell/charge_up/bounce/lightning/apply_bounce_effect(mob/origin, mob/living/target, energy, mob/user) if(target.can_block_magic(antimagic_flags)) target.visible_message( - "[target] absorbs the spell, remaining unharmed!", - "You absorb the spell, remaining unharmed!" + SPAN_WARNING("[target] absorbs the spell, remaining unharmed!"), + SPAN_DANGER("You absorb the spell, remaining unharmed!") ) return if(damaging) diff --git a/code/datums/spells/magnet.dm b/code/datums/spells/magnet.dm index 7d2386290e6..30bd6518255 100644 --- a/code/datums/spells/magnet.dm +++ b/code/datums/spells/magnet.dm @@ -49,7 +49,7 @@ /datum/spell/charge_up/bounce/magnet/proc/try_throw_object(mob/user, mob/thrower, obj/item/to_throw) if(!(to_throw.flags & CONDUCT) || !thrower.drop_item_to_ground(to_throw, silent = TRUE)) return FALSE - thrower.visible_message("[to_throw] gets thrown out of [thrower] [thrower.p_their()] hands!", - "[to_throw] suddenly gets thrown out of your hands!") + thrower.visible_message(SPAN_WARNING("[to_throw] gets thrown out of [thrower] [thrower.p_their()] hands!"), + SPAN_DANGER("[to_throw] suddenly gets thrown out of your hands!")) to_throw.throw_at(user, to_throw.throw_range, 4) return TRUE diff --git a/code/datums/spells/mime.dm b/code/datums/spells/mime.dm index d5ec808cf01..761d438a6ca 100644 --- a/code/datums/spells/mime.dm +++ b/code/datums/spells/mime.dm @@ -3,7 +3,7 @@ desc = "The mime's performance transmutates into physical reality." summon_type = list(/obj/structure/forcefield/mime) invocation_type = "emote" - invocation_emote_self = "You form a wall in front of yourself." + invocation_emote_self = SPAN_NOTICE("You form a wall in front of yourself.") summon_lifespan = 20 SECONDS base_cooldown = 30 SECONDS clothes_req = FALSE @@ -17,7 +17,7 @@ /datum/spell/aoe/conjure/build/mime_wall/Click() if(usr && usr.mind) if(!usr.mind.miming) - to_chat(usr, "You must dedicate yourself to silence first.") + to_chat(usr, SPAN_NOTICE("You must dedicate yourself to silence first.")) return invocation = "[usr.name] looks as if a wall is in front of [usr.p_them()]." else @@ -44,18 +44,18 @@ return var/mob/living/carbon/human/H = usr if(H.mind.miming) - still_recharging_msg = "You can't break your vow of silence that fast!" + still_recharging_msg = SPAN_WARNING("You can't break your vow of silence that fast!") else - still_recharging_msg = "You'll have to wait before you can give your vow of silence again!" + still_recharging_msg = SPAN_WARNING("You'll have to wait before you can give your vow of silence again!") ..() /datum/spell/mime/speak/cast(list/targets,mob/user = usr) for(var/mob/living/carbon/human/H in targets) H.mind.miming=!H.mind.miming if(H.mind.miming) - to_chat(H, "You make a vow of silence.") + to_chat(H, SPAN_NOTICE("You make a vow of silence.")) else - to_chat(H, "You break your vow of silence.") + to_chat(H, SPAN_NOTICE("You break your vow of silence.")) //Advanced Mimery traitor item spells @@ -64,7 +64,7 @@ desc = "Form an invisible three tile wide blockade." wall_type = /obj/effect/forcefield/mime invocation_type = "emote" - invocation_emote_self = "You form a blockade in front of yourself." + invocation_emote_self = SPAN_NOTICE("You form a blockade in front of yourself.") base_cooldown = 60 SECONDS sound = null @@ -74,7 +74,7 @@ /datum/spell/forcewall/mime/Click() if(usr && usr.mind) if(!usr.mind.miming) - to_chat(usr, "You must dedicate yourself to silence first.") + to_chat(usr, SPAN_NOTICE("You must dedicate yourself to silence first.")) return invocation = "[usr.name] looks as if a blockade is in front of [usr.p_them()]." else @@ -97,7 +97,7 @@ /datum/spell/mime/fingergun/cast(list/targets, mob/user = usr) for(var/mob/living/carbon/human/C in targets) if(!current_gun) - to_chat(user, "You draw your fingers!") + to_chat(user, SPAN_NOTICE("You draw your fingers!")) current_gun = new gun(get_turf(user), src) C.drop_item() C.put_in_hands(current_gun) @@ -115,7 +115,7 @@ SIGNAL_HANDLER if(!current_gun || !any && action.owner.get_active_hand() != current_gun) return - to_chat(action.owner, "You holster your fingers. Another time perhaps...") + to_chat(action.owner, SPAN_NOTICE("You holster your fingers. Another time perhaps...")) QDEL_NULL(current_gun) /datum/spell/mime/fingergun/fake @@ -136,25 +136,25 @@ for(var/datum/spell/knownspell in user.mind.spell_list) if(knownspell.type == S.type) if(user.mind) - to_chat(user, "You've already read this one.") + to_chat(user, SPAN_NOTICE("You've already read this one.")) return if(used) recoil(user) else user.mind.AddSpell(S) - to_chat(user, "You flip through the pages. Your understanding of the boundaries of reality increases. You can cast [spellname]!") + to_chat(user, SPAN_NOTICE("You flip through the pages. Your understanding of the boundaries of reality increases. You can cast [spellname]!")) user.create_log(MISC_LOG, "learned the spell [spellname] ([S])") user.create_attack_log("[key_name(user)] learned the spell [spellname] ([S]).") onlearned(user) /obj/item/spellbook/oneuse/mime/recoil(mob/user) - to_chat(user, "You flip through the pages. Nothing of interest to you.") + to_chat(user, SPAN_NOTICE("You flip through the pages. Nothing of interest to you.")) /obj/item/spellbook/oneuse/mime/onlearned(mob/user) used = TRUE if(!locate(/datum/spell/mime/speak) in user.mind.spell_list) //add vow of silence if not known by user user.mind.AddSpell(new /datum/spell/mime/speak) - to_chat(user, "You have learned how to use silence to improve your performance.") + to_chat(user, SPAN_NOTICE("You have learned how to use silence to improve your performance.")) /obj/item/spellbook/oneuse/mime/fingergun spell = /datum/spell/mime/fingergun diff --git a/code/datums/spells/mimic.dm b/code/datums/spells/mimic.dm index 05751a7ec20..5a5134dd28a 100644 --- a/code/datums/spells/mimic.dm +++ b/code/datums/spells/mimic.dm @@ -4,7 +4,7 @@ clothes_req = FALSE base_cooldown = 3 SECONDS action_icon_state = "morph_mimic" - selection_activated_message = "Click on a target to remember it's form. Click on yourself to change form." + selection_activated_message = SPAN_SINISTER("Click on a target to remember it's form. Click on yourself to change form.") create_attack_logs = FALSE /// Which form is currently selected var/datum/mimic_form/selected_form @@ -59,15 +59,15 @@ /datum/spell/mimic/proc/remember_form(atom/movable/A, mob/user) if(A.name in available_forms) - to_chat(user, "[A] is already an available form.") + to_chat(user, SPAN_WARNING("[A] is already an available form.")) revert_cast(user) return if(length(available_forms) >= max_forms) - to_chat(user, "You start to forget the form of [available_forms[next_override_index]] to learn a new one.") + to_chat(user, SPAN_WARNING("You start to forget the form of [available_forms[next_override_index]] to learn a new one.")) - to_chat(user, "You start remembering the form of [A].") + to_chat(user, SPAN_SINISTER("You start remembering the form of [A].")) if(!do_after(user, 2 SECONDS, FALSE, user)) - to_chat(user, "You lose focus.") + to_chat(user, SPAN_WARNING("You lose focus.")) return // Forget the old form if needed @@ -79,11 +79,11 @@ next_override_index = 1 available_forms[A.name] = new /datum/mimic_form(A, user) - to_chat(user, "You learn the form of [A].") + to_chat(user, SPAN_SINISTER("You learn the form of [A].")) /datum/spell/mimic/proc/pick_form(mob/user) if(!length(available_forms) && !selected_form) - to_chat(user, "No available forms. Learn more forms by using this spell on other objects first.") + to_chat(user, SPAN_WARNING("No available forms. Learn more forms by using this spell on other objects first.")) revert_cast(user) return @@ -94,16 +94,16 @@ forms += available_forms.Copy() var/what = tgui_input_list(user, "Which form do you want to become?", "Mimic", forms) if(!what) - to_chat(user, "You decide against changing forms.") + to_chat(user, SPAN_NOTICE("You decide against changing forms.")) revert_cast(user) return if(what == "Original Form") restore_form(user) return - to_chat(user, "You start becoming [what].") + to_chat(user, SPAN_SINISTER("You start becoming [what].")) if(!do_after(user, 2 SECONDS, FALSE, user)) - to_chat(user, "You lose focus.") + to_chat(user, SPAN_WARNING("You lose focus.")) return take_form(available_forms[what], user) @@ -133,9 +133,9 @@ /datum/spell/mimic/proc/show_change_form_message(mob/user, old_name, new_name) user.visible_message( - "[old_name] contorts and slowly becomes [new_name]!", - "You take the form of [new_name].", - "You hear loud cracking noises!" + SPAN_WARNING("[old_name] contorts and slowly becomes [new_name]!"), + SPAN_SINISTER("You take the form of [new_name]."), + SPAN_WARNING("You hear loud cracking noises!") ) /datum/spell/mimic/proc/restore_form(mob/user, show_message = TRUE) @@ -163,16 +163,16 @@ /datum/spell/mimic/proc/show_restore_form_message(mob/user, old_name, new_name) user.visible_message( - "[old_name] shakes and contorts and quickly becomes [new_name]!", - "You return to your normal self.", - "You hear loud cracking noises!" + SPAN_WARNING("[old_name] shakes and contorts and quickly becomes [new_name]!"), + SPAN_SINISTER("You return to your normal self."), + SPAN_WARNING("You hear loud cracking noises!") ) /datum/spell/mimic/proc/examine_override(datum/source, mob/user, list/examine_list) examine_list.Cut() examine_list += selected_form.examine_text if(!perfect_disguise && get_dist(user, source) <= 3) - examine_list += "It doesn't look quite right..." + examine_list += SPAN_WARNING("It doesn't look quite right...") /datum/spell/mimic/proc/on_death(mob/user, gibbed) if(!gibbed) @@ -181,9 +181,9 @@ /datum/spell/mimic/proc/show_death_message(mob/user) user.visible_message( - "[user] shakes and contorts as [user.p_they()] die[user.p_s()], returning to [user.p_their()] true form!", - "Your disguise fails as your life forces drain away.", - "You hear loud cracking noises followed by a thud!" + SPAN_WARNING("[user] shakes and contorts as [user.p_they()] die[user.p_s()], returning to [user.p_their()] true form!"), + SPAN_DEADSAY("Your disguise fails as your life forces drain away."), + SPAN_WARNING("You hear loud cracking noises followed by a thud!") ) @@ -225,21 +225,21 @@ /datum/spell/mimic/morph/show_change_form_message(mob/user, old_name, new_name) user.visible_message( - "[old_name] suddenly twists and changes shape, becoming a copy of [new_name]!", - "You twist your body and assume the form of [new_name].", - "You hear loud cracking noises!" + SPAN_WARNING("[old_name] suddenly twists and changes shape, becoming a copy of [new_name]!"), + SPAN_NOTICE("You twist your body and assume the form of [new_name]."), + SPAN_WARNING("You hear loud cracking noises!") ) /datum/spell/mimic/morph/show_restore_form_message(mob/user, old_name, new_name) user.visible_message( - "[old_name] suddenly collapses in on itself, dissolving into a pile of green flesh!", - "You reform to your normal body.", - "You hear loud cracking noises followed by a thud!" + SPAN_WARNING("[old_name] suddenly collapses in on itself, dissolving into a pile of green flesh!"), + SPAN_NOTICE("You reform to your normal body."), + SPAN_WARNING("You hear loud cracking noises followed by a thud!") ) /datum/spell/mimic/morph/show_death_message(mob/user) user.visible_message( - "[user] twists and dissolves into a pile of green flesh!", - "Your skin ruptures! Your flesh breaks apart! No disguise can ward off de--", - "You hear loud cracking noises followed by a thud!" + SPAN_WARNING("[user] twists and dissolves into a pile of green flesh!"), + SPAN_USERDANGER("Your skin ruptures! Your flesh breaks apart! No disguise can ward off de--"), + SPAN_WARNING("You hear loud cracking noises followed by a thud!") ) diff --git a/code/datums/spells/mind_transfer.dm b/code/datums/spells/mind_transfer.dm index 00e788d5abb..fbfca5723de 100644 --- a/code/datums/spells/mind_transfer.dm +++ b/code/datums/spells/mind_transfer.dm @@ -5,8 +5,8 @@ base_cooldown = 600 clothes_req = FALSE invocation = "GIN'YU CAPAN" - selection_activated_message = "You prepare to transfer your mind. Click on a target to cast the spell." - selection_deactivated_message = "You decide that your current form is good enough." + selection_activated_message = SPAN_NOTICE("You prepare to transfer your mind. Click on a target to cast the spell.") + selection_deactivated_message = SPAN_NOTICE("You decide that your current form is good enough.") cooldown_min = 200 //100 deciseconds reduction per rank antimagic_flags = MAGIC_RESISTANCE|MAGIC_RESISTANCE_MIND var/list/protected_roles = list(SPECIAL_ROLE_WIZARD, SPECIAL_ROLE_CHANGELING, SPECIAL_ROLE_CULTIST) //which roles are immune to the spell @@ -37,18 +37,18 @@ Also, you never added distance checking after target is selected. I've went ahea var/mob/living/target = targets[1] if(user.suiciding) - to_chat(user, "You're killing yourself! You can't concentrate enough to do this!") + to_chat(user, SPAN_WARNING("You're killing yourself! You can't concentrate enough to do this!")) return if((target.mind.special_role in protected_roles) && target != user) - to_chat(user, "Their mind is resisting your spell.") + to_chat(user, SPAN_DANGER("Their mind is resisting your spell.")) return if(issilicon(target)) - to_chat(user, "You feel this enslaved being is just as dead as its cold, hard exoskeleton.") + to_chat(user, SPAN_WARNING("You feel this enslaved being is just as dead as its cold, hard exoskeleton.")) return if(target.can_block_magic(antimagic_flags)) - to_chat(user, "Their mind is resisting your spell.") + to_chat(user, SPAN_DANGER("Their mind is resisting your spell.")) return var/mob/living/victim = target//The target of the spell whos body will be transferred to. diff --git a/code/datums/spells/night_vision.dm b/code/datums/spells/night_vision.dm index ae5c94f9761..44dea1ca913 100644 --- a/code/datums/spells/night_vision.dm +++ b/code/datums/spells/night_vision.dm @@ -6,7 +6,7 @@ clothes_req = FALSE antimagic_flags = NONE - message = "You toggle your night vision!" + message = SPAN_NOTICE("You toggle your night vision!") /datum/spell/night_vision/create_new_targeting() return new /datum/spell_targeting/self diff --git a/code/datums/spells/rathens.dm b/code/datums/spells/rathens.dm index 7f0bac2fe82..774aeaffd60 100644 --- a/code/datums/spells/rathens.dm +++ b/code/datums/spells/rathens.dm @@ -25,15 +25,15 @@ A.forceMove(get_turf(H)) spawn() A.throw_at(get_edge_target_turf(H, pick(GLOB.alldirs)), rand(1, 10), 5) - H.visible_message("[H]'s [A.name] flies out of their body in a magical explosion!",\ - "Your [A.name] flies out of your body in a magical explosion!") + H.visible_message(SPAN_DANGER("[H]'s [A.name] flies out of their body in a magical explosion!"),\ + SPAN_DANGER("Your [A.name] flies out of your body in a magical explosion!")) H.KnockDown(4 SECONDS) else var/obj/effect/decal/cleanable/blood/gibs/G = new/obj/effect/decal/cleanable/blood/gibs(get_turf(H)) spawn() G.throw_at(get_edge_target_turf(H, pick(GLOB.alldirs)), rand(1, 10), 5) H.apply_damage(10, BRUTE, "chest") - to_chat(H, "You have no appendix, but something had to give! Holy shit, what was that?") + to_chat(H, SPAN_USERDANGER("You have no appendix, but something had to give! Holy shit, what was that?")) H.KnockDown(6 SECONDS) for(var/obj/item/organ/external/E in H.bodyparts) if(istype(E, /obj/item/organ/external/head)) @@ -43,5 +43,5 @@ if(istype(E, /obj/item/organ/external/groin)) continue if(prob(7)) - to_chat(H, "Your [E] was severed by the explosion!") + to_chat(H, SPAN_USERDANGER("Your [E] was severed by the explosion!")) E.droplimb(1, DROPLIMB_SHARP, 0, 1) diff --git a/code/datums/spells/rod_form.dm b/code/datums/spells/rod_form.dm index cd24317033b..750934a0f00 100644 --- a/code/datums/spells/rod_form.dm +++ b/code/datums/spells/rod_form.dm @@ -16,7 +16,7 @@ /datum/spell/rod_form/cast(list/targets,mob/user = usr) if(get_turf(user) != user.loc) - to_chat(user, "You cannot summon a rod in the ether, the spell fizzles out!") + to_chat(user, SPAN_WARNING("You cannot summon a rod in the ether, the spell fizzles out!")) revert_cast() return FALSE for(var/mob/living/M in targets) diff --git a/code/datums/spells/sentient_sword_lunge.dm b/code/datums/spells/sentient_sword_lunge.dm index 630ffd1b6ba..f1cd5f46d71 100644 --- a/code/datums/spells/sentient_sword_lunge.dm +++ b/code/datums/spells/sentient_sword_lunge.dm @@ -13,7 +13,7 @@ /datum/spell/sentient_sword_lunge/cast(list/targets, mob/user = usr) if(!istype(user.loc, /obj/item)) - to_chat(user, "You cannot use this ability if you're outside a blade!") + to_chat(user, SPAN_WARNING("You cannot use this ability if you're outside a blade!")) return var/obj/item/nullrod/scythe/talking/user_sword = user.loc if(ishuman(user_sword.loc)) @@ -21,9 +21,9 @@ holder.drop_item_to_ground(user_sword) else if(isstorage(user_sword.loc)) if(prob(50)) - to_chat(user, "You fail to break out of [user_sword.loc]!") + to_chat(user, SPAN_WARNING("You fail to break out of [user_sword.loc]!")) return var/turf/our_turf = get_turf(user_sword.loc) - our_turf.visible_message("[user_sword] leaps out of [user_sword.loc]!") + our_turf.visible_message(SPAN_DANGER("[user_sword] leaps out of [user_sword.loc]!")) user_sword.forceMove(our_turf) user_sword.throw_at(targets[1], 10, 3, user) diff --git a/code/datums/spells/shapeshift.dm b/code/datums/spells/shapeshift.dm index ac3e5004acc..0901f00d79a 100644 --- a/code/datums/spells/shapeshift.dm +++ b/code/datums/spells/shapeshift.dm @@ -38,7 +38,7 @@ /datum/spell/shapeshift/proc/Shapeshift(mob/living/caster) for(var/mob/living/M in caster) if(M.status_flags & GODMODE) - to_chat(caster, "You're already shapeshifted!") + to_chat(caster, SPAN_WARNING("You're already shapeshifted!")) return var/mob/living/shape = new shapeshift_type(get_turf(caster)) @@ -82,10 +82,10 @@ possible_shapes = list(/mob/living/simple_animal/hostile/megafauna/dragon/lesser) /datum/spell/shapeshift/dragon/Shapeshift(mob/living/caster) - caster.visible_message("[caster] screams in agony as bones and claws erupt out of their flesh!", - "You begin channeling the transformation.") + caster.visible_message(SPAN_DANGER("[caster] screams in agony as bones and claws erupt out of their flesh!"), + SPAN_DANGER("You begin channeling the transformation.")) if(!do_after(caster, 5 SECONDS, FALSE, caster)) - to_chat(caster, "You lose concentration of the spell!") + to_chat(caster, SPAN_WARNING("You lose concentration of the spell!")) return return ..() diff --git a/code/datums/spells/spacetime_dist.dm b/code/datums/spells/spacetime_dist.dm index 76c412591ae..2131e9d2f56 100644 --- a/code/datums/spells/spacetime_dist.dm +++ b/code/datums/spells/spacetime_dist.dm @@ -43,7 +43,7 @@ . = ..() var/list/turf/to_switcharoo = targets if(!length(to_switcharoo)) - to_chat(user, "For whatever reason, the strings nearby aren't keen on being tangled.") + to_chat(user, SPAN_WARNING("For whatever reason, the strings nearby aren't keen on being tangled.")) return ready = FALSE diff --git a/code/datums/spells/spell_base.dm b/code/datums/spells/spell_base.dm index bf85449bc0e..0392334a6c4 100644 --- a/code/datums/spells/spell_base.dm +++ b/code/datums/spells/spell_base.dm @@ -21,7 +21,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) var/base_cooldown = 10 SECONDS var/starts_charged = TRUE //Does this spell start ready to go? var/should_recharge_after_cast = TRUE - var/still_recharging_msg = "The spell is still recharging." + var/still_recharging_msg = SPAN_NOTICE("The spell is still recharging.") var/active = FALSE //Used by toggle based abilities. var/ranged_mousepointer @@ -63,9 +63,9 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) var/gain_desc = null /// The message displayed when a click based spell gets activated - var/selection_activated_message = "Click on a target to cast the spell." + var/selection_activated_message = SPAN_NOTICE("Click on a target to cast the spell.") /// The message displayed when a click based spell gets deactivated - var/selection_deactivated_message = "You choose to not cast this spell." + var/selection_deactivated_message = SPAN_NOTICE("You choose to not cast this spell.") /// does this spell generate attack logs? var/create_attack_logs = TRUE @@ -95,7 +95,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) /datum/spell/New() ..() action = new(src) - still_recharging_msg = "[name] is still recharging." + still_recharging_msg = SPAN_NOTICE("[name] is still recharging.") if(!gain_desc) gain_desc = "You can now use [src]." @@ -119,7 +119,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) /datum/spell/proc/InterceptClickOn(mob/user, params, atom/A) if(user.ranged_ability != src) - to_chat(user, "[user.ranged_ability.name] has been disabled.") + to_chat(user, SPAN_WARNING("[user.ranged_ability.name] has been disabled.")) user.ranged_ability.remove_ranged_ability(user) return TRUE //TRUE for failed, FALSE for passed. user.face_atom(A) @@ -131,7 +131,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) if(!user || !user.client) return if(user.ranged_ability && user.ranged_ability != src) - to_chat(user, "[user.ranged_ability.name] has been replaced by [name].") + to_chat(user, SPAN_WARNING("[user.ranged_ability.name] has been replaced by [name].")) user.ranged_ability.remove_ranged_ability(user) user.ranged_ability = src ranged_ability_user = user @@ -308,7 +308,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) /datum/spell/proc/try_perform(list/targets, mob/user) SHOULD_NOT_OVERRIDE(TRUE) if(!length(targets)) - to_chat(user, "No suitable target found.") + to_chat(user, SPAN_WARNING("No suitable target found.")) return FALSE if(should_remove_click_intercept()) // returns TRUE by default remove_ranged_ability(user) // Targeting succeeded. So remove the click interceptor if there is one. Even if the cast didn't succeed afterwards @@ -454,7 +454,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) /datum/spell/proc/can_cast(mob/user = usr, charge_check = TRUE, show_message = FALSE) if(((!user.mind) || !(src in user.mind.spell_list)) && !(src in user.mob_spell_list)) if(show_message) - to_chat(user, "You shouldn't have this spell! Something's wrong.") + to_chat(user, SPAN_WARNING("You shouldn't have this spell! Something's wrong.")) return FALSE if(!centcom_cancast) //Certain spells are not allowed on the centcom zlevel @@ -466,7 +466,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) // that corresponds with the spell's antimagic, then they can't actually cast the spell if((spell_requirements & SPELL_REQUIRES_NO_ANTIMAGIC) && !user.can_cast_magic(antimagic_flags)) if(show_message) - to_chat(user, "Some form of antimagic is preventing you from casting [src]!") + to_chat(user, SPAN_WARNING("Some form of antimagic is preventing you from casting [src]!")) return FALSE if(!holy_area_cancast && user.holy_check()) @@ -481,7 +481,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) if(!ghost) if(user.stat && !stat_allowed) if(show_message) - to_chat(user, "You can't cast this spell while incapacitated.") + to_chat(user, SPAN_NOTICE("You can't cast this spell while incapacitated.")) return FALSE if(ishuman(user) && (invocation_type == "whisper" || invocation_type == "shout") && user.is_muzzled()) if(show_message) @@ -498,20 +498,20 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) var/obj/item/clothing/shoes = H.shoes if(!robe || !hat || !shoes) if(show_message) - to_chat(user, "Your outfit isn't complete, you should put on your robe and wizard hat, as well as sandals.") + to_chat(user, SPAN_NOTICE("Your outfit isn't complete, you should put on your robe and wizard hat, as well as sandals.")) return FALSE if(!robe.magical || !hat.magical || !shoes.magical) if(show_message) - to_chat(user, "Your outfit isn't magical enough, you should put on your robe and wizard hat, as well as your sandals.") + to_chat(user, SPAN_NOTICE("Your outfit isn't magical enough, you should put on your robe and wizard hat, as well as your sandals.")) return FALSE else if(clothes_req || human_req) if(show_message) - to_chat(user, "This spell can only be cast by humans!") + to_chat(user, SPAN_NOTICE("This spell can only be cast by humans!")) return FALSE if(nonabstract_req && (isbrain(user) || ispAI(user))) if(show_message) - to_chat(user, "This spell can only be cast by physical beings!") + to_chat(user, SPAN_NOTICE("This spell can only be cast by physical beings!")) return FALSE if(custom_handler && !custom_handler.can_cast(user, charge_check, show_message, src)) diff --git a/code/datums/spells/summonitem.dm b/code/datums/spells/summonitem.dm index d7e46b6e3fc..7253fe61b92 100644 --- a/code/datums/spells/summonitem.dm +++ b/code/datums/spells/summonitem.dm @@ -27,7 +27,7 @@ if(istype(item, /obj/item/organ/internal/brain)) //Yeah, sadly this doesn't work due to the organ system. break if(istype(item, /obj/item/disk/nuclear)) //Let's not make nukies suffer with this bullshit. - to_chat(user, "[item] has some built in protections against such summoning magic.") + to_chat(user, SPAN_NOTICE("[item] has some built in protections against such summoning magic.")) break if(ABSTRACT in item.flags) continue @@ -40,17 +40,17 @@ if(!marked_item) if(hand_items) - message = "You aren't holding anything that can be marked for recall." + message = SPAN_CAUTION("You aren't holding anything that can be marked for recall.") else - message = "You must hold the desired item in your hands to mark it for recall." + message = SPAN_NOTICE("You must hold the desired item in your hands to mark it for recall.") else if(marked_item && (marked_item in hand_items)) //unlinking item to the spell - message = "You remove the mark on [marked_item] to use elsewhere." + message = SPAN_NOTICE("You remove the mark on [marked_item] to use elsewhere.") name = "Instant Summons" marked_item = null else if(marked_item && !marked_item.loc) //the item was destroyed at some point - message = "You sense your marked item has been destroyed!" + message = SPAN_WARNING("You sense your marked item has been destroyed!") name = "Instant Summons" marked_item = null @@ -63,21 +63,21 @@ if(istype(item_to_retrieve.loc, /obj/item/organ/internal/headpocket)) var/obj/item/organ/internal/headpocket/pocket = item_to_retrieve.loc if(pocket.owner) - to_chat(pocket.owner, "Your [pocket.name] suddenly feels lighter. How strange!") + to_chat(pocket.owner, SPAN_WARNING("Your [pocket.name] suddenly feels lighter. How strange!")) visible_item = FALSE break if(istype(item_to_retrieve.loc, /obj/item/storage/hidden_implant)) //The implant should be left alone var/obj/item/storage/S = item_to_retrieve.loc for(var/mob/M in S.mobs_viewing) - to_chat(M, "[item_to_retrieve] suddenly disappears!") + to_chat(M, SPAN_WARNING("[item_to_retrieve] suddenly disappears!")) visible_item = FALSE break if(ismob(item_to_retrieve.loc)) //If its on someone, properly drop it var/mob/M = item_to_retrieve.loc if(issilicon(M) || !M.transfer_item_to(item_to_retrieve, target.loc)) //Items in silicons warp the whole silicon - M.visible_message("[M] suddenly disappears!", "A force suddenly pulls you away!") - M.loc.visible_message("[M] suddenly appears!") + M.visible_message(SPAN_WARNING("[M] suddenly disappears!"), SPAN_DANGER("A force suddenly pulls you away!")) + M.loc.visible_message(SPAN_CAUTION("[M] suddenly appears!")) item_to_retrieve = null break @@ -87,14 +87,14 @@ var/obj/item/organ/external/part = X if(item_to_retrieve in part.embedded_objects) part.remove_embedded_object(item_to_retrieve) - to_chat(C, "[item_to_retrieve] that was embedded in your [part] has mysteriously vanished. How fortunate!") + to_chat(C, SPAN_WARNING("[item_to_retrieve] that was embedded in your [part] has mysteriously vanished. How fortunate!")) if(!C.has_embedded_objects()) C.clear_alert("embeddedobject") break if(item_to_retrieve == part.hidden) visible_item = FALSE part.hidden = null - to_chat(C, "Your [part.name] suddenly feels emptier. How weird!") + to_chat(C, SPAN_WARNING("Your [part.name] suddenly feels emptier. How weird!")) break else @@ -116,15 +116,15 @@ return if(!isturf(target.loc)) - to_chat(target, "You attempt to cast the spell, but it fails! Perhaps you aren't available?") + to_chat(target, SPAN_CAUTION("You attempt to cast the spell, but it fails! Perhaps you aren't available?")) return if(visible_item) - item_to_retrieve.loc.visible_message("[item_to_retrieve] suddenly disappears!") + item_to_retrieve.loc.visible_message(SPAN_WARNING("[item_to_retrieve] suddenly disappears!")) var/list/heres_disky = item_to_retrieve.search_contents_for(/obj/item/disk/nuclear) heres_disky += item_to_retrieve.loc.search_contents_for(/obj/item/disk/nuclear) //So if you mark another item in a bag, we don't pull for(var/obj/item/disk/nuclear/N in heres_disky) N.forceMove(get_turf(item_to_retrieve)) - N.visible_message("As [item_to_retrieve] vanishes, [N] remains behind!") + N.visible_message(SPAN_WARNING("As [item_to_retrieve] vanishes, [N] remains behind!")) break //If you have 2 nads, well, congrats? Keeps message from doubling up if(target.hand) //left active hand if(!target.equip_to_slot_if_possible(item_to_retrieve, ITEM_SLOT_LEFT_HAND, FALSE, TRUE)) @@ -136,10 +136,10 @@ butterfingers = TRUE if(butterfingers) item_to_retrieve.loc = target.loc - item_to_retrieve.loc.visible_message("[item_to_retrieve] suddenly appears!") + item_to_retrieve.loc.visible_message(SPAN_CAUTION("[item_to_retrieve] suddenly appears!")) playsound(get_turf(target),'sound/magic/summonitems_generic.ogg', 50, 1) else - item_to_retrieve.loc.visible_message("[item_to_retrieve] suddenly appears in [target]'s hand!") + item_to_retrieve.loc.visible_message(SPAN_CAUTION("[item_to_retrieve] suddenly appears in [target]'s hand!")) playsound(get_turf(target),'sound/magic/summonitems_generic.ogg', 50, 1) if(message) diff --git a/code/datums/spells/touch_attacks.dm b/code/datums/spells/touch_attacks.dm index 5f041a9d72a..6b43f5ec058 100644 --- a/code/datums/spells/touch_attacks.dm +++ b/code/datums/spells/touch_attacks.dm @@ -30,9 +30,9 @@ if(!hand_handled) qdel(attached_hand) attached_hand = null - to_chat(user, "Your hands are full!") + to_chat(user, SPAN_WARNING("Your hands are full!")) return 0 - to_chat(user, "You channel the power of the spell to your hand.") + to_chat(user, SPAN_NOTICE("You channel the power of the spell to your hand.")) return 1 /datum/spell/touch/proc/discharge_hand(atom/target, any = FALSE) @@ -44,7 +44,7 @@ return QDEL_NULL(attached_hand) if(on_remove_message) - to_chat(user, "You draw the power out of your hand.") + to_chat(user, SPAN_NOTICE("You draw the power out of your hand.")) /datum/spell/touch/disintegrate diff --git a/code/datums/spells/wizard_spells.dm b/code/datums/spells/wizard_spells.dm index 53bafc0f5a9..2fc857edf0c 100644 --- a/code/datums/spells/wizard_spells.dm +++ b/code/datums/spells/wizard_spells.dm @@ -87,7 +87,7 @@ base_cooldown = 400 invocation = "BIRUZ BENNAR" invocation_type = "shout" - message = "You feel strong! You feel a pressure building behind your eyes!" + message = SPAN_NOTICE("You feel strong! You feel a pressure building behind your eyes!") centcom_cancast = FALSE traits = list(TRAIT_LASEREYES) @@ -194,7 +194,7 @@ /datum/spell/return_to_teacher/cast(list/targets, mob/living/user = usr) if(!(teacher && teacher.current)) - to_chat(user, "The link to your teacher is broken!") + to_chat(user, SPAN_DANGER("The link to your teacher is broken!")) return do_teleport(user, teacher.current, 1, sound_in = 'sound/magic/blink.ogg', sound_out = 'sound/magic/blink.ogg', safe_turf_pick = TRUE) @@ -285,7 +285,7 @@ clothes_req = FALSE invocation = "STI KALY" invocation_type = "whisper" - message = "Your eyes cry out in pain!" + message = SPAN_NOTICE("Your eyes cry out in pain!") cooldown_min = 2 SECONDS sound = 'sound/magic/blind.ogg' @@ -297,13 +297,13 @@ /datum/spell/blind/cast(list/targets, mob/living/user) if(!length(targets)) - to_chat(user, "No target found in range.") + to_chat(user, SPAN_NOTICE("No target found in range.")) return var/mob/living/target = targets[1] if(target.can_block_magic(antimagic_flags)) - to_chat(target, "Your eye itches, but it passes momentarily.") - to_chat(user, "The spell had no effect!") + to_chat(target, SPAN_NOTICE("Your eye itches, but it passes momentarily.")) + to_chat(user, SPAN_NOTICE("The spell had no effect!")) return FALSE target.EyeBlurry(40 SECONDS) target.EyeBlind(30 SECONDS) @@ -321,8 +321,8 @@ invocation_type = "shout" cooldown_min = 20 //10 deciseconds reduction per rank - selection_activated_message = "You prepare to cast your fireball spell! Left-click to cast at a target!" - selection_deactivated_message = "You extinguish your fireball...for now." + selection_activated_message = SPAN_NOTICE("You prepare to cast your fireball spell! Left-click to cast at a target!") + selection_deactivated_message = SPAN_NOTICE("You extinguish your fireball...for now.") var/fireball_type = /obj/projectile/magic/fireball action_icon_state = "fireball0" @@ -367,8 +367,8 @@ fireball_type = /obj/projectile/homing/magic/toolbox invocation = "ROBUSTIO!" - selection_activated_message = "You prepare to cast your homing toolbox! Left-click to cast at a target!" - selection_deactivated_message = "You unrobust your toolbox...for now." + selection_activated_message = SPAN_NOTICE("You prepare to cast your homing toolbox! Left-click to cast at a target!") + selection_deactivated_message = SPAN_NOTICE("You unrobust your toolbox...for now.") /datum/spell/fireball/homing name = "Greater Homing Fireball" @@ -376,7 +376,7 @@ invocation = "ZI-ONI SOMA" fireball_type = /obj/projectile/homing/magic/homing_fireball - selection_activated_message = "You prepare to cast your greater homing fireball spell! Left-click to cast at a target!" + selection_activated_message = SPAN_NOTICE("You prepare to cast your greater homing fireball spell! Left-click to cast at a target!") /datum/spell/aoe/repulse name = "Repulse" @@ -421,13 +421,13 @@ var/mob/living/M = AM M.Weaken(10 SECONDS) M.adjustBruteLoss(5) - to_chat(M, "You're slammed into the floor by a mystical force!") + to_chat(M, SPAN_USERDANGER("You're slammed into the floor by a mystical force!")) else new sparkle_path(get_turf(AM), get_dir(user, AM)) //created sparkles will disappear on their own if(isliving(AM)) var/mob/living/M = AM M.Weaken(stun_amt) - to_chat(M, "You're thrown back by a mystical force!") + to_chat(M, SPAN_USERDANGER("You're thrown back by a mystical force!")) spawn(0) AM.throw_at(throwtarget, ((clamp((maxthrow - (clamp(distfromcaster - 2, 0, distfromcaster))), 3, maxthrow))), 1)//So stuff gets tossed around at the same time. @@ -463,8 +463,8 @@ base_cooldown = 5 SECONDS invocation = "JAH ITH BER" invocation_type = "whisper" - selection_activated_message = "You prepare to detonate a corpse. Click on a target to cast the spell." - selection_deactivated_message = "You cancel the spell." + selection_activated_message = SPAN_NOTICE("You prepare to detonate a corpse. Click on a target to cast the spell.") + selection_deactivated_message = SPAN_NOTICE("You cancel the spell.") action_icon_state = "corpse_explosion" /datum/spell/corpse_explosion/create_new_targeting() @@ -489,11 +489,11 @@ range = max(1, range) M.apply_damage(100 / range, BRUTE) if(issilicon(M)) - to_chat(M, "Your sensors are disabled, and your carapace is ripped apart by the violent dark magic!") + to_chat(M, SPAN_USERDANGER("Your sensors are disabled, and your carapace is ripped apart by the violent dark magic!")) M.Weaken(6 SECONDS / range) continue - to_chat(M, "You are eviscerated by the violent dark magic!") + to_chat(M, SPAN_USERDANGER("You are eviscerated by the violent dark magic!")) if(ishuman(M)) if(range < 4) M.KnockDown(4 SECONDS / range) diff --git a/code/datums/station_traits/admin_panel.dm b/code/datums/station_traits/admin_panel.dm index ddf13659ba2..513355ed650 100644 --- a/code/datums/station_traits/admin_panel.dm +++ b/code/datums/station_traits/admin_panel.dm @@ -55,7 +55,7 @@ USER_VERB(modify_station_traits, R_ADMIN, "Modify Station Traits", "Open the sta return TRUE if(too_late_to_revert()) - to_chat(ui.user, "It's too late to revert station traits, the round has already started!") + to_chat(ui.user, SPAN_WARNING("It's too late to revert station traits, the round has already started!")) return TRUE if(!station_trait.can_revert) @@ -71,7 +71,7 @@ USER_VERB(modify_station_traits, R_ADMIN, "Modify Station Traits", "Open the sta if("setup_future_traits") if(too_late_for_future_traits()) - to_chat(ui.user, "It's too late to add future station traits, the round is already over!") + to_chat(ui.user, SPAN_WARNING("It's too late to add future station traits, the round is already over!")) return TRUE var/list/new_future_traits = list() @@ -80,7 +80,7 @@ USER_VERB(modify_station_traits, R_ADMIN, "Modify Station Traits", "Open the sta var/datum/station_trait/station_trait_path = text2path(station_trait_text) if(!ispath(station_trait_path, /datum/station_trait) || station_trait_path == /datum/station_trait) log_admin("[key_name(ui.user)] tried to set an invalid future station trait: [station_trait_text]") - to_chat(ui.user, "Invalid future station trait: [station_trait_text]") + to_chat(ui.user, SPAN_WARNING("Invalid future station trait: [station_trait_text]")) return TRUE station_trait_names += initial(station_trait_path.name) @@ -102,7 +102,7 @@ USER_VERB(modify_station_traits, R_ADMIN, "Modify Station Traits", "Open the sta if("clear_future_traits") if(!future_traits) - to_chat(ui.user, "There are no future station traits.") + to_chat(ui.user, SPAN_WARNING("There are no future station traits.")) return TRUE var/message = "[key_name(ui.user)] has cleared the station traits for next round." diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 794d90b7444..e90f487623d 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -75,7 +75,7 @@ icon_state = "shadow_mend" /datum/status_effect/shadow_mend/on_apply() - owner.visible_message("Violet light wraps around [owner]'s body!", "Violet light wraps around your body!") + owner.visible_message(SPAN_NOTICE("Violet light wraps around [owner]'s body!"), SPAN_NOTICE("Violet light wraps around your body!")) playsound(owner, 'sound/magic/teleport_app.ogg', 50, 1) return ..() @@ -85,7 +85,7 @@ /datum/status_effect/shadow_mend/on_remove() if(!devil) - owner.visible_message("The violet light around [owner] glows black!", "The tendrils around you cinch tightly and reap their toll...") + owner.visible_message(SPAN_WARNING("The violet light around [owner] glows black!"), SPAN_WARNING("The tendrils around you cinch tightly and reap their toll...")) playsound(owner, 'sound/magic/teleport_diss.ogg', 50, TRUE) owner.apply_status_effect(STATUS_EFFECT_VOID_PRICE) return @@ -96,14 +96,14 @@ playsound(owner, 'sound/magic/teleport_diss.ogg', 50, TRUE) L.Beam(owner, "grabber_beam", time = 1 SECONDS, maxdistance = 9) if(L.can_block_magic(MAGIC_RESISTANCE)) - to_chat(L, "You shake off the tendrils that try to wrap around you!") + to_chat(L, SPAN_WARNING("You shake off the tendrils that try to wrap around you!")) continue found_someone = TRUE L.apply_status_effect(STATUS_EFFECT_VOID_PRICE) if(found_someone) - owner.visible_message("The violet light around [owner] glows black... and shoots off to those around [owner.p_them()]!", "The tendrils around you cinch tightly... but then unwravel and fly at others!") + owner.visible_message(SPAN_WARNING("The violet light around [owner] glows black... and shoots off to those around [owner.p_them()]!"), SPAN_WARNING("The tendrils around you cinch tightly... but then unwravel and fly at others!")) else - owner.visible_message("The violet light around [owner] glows black!", "The tendrils around you cinch tightly and reap their toll...") + owner.visible_message(SPAN_WARNING("The violet light around [owner] glows black!"), SPAN_WARNING("The tendrils around you cinch tightly and reap their toll...")) playsound(owner, 'sound/magic/teleport_diss.ogg', 50, TRUE) owner.apply_status_effect(STATUS_EFFECT_VOID_PRICE) @@ -325,7 +325,7 @@ /datum/status_effect/hippocratic_oath id = "Hippocratic Oath" tick_interval = 25 - examine_text = "They seem to have an aura of healing and helpfulness about them." + examine_text = SPAN_NOTICE("They seem to have an aura of healing and helpfulness about them.") alert_type = null var/deathTick = 0 /// How many points the rod has to heal with, maxes at 50, or whatever heal_points_max is set to. @@ -354,7 +354,7 @@ deathTick++ return - owner.visible_message("[owner]'s soul is absorbed into the rod, relieving the previous snake of its duty.") + owner.visible_message(SPAN_NOTICE("[owner]'s soul is absorbed into the rod, relieving the previous snake of its duty.")) var/mob/living/basic/snake/healSnake = new(owner.loc) var/list/chems = list("bicaridine", "perfluorodecalin", "kelotane") healSnake.poison_type = pick(chems) @@ -473,7 +473,7 @@ E.fix_burn_wound() E.mend_fracture() else - to_chat(owner, "...But the core was weakened, it is not close enough to the rest of the legions of the necropolis.") + to_chat(owner, SPAN_WARNING("...But the core was weakened, it is not close enough to the rest of the legions of the necropolis.")) return TRUE if(regen_type_applied == "Hivelord") var/area/A = get_area(H) @@ -483,7 +483,7 @@ E.fix_burn_wound() E.mend_fracture() else - to_chat(owner, "...But the core was weakened, it is not close enough to the stars to absorb solar radiation...") + to_chat(owner, SPAN_WARNING("...But the core was weakened, it is not close enough to the stars to absorb solar radiation...")) else owner.bodytemperature = BODYTEMP_NORMAL return TRUE @@ -553,27 +553,27 @@ /datum/status_effect/speedlegs/tick() if(owner.stat || owner.getStaminaLoss() >= 90 || cling.chem_charges <= (stacks + 1) * 3) - to_chat(owner, "Our muscles relax without the energy to strengthen them.") + to_chat(owner, SPAN_DANGER("Our muscles relax without the energy to strengthen them.")) owner.Weaken(6 SECONDS) qdel(src) else stacks++ cling.chem_charges -= stacks * 3 //At first the changeling may regenerate chemicals fast enough to nullify fatigue, but it will stack if(stacks == 7) //Warning message that the stacks are getting too high - to_chat(owner, "Our legs are really starting to hurt...") + to_chat(owner, SPAN_WARNING("Our legs are really starting to hurt...")) /datum/status_effect/speedlegs/before_remove() if(stacks < 3 && !(owner.stat || owner.getStaminaLoss() >= 90 || cling.chem_charges <= (stacks + 1) * 3)) //We don't want people to turn it on and off fast, however, we need it forced off if the 3 later conditions are met. - to_chat(owner, "Our muscles just tensed up, they will not relax so fast.") + to_chat(owner, SPAN_NOTICE("Our muscles just tensed up, they will not relax so fast.")) return FALSE return TRUE /datum/status_effect/speedlegs/on_remove() REMOVE_TRAIT(owner, TRAIT_GOTTAGOFAST, CHANGELING_TRAIT) if(!owner.IsWeakened()) - to_chat(owner, "Our muscles relax.") + to_chat(owner, SPAN_NOTICE("Our muscles relax.")) if(stacks >= 7) - to_chat(owner, "We collapse in exhaustion.") + to_chat(owner, SPAN_DANGER("We collapse in exhaustion.")) owner.Weaken(6 SECONDS) owner.emote("gasp") cling = null @@ -603,7 +603,7 @@ /atom/movable/screen/alert/status_effect/chainsaw name = "Revved up!" - desc = "... guts, huge guts! Kill them... must kill them all!" + desc = SPAN_DANGER("... guts, huge guts! Kill them... must kill them all!") icon_state = "chainsaw" /datum/status_effect/chainsaw_slaying/on_apply() @@ -637,7 +637,7 @@ /atom/movable/screen/alert/status_effect/breaching_and_cleaving name = "Breaching and Cleaving!" - desc = "Doors, people, machines... nothing will stand before your martial prowess!" + desc = SPAN_DANGER("Doors, people, machines... nothing will stand before your martial prowess!") icon_state = "breachcleaver" /datum/status_effect/breaching_and_cleaving/on_apply() @@ -705,9 +705,9 @@ "I bet a [pick("vox", "vulp", "nian", "tajaran", "baldie")] could do better than you!", "You hear people making fun of you for getting robusted.") if(prob(99)) - to_chat(owner, "[pick(hope_messages)]") + to_chat(owner, SPAN_NOTICE("[pick(hope_messages)]")) else - to_chat(owner, "[pick(un_hopeful_messages)]") + to_chat(owner, SPAN_CULTITALIC("[pick(un_hopeful_messages)]")) /datum/status_effect/drill_payback id = "drill_payback" @@ -731,7 +731,7 @@ /datum/status_effect/drill_payback/tick() // They are not staying down. This will be a fight. if(!drilled_successfully && (get_dist(owner, drilled) >= 9)) // We don't want someone drilling the safe at arrivals then raiding bridge with the buff - to_chat(owner, "Get back to the safe, they are going to get the drill!") + to_chat(owner, SPAN_USERDANGER("Get back to the safe, they are going to get the drill!")) times_warned++ if(times_warned >= 6) owner.remove_status_effect(STATUS_EFFECT_DRILL_PAYBACK) @@ -822,7 +822,7 @@ qdel(src) return if(!is_any_revolutionary(attacker)) // protect from non-revs. Revs dont care about deconverted people - to_chat(attacker, "[owner] was just deconverted! You don't feel like harming them!") + to_chat(attacker, SPAN_BIGGERDANGER("[owner] was just deconverted! You don't feel like harming them!")) attacker.changeNext_move(CLICK_CD_MELEE) return COMPONENT_CANCEL_ATTACK_CHAIN @@ -843,7 +843,7 @@ /atom/movable/screen/alert/status_effect/bearserker_rage name = "Bearserker Rage" - desc = "Blood flows between your fingers, and Foh'Sie roars; \"MORE BLOOD!\"" + desc = SPAN_DANGER("Blood flows between your fingers, and Foh'Sie roars; \"MORE BLOOD!\"") icon_state = "bearserker" /datum/status_effect/bearserker_rage/on_apply() @@ -1070,11 +1070,11 @@ if(owner.bodytemperature >= COMBUSTION_TEMPERATURE) owner.adjust_fire_stacks(5) owner.IgniteMob() - to_chat(owner, "Your components can't handle the heat and combust!") + to_chat(owner, SPAN_USERDANGER("Your components can't handle the heat and combust!")) qdel(src) stacks += 1 if(stacks == danger_stack_amount) - to_chat(owner, "Your components are being dangerously overworked!") + to_chat(owner, SPAN_USERDANGER("Your components are being dangerously overworked!")) /atom/movable/screen/alert/status_effect/overclock name = "Overclocked" diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index e43d3f09cfe..4e3dd0498d6 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -41,7 +41,7 @@ if(get_dist_euclidian(summoner, owner) < 21) return owner.adjustBruteLoss(damage) - to_chat(owner, "You are too far away from the summoner!") + to_chat(owner, SPAN_USERDANGER("You are too far away from the summoner!")) /datum/status_effect/crusher_mark id = "crusher_mark" @@ -201,11 +201,11 @@ if(teleports < 3) return if(teleports < 6) - to_chat(M, "You feel a bit sick!") + to_chat(M, SPAN_WARNING("You feel a bit sick!")) M.vomit(lost_nutrition = 15, blood = 0, should_confuse = FALSE, distance = 0, message = 1) M.Weaken(2 SECONDS) else - to_chat(M, "You feel really sick!") + to_chat(M, SPAN_DANGER("You feel really sick!")) M.adjustBruteLoss(rand(0, teleports * 2)) M.vomit(lost_nutrition = 30, blood = 0, should_confuse = FALSE, distance = 0, message = 1) M.Weaken(6 SECONDS) @@ -392,7 +392,7 @@ /datum/status_effect/pepper_spray/on_apply() . = ..() - to_chat(owner, "Your throat burns!") + to_chat(owner, SPAN_DANGER("Your throat burns!")) owner.AdjustConfused(12 SECONDS, bound_upper = 20 SECONDS) owner.Slowed(4 SECONDS) owner.apply_damage(40, STAMINA) @@ -931,9 +931,9 @@ switch(current_fake_disease) if(FAKE_COLD) fake_msg = list( - list("Your throat feels sore.", "Mucous runs down the back of your throat."), - list("Your muscles ache.", "Your stomach hurts."), - list("Your muscles ache.", "Your stomach hurts.") + list(SPAN_DANGER("Your throat feels sore."), SPAN_DANGER("Mucous runs down the back of your throat.")), + list(SPAN_DANGER("Your muscles ache."), SPAN_DANGER("Your stomach hurts.")), + list(SPAN_DANGER("Your muscles ache."), SPAN_DANGER("Your stomach hurts.")) ) fake_emote = list( list("sneeze", "cough"), @@ -942,9 +942,9 @@ ) if(FAKE_FOOD_POISONING) fake_msg = list( - list("Your stomach feels weird.", "You feel queasy."), - list("Your stomach aches.", "You feel nauseous."), - list("Your stomach hurts.", "You feel sick.") + list(SPAN_DANGER("Your stomach feels weird."), SPAN_DANGER("You feel queasy.")), + list(SPAN_DANGER("Your stomach aches."), SPAN_DANGER("You feel nauseous.")), + list(SPAN_DANGER("Your stomach hurts."), SPAN_DANGER("You feel sick.")) ) fake_emote = list( list(), @@ -953,9 +953,9 @@ ) if(FAKE_RETRO_VIRUS) fake_msg = list( - list("Your head hurts.", "You feel a tingling sensation in your chest.", "You feel angry."), - list("Your skin feels loose.", "You feel very strange.", "You feel a stabbing pain in your head!", "Your stomach churns."), - list("Your entire body vibrates.") + list(SPAN_DANGER("Your head hurts."), "You feel a tingling sensation in your chest.", SPAN_DANGER("You feel angry.")), + list(SPAN_DANGER("Your skin feels loose."), "You feel very strange.", SPAN_DANGER("You feel a stabbing pain in your head!"), SPAN_DANGER("Your stomach churns.")), + list(SPAN_DANGER("Your entire body vibrates.")) ) fake_emote = list( list(), @@ -964,9 +964,9 @@ ) if(FAKE_TURBERCULOSIS) fake_msg = list( - list("Your chest hurts.", "Your stomach violently rumbles!", "You feel a cold sweat form."), - list("You feel a sharp pain from your lower chest!", "You feel air escape from your lungs painfully."), - list("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...") + list(SPAN_DANGER("Your chest hurts."), SPAN_DANGER("Your stomach violently rumbles!"), SPAN_DANGER("You feel a cold sweat form.")), + list(SPAN_DANGER("You feel a sharp pain from your lower chest!"), SPAN_DANGER("You feel air escape from your lungs painfully.")), + list(SPAN_DANGER("You feel uncomfortably hot..."), SPAN_DANGER("You feel like unzipping your jumpsuit"), SPAN_DANGER("You feel like taking off some clothes...")) ) fake_emote = list( list("cough"), @@ -975,9 +975,9 @@ ) else // FAKE_BRAINROT fake_msg = list( - list("You don't feel like yourself."), - list("Your try to remember something important...but can't."), - list("Strange buzzing fills your head, removing all thoughts.") + list(SPAN_DANGER("You don't feel like yourself.")), + list(SPAN_DANGER("Your try to remember something important...but can't.")), + list(SPAN_DANGER("Strange buzzing fills your head, removing all thoughts.")) ) fake_emote = list( list("blink", "yawn"), @@ -1044,7 +1044,7 @@ for(var/datum/reagent/R in owner.reagents.reagent_list) owner.reagents.remove_reagent(R.id, 0.75) if(prob(10)) - to_chat(owner, "Your blood freezes in your veins, get away!") + to_chat(owner, SPAN_USERDANGER("Your blood freezes in your veins, get away!")) /datum/status_effect/bubblegum_curse id = "bubblegum curse" @@ -1081,7 +1081,7 @@ var/mob/living/carbon/human/H = owner H.bleed(0.33) if(prob(5)) - to_chat(owner, "[pick("You feel your sins crawling on your back.", "You felt your sins weighing on your neck.", "You feel your blood pulsing inside you.", "YOU'LL NEVER ESCAPE ME", "YOU'LL DIE FOR INSULTING ME LIKE THIS")]") + to_chat(owner, SPAN_USERDANGER("[pick("You feel your sins crawling on your back.", "You felt your sins weighing on your neck.", "You feel your blood pulsing inside you.", "YOU'LL NEVER ESCAPE ME", "YOU'LL DIE FOR INSULTING ME LIKE THIS")]")) /datum/status_effect/bubblegum_curse/on_remove() owner.clear_fullscreen("Bubblegum") @@ -1090,34 +1090,34 @@ coward_checking = FALSE var/mob/living/simple_animal/hostile/megafauna/bubblegum/attacker = locateUID(source_UID) if(owner.z != attacker.z) - to_chat(owner, "YOU CHALLENGE ME LIKE THIS... AND YOU RUN WITH YOUR FALSE MAGICS?") + to_chat(owner, SPAN_COLOSSUS("YOU CHALLENGE ME LIKE THIS... AND YOU RUN WITH YOUR FALSE MAGICS?")) else return SLEEP_CHECK_QDEL(2 SECONDS) - to_chat(owner, "REALLY?") + to_chat(owner, SPAN_COLOSSUS("REALLY?")) SLEEP_CHECK_QDEL(2 SECONDS) - to_chat(owner, "SUCH INSOLENCE!") + to_chat(owner, SPAN_COLOSSUS("SUCH INSOLENCE!")) SLEEP_CHECK_QDEL(2 SECONDS) - to_chat(owner, "SO PATHETIC...") + to_chat(owner, SPAN_COLOSSUS("SO PATHETIC...")) SLEEP_CHECK_QDEL(2 SECONDS) - to_chat(owner, "...SO FOOLISH!") + to_chat(owner, SPAN_COLOSSUS("...SO FOOLISH!")) get_over_here() /datum/status_effect/bubblegum_curse/proc/runaway_coward_callback() coward_checking = FALSE var/mob/living/simple_animal/hostile/megafauna/bubblegum/attacker = locateUID(source_UID) if(get_dist(attacker, owner) >= 25) - to_chat(owner, "My my, you can run FAST.") + to_chat(owner, SPAN_COLOSSUS("My my, you can run FAST.")) else return SLEEP_CHECK_QDEL(2 SECONDS) - to_chat(owner, "I thought you wanted a true fight?") + to_chat(owner, SPAN_COLOSSUS("I thought you wanted a true fight?")) SLEEP_CHECK_QDEL(2 SECONDS) - to_chat(owner, "Perhaps I was mistaken.") + to_chat(owner, SPAN_COLOSSUS("Perhaps I was mistaken.")) SLEEP_CHECK_QDEL(2 SECONDS) - to_chat(owner, "You are a coward who does not want a fight...") + to_chat(owner, SPAN_COLOSSUS("You are a coward who does not want a fight...")) SLEEP_CHECK_QDEL(2 SECONDS) - to_chat(owner, "...BUT I WANT YOU DEAD!") + to_chat(owner, SPAN_COLOSSUS("...BUT I WANT YOU DEAD!")) get_over_here() /datum/status_effect/bubblegum_curse/proc/get_over_here() @@ -1132,27 +1132,27 @@ new /obj/effect/temp_visual/bubblegum_hands/rightsmack(TA) sleep(6) var/turf/TB = get_turf(owner) - to_chat(owner, "[attacker] rends you!") + to_chat(owner, SPAN_USERDANGER("[attacker] rends you!")) playsound(TB, attacker.attack_sound, 100, TRUE, -1) owner.adjustBruteLoss(10) new /obj/effect/decal/cleanable/blood/bubblegum(TB) new /obj/effect/temp_visual/bubblegum_hands/leftsmack(TB) sleep(6) var/turf/TC = get_turf(owner) - to_chat(owner, "[attacker] rends you!") + to_chat(owner, SPAN_USERDANGER("[attacker] rends you!")) playsound(TC, attacker.attack_sound, 100, TRUE, -1) owner.adjustBruteLoss(10) new /obj/effect/decal/cleanable/blood/bubblegum(TC) new /obj/effect/temp_visual/bubblegum_hands/rightsmack(TC) sleep(6) var/turf/TD = get_turf(owner) - to_chat(owner, "[attacker] rends you!") + to_chat(owner, SPAN_USERDANGER("[attacker] rends you!")) playsound(TD, attacker.attack_sound, 100, TRUE, -1) owner.adjustBruteLoss(10) new /obj/effect/temp_visual/bubblegum_hands/leftpaw(TD) new /obj/effect/temp_visual/bubblegum_hands/leftthumb(TD) sleep(8) - to_chat(owner, "[attacker] drags you through the blood!") + to_chat(owner, SPAN_USERDANGER("[attacker] drags you through the blood!")) playsound(TD, 'sound/misc/enter_blood.ogg', 100, TRUE, -1) var/turf/targetturf = get_step(attacker, attacker.dir) owner.forceMove(targetturf) @@ -1228,7 +1228,7 @@ return SLOT_MACHINE_USE_CANCEL if(monologuing) - to_chat(owner, "Your arm is resisting your attempts to pull the lever!") // listening to kitschy monologues to postpone your powergaming is the true curse here. + to_chat(owner, SPAN_WARNING("Your arm is resisting your attempts to pull the lever!")) // listening to kitschy monologues to postpone your powergaming is the true curse here. return SLOT_MACHINE_USE_POSTPONE /// Handles the debuffs of this status effect and incrementing the number of curses we have. @@ -1255,36 +1255,36 @@ var/obj/item/organ/external/affecting = human_owner.get_active_hand() branded_hand = affecting - messages += "Your hand burns, and you quickly let go of the lever! You feel a little sick as the nerves deaden in your hand..." - messages += "Some smoke appears to be coming out of your hand now, but it's not too bad..." - messages += "Fucking stupid machine." + messages += SPAN_BOLDWARNING("Your hand burns, and you quickly let go of the lever! You feel a little sick as the nerves deaden in your hand...") + messages += SPAN_BOLDWARNING("Some smoke appears to be coming out of your hand now, but it's not too bad...") + messages += SPAN_BOLDWARNING("Fucking stupid machine.") if(2) - messages += "The machine didn't burn you this time, it must be some arcane work of the brand recognizing a source..." - messages += "Blisters and boils start to appear over your skin. Each one hissing searing hot steam out of its own pocket..." - messages += "You understand that the machine tortures you with its simplistic allure. It can kill you at any moment, but it derives a sick satisfaction at forcing you to keep going." - messages += "If you could get away from here, you might be able to live with some medical supplies. Is it too late to stop now?" - messages += "As you shut your eyes to dwell on this conundrum, the brand surges in pain. You shudder to think what might happen if you go unconscious." + messages += SPAN_BOLDWARNING("The machine didn't burn you this time, it must be some arcane work of the brand recognizing a source...") + messages += SPAN_BOLDWARNING("Blisters and boils start to appear over your skin. Each one hissing searing hot steam out of its own pocket...") + messages += SPAN_BOLDWARNING("You understand that the machine tortures you with its simplistic allure. It can kill you at any moment, but it derives a sick satisfaction at forcing you to keep going.") + messages += SPAN_BOLDWARNING("If you could get away from here, you might be able to live with some medical supplies. Is it too late to stop now?") + messages += SPAN_BOLDWARNING("As you shut your eyes to dwell on this conundrum, the brand surges in pain. You shudder to think what might happen if you go unconscious.") if(3) owner.emote("cough") - messages += "Your throat becomes to feel like it's slowly caking up with sand and dust. You eject the contents of the back of your throat onto your sleeve." - messages += "It is sand. Crimson red. You've never felt so thirsty in your life, yet you don't trust your own hand to carry the glass to your lips." - messages += "You get the sneaking feeling that if someone else were to win, that it might clear your curse too. Saving your life is a noble cause." - messages += "Of course, you might have to not speak on the nature of this machine, in case they scamper off to leave you to die." - messages += "Is it truly worth it to condemn someone to this fate to cure the manifestation of your own hedonistic urges? You'll have to decide quickly." + messages += SPAN_BOLDWARNING("Your throat becomes to feel like it's slowly caking up with sand and dust. You eject the contents of the back of your throat onto your sleeve.") + messages += SPAN_BOLDWARNING("It is sand. Crimson red. You've never felt so thirsty in your life, yet you don't trust your own hand to carry the glass to your lips.") + messages += SPAN_BOLDWARNING("You get the sneaking feeling that if someone else were to win, that it might clear your curse too. Saving your life is a noble cause.") + messages += SPAN_BOLDWARNING("Of course, you might have to not speak on the nature of this machine, in case they scamper off to leave you to die.") + messages += SPAN_BOLDWARNING("Is it truly worth it to condemn someone to this fate to cure the manifestation of your own hedonistic urges? You'll have to decide quickly.") if(4) - messages += "A migraine swells over your head as your thoughts become hazy. Your hand desperately inches closer towards the slot machine for one final pull..." - messages += "The ultimate test of mind over matter. You can jerk your own muscle back in order to prevent a terrible fate, but your life already is worth so little now." - messages += "This is what they want, is it not? To witness your failure against itself? The compulsion carries you forward as a sinking feeling of dread fills your stomach." - messages += "Paradoxically, where there is hopelessness, there is elation. Elation at the fact that there's still enough power in you for one more pull." - messages += "Your legs desperately wish to jolt away on the thought of running away from this wretched machination, but your own arm remains complacent in the thought of seeing spinning wheels." - messages += "The toll has already been exacted. There is no longer death on 'your' terms. Is your dignity worth more than your life?" + messages += SPAN_BOLDWARNING("A migraine swells over your head as your thoughts become hazy. Your hand desperately inches closer towards the slot machine for one final pull...") + messages += SPAN_BOLDWARNING("The ultimate test of mind over matter. You can jerk your own muscle back in order to prevent a terrible fate, but your life already is worth so little now.") + messages += SPAN_BOLDWARNING("This is what they want, is it not? To witness your failure against itself? The compulsion carries you forward as a sinking feeling of dread fills your stomach.") + messages += SPAN_BOLDWARNING("Paradoxically, where there is hopelessness, there is elation. Elation at the fact that there's still enough power in you for one more pull.") + messages += SPAN_BOLDWARNING("Your legs desperately wish to jolt away on the thought of running away from this wretched machination, but your own arm remains complacent in the thought of seeing spinning wheels.") + messages += SPAN_USERDANGER("The toll has already been exacted. There is no longer death on 'your' terms. Is your dignity worth more than your life?") if(5 to INFINITY) if(max_curse_count != DEFAULT_MAX_CURSE_COUNT) // this probably will only happen through admin schenanigans letting people stack up infinite curses or something - to_chat(owner, "Do you still think you're in control?") + to_chat(owner, SPAN_USERDANGER("Do you still think you're in control?")) return to_chat(owner, "Why couldn't I get one more try?!") @@ -1301,8 +1301,8 @@ SIGNAL_HANDLER owner.visible_message( - "The smoke slowly clears from [owner.name]...", - "Your skin finally settles down and your throat no longer feels as dry... The brand disappearing confirms that the curse has been lifted.",) + SPAN_WARNING("The smoke slowly clears from [owner.name]..."), + SPAN_NOTICE("Your skin finally settles down and your throat no longer feels as dry... The brand disappearing confirms that the curse has been lifted."),) qdel(src) /// If our owner's stat changes, rapidly surge the damage chance. @@ -1312,7 +1312,7 @@ damage_chance = initial(damage_chance) return - to_chat(owner, "As your body crumbles, you feel the curse of the slot machine surge through your body!") + to_chat(owner, SPAN_USERDANGER("As your body crumbles, you feel the curse of the slot machine surge through your body!")) damage_chance += 75 //ruh roh raggy /// If our owner dies without getting gibbed, we gib them, because fuck you baltamore @@ -1458,11 +1458,11 @@ . = ..() SEND_SOUND(owner, sound('sound/weapons/sear.ogg')) if(issilicon(owner)) - to_chat(owner, "The unnatural rust magically corrodes your body!") + to_chat(owner, SPAN_USERDANGER("The unnatural rust magically corrodes your body!")) owner.adjustBruteLoss(10) return //We don't have disgust, so... - to_chat(owner, "The unnatural rust makes you feel sick!") + to_chat(owner, SPAN_USERDANGER("The unnatural rust makes you feel sick!")) if(ishuman(owner)) owner.adjustBrainLoss(2.5) owner.reagents?.remove_all(0.75) @@ -1516,7 +1516,7 @@ /datum/status_effect/temporal_slash_finisher/tick() . = ..() - owner.visible_message("[owner] gets slashed by a cut through spacetime!", "You get slashed by a cut through spacetime!") + owner.visible_message(SPAN_DANGER("[owner] gets slashed by a cut through spacetime!"), SPAN_USERDANGER("You get slashed by a cut through spacetime!")) playsound(owner, 'sound/weapons/rapierhit.ogg', 50, TRUE) owner.apply_damage(damage_per_cut, BRUTE, pick(BODY_ZONE_CHEST, BODY_ZONE_HEAD, BODY_ZONE_L_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_ARM, BODY_ZONE_R_LEG), 0, TRUE, null, FALSE) cuts-- diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm index 6375e03dca6..d06b224e42d 100644 --- a/code/datums/status_effects/gas.dm +++ b/code/datums/status_effects/gas.dm @@ -13,7 +13,7 @@ /datum/status_effect/freon/on_apply() RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(owner_resist)) if(!owner.stat) - to_chat(owner, "You become frozen in a cube!") + to_chat(owner, SPAN_USERDANGER("You become frozen in a cube!")) cube = icon('icons/effects/freeze.dmi', "ice_cube") owner.add_overlay(cube) ADD_TRAIT(owner, TRAIT_IMMOBILIZED, "[id]") diff --git a/code/datums/status_effects/magic_disguise.dm b/code/datums/status_effects/magic_disguise.dm index b864b51bec2..bb68c8dff2d 100644 --- a/code/datums/status_effects/magic_disguise.dm +++ b/code/datums/status_effects/magic_disguise.dm @@ -27,7 +27,7 @@ if(disguise) apply_disguise(owner) else - to_chat(owner, "Your spell fails to find a disguise!") + to_chat(owner, SPAN_WARNING("Your spell fails to find a disguise!")) return FALSE RegisterSignal(owner, list(COMSIG_MOB_APPLY_DAMAGE, COMSIG_HUMAN_ATTACKED, COMSIG_SPECIES_HITBY), PROC_REF(remove_disguise)) @@ -75,7 +75,7 @@ H.update_inv_l_hand() H.sec_hud_set_ID() SEND_SIGNAL(H, COMSIG_CARBON_REGENERATE_ICONS) - to_chat(H, "You disguise yourself as [disguise.name].") + to_chat(H, SPAN_NOTICE("You disguise yourself as [disguise.name].")) /datum/status_effect/magic_disguise/proc/remove_disguise() SIGNAL_HANDLER // COMSIG_MOB_APPLY_DAMAGE + COMSIG_HUMAN_ATTACKED + COMSIG_SPECIES_HITBY diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index 868afa9f971..7344dd29132 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -79,7 +79,7 @@ return /datum/status_effect/high_five/proc/regular_effect(mob/living/carbon/user, mob/living/carbon/highfived) - user.visible_message("[user.name] and [highfived.name] [success]") + user.visible_message(SPAN_NOTICE("[user.name] and [highfived.name] [success]")) /datum/status_effect/high_five/on_apply() if(!iscarbon(owner)) @@ -93,7 +93,7 @@ if(!C.has_status_effect(type) || C == user) continue if(is_wiz && iswizard(C)) - user.visible_message("[user.name] and [C.name] [critical_success]") + user.visible_message(SPAN_BIGGERDANGER("[user.name] and [C.name] [critical_success]")) wiz_effect(user, C) both_wiz = TRUE user.do_attack_animation(C, no_effect = TRUE) @@ -158,7 +158,7 @@ /datum/status_effect/high_five/offering_eftpos/proc/on_ranged_attack(mob/living/me, mob/living/carbon/human/attacker) SIGNAL_HANDLER // COMSIG_ATOM_RANGED_ATTACKED if(get_dist(me, attacker) <= 2) - to_chat(attacker, "You need to have your ID in hand to scan it!") + to_chat(attacker, SPAN_WARNING("You need to have your ID in hand to scan it!")) return COMPONENT_CANCEL_ATTACK_CHAIN /datum/status_effect/high_five/handshake @@ -227,14 +227,14 @@ outcome_msg = "[highfived] wins!" user.visible_message( - "[user] plays [move], and [highfived] plays [their_status_effect.move].", - "[highfived] plays [their_status_effect.move].", - "It sounds like rock-paper-scissors." + SPAN_NOTICE("[user] plays [move], and [highfived] plays [their_status_effect.move]."), + SPAN_NOTICE("[highfived] plays [their_status_effect.move]."), + SPAN_NOTICE("It sounds like rock-paper-scissors.") ) user.visible_message( - "[outcome_msg]", - blind_message = "It sounds like [pick(user, highfived)] won!" // you're blind how are you supposed to know + SPAN_WARNING("[outcome_msg]"), + blind_message = SPAN_NOTICE("It sounds like [pick(user, highfived)] won!") // you're blind how are you supposed to know ) /datum/status_effect/high_five/rps/on_creation(mob/living/new_owner, made_move) @@ -248,14 +248,14 @@ /datum/status_effect/high_five/rps/on_apply() if(!isnull(move)) - to_chat(owner, "You prepare to play [move].") + to_chat(owner, SPAN_NOTICE("You prepare to play [move].")) return ..() // we already have the move, probably from the emote passing it in move = get_rock_paper_scissors_move(owner) if(move == null) return FALSE // make it auto-remove itself - to_chat(owner, "You prepare to play [move].") + to_chat(owner, SPAN_NOTICE("You prepare to play [move].")) return ..() diff --git a/code/datums/uplink_items/uplink_general.dm b/code/datums/uplink_items/uplink_general.dm index 108650fb6dc..becc5a73129 100644 --- a/code/datums/uplink_items/uplink_general.dm +++ b/code/datums/uplink_items/uplink_general.dm @@ -102,7 +102,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) if(hijack_only && !(usr.mind.special_role == SPECIAL_ROLE_NUKEOPS))//nukies get items that regular traitors only get with hijack. If a hijack-only item is not for nukies, then exclude it via the gamemode list. if(!(locate(/datum/objective/hijack) in usr.mind.get_all_objectives() || locate(/datum/objective/nuke) in usr.mind.get_all_objectives()) && U.uplink_type != UPLINK_TYPE_ADMIN) - to_chat(usr, "The Syndicate will only issue this extremely dangerous item to agents assigned to hijack the shuttle, or detonate the station's nuclear device.") + to_chat(usr, SPAN_WARNING("The Syndicate will only issue this extremely dangerous item to agents assigned to hijack the shuttle, or detonate the station's nuclear device.")) return U.uses -= max(cost, 0) diff --git a/code/datums/uplink_items/uplink_traitor.dm b/code/datums/uplink_items/uplink_traitor.dm index e88a6423441..666815a5d28 100644 --- a/code/datums/uplink_items/uplink_traitor.dm +++ b/code/datums/uplink_items/uplink_traitor.dm @@ -683,13 +683,13 @@ var/datum/mind/mind = usr.mind var/datum/antagonist/traitor/AT = mind.has_antag_datum(/datum/antagonist/traitor) if(LAZYACCESS(GLOB.contractors, mind)) - to_chat(usr, "Error: Contractor credentials detected for the current user. Unable to provide another Contractor kit.") + to_chat(usr, SPAN_WARNING("Error: Contractor credentials detected for the current user. Unable to provide another Contractor kit.")) return else if(!AT) - to_chat(usr, "Error: Embedded Syndicate credentials not found.") + to_chat(usr, SPAN_WARNING("Error: Embedded Syndicate credentials not found.")) return else if(IS_CHANGELING(usr) || mind.has_antag_datum(/datum/antagonist/vampire)) - to_chat(usr, "Error: Embedded Syndicate credentials contain an abnormal signature. Aborting.") + to_chat(usr, SPAN_WARNING("Error: Embedded Syndicate credentials contain an abnormal signature. Aborting.")) return var/obj/item/I = ..() diff --git a/code/datums/vv_core_topics.dm b/code/datums/vv_core_topics.dm index 94a3f26dc05..a00685c8ac9 100644 --- a/code/datums/vv_core_topics.dm +++ b/code/datums/vv_core_topics.dm @@ -12,7 +12,7 @@ var/D = locateUID(href_list["datumedit"]) if(!istype(D,/datum) && !isclient(D)) - to_chat(usr, "This can only be used on instances of types /client or /datum.") + to_chat(usr, SPAN_NOTICE("This can only be used on instances of types /client or /datum.")) return modify_variables(D, href_list["varnameedit"], 1) @@ -22,7 +22,7 @@ var/D = locateUID(href_list["datumchange"]) if(!istype(D,/datum) && !isclient(D)) - to_chat(usr, "This can only be used on instances of types /client or /datum.") + to_chat(usr, SPAN_NOTICE("This can only be used on instances of types /client or /datum.")) return modify_variables(D, href_list["varnamechange"], 0) @@ -32,7 +32,7 @@ var/atom/A = locateUID(href_list["datummass"]) if(!istype(A)) - to_chat(usr, "This can only be used on instances of type /atom.") + to_chat(usr, SPAN_NOTICE("This can only be used on instances of type /atom.")) return cmd_mass_modify_object_variables(A, href_list["varnamemass"]) @@ -46,7 +46,7 @@ if(!check_rights(0)) return if(!istype(target)) - to_chat(usr, "This can only be done to instances of type /datum.") + to_chat(usr, SPAN_NOTICE("This can only be done to instances of type /datum.")) return holder.marked_datum = target @@ -76,7 +76,7 @@ return if(QDELETED(target)) - to_chat(usr, "That thing doesn't exist anymore!", confidential = TRUE) + to_chat(usr, SPAN_NOTICE("That thing doesn't exist anymore!"), confidential = TRUE) return var/list/lst = get_callproc_args() @@ -92,7 +92,7 @@ datumname = "element" target._AddElement(lst) log_admin("[key_name(usr)] has added [result] [datumname] to [key_name(target)].") - message_admins("[key_name_admin(usr)] has added [result] [datumname] to [key_name_admin(target)].") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] has added [result] [datumname] to [key_name_admin(target)].")) if(href_list[VV_HK_REMOVECOMPONENT] || href_list[VV_HK_MASSREMOVECOMPONENT]) if(!check_rights(NONE)) return @@ -111,7 +111,7 @@ if(!usr || path == "---Components---" || path == "---Elements---") return if(QDELETED(target)) - to_chat(usr, "That thing doesn't exist anymore!") + to_chat(usr, SPAN_NOTICE("That thing doesn't exist anymore!")) return var/list/targets_to_remove_from = list(target) if(mass_remove) @@ -133,4 +133,4 @@ for(var/to_delete in components_actual) qdel(to_delete) - message_admins("[key_name_admin(usr)] has [mass_remove ? "mass" : ""] removed [path] component from [mass_remove ? target.type : key_name_admin(target)].") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] has [mass_remove ? "mass" : ""] removed [path] component from [mass_remove ? target.type : key_name_admin(target)].")) diff --git a/code/datums/weather/weather_datum.dm b/code/datums/weather/weather_datum.dm index 60c1e9def20..c2f5ed99abd 100644 --- a/code/datums/weather/weather_datum.dm +++ b/code/datums/weather/weather_datum.dm @@ -6,12 +6,12 @@ GLOBAL_LIST_EMPTY(all_shelter_pods) var/name = "space wind" var/desc = "Heavy gusts of wind blanket the area, periodically knocking down anyone caught in the open." - var/telegraph_message = "The wind begins to pick up." //The message displayed in chat to foreshadow the weather's beginning + var/telegraph_message = SPAN_WARNING("The wind begins to pick up.") //The message displayed in chat to foreshadow the weather's beginning var/telegraph_duration = 300 //In deciseconds, how long from the beginning of the telegraph until the weather begins var/telegraph_sound //The sound file played to everyone on an affected z-level var/telegraph_overlay //The overlay applied to all tiles on the z-level - var/weather_message = "The wind begins to blow ferociously!" //Displayed in chat once the weather begins in earnest + var/weather_message = SPAN_USERDANGER("The wind begins to blow ferociously!") //Displayed in chat once the weather begins in earnest var/weather_duration = 1200 //In deciseconds, how long the weather lasts once it begins var/weather_duration_lower = 1200 //See above - this is the lowest possible duration var/weather_duration_upper = 1500 //See above - this is the highest possible duration @@ -19,7 +19,7 @@ GLOBAL_LIST_EMPTY(all_shelter_pods) var/weather_overlay var/weather_color = null - var/end_message = "The wind relents its assault." //Displayed once the wather is over + var/end_message = SPAN_DANGER("The wind relents its assault.") //Displayed once the wather is over var/end_duration = 300 //In deciseconds, how long the "wind-down" graphic will appear before vanishing entirely var/end_sound var/end_overlay diff --git a/code/datums/weather/weather_types/floor_is_lava.dm b/code/datums/weather/weather_types/floor_is_lava.dm index 6348084f174..e3c8fa1614f 100644 --- a/code/datums/weather/weather_types/floor_is_lava.dm +++ b/code/datums/weather/weather_types/floor_is_lava.dm @@ -3,15 +3,15 @@ name = "the floor is lava" desc = "The ground turns into surprisingly cool lava, lightly damaging anything on the floor." - telegraph_message = "You feel the ground beneath you getting hot. Waves of heat distort the air." + telegraph_message = SPAN_WARNING("You feel the ground beneath you getting hot. Waves of heat distort the air.") telegraph_duration = 150 - weather_message = "The floor is lava! Get on top of something!" + weather_message = SPAN_USERDANGER("The floor is lava! Get on top of something!") weather_duration_lower = 300 weather_duration_upper = 600 weather_overlay = "lava" - end_message = "The ground cools and returns to its usual form." + end_message = SPAN_DANGER("The ground cools and returns to its usual form.") end_duration = 0 area_types = list(/area) diff --git a/code/datums/weather/weather_types/lavaland_weather.dm b/code/datums/weather/weather_types/lavaland_weather.dm index 74978e6557c..7191b604eb6 100644 --- a/code/datums/weather/weather_types/lavaland_weather.dm +++ b/code/datums/weather/weather_types/lavaland_weather.dm @@ -6,15 +6,15 @@ name = "Ash storm" desc = "An intense atmospheric storm lifts ash off of the planet's surface and billows it down across the area, dealing intense fire damage to the unprotected." - telegraph_message = "An eerie moan rises on the wind. Sheets of burning ash blacken the horizon. Seek shelter." + telegraph_message = SPAN_BOLDWARNING("An eerie moan rises on the wind. Sheets of burning ash blacken the horizon. Seek shelter.") telegraph_overlay = "light_ash" - weather_message = "Smoldering clouds of scorching ash billow down around you! Get inside!" + weather_message = SPAN_USERDANGER("Smoldering clouds of scorching ash billow down around you! Get inside!") weather_duration_lower = 600 weather_duration_upper = 1200 weather_overlay = "ash_storm" - end_message = "The shrieking wind whips away the last of the ash and falls to its usual murmur. It should be safe to go outside now." + end_message = SPAN_BOLDANNOUNCEIC("The shrieking wind whips away the last of the ash and falls to its usual murmur. It should be safe to go outside now.") end_overlay = "light_ash" area_types = list(/area/lavaland/surface/outdoors, /area/lavaland/surface/gulag_rock) @@ -105,10 +105,10 @@ name = "Emberfall" desc = "A passing ash storm blankets the area in harmless embers." - weather_message = "Gentle embers waft down around you like grotesque snow. The storm seems to have passed you by..." + weather_message = SPAN_NOTICE("Gentle embers waft down around you like grotesque snow. The storm seems to have passed you by...") weather_overlay = "light_ash" - end_message = "The emberfall slows, stops. Another layer of hardened soot to the basalt beneath your feet." + end_message = SPAN_NOTICE("The emberfall slows, stops. Another layer of hardened soot to the basalt beneath your feet.") end_sound = null aesthetic = TRUE @@ -118,11 +118,11 @@ name = "Volcanic activity" desc = "The shifting tectonic forces on the unstable planet have caused volcanic activity in the area. New rivers/chasms will form and chunks of rock will rain from the sky." - telegraph_message = "The ground rumbles with an ominous strength, threatening to shift below you. Seek shelter." + telegraph_message = SPAN_BOLDWARNING("The ground rumbles with an ominous strength, threatening to shift below you. Seek shelter.") telegraph_duration = 600 telegraph_sound = 'sound/weather/volcano/lavaland_volcano_warning.ogg' - weather_message = "A massive plume of smoke and magma can be seen billowing in the distance. The ground quakes and threatens to split. Find shelter now!." + weather_message = SPAN_USERDANGER("A massive plume of smoke and magma can be seen billowing in the distance. The ground quakes and threatens to split. Find shelter now!.") weather_duration_lower = 600 weather_duration_upper = 1200 weather_sound = 'sound/weather/volcano/lavaland_volcano_eruption.ogg' @@ -231,7 +231,7 @@ L.visible_message("[L.name] easily withstands the hit of the massive rock!") return else - L.visible_message("[L.name] is crushed under the massive impact of the boulder!", "You are crushed as a massive weight suddenly descends upon you!", "You hear wet splatters as something is hit with a massive object!") + L.visible_message(SPAN_DANGER("[L.name] is crushed under the massive impact of the boulder!"), SPAN_USERDANGER("You are crushed as a massive weight suddenly descends upon you!"), SPAN_DANGER("You hear wet splatters as something is hit with a massive object!")) L.gib() if(!islava(T) && !istype(T, /turf/simulated/floor/chasm)) // Splash harmlessly into the lava pools for(var/obj/structure/thing in T.contents) // dont cover the tendrils @@ -247,16 +247,16 @@ name = "Acidic rain" desc = "Emissions of sulfur and carbon into the atmosphere results in the formation of acid particulate in the ashen clouds. Eventually, enough collects that it will fall back down as sulfuric acid rain. NT brand shelter pods capsules are not rated for this level of acid." - telegraph_message = "The sound of tiny drops begins to splatter against the ground, sizzling against the ash and stone. Seek shelter." + telegraph_message = SPAN_BOLDWARNING("The sound of tiny drops begins to splatter against the ground, sizzling against the ash and stone. Seek shelter.") telegraph_duration = 600 telegraph_overlay = "light_ash" - weather_message = "Acidic rain begins to pour down in thick sheets, melting rock and flesh alike. Get inside now!" + weather_message = SPAN_USERDANGER("Acidic rain begins to pour down in thick sheets, melting rock and flesh alike. Get inside now!") weather_duration_lower = 600 weather_duration_upper = 1200 weather_overlay = "acid_rain" - end_message = "The pitter of acidic dropples slows to silence. It should be safe to go outside now." + end_message = SPAN_BOLDANNOUNCEIC("The pitter of acidic dropples slows to silence. It should be safe to go outside now.") end_overlay = "light_ash" area_types = list(/area/lavaland/surface/outdoors, /area/lavaland/surface/gulag_rock) @@ -364,16 +364,16 @@ name = "High-velocity wind" desc = "High-pressure barometrics in the area have caused a radical change in air pressure, resulting in high-speed winds in the immediate vicinity." - telegraph_message = "The wind begins to pick up, whipping against your body with an ominous intensity. Seek shelter." + telegraph_message = SPAN_BOLDWARNING("The wind begins to pick up, whipping against your body with an ominous intensity. Seek shelter.") telegraph_duration = 600 telegraph_overlay = "light_ash" - weather_message = "The wind rises into a furious rage, kicking up dirt and ash in its wake. Get inside now!" + weather_message = SPAN_USERDANGER("The wind rises into a furious rage, kicking up dirt and ash in its wake. Get inside now!") weather_duration_lower = 600 weather_duration_upper = 1200 weather_overlay = "wind" - end_message = "The wind calms into its normal rhythms, dust settling back to the ashen surface. It should be safe to go outside now." + end_message = SPAN_BOLDANNOUNCEIC("The wind calms into its normal rhythms, dust settling back to the ashen surface. It should be safe to go outside now.") end_overlay = "light_ash" area_types = list(/area/lavaland/surface/outdoors, /area/lavaland/surface/gulag_rock) diff --git a/code/datums/weather/weather_types/radiation_storm.dm b/code/datums/weather/weather_types/radiation_storm.dm index 08888d5610a..9cd4540bdc7 100644 --- a/code/datums/weather/weather_types/radiation_storm.dm +++ b/code/datums/weather/weather_types/radiation_storm.dm @@ -13,16 +13,16 @@ desc = "A cloud of intense radiation passes through the area dealing rad damage to those who are unprotected." telegraph_duration = 400 - telegraph_message = "The air begins to grow warm." + telegraph_message = SPAN_DANGER("The air begins to grow warm.") - weather_message = "You feel waves of heat wash over you! Find shelter!" + weather_message = SPAN_USERDANGER("You feel waves of heat wash over you! Find shelter!") weather_overlay = "ash_storm" weather_duration_lower = 600 weather_color = "green" weather_sound = 'sound/misc/bloblarm.ogg' end_duration = 100 - end_message = "The air seems to be cooling off again." + end_message = SPAN_NOTICE("The air seems to be cooling off again.") var/pre_maint_all_access area_types = list(/area) protected_areas = list( diff --git a/code/datums/weather/weather_types/snow_storm.dm b/code/datums/weather/weather_types/snow_storm.dm index 6e9b0dfa7ad..99a86b418fa 100644 --- a/code/datums/weather/weather_types/snow_storm.dm +++ b/code/datums/weather/weather_types/snow_storm.dm @@ -3,15 +3,15 @@ desc = "Harsh snowstorms roam the topside of this arctic planet, burying any area unfortunate enough to be in its path." // probability = 90 - telegraph_message = "Drifting particles of snow begin to dust the surrounding area.." + telegraph_message = SPAN_WARNING("Drifting particles of snow begin to dust the surrounding area..") telegraph_overlay = "light_snow" - weather_message = "Harsh winds pick up as dense snow begins to fall from the sky! Seek shelter!" + weather_message = SPAN_USERDANGER("Harsh winds pick up as dense snow begins to fall from the sky! Seek shelter!") weather_overlay = "snow_storm" weather_duration_lower = 600 end_duration = 100 - end_message = "The snowfall dies down, it should be safe to go outside again." + end_message = SPAN_BOLDANNOUNCEIC("The snowfall dies down, it should be safe to go outside again.") // area_type = /area/awaymission/snowdin/outside target_trait = AWAY_LEVEL diff --git a/code/datums/weather/weather_types/solar_flare.dm b/code/datums/weather/weather_types/solar_flare.dm index 3982c409035..c6b6b51ea62 100644 --- a/code/datums/weather/weather_types/solar_flare.dm +++ b/code/datums/weather/weather_types/solar_flare.dm @@ -5,7 +5,7 @@ telegraph_duration = 40 SECONDS telegraph_message = null // handled via event announcement - weather_message = "A solar flare has arrived! Do not conduct space walks or approach windows until the flare has passed!" + weather_message = SPAN_USERDANGER("A solar flare has arrived! Do not conduct space walks or approach windows until the flare has passed!") weather_overlay = "light_ash" weather_duration_lower = 1 MINUTES weather_duration_upper = 5 MINUTES @@ -61,7 +61,7 @@ L.adjustFireLoss(adjusted_damage) L.flash_eyes() if(prob(25)) - to_chat(L, "The solar flare burns you! Seek shelter!") + to_chat(L, SPAN_WARNING("The solar flare burns you! Seek shelter!")) /datum/weather/solar_flare/end() if(..()) diff --git a/code/datums/wires/airlock_wires.dm b/code/datums/wires/airlock_wires.dm index caa1c9ea625..53b787ce509 100644 --- a/code/datums/wires/airlock_wires.dm +++ b/code/datums/wires/airlock_wires.dm @@ -166,9 +166,9 @@ //raises them if they are down (only if power's on) if(!A.locked) if(A.lock()) - A.audible_message("You hear a click from the bottom of the door.", hearing_distance = 1) + A.audible_message(SPAN_ITALICS("You hear a click from the bottom of the door."), hearing_distance = 1) else if(A.unlock()) - A.audible_message("You hear a click from the bottom of the door.", hearing_distance = 1) + A.audible_message(SPAN_ITALICS("You hear a click from the bottom of the door."), hearing_distance = 1) if(WIRE_BACKUP_POWER1) //two wires for backup power. Sending a pulse through either one causes a breaker to trip, but this does not disable it unless main power is down too (in which case it is disabled for 1 minute or however long it takes main power to come back, whichever is shorter). diff --git a/code/datums/wires/mulebot_wires.dm b/code/datums/wires/mulebot_wires.dm index 437b32bc211..ceb0b2e7c7f 100644 --- a/code/datums/wires/mulebot_wires.dm +++ b/code/datums/wires/mulebot_wires.dm @@ -21,13 +21,13 @@ /datum/wires/mulebot/on_pulse(wire) switch(wire) if(WIRE_MAIN_POWER1, WIRE_MAIN_POWER2) - holder.visible_message("[bicon(holder)] The charge light flickers.") + holder.visible_message(SPAN_NOTICE("[bicon(holder)] The charge light flickers.")) if(WIRE_MOB_AVOIDANCE) - holder.visible_message("[bicon(holder)] The external warning lights flash briefly.") + holder.visible_message(SPAN_NOTICE("[bicon(holder)] The external warning lights flash briefly.")) if(WIRE_LOADCHECK) - holder.visible_message("[bicon(holder)] The load platform clunks.") + holder.visible_message(SPAN_NOTICE("[bicon(holder)] The load platform clunks.")) if(WIRE_MOTOR1, WIRE_MOTOR2) - holder.visible_message("[bicon(holder)] The drive motor whines briefly.") + holder.visible_message(SPAN_NOTICE("[bicon(holder)] The drive motor whines briefly.")) else - holder.visible_message("[bicon(holder)] You hear a radio crackle.") + holder.visible_message(SPAN_NOTICE("[bicon(holder)] You hear a radio crackle.")) ..() diff --git a/code/datums/wires/nuclearbomb_wires.dm b/code/datums/wires/nuclearbomb_wires.dm index 0fe19c82952..457cf344d97 100644 --- a/code/datums/wires/nuclearbomb_wires.dm +++ b/code/datums/wires/nuclearbomb_wires.dm @@ -29,7 +29,7 @@ switch(wire) if(WIRE_NUKE_SAFETY) if(!is_cut(WIRE_NUKE_CONTROL)) - N.audible_message("The safety controls flicker.", hearing_distance = 1) + N.audible_message(SPAN_NOTICE("The safety controls flicker."), hearing_distance = 1) if(WIRE_NUKE_DETONATOR) if(N.timing) @@ -37,30 +37,30 @@ message_admins("[key_name_admin(usr)] pulsed a nuclear bomb's detonator wire, causing it to explode (JMP)") N.explode() else - N.audible_message("[N] whirrs ominously.", hearing_distance = 1) + N.audible_message(SPAN_WARNING("[N] whirrs ominously."), hearing_distance = 1) if(WIRE_NUKE_DISARM) if(N.timing && is_cut(WIRE_NUKE_CONTROL)) if(!is_cut(WIRE_NUKE_LIGHT)) N.icon_state = N.sprite_prefix + "nuclearbomb1" N.timing = FALSE - N.audible_message("The timer on [N] stops!", hearing_distance = 1) + N.audible_message(SPAN_BOLDNOTICE("The timer on [N] stops!"), hearing_distance = 1) N.update_icon(UPDATE_OVERLAYS) if(!N.training) GLOB.bomb_set = FALSE if(!N.is_syndicate && !N.training) SSsecurity_level.set_level(N.previous_level) else if(N.timing && !is_cut(WIRE_NUKE_CONTROL)) - N.audible_message("The disarm controls flash with an error. You need to disable the control panel first!", hearing_distance = 1) + N.audible_message(SPAN_BOLDNOTICE("The disarm controls flash with an error. You need to disable the control panel first!"), hearing_distance = 1) else if(!is_cut(WIRE_NUKE_CONTROL)) - N.audible_message("The disarm controls flicker.", hearing_distance = 1) + N.audible_message(SPAN_NOTICE("The disarm controls flicker."), hearing_distance = 1) if(WIRE_NUKE_LIGHT) - N.audible_message("The lights on [N] flicker.", hearing_distance = 1) + N.audible_message(SPAN_NOTICE("The lights on [N] flicker."), hearing_distance = 1) flick(N.sprite_prefix + "nuclearbombc", N) if(WIRE_NUKE_CONTROL) - N.audible_message("[N]'s control panel flickers.", hearing_distance = 1) + N.audible_message(SPAN_NOTICE("[N]'s control panel flickers."), hearing_distance = 1) /datum/wires/nuclearbomb/on_cut(wire, mend) var/obj/machinery/nuclearbomb/N = holder diff --git a/code/datums/wires/syndicatebomb_wires.dm b/code/datums/wires/syndicatebomb_wires.dm index e8cb953f43b..5f585bf64f0 100644 --- a/code/datums/wires/syndicatebomb_wires.dm +++ b/code/datums/wires/syndicatebomb_wires.dm @@ -19,20 +19,20 @@ switch(wire) if(WIRE_EXPLODE) if(B.active) - holder.visible_message("[bicon(B)] An alarm sounds! It's go-") + holder.visible_message(SPAN_DANGER("[bicon(B)] An alarm sounds! It's go-")) B.explode_now = TRUE if(WIRE_BOMB_UNBOLT) - holder.visible_message("[bicon(holder)] The bolts spin in place for a moment.") + holder.visible_message(SPAN_NOTICE("[bicon(holder)] The bolts spin in place for a moment.")) if(WIRE_BOMB_DELAY) if(B.delayedbig) - holder.visible_message("[bicon(B)] The bomb has already been delayed.") + holder.visible_message(SPAN_NOTICE("[bicon(B)] The bomb has already been delayed.")) else - holder.visible_message("[bicon(B)] The bomb chirps.") + holder.visible_message(SPAN_NOTICE("[bicon(B)] The bomb chirps.")) playsound(B, 'sound/machines/chime.ogg', 30, 1) B.detonation_timer += 300 B.delayedbig = TRUE if(WIRE_BOMB_PROCEED) - holder.visible_message("[bicon(B)] The bomb buzzes ominously!") + holder.visible_message(SPAN_DANGER("[bicon(B)] The bomb buzzes ominously!")) playsound(B, 'sound/machines/buzz-sigh.ogg', 30, 1) var/seconds = B.seconds_remaining() if(seconds >= 61) // Long fuse bombs can suddenly become more dangerous if you tinker with them. @@ -43,13 +43,13 @@ B.detonation_timer = world.time + 100 if(WIRE_BOMB_ACTIVATE) if(!B.active && !B.defused) - holder.visible_message("[bicon(B)] You hear the bomb start ticking!") + holder.visible_message(SPAN_DANGER("[bicon(B)] You hear the bomb start ticking!")) B.activate() B.update_icon() else if(B.delayedlittle) - holder.visible_message("[bicon(B)] Nothing happens.") + holder.visible_message(SPAN_NOTICE("[bicon(B)] Nothing happens.")) else - holder.visible_message("[bicon(B)] The bomb seems to hesitate for a moment.") + holder.visible_message(SPAN_NOTICE("[bicon(B)] The bomb seems to hesitate for a moment.")) B.detonation_timer += 100 B.delayedlittle = TRUE ..() @@ -62,22 +62,22 @@ B.defused = FALSE // Cutting and mending all the wires of an inactive bomb will thus cure any sabotage. else if(B.active) - holder.visible_message("[bicon(B)] An alarm sounds! It's go-") + holder.visible_message(SPAN_DANGER("[bicon(B)] An alarm sounds! It's go-")) B.explode_now = TRUE else B.defused = TRUE if(WIRE_BOMB_UNBOLT) if(!mend && B.anchored) - holder.visible_message("[bicon(B)] The bolts lift out of the ground!") + holder.visible_message(SPAN_NOTICE("[bicon(B)] The bolts lift out of the ground!")) playsound(B, 'sound/effects/stealthoff.ogg', 30, 1) B.anchored = FALSE if(WIRE_BOMB_PROCEED) if(!mend && B.active) - holder.visible_message("[bicon(B)] An alarm sounds! It's go-") + holder.visible_message(SPAN_DANGER("[bicon(B)] An alarm sounds! It's go-")) B.explode_now = TRUE if(WIRE_BOMB_ACTIVATE) if(!mend && B.active) - holder.visible_message("[bicon(B)] The timer stops! The bomb has been defused!") + holder.visible_message(SPAN_NOTICE("[bicon(B)] The timer stops! The bomb has been defused!")) B.defused = TRUE B.update_icon() ..() diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index 3546b4290be..e1af67766f2 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -179,7 +179,7 @@ // Toggles the cut/mend status. if("cut") if(!istype(I, /obj/item/wirecutters) && !user.can_admin_interact()) - to_chat(user, "You need wirecutters!") + to_chat(user, SPAN_ERROR("You need wirecutters!")) return if(istype(I)) @@ -190,7 +190,7 @@ // Pulse a wire. if("pulse") if(!istype(I, /obj/item/multitool) && !user.can_admin_interact()) - to_chat(user, "You need a multitool!") + to_chat(user, SPAN_ERROR("You need a multitool!")) return playsound(holder, 'sound/weapons/empty.ogg', 20, 1) @@ -211,14 +211,14 @@ return TRUE if(!istype(I, /obj/item/assembly/signaler)) - to_chat(user, "You need a remote signaller!") + to_chat(user, SPAN_ERROR("You need a remote signaller!")) return if(user.drop_item()) attach_assembly(color, I) return TRUE else - to_chat(user, "[user.get_active_hand()] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[user.get_active_hand()] is stuck to your hand!")) /** diff --git a/code/defines/procs/admin_keyname_procs.dm b/code/defines/procs/admin_keyname_procs.dm index 166540f7b13..99d8f070fe4 100644 --- a/code/defines/procs/admin_keyname_procs.dm +++ b/code/defines/procs/admin_keyname_procs.dm @@ -72,14 +72,14 @@ if(whom) var/datum/whom_datum = whom //As long as it's not null, will be close enough/has the proc UID() that is all that's needed if(istype(whom_datum)) // strings and numbers are not datums, but sometimes they do get here... - var/message = "[key_name(whom, 1)]([ADMIN_QUE(whom_datum,"?")])[isAntag(whom) ? "(A)" : ""][isLivingSSD(whom) ? "(SSD!)" : ""] ([admin_jump_link(whom)])" + var/message = "[key_name(whom, 1)]([ADMIN_QUE(whom_datum,"?")])[isAntag(whom) ? "(A)" : ""][isLivingSSD(whom) ? SPAN_DANGER("(SSD!)") : ""] ([admin_jump_link(whom)])" return message else return "INVALID/[whom]" /proc/key_name_mentor(whom) // Same as key_name_admin, but does not include (?) or (A) for antags. - var/message = "[key_name(whom, 1)] [isLivingSSD(whom) ? "(SSD!)" : ""] ([admin_jump_link(whom)])" + var/message = "[key_name(whom, 1)] [isLivingSSD(whom) ? SPAN_DANGER("(SSD!)") : ""] ([admin_jump_link(whom)])" return message /proc/key_name_log(whom) diff --git a/code/game/area/areas/depot-areas.dm b/code/game/area/areas/depot-areas.dm index 7b047a22b06..a3341e3bf6b 100644 --- a/code/game/area/areas/depot-areas.dm +++ b/code/game/area/areas/depot-areas.dm @@ -294,7 +294,7 @@ reactor.overload(containment_failure) else log_debug("Depot: [src] called activate_self_destruct with no reactor.") - message_admins("Syndicate Depot lacks reactor to initiate self-destruct. Must be destroyed manually.") + message_admins(SPAN_ADMINNOTICE("Syndicate Depot lacks reactor to initiate self-destruct. Must be destroyed manually.")) update_icon(UPDATE_ICON_STATE) /area/syndicate_depot/core/proc/activate_lockdown() diff --git a/code/game/atom_vv.dm b/code/game/atom_vv.dm index 85b02f4ab61..b9fb5bfd929 100644 --- a/code/game/atom_vv.dm +++ b/code/game/atom_vv.dm @@ -75,7 +75,7 @@ if(ID == chosen_id) valid_id = 1 if(!valid_id) - to_chat(usr, "A reagent with that ID doesn't exist!") + to_chat(usr, SPAN_WARNING("A reagent with that ID doesn't exist!")) if("Choose ID") chosen_id = input(usr, "Choose a reagent to add.", "Choose a reagent.") as null|anything in reagent_options if(chosen_id) @@ -83,7 +83,7 @@ if(amount) reagents.add_reagent(chosen_id, amount) log_admin("[key_name(usr)] has added [amount] units of [chosen_id] to \the [src]") - message_admins("[key_name(usr)] has added [amount] units of [chosen_id] to \the [src]") + message_admins(SPAN_NOTICE("[key_name(usr)] has added [amount] units of [chosen_id] to \the [src]")) if(href_list[VV_HK_EDITREAGENTS]) if(!check_rights(R_DEBUG|R_ADMIN)) return diff --git a/code/game/atoms.dm b/code/game/atoms.dm index eacca1640af..e50c85d5233 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -427,7 +427,7 @@ else f_name = "a " if(blood_color != "#030303") - f_name += "blood-stained [name][infix]!" + f_name += "[SPAN_DANGER("blood-stained")] [name][infix]!" else f_name += "oil-stained [name][infix]." . = list("[bicon(src)] That's [f_name] [suffix]") @@ -441,48 +441,48 @@ var/one_percent = reagents.total_volume / 100 var/blood_type = "" if(user.advanced_reagent_vision()) // You can see absolute unit concentrations in transparent containers and % concentrations in opaque containers. You can also see blood types. - . += "It contains:" + . += SPAN_NOTICE("It contains:") if(!length(reagents.reagent_list)) - . += "Nothing." + . += SPAN_NOTICE("Nothing.") return if(container_type & TRANSPARENT) for(var/I in reagents.reagent_list) var/datum/reagent/R = I if(R.id != "blood") - . += "[R.volume] units of [R] ([round(R.volume / one_percent)]%)" + . += SPAN_NOTICE("[R.volume] units of [R] ([round(R.volume / one_percent)]%)") else blood_type = R.data["blood_type"] - . += "[R.volume] units of [R] ([blood_type ? "[blood_type]" : ""]) ([round(R.volume / one_percent)]%)" + . += SPAN_NOTICE("[R.volume] units of [R] ([blood_type ? "[blood_type]" : ""]) ([round(R.volume / one_percent)]%)") return // Opaque containers for(var/datum/reagent/R in reagents.reagent_list) if(R.id != "blood") - . += "[R] ([round(R.volume / one_percent)]%)" + . += SPAN_NOTICE("[R] ([round(R.volume / one_percent)]%)") else blood_type = R.data["blood_type"] - . += "[R] ([blood_type ? "[blood_type]" : ""]) ([round(R.volume / one_percent)]%)" + . += SPAN_NOTICE("[R] ([blood_type ? "[blood_type]" : ""]) ([round(R.volume / one_percent)]%)") return if(container_type & TRANSPARENT) - . += "It contains:" + . += SPAN_NOTICE("It contains:") if(user.reagent_vision()) // You can see absolute unit quantities of reagents in transparent containers. for(var/I in reagents.reagent_list) var/datum/reagent/R = I - . += "[R.volume] units of [R] ([round(R.volume / one_percent)]%)" + . += SPAN_NOTICE("[R.volume] units of [R] ([round(R.volume / one_percent)]%)") return //Otherwise, just show the total volume if(length(reagents?.reagent_list)) - . += "[reagents.total_volume] units of various reagents." + . += SPAN_NOTICE("[reagents.total_volume] units of various reagents.") else - . += "Nothing." + . += SPAN_NOTICE("Nothing.") return if(container_type & AMOUNT_VISIBLE) if(reagents.total_volume) - . += "It has [reagents.total_volume] unit\s left." + . += SPAN_NOTICE("It has [reagents.total_volume] unit\s left.") else - . += "It's empty." + . += SPAN_DANGER("It's empty.") /atom/proc/examine(mob/user, infix = "", suffix = "") . = build_base_description(infix, suffix) @@ -613,7 +613,7 @@ //Check if the multitool has an item in its data buffer /atom/proc/multitool_check_buffer(user, silent = FALSE) if(!silent) - to_chat(user, "[src] has no data buffer!") + to_chat(user, SPAN_WARNING("[src] has no data buffer!")) return FALSE /atom/proc/screwdriver_act(mob/living/user, obj/item/I) @@ -1237,7 +1237,7 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons) return var/list/speech_bubble_hearers = list() for(var/mob/M as anything in get_mobs_in_view(7, src, ai_eyes=AI_EYE_REQUIRE_HEAR)) - M.show_message("[src] [atom_say_verb], \"[message]\"", 2, null, 1) + M.show_message("[SPAN_NAME("[src]")] [atom_say_verb], \"[message]\"", 2, null, 1) if(M.client) speech_bubble_hearers += M.client @@ -1252,7 +1252,7 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons) /atom/proc/atom_emote(emote) if(!emote) return - visible_message("[src] [emote]", "You hear how something [emote]") + visible_message("[SPAN_NAME("[src]")] [emote]", "You hear how something [emote]") runechat_emote(src, emote) @@ -1384,13 +1384,13 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons) if(!user) return null else if(implement && implement.loc != user) - to_chat(user, "You no longer have the pen to rename [src].") + to_chat(user, SPAN_WARNING("You no longer have the pen to rename [src].")) return null else if(!in_range(src, user)) - to_chat(user, "You cannot rename [src] from here.") + to_chat(user, SPAN_WARNING("You cannot rename [src] from here.")) return null else if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - to_chat(user, "You cannot rename [src] in your current state.") + to_chat(user, SPAN_WARNING("You cannot rename [src] in your current state.")) return null diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 9189c498a44..5fd1b9455b0 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -191,7 +191,7 @@ var/mob/M = AM add_attack_logs(src, M, "passively grabbed", ATKLOG_ALMOSTALL) if(show_message) - visible_message("[src] has grabbed [M] passively!") + visible_message(SPAN_WARNING("[src] has grabbed [M] passively!")) return TRUE /atom/movable/proc/stop_pulling() @@ -223,13 +223,13 @@ return FALSE if(anchored || move_resist == INFINITY) if(show_message) - to_chat(user, "[src] appears to be anchored to the ground!") + to_chat(user, SPAN_WARNING("[src] appears to be anchored to the ground!")) return FALSE if(throwing) return FALSE if(force < (move_resist * MOVE_FORCE_PULL_RATIO)) if(show_message) - to_chat(user, "[src] is too heavy to pull!") + to_chat(user, SPAN_WARNING("[src] is too heavy to pull!")) return FALSE if(user in buckled_mobs) return FALSE @@ -838,12 +838,12 @@ /atom/movable/proc/force_push(atom/movable/AM, force = move_force, direction, silent = FALSE) . = AM.force_pushed(src, force, direction) if(!silent && .) - visible_message("[src] forcefully pushes against [AM]!", "You forcefully push against [AM]!") + visible_message(SPAN_WARNING("[src] forcefully pushes against [AM]!"), SPAN_WARNING("You forcefully push against [AM]!")) /atom/movable/proc/move_crush(atom/movable/AM, force = move_force, direction, silent = FALSE) . = AM.move_crushed(src, force, direction) if(!silent && .) - visible_message("[src] crushes past [AM]!", "You crush [AM]!") + visible_message(SPAN_DANGER("[src] crushes past [AM]!"), SPAN_DANGER("You crush [AM]!")) /atom/movable/proc/move_crushed(atom/movable/pusher, force = MOVE_FORCE_DEFAULT, direction) return FALSE @@ -1076,7 +1076,7 @@ has_tried_to_move = TRUE if(!Move(target_turf, crush_dir)) // we'll try to move, and if we didn't end up going anywhere, then we do nothing. - visible_message("[src] seems to rock, but doesn't fall over!") + visible_message(SPAN_WARNING("[src] seems to rock, but doesn't fall over!")) return for(var/atom/target in (target_turf.contents) + target_turf) @@ -1123,9 +1123,9 @@ continue target.visible_message( - "[target] is crushed by [src]!", - "[src] crushes you!", - "You hear a loud crunch!" + SPAN_DANGER("[target] is crushed by [src]!"), + SPAN_USERDANGER("[src] crushes you!"), + SPAN_WARNING("You hear a loud crunch!") ) tilt_over(target_turf, angle, should_rotate, rightable, block_interactions_until_righted) @@ -1148,7 +1148,7 @@ * * block_interactions_until_righted - If true, this object will need to be righted before it can be interacted with */ /atom/movable/proc/tilt_over(turf/target, rotation_angle, should_rotate, rightable, block_interactions_until_righted) - visible_message("[src] tips over!", "You hear a loud crash!") + visible_message(SPAN_DANGER("[src] tips over!"), SPAN_DANGER("You hear a loud crash!")) playsound(src, "sound/effects/bang.ogg", 100, TRUE) var/rot_angle = rotation_angle ? rotation_angle : pick(90, -90) if(should_rotate) diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 1c8b60fc647..a221a4c4937 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -69,8 +69,8 @@ /obj/machinery/dna_scannernew/examine(mob/user) . = ..() - . += "You can Alt-Click [src] to eject its occupant." - . += "You can Click-drag someone to [src] to put them in." + . += SPAN_NOTICE("You can Alt-Click [src] to eject its occupant.") + . += SPAN_NOTICE("You can Click-drag someone to [src] to put them in.") /obj/machinery/dna_scannernew/Initialize(mapload) . = ..() @@ -169,21 +169,21 @@ if(!isturf(user.loc) || !isturf(O.loc)) // are you in a container/closet/pod/etc? return if(occupant) - to_chat(user, "[src] is already occupied!") + to_chat(user, SPAN_BOLDNOTICE("[src] is already occupied!")) return TRUE var/mob/living/L = O if(!istype(L) || L.buckled) return if(L.abiotic()) - to_chat(user, "Subject may not hold anything in their hands.") + to_chat(user, SPAN_DANGER("Subject may not hold anything in their hands.")) return TRUE if(L.has_buckled_mobs()) //mob attached to us - to_chat(user, "[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.") + to_chat(user, SPAN_WARNING("[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.")) return TRUE if(L == user) - visible_message("[user] climbs into [src].") + visible_message(SPAN_NOTICE("[user] climbs into [src].")) else - visible_message("[user] puts [L.name] into [src].") + visible_message(SPAN_NOTICE("[user] puts [L.name] into [src].")) put_in(L) if(user.pulling == L) user.stop_pulling() @@ -193,11 +193,11 @@ /obj/machinery/dna_scannernew/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/reagent_containers/glass)) if(beaker) - to_chat(user, "A beaker is already loaded into the machine.") + to_chat(user, SPAN_WARNING("A beaker is already loaded into the machine.")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) - to_chat(user, "\The [used] is stuck to you!") + to_chat(user, SPAN_WARNING("\The [used] is stuck to you!")) return ITEM_INTERACT_COMPLETE beaker = used @@ -212,19 +212,19 @@ return ITEM_INTERACT_COMPLETE if(occupant) - to_chat(user, "The scanner is already occupied!") + to_chat(user, SPAN_BOLDNOTICE("The scanner is already occupied!")) return ITEM_INTERACT_COMPLETE if(G.affecting.abiotic()) - to_chat(user, "Subject may not hold anything in their hands.") + to_chat(user, SPAN_BOLDNOTICE("Subject may not hold anything in their hands.")) return ITEM_INTERACT_COMPLETE if(G.affecting.has_buckled_mobs()) //mob attached to us - to_chat(user, "[G] will not fit into [src] because [G.affecting.p_they()] [G.affecting.p_have()] a slime latched onto [G.affecting.p_their()] head.") + to_chat(user, SPAN_WARNING("[G] will not fit into [src] because [G.affecting.p_they()] [G.affecting.p_have()] a slime latched onto [G.affecting.p_their()] head.")) return ITEM_INTERACT_COMPLETE if(panel_open) - to_chat(usr, "Close the maintenance panel first.") + to_chat(usr, SPAN_BOLDNOTICE("Close the maintenance panel first.")) return ITEM_INTERACT_COMPLETE put_in(G.affecting) @@ -248,7 +248,7 @@ /obj/machinery/dna_scannernew/screwdriver_act(mob/user, obj/item/I) if(occupant) - to_chat(user, "The maintenance panel is locked.") + to_chat(user, SPAN_NOTICE("The maintenance panel is locked.")) return TRUE if(default_deconstruction_screwdriver(user, "[icon_state]_maintenance", "[initial(icon_state)]", I)) return TRUE @@ -262,11 +262,11 @@ /obj/machinery/dna_scannernew/proc/go_out(mob/user, force) if(!occupant) if(user) - to_chat(user, "The scanner is empty!") + to_chat(user, SPAN_WARNING("The scanner is empty!")) return if(locked && !force) if(user) - to_chat(user, "The scanner is locked!") + to_chat(user, SPAN_WARNING("The scanner is locked!")) return occupant.forceMove(loc) occupant = null diff --git a/code/game/dna/mutations/_mutations.dm b/code/game/dna/mutations/_mutations.dm index 6ac82a6e74a..7ff6c0cc0ee 100644 --- a/code/game/dna/mutations/_mutations.dm +++ b/code/game/dna/mutations/_mutations.dm @@ -33,7 +33,7 @@ ADD_TRAIT(M, thing, GENETIC_MUTATION) if(length(activation_messages)) var/msg = pick(activation_messages) - to_chat(M, "[msg]") + to_chat(M, SPAN_NOTICE("[msg]")) // Called when the gene deactivates. Undo your magic here. @@ -46,7 +46,7 @@ REMOVE_TRAIT(M, thing, GENETIC_MUTATION) if(length(deactivation_messages)) var/msg = pick(deactivation_messages) - to_chat(M, "[msg]") + to_chat(M, SPAN_WARNING("[msg]")) // This section inspired by goone's bioEffects. diff --git a/code/game/dna/mutations/disabilities.dm b/code/game/dna/mutations/disabilities.dm index 60063fa4a56..93131595f4e 100644 --- a/code/game/dna/mutations/disabilities.dm +++ b/code/game/dna/mutations/disabilities.dm @@ -38,7 +38,7 @@ /datum/mutation/disability/epilepsy/on_life(mob/living/carbon/human/H) if((prob(1) && !H.IsParalyzed())) - H.visible_message("[H] starts having a seizure!","You have a seizure!") + H.visible_message(SPAN_DANGER("[H] starts having a seizure!"),SPAN_ALERT("You have a seizure!")) H.Paralyse(20 SECONDS) H.Jitter(2000 SECONDS) @@ -171,7 +171,7 @@ /datum/mutation/disability/comic name = "Comic" desc = "This will only bring death and destruction." - activation_messages = list("Uh oh!") + activation_messages = list(SPAN_SANS("Uh oh!")) deactivation_messages = list("Well thank god that's over with.") traits_to_add = list(TRAIT_COMIC_SANS) @@ -492,7 +492,7 @@ /datum/spell/immolate/cast(list/targets, mob/living/user = usr) var/mob/living/carbon/L = user L.adjust_fire_stacks(0.5) - L.visible_message("[L.name]
suddenly bursts into flames!
") + L.visible_message(SPAN_DANGER("[L.name] suddenly bursts into flames!")) L.IgniteMob() playsound(L.loc, 'sound/effects/bamf.ogg', 50, 0) diff --git a/code/game/dna/mutations/mutation_powers.dm b/code/game/dna/mutations/mutation_powers.dm index 4b9a4b319e7..c27ff128f93 100644 --- a/code/game/dna/mutations/mutation_powers.dm +++ b/code/game/dna/mutations/mutation_powers.dm @@ -138,7 +138,7 @@ M.update_mutations() //update our mutation overlays M.update_body() M.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE | CANPUSH //temporary fix until the problem can be solved. - to_chat(M, "You suddenly feel very weak.") + to_chat(M, SPAN_DANGER("You suddenly feel very weak.")) /datum/mutation/tk name = "Telekenesis" @@ -303,8 +303,8 @@ clothes_req = FALSE antimagic_flags = NONE - selection_activated_message = "Your mind grow cold. Click on a target to cast the spell." - selection_deactivated_message = "Your mind returns to normal." + selection_activated_message = SPAN_NOTICE("Your mind grow cold. Click on a target to cast the spell.") + selection_deactivated_message = SPAN_NOTICE("Your mind returns to normal.") var/list/compatible_mobs = list(/mob/living/carbon/human) action_icon_state = "genetic_cryo" @@ -323,7 +323,7 @@ var/mob/living/carbon/C = targets[1] if(HAS_TRAIT(C, TRAIT_RESISTCOLD)) - C.visible_message("A cloud of fine ice crystals engulfs [C.name], but disappears almost instantly!") + C.visible_message(SPAN_WARNING("A cloud of fine ice crystals engulfs [C.name], but disappears almost instantly!")) return var/handle_suit = FALSE if(ishuman(C)) @@ -332,11 +332,11 @@ if(istype(H.wear_suit, /obj/item/clothing/suit/space)) handle_suit = TRUE if(H.internal) - H.visible_message("[user] sprays a cloud of fine ice crystals, engulfing [H]!", - "[user] sprays a cloud of fine ice crystals over your [H.head]'s visor.") + H.visible_message(SPAN_WARNING("[user] sprays a cloud of fine ice crystals, engulfing [H]!"), + SPAN_NOTICE("[user] sprays a cloud of fine ice crystals over your [H.head]'s visor.")) else - H.visible_message("[user] sprays a cloud of fine ice crystals engulfing, [H]!", - "[user] sprays a cloud of fine ice crystals cover your [H.head]'s visor and make it into your air vents!.") + H.visible_message(SPAN_WARNING("[user] sprays a cloud of fine ice crystals engulfing, [H]!"), + SPAN_WARNING("[user] sprays a cloud of fine ice crystals cover your [H.head]'s visor and make it into your air vents!.")) H.bodytemperature = max(0, H.bodytemperature - 100) add_attack_logs(user, C, "Cryokinesis") @@ -344,7 +344,7 @@ C.bodytemperature = max(0, C.bodytemperature - 200) C.ExtinguishMob() - C.visible_message("[user] sprays a cloud of fine ice crystals, engulfing [C]!") + C.visible_message(SPAN_WARNING("[user] sprays a cloud of fine ice crystals, engulfing [C]!")) add_attack_logs(user, C, "Cryokinesis- NO SUIT/INTERNALS") /////////////////////////////////////////////////////////////////////////////////////////// @@ -413,7 +413,7 @@ return TRUE if(show_message) - to_chat(C, "Your mouth is covered, preventing you from eating!") + to_chat(C, SPAN_WARNING("Your mouth is covered, preventing you from eating!")) return FALSE /datum/spell/eat/proc/doHeal(mob/user) @@ -434,40 +434,40 @@ /datum/spell/eat/cast(list/targets, mob/user = usr) if(!length(targets)) - to_chat(user, "No target found in range.") + to_chat(user, SPAN_NOTICE("No target found in range.")) return var/atom/movable/the_item = targets[1] if(!user.Adjacent(the_item)) - to_chat(user, "You need to be next to [the_item] for this!") + to_chat(user, SPAN_DANGER("You need to be next to [the_item] for this!")) return FALSE if(ishuman(the_item)) var/mob/living/carbon/human/H = the_item var/obj/item/organ/external/limb = H.get_organ(user.zone_selected) if(!istype(limb)) - to_chat(user, "You can't eat this part of them!") + to_chat(user, SPAN_WARNING("You can't eat this part of them!")) revert_cast() return FALSE if(istype(limb,/obj/item/organ/external/head)) // Bullshit, but prevents being unable to clone someone. - to_chat(user, "You try to put \the [limb] in your mouth, but [the_item.p_their()] ears tickle your throat!") + to_chat(user, SPAN_WARNING("You try to put \the [limb] in your mouth, but [the_item.p_their()] ears tickle your throat!")) revert_cast() return FALSE if(istype(limb,/obj/item/organ/external/chest)) // Bullshit, but prevents being able to instagib someone. - to_chat(user, "You try to put [the_item.p_their()] [limb] in your mouth, but it's too big to fit!") + to_chat(user, SPAN_WARNING("You try to put [the_item.p_their()] [limb] in your mouth, but it's too big to fit!")) revert_cast() return FALSE - user.visible_message("[user] begins stuffing [the_item]'s [limb.name] into [user.p_their()] gaping maw!") + user.visible_message(SPAN_DANGER("[user] begins stuffing [the_item]'s [limb.name] into [user.p_their()] gaping maw!")) if(!do_mob(user, H, EAT_MOB_DELAY)) - to_chat(user, "You were interrupted before you could eat [the_item]!") + to_chat(user, SPAN_DANGER("You were interrupted before you could eat [the_item]!")) else if(!limb || !H) return if(!user.Adjacent(the_item)) - to_chat(user, "You need to be next to [the_item] for this!") + to_chat(user, SPAN_DANGER("You need to be next to [the_item] for this!")) return FALSE - user.visible_message("[user] [pick("chomps","bites")] off [the_item]'s [limb]!") + user.visible_message(SPAN_DANGER("[user] [pick("chomps","bites")] off [the_item]'s [limb]!")) playsound(user.loc, 'sound/items/eatfood.ogg', 50, 0) // Most limbs will drop here. Groin won't, but this @@ -496,9 +496,9 @@ var/obj/item/eaten = the_item var/mob/the_owner = the_item.loc if(!the_owner.drop_item_to_ground(eaten, silent = TRUE)) - to_chat(user, "You can't eat [the_item], it won't go down your throat!") + to_chat(user, SPAN_WARNING("You can't eat [the_item], it won't go down your throat!")) return - user.visible_message("[user] eats [the_item].") + user.visible_message(SPAN_DANGER("[user] eats [the_item].")) playsound(user.loc, 'sound/items/eatfood.ogg', 50, FALSE) if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -545,7 +545,7 @@ /datum/spell/leap/cast(list/targets, mob/living/user = usr) var/failure = FALSE if(ismob(user.loc) || IS_HORIZONTAL(user) || user.IsStunned() || user.buckled || user.stat) - to_chat(user, "You can't jump right now!") + to_chat(user, SPAN_WARNING("You can't jump right now!")) return if(isturf(user.loc)) @@ -557,13 +557,13 @@ else M.stop_pulling() - user.visible_message("[user.name] takes a huge leap!") + user.visible_message(SPAN_DANGER("[user.name] takes a huge leap!")) playsound(user.loc, 'sound/weapons/thudswoosh.ogg', 50, 1) if(failure) user.Weaken(10 SECONDS) - user.visible_message("[user] attempts to leap away but is slammed back down to the ground!", - "You attempt to leap away but are suddenly slammed back down to the ground!", - "You hear the flexing of powerful muscles and suddenly a crash as a body hits the floor.") + user.visible_message(SPAN_WARNING("[user] attempts to leap away but is slammed back down to the ground!"), + SPAN_WARNING("You attempt to leap away but are suddenly slammed back down to the ground!"), + SPAN_NOTICE("You hear the flexing of powerful muscles and suddenly a crash as a body hits the floor.")) return FALSE var/prevLayer = user.layer user.layer = 9 @@ -587,7 +587,7 @@ user.pixel_y = 0 // In case leap was varedited to be longer or shorter if(HAS_TRAIT(user, TRAIT_FAT) && prob(66)) - user.visible_message("[user.name] crashes due to [user.p_their()] heavy weight!") + user.visible_message(SPAN_DANGER("[user.name] crashes due to [user.p_their()] heavy weight!")) //playsound(user.loc, 'zhit.wav', 50, 1) user.AdjustWeakened(20 SECONDS) user.AdjustStunned(10 SECONDS) @@ -596,10 +596,10 @@ if(isobj(user.loc)) var/obj/container = user.loc - to_chat(user, "You leap and slam your head against the inside of [container]! Ouch!") + to_chat(user, SPAN_WARNING("You leap and slam your head against the inside of [container]! Ouch!")) user.AdjustParalysis(6 SECONDS) user.AdjustWeakened(10 SECONDS) - container.visible_message("[user.loc] emits a loud thump and rattles a bit.") + container.visible_message(SPAN_DANGER("[user.loc] emits a loud thump and rattles a bit.")) playsound(user.loc, 'sound/effects/bang.ogg', 50, 1) var/wiggle = 6 while(wiggle > 0) @@ -655,8 +655,8 @@ clothes_req = FALSE - selection_activated_message = "You body becomes unstable. Click on a target to cast transform into them." - selection_deactivated_message = "Your body calms down again." + selection_activated_message = SPAN_NOTICE("You body becomes unstable. Click on a target to cast transform into them.") + selection_deactivated_message = SPAN_NOTICE("Your body calms down again.") antimagic_flags = NONE @@ -673,7 +673,7 @@ /datum/spell/polymorph/cast(list/targets, mob/user = usr) var/mob/living/carbon/human/target = targets[1] - user.visible_message("[user]'s body shifts and contorts.") + user.visible_message(SPAN_WARNING("[user]'s body shifts and contorts.")) spawn(10) if(target && user) @@ -718,21 +718,21 @@ /datum/spell/empath/cast(list/targets, mob/user = usr) for(var/mob/living/carbon/M in targets) if(!iscarbon(M)) - to_chat(user, "You may only use this on other organic beings.") + to_chat(user, SPAN_WARNING("You may only use this on other organic beings.")) return if(M.dna?.GetSEState(GLOB.psyresistblock)) - to_chat(user, "You can't see into [M.name]'s mind at all!") + to_chat(user, SPAN_WARNING("You can't see into [M.name]'s mind at all!")) return if(M.stat == DEAD) - to_chat(user, "[M.name] is dead and cannot have [M.p_their()] mind read.") + to_chat(user, SPAN_WARNING("[M.name] is dead and cannot have [M.p_their()] mind read.")) return if(M.health < 0) - to_chat(user, "[M.name] is dying, and [M.p_their()] thoughts are too scrambled to read.") + to_chat(user, SPAN_WARNING("[M.name] is dying, and [M.p_their()] thoughts are too scrambled to read.")) return - to_chat(user, "Mind Reading of [M.name]:") + to_chat(user, SPAN_NOTICE("Mind Reading of [M.name]:")) var/pain_condition = M.health / M.maxHealth // lower health means more pain @@ -750,33 +750,33 @@ switch(pain_condition) if(0.81 to INFINITY) - to_chat(user, "Condition: [M.name] feels good.") + to_chat(user, SPAN_NOTICE("Condition: [M.name] feels good.")) if(0.61 to 0.8) - to_chat(user, "Condition: [M.name] is suffering mild pain.") + to_chat(user, SPAN_NOTICE("Condition: [M.name] is suffering mild pain.")) if(0.41 to 0.6) - to_chat(user, "Condition: [M.name] is suffering significant pain.") + to_chat(user, SPAN_NOTICE("Condition: [M.name] is suffering significant pain.")) if(0.21 to 0.4) - to_chat(user, "Condition: [M.name] is suffering severe pain.") + to_chat(user, SPAN_NOTICE("Condition: [M.name] is suffering severe pain.")) else - to_chat(user, "Condition: [M.name] is suffering excruciating pain.") + to_chat(user, SPAN_NOTICE("Condition: [M.name] is suffering excruciating pain.")) thoughts = "haunted by [M.p_their()] own mortality" switch(M.a_intent) if(INTENT_HELP) - to_chat(user, "Mood: You sense benevolent thoughts from [M.name].") + to_chat(user, SPAN_NOTICE("Mood: You sense benevolent thoughts from [M.name].")) if(INTENT_DISARM) - to_chat(user, "Mood: You sense cautious thoughts from [M.name].") + to_chat(user, SPAN_NOTICE("Mood: You sense cautious thoughts from [M.name].")) if(INTENT_GRAB) - to_chat(user, "Mood: You sense hostile thoughts from [M.name].") + to_chat(user, SPAN_NOTICE("Mood: You sense hostile thoughts from [M.name].")) if(INTENT_HARM) - to_chat(user, "Mood: You sense cruel thoughts from [M.name].") + to_chat(user, SPAN_NOTICE("Mood: You sense cruel thoughts from [M.name].")) for(var/mob/living/L in view(7,M)) if(L == M) continue thoughts = "thinking about punching [L.name]" break else - to_chat(user, "Mood: You sense strange thoughts from [M.name].") + to_chat(user, SPAN_NOTICE("Mood: You sense strange thoughts from [M.name].")) if(ishuman(M)) var/numbers[0] @@ -785,13 +785,13 @@ numbers += H.mind.initial_account.account_number numbers += H.mind.initial_account.account_pin if(length(numbers)>0) - to_chat(user, "Numbers: You sense the number[length(numbers)>1?"s":""] [english_list(numbers)] [length(numbers)>1?"are":"is"] important to [M.name].") - to_chat(user, "Thoughts: [M.name] is currently [thoughts].") + to_chat(user, SPAN_NOTICE("Numbers: You sense the number[length(numbers)>1?"s":""] [english_list(numbers)] [length(numbers)>1?"are":"is"] important to [M.name].")) + to_chat(user, SPAN_NOTICE("Thoughts: [M.name] is currently [thoughts].")) if(M.dna?.GetSEState(GLOB.empathblock)) - to_chat(M, "You sense [user.name] reading your mind.") + to_chat(M, SPAN_WARNING("You sense [user.name] reading your mind.")) else if(prob(5) || M.mind?.assigned_role=="Chaplain") - to_chat(M, "You sense someone intruding upon your thoughts...") + to_chat(M, SPAN_WARNING("You sense someone intruding upon your thoughts...")) ///////////////////Vanilla Morph//////////////////////////////////// @@ -825,7 +825,7 @@ return if(ismob(user.loc)) - to_chat(user, "You can't change your appearance right now!") + to_chat(user, SPAN_WARNING("You can't change your appearance right now!")) return var/mob/living/carbon/human/M = user var/obj/item/organ/external/head/head_organ = M.get_organ("head") @@ -972,7 +972,7 @@ M.update_dna() - M.visible_message("[M] morphs and changes [M.p_their()] appearance!", "You change your appearance!", "Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!") + M.visible_message(SPAN_NOTICE("[M] morphs and changes [M.p_their()] appearance!"), SPAN_NOTICE("You change your appearance!"), SPAN_WARNING("Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!")) /datum/mutation/grant_spell/remotetalk name = "Telepathy" @@ -1013,7 +1013,7 @@ if(!ishuman(user)) return if(user.mind?.miming) // Dont let mimes telepathically talk - to_chat(user,"You can't communicate without breaking your vow of silence.") + to_chat(user,SPAN_WARNING("You can't communicate without breaking your vow of silence.")) return var/say = tgui_input_text(user, "What do you wish to say?", "Project Mind") if(!say || usr.stat) @@ -1024,10 +1024,10 @@ log_say("(TPATH to [key_name(target)]) [say]", user) user.create_log(SAY_LOG, "Telepathically said '[say]' using [src]", target) if(target.dna?.GetSEState(GLOB.remotetalkblock)) - target.show_message("You hear [user.real_name]'s voice: [say]") + target.show_message("[SPAN_ABDUCTOR("You hear [user.real_name]'s voice: [say]")]") else - target.show_message("You hear a voice that seems to echo around the room: [say]") - user.show_message("You project your mind into [(target in user.get_visible_mobs()) ? target.name : "the unknown entity"]: [say]") + target.show_message("[SPAN_ABDUCTOR("You hear a voice that seems to echo around the room: [say]")]") + user.show_message("[SPAN_ABDUCTOR("You project your mind into [(target in user.get_visible_mobs()) ? target.name : "the unknown entity"]: [say]")]") for(var/mob/dead/observer/G in GLOB.player_list) G.show_message("Telepathic message from [user] ([ghost_follow_link(user, ghost=G)]) to [target] ([ghost_follow_link(target, ghost=G)]): [say]") @@ -1050,8 +1050,8 @@ var/message = "You feel your mind expand briefly... (Click to send a message.)" if(target.dna?.GetSEState(GLOB.remotetalkblock)) message = "You feel [user.real_name] request a response from you... (Click here to project mind.)" - user.show_message("You offer your mind to [(target in user.get_visible_mobs()) ? target.name : "the unknown entity"].") - target.show_message("[message]") + user.show_message("[SPAN_ABDUCTOR("You offer your mind to [(target in user.get_visible_mobs()) ? target.name : "the unknown entity"].")]") + target.show_message("[SPAN_ABDUCTOR("[message]")]") expanded_minds += target addtimer(CALLBACK(src, PROC_REF(removeAvailability), target), 10 SECONDS) @@ -1059,7 +1059,7 @@ if(target in expanded_minds) expanded_minds -= target if(!(target in expanded_minds)) - target.show_message("You feel the sensation fade...") + target.show_message("[SPAN_ABDUCTOR("You feel the sensation fade...")]") /datum/spell/mindscan/Topic(href, href_list) var/mob/living/message_source @@ -1084,11 +1084,11 @@ log_say("(TPATH to [key_name(message_target)]) [say]", message_source) if(message_source.dna?.GetSEState(GLOB.remotetalkblock)) - message_source.show_message("You project your mind into [message_target]: [say]") + message_source.show_message("[SPAN_ABDUCTOR("You project your mind into [message_target]: [say]")]") else - message_source.show_message("You fill the space in your thoughts: [say]") + message_source.show_message("[SPAN_ABDUCTOR("You fill the space in your thoughts: [say]")]") - message_target.show_message("You hear [message_source]'s voice: [say]") + message_target.show_message("[SPAN_ABDUCTOR("You hear [message_source]'s voice: [say]")]") for(var/mob/dead/observer/G in GLOB.player_list) G.show_message("Telepathic response from [message_source] ([ghost_follow_link(message_source, ghost=G)]) to [message_target] ([ghost_follow_link(message_target, ghost=G)]): [say]") @@ -1138,7 +1138,7 @@ var/mob/target if(istype(H.l_hand, /obj/item/tk_grab) || istype(H.r_hand, /obj/item/tk_grab)) - to_chat(H, "Your mind is too busy with that telekinetic grab.") + to_chat(H, SPAN_WARNING("Your mind is too busy with that telekinetic grab.")) H.remoteview_target = null H.reset_perspective() return diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm index b81379933ee..f53827d3079 100644 --- a/code/game/gamemodes/autotraitor/autotraitor.dm +++ b/code/game/gamemodes/autotraitor/autotraitor.dm @@ -106,7 +106,7 @@ var/datum/mind/new_traitor_mind = pick(possible_traitors) var/mob/living/new_traitor = new_traitor_mind.current - to_chat(new_traitor, "ATTENTION: It is time to pay your debt to the Syndicate...") + to_chat(new_traitor, "[SPAN_DANGER("ATTENTION:")] It is time to pay your debt to the Syndicate...") new_traitor.mind.add_antag_datum(/datum/antagonist/traitor) message_admins("[key_name(new_traitor)] was added in as a traitor!") log_game("[key_name(new_traitor)] was added in as a traitor.") diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index ae143ed1c02..1e4ed00ef73 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -56,22 +56,22 @@ GLOBAL_LIST_INIT(possible_changeling_IDs, list("Alpha","Beta","Gamma","Delta","E /datum/game_mode/proc/auto_declare_completion_changeling() if(length(changelings)) - var/list/text = list("
The changelings were:") + var/list/text = list("
[SPAN_BOLD("The changelings were:")]") for(var/datum/mind/changeling in changelings) var/changelingwin = TRUE text += "
[changeling.get_display_key()] was [changeling.name] and " if(changeling.current) if(changeling.current.stat == DEAD) - text += "died!" + text += "[SPAN_BOLD("died")]!" else - text += "survived!" + text += SPAN_BOLD("survived!") if(changeling.current.real_name != changeling.name) text += " as [changeling.current.real_name]" else text += "!" else - text += "had [changeling.p_their()] body destroyed!" + text += SPAN_BOLD("had [changeling.p_their()] body destroyed!") changelingwin = FALSE // Removed sanity if(changeling) because we -want- a runtime to inform us that the changelings list is incorrect and needs to be fixed. diff --git a/code/game/gamemodes/cult/blood_magic.dm b/code/game/gamemodes/cult/blood_magic.dm index de44c2e2b4b..f44f84f4d87 100644 --- a/code/game/gamemodes/cult/blood_magic.dm +++ b/code/game/gamemodes/cult/blood_magic.dm @@ -21,10 +21,10 @@ break if(length(spells) >= limit) if(rune) - to_chat(owner, "You cannot store more than [MAX_BLOODCHARGE] spell\s. Pick a spell to remove.") + to_chat(owner, SPAN_CULTITALIC("You cannot store more than [MAX_BLOODCHARGE] spell\s. Pick a spell to remove.")) remove_spell("You cannot store more than [MAX_BLOODCHARGE] spell\s, pick a spell to remove.") else - to_chat(owner, "You cannot store more than [RUNELESS_MAX_BLOODCHARGE] spell\s without an empowering rune! Pick a spell to remove.") + to_chat(owner, SPAN_CULTITALIC("You cannot store more than [RUNELESS_MAX_BLOODCHARGE] spell\s without an empowering rune! Pick a spell to remove.")) remove_spell("You cannot store more than [RUNELESS_MAX_BLOODCHARGE] spell\s without an empowering rune, pick a spell to remove.") return var/entered_spell_name @@ -47,9 +47,9 @@ if(!channeling) channeling = TRUE - to_chat(owner, "You begin to carve unnatural symbols into your flesh!") + to_chat(owner, SPAN_CULTITALIC("You begin to carve unnatural symbols into your flesh!")) else - to_chat(owner, "You are already invoking blood magic!") + to_chat(owner, SPAN_WARNING("You are already invoking blood magic!")) return if(do_after(owner, 100 - rune * 60, target = owner)) @@ -62,7 +62,7 @@ var/datum/action/innate/cult/blood_spell/new_spell = new BS(owner) spells += new_spell new_spell.Grant(owner, src) - to_chat(owner, "Your wounds glow with power, you have prepared a [new_spell.name] invocation!") + to_chat(owner, SPAN_CULT("Your wounds glow with power, you have prepared a [new_spell.name] invocation!")) SSblackbox.record_feedback("tally", "cult_spells_prepared", 1, "[new_spell.name]") channeling = FALSE @@ -142,9 +142,9 @@ if(!owner.put_in_hands(hand_magic)) qdel(hand_magic) hand_magic = null - to_chat(owner, "You have no empty hand for invoking blood magic!") + to_chat(owner, SPAN_WARNING("You have no empty hand for invoking blood magic!")) return - to_chat(owner, "Your wounds glow as you invoke the [name].") + to_chat(owner, SPAN_CULTITALIC("Your wounds glow as you invoke the [name].")) else // If the spell is active, and you clicked on the button for it qdel(hand_magic) @@ -187,14 +187,14 @@ oof = TRUE break if(oof) - to_chat(owner, "You get the feeling this is a bad idea.") + to_chat(owner, SPAN_USERDANGER("You get the feeling this is a bad idea.")) ..() /datum/action/innate/cult/blood_spell/emp/Activate() if(owner.holy_check()) return - owner.visible_message("[owner]'s body flashes a bright blue!", \ - "You speak the cursed words, channeling an electromagnetic pulse from your body.") + owner.visible_message(SPAN_WARNING("[owner]'s body flashes a bright blue!"), \ + SPAN_CULTITALIC("You speak the cursed words, channeling an electromagnetic pulse from your body.")) owner.emp_act(EMP_LIGHT) INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(empulse), owner, 2, 5, TRUE, "cult") owner.whisper(invocation) @@ -227,14 +227,14 @@ /datum/action/innate/cult/blood_spell/dagger/Activate() var/turf/T = get_turf(owner) - owner.visible_message("[owner]'s hand glows red for a moment.", \ - "Red light begins to shimmer and take form within your hand!") + owner.visible_message(SPAN_WARNING("[owner]'s hand glows red for a moment."), \ + SPAN_CULTITALIC("Red light begins to shimmer and take form within your hand!")) var/obj/item/melee/cultblade/dagger/O = new(T) if(owner.put_in_hands(O)) - to_chat(owner, "A [O.name] appears in your hand!") + to_chat(owner, SPAN_WARNING("A [O.name] appears in your hand!")) else - owner.visible_message("A [O.name] appears at [owner]'s feet!", \ - "A [O.name] materializes at your feet.") + owner.visible_message(SPAN_WARNING("A [O.name] appears at [owner]'s feet!"), \ + SPAN_CULTITALIC("A [O.name] materializes at your feet.")) playsound(owner, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(4)) charges-- desc = base_desc @@ -282,9 +282,9 @@ /datum/spell/horror/proc/toggle(mob/user) if(active) - remove_ranged_ability(user, "You dispel the magic...") + remove_ranged_ability(user, SPAN_CULT("You dispel the magic...")) else - add_ranged_ability(user, "You prepare to horrify a target...") + add_ranged_ability(user, SPAN_CULT("You prepare to horrify a target...")) /datum/spell/horror/InterceptClickOn(mob/living/user, params, atom/target) if(..()) @@ -306,9 +306,9 @@ attached_action.desc = attached_action.base_desc attached_action.desc += "
Has [attached_action.charges] use\s remaining." attached_action.build_all_button_icons() - user.ranged_ability.remove_ranged_ability(user, "[H] has been cursed with living nightmares!") + user.ranged_ability.remove_ranged_ability(user, SPAN_CULT("[H] has been cursed with living nightmares!")) if(attached_action.charges <= 0) - to_chat(ranged_ability_user, "You have exhausted the spell's power!") + to_chat(ranged_ability_user, SPAN_CULT("You have exhausted the spell's power!")) qdel(src) /datum/action/innate/cult/blood_spell/veiling @@ -323,8 +323,8 @@ if(owner.holy_check()) return if(!revealing) // Hiding stuff - owner.visible_message("Thin grey dust falls from [owner]'s hand!", \ - "You invoke the veiling spell, hiding nearby runes and cult structures.") + owner.visible_message(SPAN_WARNING("Thin grey dust falls from [owner]'s hand!"), \ + SPAN_CULTITALIC("You invoke the veiling spell, hiding nearby runes and cult structures.")) charges-- if(!SSticker.mode.cult_team.cult_risen || !SSticker.mode.cult_team.cult_ascendant) playsound(owner, 'sound/magic/smoke.ogg', 25, TRUE, SOUND_RANGE_SET(4)) // If Cult is risen/ascendant. @@ -338,8 +338,8 @@ button_icon_state = "revealing" else // Unhiding stuff - owner.visible_message("A flash of light shines from [owner]'s hand!", \ - "You invoke the counterspell, revealing nearby runes and cult structures.") + owner.visible_message(SPAN_WARNING("A flash of light shines from [owner]'s hand!"), \ + SPAN_CULTITALIC("You invoke the counterspell, revealing nearby runes and cult structures.")) charges-- owner.whisper(invocation) if(!SSticker.mode.cult_team.cult_risen || !SSticker.mode.cult_team.cult_ascendant) @@ -412,7 +412,7 @@ return ..() /obj/item/melee/blood_magic/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in blood-red fire." + return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in blood-red fire.") /obj/item/melee/blood_magic/attack_self__legacy__attackchain(mob/living/user) attackby__legacy__attackchain(user, user, TRUE) @@ -423,7 +423,7 @@ qdel(src) return if(M.can_block_magic(MAGIC_RESISTANCE_HOLY)) - to_chat(user, "[M] absorbs your spell!") + to_chat(user, SPAN_DANGER("[M] absorbs your spell!")) uses = 0 qdel(src) return @@ -460,17 +460,17 @@ return if(user.holy_check()) return - user.visible_message("[user] holds up [user.p_their()] hand, which explodes in a flash of red light!", \ - "You attempt to stun [L] with the spell!") + user.visible_message(SPAN_WARNING("[user] holds up [user.p_their()] hand, which explodes in a flash of red light!"), \ + SPAN_CULTITALIC("You attempt to stun [L] with the spell!")) user.mob_light(LIGHT_COLOR_BLOOD_MAGIC, 3, _duration = 2) var/obj/item/nullrod/N = locate() in target if(N) - target.visible_message("[target]'s holy weapon absorbs the red light!", \ - "Your holy weapon absorbs the blinding light!") + target.visible_message(SPAN_WARNING("[target]'s holy weapon absorbs the red light!"), \ + SPAN_USERDANGER("Your holy weapon absorbs the blinding light!")) else - to_chat(user, "In a brilliant flash of red, [L] falls to the ground!") + to_chat(user, SPAN_CULTITALIC("In a brilliant flash of red, [L] falls to the ground!")) L.apply_status_effect(STATUS_EFFECT_CULT_STUN) L.Silence(6 SECONDS) @@ -485,7 +485,7 @@ C.Stuttering(16 SECONDS) C.CultSlur(20 SECONDS) C.Jitter(16 SECONDS) - to_chat(user, "Stun mark applied! Stab them with a dagger, sword or blood spear to stun them fully!") + to_chat(user, SPAN_BOLDNOTICE("Stun mark applied! Stab them with a dagger, sword or blood spear to stun them fully!")) user.do_attack_animation(target) uses-- ..() @@ -506,7 +506,7 @@ var/list/duplicaterunecount = list() var/atom/movable/teleportee if(!IS_CULTIST(target) || !proximity) - to_chat(user, "You can only teleport adjacent cultists with this spell!") + to_chat(user, SPAN_WARNING("You can only teleport adjacent cultists with this spell!")) return if(user != target) // So that the teleport effect shows on the correct mob teleportee = target @@ -525,11 +525,11 @@ potential_runes[resultkey] = T if(!length(potential_runes)) - to_chat(user, "There are no valid runes to teleport to!") + to_chat(user, SPAN_WARNING("There are no valid runes to teleport to!")) log_game("Teleport spell failed - no other teleport runes") return if(!is_level_reachable(user.z)) - to_chat(user, "You are too far away from the station to teleport!") + to_chat(user, SPAN_CULTITALIC("You are too far away from the station to teleport!")) log_game("Teleport spell failed - user in away mission") return @@ -539,7 +539,7 @@ return if(HAS_TRAIT(user, TRAIT_FLOORED)) - to_chat(user, "You cannot cast this spell while knocked down!") + to_chat(user, SPAN_CULTITALIC("You cannot cast this spell while knocked down!")) return uses-- @@ -556,12 +556,12 @@ actual_selected_rune.handle_portal("space", origin) if(user == target) - target.visible_message("Dust flows from [user]'s hand, and [user.p_they()] disappear[user.p_s()] in a flash of red light!", \ - "You speak the words and find yourself somewhere else!") + target.visible_message(SPAN_WARNING("Dust flows from [user]'s hand, and [user.p_they()] disappear[user.p_s()] in a flash of red light!"), \ + SPAN_CULTITALIC("You speak the words and find yourself somewhere else!")) else - target.visible_message("Dust flows from [user]'s hand, and [target] disappears in a flash of red light!", \ - "You suddenly find yourself somewhere else!") - destination.visible_message("There is a boom of outrushing air as something appears above the rune!", null, "You hear a boom.") + target.visible_message(SPAN_WARNING("Dust flows from [user]'s hand, and [target] disappears in a flash of red light!"), \ + SPAN_CULTITALIC("You suddenly find yourself somewhere else!")) + destination.visible_message(SPAN_WARNING("There is a boom of outrushing air as something appears above the rune!"), null, "You hear a boom.") teleportee.forceMove(destination) return ..() @@ -578,7 +578,7 @@ if(iscarbon(target) && proximity) var/mob/living/carbon/C = target if(!(C.has_left_hand() || C.has_right_hand())) - user.visible_message("This victim doesn't have enough arms to complete the restraint!") + user.visible_message(SPAN_CULTITALIC("This victim doesn't have enough arms to complete the restraint!")) return CuffAttack(C, user) source.build_all_button_icons() @@ -587,22 +587,22 @@ /obj/item/melee/blood_magic/shackles/proc/CuffAttack(mob/living/carbon/C, mob/living/user) if(!C.handcuffed) playsound(loc, 'sound/weapons/cablecuff.ogg', 30, TRUE, SOUND_RANGE_SET(7)) - C.visible_message("[user] begins restraining [C] with dark magic!", \ - "[user] begins shaping dark magic shackles around your wrists!") + C.visible_message(SPAN_DANGER("[user] begins restraining [C] with dark magic!"), \ + SPAN_USERDANGER("[user] begins shaping dark magic shackles around your wrists!")) if(do_mob(user, C, 30)) if(!C.handcuffed) C.handcuffed = new /obj/item/restraints/handcuffs/cult(C) C.update_handcuffed() C.Silence(12 SECONDS) - to_chat(user, "You shackle [C].") + to_chat(user, SPAN_NOTICE("You shackle [C].")) add_attack_logs(user, C, "shackled") uses-- else - to_chat(user, "[C] is already bound.") + to_chat(user, SPAN_WARNING("[C] is already bound.")) else - to_chat(user, "You fail to shackle [C].") + to_chat(user, SPAN_WARNING("You fail to shackle [C].")) else - to_chat(user, "[C] is already bound.") + to_chat(user, SPAN_WARNING("[C] is already bound.")) /// For the shackling spell @@ -615,7 +615,7 @@ flags = DROPDEL /obj/item/restraints/handcuffs/cult/finish_resist_restraints(mob/living/carbon/user, break_cuffs, silent) - user.visible_message("[user]'s shackles shatter in a discharge of dark magic!", "Your [name] shatter in a discharge of dark magic!") + user.visible_message(SPAN_DANGER("[user]'s shackles shatter in a discharge of dark magic!"), SPAN_USERDANGER("Your [name] shatter in a discharge of dark magic!")) break_cuffs = TRUE silent = TRUE . = ..() @@ -640,7 +640,7 @@ return if(proximity_flag) if(channeling) - to_chat(user, "You are already invoking twisted construction!") + to_chat(user, SPAN_CULTITALIC("You are already invoking twisted construction!")) return var/turf/T = get_turf(target) @@ -649,11 +649,11 @@ var/obj/item/stack/sheet/candidate = target if(candidate.use(METAL_TO_CONSTRUCT_SHELL_CONVERSION)) uses-- - to_chat(user, "A dark cloud emanates from your hand and swirls around the metal, twisting it into a construct shell!") + to_chat(user, SPAN_WARNING("A dark cloud emanates from your hand and swirls around the metal, twisting it into a construct shell!")) new /obj/structure/constructshell(T) playsound(user, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(4)) else - to_chat(user, "You need [METAL_TO_CONSTRUCT_SHELL_CONVERSION] metal to produce a construct shell!") + to_chat(user, SPAN_WARNING("You need [METAL_TO_CONSTRUCT_SHELL_CONVERSION] metal to produce a construct shell!")) return //Plasteel to runed metal @@ -663,7 +663,7 @@ if(candidate.use(quantity)) uses-- new /obj/item/stack/sheet/runed_metal(T, quantity) - to_chat(user, "A dark cloud emanates from you hand and swirls around the plasteel, transforming it into runed metal!") + to_chat(user, SPAN_WARNING("A dark cloud emanates from you hand and swirls around the plasteel, transforming it into runed metal!")) playsound(user, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(4)) //Airlock to cult airlock @@ -674,14 +674,14 @@ if(do_after(user, 50, target = target)) target.narsie_act(TRUE) uses-- - user.visible_message("Black ribbons suddenly emanate from [user]'s hand and cling to the airlock - twisting and corrupting it!") + user.visible_message(SPAN_WARNING("Black ribbons suddenly emanate from [user]'s hand and cling to the airlock - twisting and corrupting it!")) playsound(user, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(7)) channeling = FALSE else channeling = FALSE return else - to_chat(user, "The spell will not work on [target]!") + to_chat(user, SPAN_WARNING("The spell will not work on [target]!")) return ..() @@ -706,7 +706,7 @@ qdel(src) //Clears the hands C.put_in_hands(new /obj/item/melee/cultblade(user)) C.put_in_hands(new /obj/item/restraints/legcuffs/bola/cult(user)) - C.visible_message("Otherworldly [armour ? "armour" : "equipment"] suddenly appears on [C]!") + C.visible_message(SPAN_WARNING("Otherworldly [armour ? "armour" : "equipment"] suddenly appears on [C]!")) ..() //Used by blood rite, to recharge things like viel shifter or the cultest shielded robes /obj/item/melee/blood_magic/empower @@ -724,10 +724,10 @@ if(istype(target, /obj/item/clothing/suit/hooded/cultrobes/cult_shield)) var/datum/component/shielded/shield = target.GetComponent(/datum/component/shielded) if(shield.current_charges >= 3) - to_chat(user, "[target] is already at full charge!") + to_chat(user, SPAN_WARNING("[target] is already at full charge!")) return uses-- - to_chat(user, "You empower [target] with blood, recharging its shields!") + to_chat(user, SPAN_WARNING("You empower [target] with blood, recharging its shields!")) playsound(user, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(7)) shield.current_charges = 3 user.update_appearance(UPDATE_ICON) @@ -737,16 +737,16 @@ if(istype(target, /obj/item/cult_shift)) var/obj/item/cult_shift/S = target if(S.uses >= 4) - to_chat(user, "[target] is already at full charge!") + to_chat(user, SPAN_WARNING("[target] is already at full charge!")) return uses-- - to_chat(user, "You empower [target] with blood, recharging its ability to shift!") + to_chat(user, SPAN_WARNING("You empower [target] with blood, recharging its ability to shift!")) playsound(user, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(7)) S.uses = 4 S.icon_state = "shifter" return ..() - to_chat(user, "The spell will not work on [target]!") + to_chat(user, SPAN_WARNING("The spell will not work on [target]!")) return ..() //Blood Rite: Absorb blood to heal cult members or summon weapons @@ -759,7 +759,7 @@ . = ..() . += "Blood spear and blood barrage cost [BLOOD_SPEAR_COST] and [BLOOD_BARRAGE_COST] charges respectively." . += "Blood orb and blood empower cost [BLOOD_ORB_COST] and [BLOOD_RECHARGE_COST] charges respectively." - . += "You have collected [uses] charge\s of blood." + . += SPAN_CULTITALIC("You have collected [uses] charge\s of blood.") /obj/item/melee/blood_magic/manipulator/proc/restore_blood(mob/living/carbon/human/user, mob/living/carbon/human/H) if(uses == 0) @@ -771,34 +771,34 @@ var/restore_blood = BLOOD_VOLUME_SAFE - H.blood_volume if(uses * 2 < restore_blood) H.blood_volume += uses * 2 - to_chat(user, "You use the last of your charges to restore what blood you could, and the spell dissipates!") + to_chat(user, SPAN_DANGER("You use the last of your charges to restore what blood you could, and the spell dissipates!")) uses = 0 else H.blood_volume = BLOOD_VOLUME_SAFE uses -= round(restore_blood / 2) - to_chat(user, "Your blood rites have restored [H == user ? "your" : "[H.p_their()]"] blood to safe levels!") + to_chat(user, SPAN_CULT("Your blood rites have restored [H == user ? "your" : "[H.p_their()]"] blood to safe levels!")) /obj/item/melee/blood_magic/manipulator/proc/heal_human_damage(mob/living/carbon/human/user, mob/living/carbon/human/H) if(uses == 0) return var/overall_damage = H.getBruteLoss() + H.getFireLoss() + H.getToxLoss() + H.getOxyLoss() if(overall_damage == 0) - to_chat(user, "[H] doesn't require healing!") + to_chat(user, SPAN_WARNING("[H] doesn't require healing!")) return var/ratio = uses / overall_damage if(H == user) - to_chat(user, "Your blood healing is far less efficient when used on yourself!") + to_chat(user, SPAN_WARNING("Your blood healing is far less efficient when used on yourself!")) ratio *= 0.35 // Healing is half as effective if you can't perform a full heal uses -= round(overall_damage) // Healing is 65% more "expensive" even if you can still perform the full heal if(ratio > 1) ratio = 1 uses -= round(overall_damage) - H.visible_message("[H] is fully healed by [H == user ? "[H.p_their()]" : "[H]'s"] blood magic!", - "You are fully healed by [H == user ? "your" : "[user]'s"] blood magic!") + H.visible_message(SPAN_WARNING("[H] is fully healed by [H == user ? "[H.p_their()]" : "[H]'s"] blood magic!"), + SPAN_CULTITALIC("You are fully healed by [H == user ? "your" : "[user]'s"] blood magic!")) else - H.visible_message("[H] is partially healed by [H == user ? "[H.p_their()]" : "[H]'s"] blood magic.", - "You are partially healed by [H == user ? "your" : "[user]'s"] blood magic.") + H.visible_message(SPAN_WARNING("[H] is partially healed by [H == user ? "[H.p_their()]" : "[H]'s"] blood magic."), + SPAN_CULTITALIC("You are partially healed by [H == user ? "your" : "[user]'s"] blood magic.")) uses = 0 ratio *= -1 H.adjustOxyLoss((overall_damage * ratio) * (H.getOxyLoss() / overall_damage), FALSE, null, TRUE) @@ -812,57 +812,57 @@ /obj/item/melee/blood_magic/manipulator/proc/heal_cultist(mob/living/carbon/human/user, mob/living/carbon/human/H) if(H.stat == DEAD) - to_chat(user, "Only a revive rune can bring back the dead!") + to_chat(user, SPAN_WARNING("Only a revive rune can bring back the dead!")) return var/charge_loss = uses restore_blood(user, H) heal_human_damage(user, H) charge_loss = charge_loss - uses if(!uses) - to_chat(user, "You use the last of your charges to heal [H == user ? "yourself" : "[H]"], and the spell dissipates!") + to_chat(user, SPAN_DANGER("You use the last of your charges to heal [H == user ? "yourself" : "[H]"], and the spell dissipates!")) else - to_chat(user, "You use [charge_loss] charge\s, and have [uses] remaining.") + to_chat(user, SPAN_CULTITALIC("You use [charge_loss] charge\s, and have [uses] remaining.")) /obj/item/melee/blood_magic/manipulator/proc/heal_construct(mob/living/carbon/human/user, mob/living/simple_animal/M) if(uses == 0) return var/missing = M.maxHealth - M.health if(!missing) - to_chat(user, "[M] doesn't require healing!") + to_chat(user, SPAN_WARNING("[M] doesn't require healing!")) return if(uses > missing) M.adjustHealth(-missing) - M.visible_message("[M] is fully healed by [user]'s blood magic!", - "You are fully healed by [user]'s blood magic!") + M.visible_message(SPAN_WARNING("[M] is fully healed by [user]'s blood magic!"), + SPAN_CULTITALIC("You are fully healed by [user]'s blood magic!")) uses -= missing else M.adjustHealth(-uses) - M.visible_message("[M] is partially healed by [user]'s blood magic!", - "You are partially healed by [user]'s blood magic.") + M.visible_message(SPAN_WARNING("[M] is partially healed by [user]'s blood magic!"), + SPAN_CULTITALIC("You are partially healed by [user]'s blood magic.")) uses = 0 playsound(get_turf(M), 'sound/magic/staff_healing.ogg', 25, extrarange = SOUND_RANGE_SET(7)) user.Beam(M, icon_state = "sendbeam", time = 10) /obj/item/melee/blood_magic/manipulator/proc/steal_blood(mob/living/carbon/human/user, mob/living/carbon/human/H) if(H.stat == DEAD) - to_chat(user, "[H.p_their(TRUE)] blood has stopped flowing, you'll have to find another way to extract it.") + to_chat(user, SPAN_WARNING("[H.p_their(TRUE)] blood has stopped flowing, you'll have to find another way to extract it.")) return if(H.AmountCultSlurring()) - to_chat(user, "[H.p_their(TRUE)] blood has been tainted by an even stronger form of blood magic, it's no use to us like this!") + to_chat(user, SPAN_DANGER("[H.p_their(TRUE)] blood has been tainted by an even stronger form of blood magic, it's no use to us like this!")) return if(!H.dna || (NO_BLOOD in H.dna.species.species_traits) || H.dna.species.exotic_blood != null) - to_chat(user, "[H] does not have any usable blood!") + to_chat(user, SPAN_WARNING("[H] does not have any usable blood!")) return if(H.blood_volume <= BLOOD_VOLUME_SAFE) - to_chat(user, "[H] is missing too much blood - you cannot drain [H.p_them()] further!") + to_chat(user, SPAN_WARNING("[H] is missing too much blood - you cannot drain [H.p_them()] further!")) return H.blood_volume -= 100 uses += 50 user.Beam(H, icon_state = "drainbeam", time = 10) playsound(get_turf(H), 'sound/misc/enter_blood.ogg', 50, extrarange = SOUND_RANGE_SET(7)) - H.visible_message("[user] has drained some of [H]'s blood!", - "[user] has drained some of your blood!") - to_chat(user, "Your blood rite gains 50 charges from draining [H]'s blood.") + H.visible_message(SPAN_DANGER("[user] has drained some of [H]'s blood!"), + SPAN_USERDANGER("[user] has drained some of your blood!")) + to_chat(user, SPAN_CULTITALIC("Your blood rite gains 50 charges from draining [H]'s blood.")) new /obj/effect/temp_visual/cult/sparks(get_turf(H)) // This should really be split into multiple procs @@ -889,7 +889,7 @@ var/obj/item/blood_orb/candidate = target if(candidate.blood) uses += candidate.blood - to_chat(user, "You obtain [candidate.blood] blood from the orb of blood!") + to_chat(user, SPAN_WARNING("You obtain [candidate.blood] blood from the orb of blood!")) playsound(user, 'sound/misc/enter_blood.ogg', 50, extrarange = SOUND_RANGE_SET(7)) qdel(candidate) source.build_all_button_icons() @@ -918,7 +918,7 @@ new /obj/effect/temp_visual/cult/sparks(get_turf(user)) playsound(T, 'sound/misc/enter_blood.ogg', 50, extrarange = SOUND_RANGE_SET(7)) temp = round(temp) - to_chat(user, "Your blood rite has gained [temp] charge\s from blood sources around you!") + to_chat(user, SPAN_CULTITALIC("Your blood rite has gained [temp] charge\s from blood sources around you!")) uses += max(1, temp) /obj/item/melee/blood_magic/manipulator/attack_self__legacy__attackchain(mob/living/user) @@ -933,14 +933,14 @@ switch(choice) if("Blood Orb (50)") if(uses < BLOOD_ORB_COST) - to_chat(user, "You need [BLOOD_ORB_COST] charges to perform this rite.") + to_chat(user, SPAN_WARNING("You need [BLOOD_ORB_COST] charges to perform this rite.")) else var/ammount = input("How much blood would you like to transfer? You have [uses] blood.", "How much blood?", 50) as null|num if(ammount < 50) // No 1 blood orbs, 50 or more. - to_chat(user, "You need to give up at least 50 blood.") + to_chat(user, SPAN_WARNING("You need to give up at least 50 blood.")) return if(ammount > uses) // No free blood either - to_chat(user, "You do not have that much blood to give!") + to_chat(user, SPAN_WARNING("You do not have that much blood to give!")) return uses -= ammount var/turf/T = get_turf(user) @@ -948,28 +948,28 @@ var/obj/item/blood_orb/rite = new(T) rite.blood = ammount if(user.put_in_hands(rite)) - to_chat(user, "A [rite.name] appears in your hand!") + to_chat(user, SPAN_CULT("A [rite.name] appears in your hand!")) else - user.visible_message("A [rite.name] appears at [user]'s feet!", - "A [rite.name] materializes at your feet.") + user.visible_message(SPAN_WARNING("A [rite.name] appears at [user]'s feet!"), + SPAN_CULT("A [rite.name] materializes at your feet.")) if("Blood Recharge (75)") if(uses < BLOOD_RECHARGE_COST) - to_chat(user, "You need [BLOOD_RECHARGE_COST] charges to perform this rite.") + to_chat(user, SPAN_CULTITALIC("You need [BLOOD_RECHARGE_COST] charges to perform this rite.")) else var/obj/rite = new /obj/item/melee/blood_magic/empower() uses -= BLOOD_RECHARGE_COST qdel(src) if(user.put_in_hands(rite)) - to_chat(user, "Your hand glows with power!") + to_chat(user, SPAN_CULT("Your hand glows with power!")) else - to_chat(user, "You need a free hand for this rite!") + to_chat(user, SPAN_WARNING("You need a free hand for this rite!")) uses += BLOOD_RECHARGE_COST // Refund the charges qdel(rite) if("Blood Spear (150)") if(uses < BLOOD_SPEAR_COST) - to_chat(user, "You need [BLOOD_SPEAR_COST] charges to perform this rite.") + to_chat(user, SPAN_WARNING("You need [BLOOD_SPEAR_COST] charges to perform this rite.")) else uses -= BLOOD_SPEAR_COST var/turf/T = get_turf(user) @@ -979,14 +979,14 @@ S.Grant(user, rite) rite.spear_act = S if(user.put_in_hands(rite)) - to_chat(user, "A [rite.name] appears in your hand!") + to_chat(user, SPAN_CULT("A [rite.name] appears in your hand!")) else - user.visible_message("A [rite.name] appears at [user]'s feet!", - "A [rite.name] materializes at your feet.") + user.visible_message(SPAN_WARNING("A [rite.name] appears at [user]'s feet!"), + SPAN_CULT("A [rite.name] materializes at your feet.")) if("Blood Bolt Barrage (300)") if(uses < BLOOD_BARRAGE_COST) - to_chat(user, "You need [BLOOD_BARRAGE_COST] charges to perform this rite.") + to_chat(user, SPAN_CULTITALIC("You need [BLOOD_BARRAGE_COST] charges to perform this rite.")) else var/obj/rite = new /obj/item/gun/projectile/shotgun/boltaction/enchanted/arcane_barrage/blood() uses -= BLOOD_BARRAGE_COST @@ -994,9 +994,9 @@ user.swap_hand() user.drop_item() if(user.put_in_hands(rite)) - to_chat(user, "Both of your hands glow with power!") + to_chat(user, SPAN_CULT("Both of your hands glow with power!")) else - to_chat(user, "You need a free hand for this rite!") + to_chat(user, SPAN_WARNING("You need a free hand for this rite!")) uses += BLOOD_BARRAGE_COST // Refund the charges qdel(rite) source.build_all_button_icons() diff --git a/code/game/gamemodes/cult/cult_actions.dm b/code/game/gamemodes/cult/cult_actions.dm index 4329d6eb08f..d5a0730b1e6 100644 --- a/code/game/gamemodes/cult/cult_actions.dm +++ b/code/game/gamemodes/cult/cult_actions.dm @@ -32,12 +32,12 @@ return if(!user.can_speak()) - to_chat(user, "You can't speak!") + to_chat(user, SPAN_WARNING("You can't speak!")) return if(HAS_TRAIT(user, TRAIT_MUTE) || user.mind.miming) //Under vow of silence/mute? - user.visible_message("[user] appears to whisper to themselves.", - "You begin to whisper to yourself.") //Make them do *something* abnormal. + user.visible_message(SPAN_NOTICE("[user] appears to whisper to themselves."), + SPAN_NOTICE("You begin to whisper to yourself.")) //Make them do *something* abnormal. sleep(10) else user.whisper("O bidai nabora se[pick("'","`")]sma!") // Otherwise book club sayings. @@ -75,13 +75,13 @@ if(!message) return var/title = "The [user.name]" - living_message = "[title]: [message]" + living_message = SPAN_CULTLARGE("[title]: [message]") for(var/mob/M in GLOB.player_list) if(IS_CULTIST(M)) to_chat(M, living_message) else if((M in GLOB.dead_mob_list) && !isnewplayer(M)) - to_chat(M, "[title] ([ghost_follow_link(user, ghost=M)]): [message]") + to_chat(M, SPAN_CULTLARGE("[title] ([ghost_follow_link(user, ghost=M)]): [message]")) //Objectives @@ -104,7 +104,7 @@ if(SSticker?.mode?.cult_team) SSticker.mode.cult_team.study_objectives(usr, TRUE) else - to_chat(usr, "You fail to study the Veil. (This should never happen, adminhelp and/or yell at a coder)") + to_chat(usr, SPAN_CULTITALIC("You fail to study the Veil. (This should never happen, adminhelp and/or yell at a coder)")) //Draw rune @@ -125,4 +125,4 @@ owner.put_in_hands(D) D.activate_self(owner) else - to_chat(usr, "You do not seem to carry a ritual dagger to draw a rune with. If you need a new one, prepare and use the Summon Dagger spell.") + to_chat(usr, SPAN_CULTITALIC("You do not seem to carry a ritual dagger to draw a rune with. If you need a new one, prepare and use the Summon Dagger spell.")) diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index eeafdbba7f2..560a3aafa50 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -29,7 +29,7 @@ /obj/item/melee/cultblade/examine(mob/user) . = ..() - . += "This blade is a powerful weapon, capable of severing limbs easily. Nonbelievers are unable to use this weapon. Striking a nonbeliever after downing them with your cult magic will stun them completely." + . += SPAN_NOTICE("This blade is a powerful weapon, capable of severing limbs easily. Nonbelievers are unable to use this weapon. Striking a nonbeliever after downing them with your cult magic will stun them completely.") /obj/item/melee/cultblade/pre_attack(atom/target, mob/living/user, params) if(..()) @@ -38,8 +38,8 @@ if(!IS_CULTIST(user)) user.Weaken(10 SECONDS) user.drop_item_to_ground(src, force = TRUE) - user.visible_message("A powerful force shoves [user] away from [target]!", - "\"You shouldn't play with sharp things. You'll poke someone's eye out.\"") + user.visible_message(SPAN_WARNING("A powerful force shoves [user] away from [target]!"), + SPAN_CULTLARGE("\"You shouldn't play with sharp things. You'll poke someone's eye out.\"")) if(ishuman(user)) var/mob/living/carbon/human/H = user H.apply_damage(rand(force/2, force), BRUTE, pick("l_arm", "r_arm")) @@ -60,13 +60,13 @@ /obj/item/melee/cultblade/pickup(mob/living/user) . = ..() if(!IS_CULTIST(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") + to_chat(user, SPAN_CULTLARGE("\"I wouldn't advise that.\"")) + to_chat(user, SPAN_WARNING("An overwhelming sense of nausea overpowers you!")) user.Confused(20 SECONDS) user.Jitter(12 SECONDS) if(HAS_TRAIT(user, TRAIT_HULK)) - to_chat(user, "You can't seem to hold the blade properly!") + to_chat(user, SPAN_DANGER("You can't seem to hold the blade properly!")) user.drop_item_to_ground(src, force = TRUE) /obj/item/restraints/legcuffs/bola/cult @@ -78,14 +78,14 @@ /obj/item/restraints/legcuffs/bola/cult/throw_at(atom/target, range, speed, mob/thrower, spin, diagonals_first, datum/callback/callback) if(thrower && !IS_CULTIST(thrower)) // A couple of objs actually proc throw_at, so we need to make sure that yes, we got tossed by a person before trying to send a message - thrower.visible_message("The bola glows, and boomarangs back at [thrower]!") + thrower.visible_message(SPAN_DANGER("The bola glows, and boomarangs back at [thrower]!")) throw_impact(thrower) return . = ..() /obj/item/restraints/legcuffs/bola/cult/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(IS_CULTIST(hit_atom)) - hit_atom.visible_message("[src] bounces off of [hit_atom], as if repelled by an unseen force!") + hit_atom.visible_message(SPAN_WARNING("[src] bounces off of [hit_atom], as if repelled by an unseen force!")) return . = ..() @@ -160,8 +160,8 @@ /obj/item/clothing/suit/hooded/cultrobes/cult_shield/equipped(mob/living/user, slot) ..() if(!IS_CULTIST(user)) // Todo: Make this only happen when actually equipped to the correct slot. (For all cult items) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") + to_chat(user, SPAN_CULTLARGE("\"I wouldn't advise that.\"")) + to_chat(user, SPAN_WARNING("An overwhelming sense of nausea overpowers you!")) user.drop_item_to_ground(src, force = TRUE) user.Confused(20 SECONDS) user.Weaken(10 SECONDS) @@ -172,10 +172,10 @@ /// A proc for callback when the shield breaks, since cult robes are stupid and have different effects /obj/item/clothing/suit/hooded/cultrobes/cult_shield/proc/shield_damaged(mob/living/wearer, attack_text, new_current_charges) - wearer.visible_message("[attack_text] is deflected in a burst of blood-red sparks!") + wearer.visible_message(SPAN_DANGER("[attack_text] is deflected in a burst of blood-red sparks!")) new /obj/effect/temp_visual/cult/sparks(get_turf(wearer)) if(new_current_charges == 0) - wearer.visible_message("The runed shield around [wearer] suddenly disappears!") + wearer.visible_message(SPAN_DANGER("The runed shield around [wearer] suddenly disappears!")) /obj/item/clothing/suit/hooded/cultrobes/flagellant_robe name = "flagellant's robes" @@ -194,8 +194,8 @@ /obj/item/clothing/suit/hooded/cultrobes/flagellant_robe/equipped(mob/living/user, slot) ..() if(!IS_CULTIST(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") + to_chat(user, SPAN_CULTLARGE("\"I wouldn't advise that.\"")) + to_chat(user, SPAN_WARNING("An overwhelming sense of nausea overpowers you!")) user.drop_item_to_ground(src, force = TRUE) user.Confused(20 SECONDS) user.Weaken(10 SECONDS) @@ -237,7 +237,7 @@ /obj/item/whetstone/cult/attackby__legacy__attackchain(obj/item/I, mob/user, params) ..() if(used) - to_chat(user, "[src] crumbles to ashes.") + to_chat(user, SPAN_NOTICE("[src] crumbles to ashes.")) qdel(src) /obj/item/reagent_containers/drinks/bottle/unholywater @@ -259,7 +259,7 @@ /obj/item/clothing/glasses/hud/health/night/cultblind/equipped(mob/living/user, slot) ..() if(!IS_CULTIST(user)) - to_chat(user, "\"You want to be blind, do you?\"") + to_chat(user, SPAN_CULTLARGE("\"You want to be blind, do you?\"")) user.drop_item_to_ground(src, force = TRUE) user.Confused(60 SECONDS) user.Weaken(10 SECONDS) @@ -276,20 +276,20 @@ if(!IS_CULTIST(user)) user.drop_item_to_ground(src, force = TRUE) user.Weaken(10 SECONDS) - to_chat(user, "A powerful force shoves you away from [src]!") + to_chat(user, SPAN_WARNING("A powerful force shoves you away from [src]!")) return if(curselimit > 1) - to_chat(user, "We have exhausted our ability to curse the shuttle.") + to_chat(user, SPAN_NOTICE("We have exhausted our ability to curse the shuttle.")) return if(locate(/obj/singularity/narsie) in GLOB.poi_list || locate(/mob/living/basic/demon/slaughter/cult) in GLOB.mob_list) - to_chat(user, "Nar'Sie or her avatars are already on this plane, there is no delaying the end of all things.") + to_chat(user, SPAN_DANGER("Nar'Sie or her avatars are already on this plane, there is no delaying the end of all things.")) return if(SSshuttle.emergency.mode == SHUTTLE_CALL) var/cursetime = 3 MINUTES var/timer = SSshuttle.emergency.timeLeft(1) + cursetime SSshuttle.emergency.setTimer(timer) - to_chat(user,"You shatter the orb! A dark essence spirals into the air, then disappears.") + to_chat(user,SPAN_DANGER("You shatter the orb! A dark essence spirals into the air, then disappears.")) playsound(user.loc, 'sound/effects/glassbr1.ogg', 50, TRUE) curselimit++ var/message = pick(CULT_CURSES) @@ -306,9 +306,9 @@ /obj/item/cult_shift/examine(mob/user) . = ..() if(uses) - . += "It has [uses] use\s remaining." + . += SPAN_CULT("It has [uses] use\s remaining.") else - . += "It seems drained." + . += SPAN_CULT("It seems drained.") /obj/item/cult_shift/proc/handle_teleport_grab(turf/T, mob/user) var/mob/living/carbon/C = user @@ -324,12 +324,12 @@ /obj/item/cult_shift/attack_self__legacy__attackchain(mob/user) if(!uses || !iscarbon(user)) - to_chat(user, "[src] is dull and unmoving in your hands.") + to_chat(user, SPAN_WARNING("[src] is dull and unmoving in your hands.")) return if(!IS_CULTIST(user)) user.drop_item_to_ground(src, force = TRUE) step(src, pick(GLOB.alldirs)) - to_chat(user, "[src] flickers out of your hands, too eager to move!") + to_chat(user, SPAN_WARNING("[src] flickers out of your hands, too eager to move!")) return if(SEND_SIGNAL(user, COMSIG_MOVABLE_TELEPORTING, get_turf(user)) & COMPONENT_BLOCK_TELEPORT) return FALSE @@ -369,7 +369,7 @@ playsound(destination, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) else - to_chat(C, "The veil cannot be torn here!") + to_chat(C, SPAN_DANGER("The veil cannot be torn here!")) /obj/item/melee/cultblade/ghost name = "eldritch sword" @@ -454,7 +454,7 @@ /obj/item/shield/mirror/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) // Incase they get one by some magic if(!SSticker.mode.cult_team.mirror_shields_active) - to_chat(owner, "This shield is powerless! You must perform the required sacrifice to empower it!") + to_chat(owner, SPAN_WARNING("This shield is powerless! You must perform the required sacrifice to empower it!")) return if(IS_CULTIST(owner) && !owner.holy_check()) // Cultist holding the shield @@ -476,7 +476,7 @@ if(prob(shatter_chance) || P.shield_buster) var/turf/T = get_turf(owner) - T.visible_message("The sheer force from [P] shatters the mirror shield!") + T.visible_message(SPAN_WARNING("The sheer force from [P] shatters the mirror shield!")) new /obj/effect/temp_visual/cult/sparks(T) playsound(T, 'sound/effects/glassbr3.ogg', 100) owner.Weaken(6 SECONDS) @@ -513,7 +513,7 @@ else H.Copy_Parent(user, 100, 20, 5) H.GiveTarget(user) - to_chat(user, "[src] betrays you!") + to_chat(user, SPAN_DANGER("[src] betrays you!")) else var/mob/living/simple_animal/hostile/illusion/escape/cult/E = new(user.loc) E.Copy_Parent(user, 70, 10) @@ -526,7 +526,7 @@ else if(isliving(loc)) var/mob/living/holder = loc if(IS_CULTIST(holder)) - to_chat(holder, "The shield's illusions are back at full strength!") + to_chat(holder, SPAN_CULTITALIC("The shield's illusions are back at full strength!")) else to_chat(holder, "[src] vibrates slightly, and starts glowing.") @@ -577,9 +577,9 @@ if(IS_CULTIST(L)) playsound(src, 'sound/weapons/throwtap.ogg', 50) if(!L.restrained() && L.put_in_active_hand(src)) - L.visible_message("[L] catches [src] out of the air!") + L.visible_message(SPAN_WARNING("[L] catches [src] out of the air!")) else - L.visible_message("[src] bounces off of [L], as if repelled by an unseen force!") + L.visible_message(SPAN_WARNING("[src] bounces off of [L], as if repelled by an unseen force!")) else if(!..()) if(L.null_rod_check()) return @@ -606,7 +606,7 @@ if(!T) T = get_turf(src) if(T) - T.visible_message("[src] shatters and melts back into blood!") + T.visible_message(SPAN_WARNING("[src] shatters and melts back into blood!")) new /obj/effect/temp_visual/cult/sparks(T) new /obj/effect/decal/cleanable/blood/splatter(T) playsound(T, 'sound/effects/glassbr3.ogg', 100) @@ -636,13 +636,13 @@ var/ST = get_turf(spear) var/OT = get_turf(owner) if(get_dist(OT, ST) > 10) - to_chat(owner,"The spear is too far away!") + to_chat(owner,SPAN_WARNING("The spear is too far away!")) else cooldown = world.time + 20 if(isliving(spear.loc)) var/mob/living/L = spear.loc L.drop_item_to_ground(spear) - L.visible_message("An unseen force pulls the blood spear from [L]'s hands!") + L.visible_message(SPAN_WARNING("An unseen force pulls the blood spear from [L]'s hands!")) spear.throw_at(owner, 10, 2, null, dodgeable = FALSE) /obj/item/gun/projectile/shotgun/boltaction/enchanted/arcane_barrage/blood @@ -709,8 +709,8 @@ if(!iscarbon(user)) return var/mob/living/carbon/M = user - to_chat(M, "\"So, you want to explore space?\"") - to_chat(M, "Space flashes around you as you are moved somewhere else!") + to_chat(M, SPAN_CULTLARGE("\"So, you want to explore space?\"")) + to_chat(M, SPAN_WARNING("Space flashes around you as you are moved somewhere else!")) M.Confused(20 SECONDS) M.flash_eyes(override_blindness_check = TRUE) M.EyeBlind(20 SECONDS) @@ -720,10 +720,10 @@ if(istype(O, /obj/effect/rune)) if(!istype(O, /obj/effect/rune/teleport)) - to_chat(user, "[src] only works on teleport runes.") + to_chat(user, SPAN_WARNING("[src] only works on teleport runes.")) return if(!proximity) - to_chat(user, "You are too far away from the teleport rune.") + to_chat(user, SPAN_WARNING("You are too far away from the teleport rune.")) return var/obj/effect/rune/teleport/R = O attempt_portal(R, user) @@ -748,11 +748,11 @@ potential_runes[result_key] = target if(!length(potential_runes)) - to_chat(user, "There are no valid runes to teleport to!") + to_chat(user, SPAN_WARNING("There are no valid runes to teleport to!")) return if(!is_level_reachable(user.z)) - to_chat(user, "You are not in the right dimension!") + to_chat(user, SPAN_CULTITALIC("You are not in the right dimension!")) return var/input_rune_key = tgui_input_list(user, "Choose a rune to make a portal to", "Rune to make a portal to", potential_runes) //we know what key they picked @@ -765,7 +765,7 @@ else if(!is_station_level(R.z) || isspacearea(get_area(src))) actual_selected_rune.handle_portal("space", T) new /obj/effect/portal/cult(get_turf(R), get_turf(actual_selected_rune), src, 4 MINUTES) - to_chat(user, "You use the magic of the amulet to turn [R] into a portal.") + to_chat(user, SPAN_CULTITALIC("You use the magic of the amulet to turn [R] into a portal.")) playsound(src, 'sound/magic/cult_spell.ogg', 100, TRUE) qdel(R) qdel(src) @@ -783,7 +783,7 @@ /obj/effect/portal/cult/item_interaction(mob/living/user, obj/item/used, list/modifiers) if((istype(used, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user)) || (istype(used, /obj/item/nullrod) && HAS_MIND_TRAIT(user, TRAIT_HOLY))) - to_chat(user, "You close the portal with your [used].") + to_chat(user, SPAN_NOTICE("You close the portal with your [used].")) playsound(src, 'sound/magic/magic_missile.ogg', 100, TRUE) qdel(src) return ITEM_INTERACT_COMPLETE @@ -824,9 +824,9 @@ GLOBAL_LIST_EMPTY(proteon_portals) if(!IS_CULTIST(user) && isliving(user)) var/mob/living/living_user = user living_user.adjustBrainLoss(5) - . += "It hurts just to look at it. Better keep away." + . += SPAN_DANGER("It hurts just to look at it. Better keep away.") else - . += "It can be used to create a gateway to Nar'Sie's domain, which will summon weak, sentient constructs over time." + . += SPAN_CULT("It can be used to create a gateway to Nar'Sie's domain, which will summon weak, sentient constructs over time.") /obj/item/proteon_orb/activate_self(mob/user) if(..()) @@ -835,18 +835,18 @@ GLOBAL_LIST_EMPTY(proteon_portals) var/list/portals_to_scan = GLOB.proteon_portals if(!IS_CULTIST(user)) - to_chat(user, "\"You want to enter my domain? Go ahead.\"") + to_chat(user, SPAN_CULTLARGE("\"You want to enter my domain? Go ahead.\"")) portals_to_scan = null // narsie wants to have some fun and the veil wont stop her for(var/obj/structure/spawner/sentient/proteon_spawner/P as anything in portals_to_scan) if(get_dist(P, src) <= 40) - to_chat(user, "There's a gateway too close nearby. The veil is not yet weak enough to allow such close rips in its fabric.") + to_chat(user, SPAN_CULT("There's a gateway too close nearby. The veil is not yet weak enough to allow such close rips in its fabric.")) return - to_chat(user, "You focus on [src] and direct it into the ground. It rumbles...") + to_chat(user, SPAN_CULTITALIC("You focus on [src] and direct it into the ground. It rumbles...")) var/turf/hole_spot = get_turf(user) if(!isfloorturf(hole_spot)) - to_chat(user, "This is not a suitable spot.") + to_chat(user, SPAN_NOTICE("This is not a suitable spot.")) return INVOKE_ASYNC(hole_spot, TYPE_PROC_REF(/turf/simulated/floor, quake_gateway), user) @@ -864,19 +864,19 @@ GLOBAL_LIST_EMPTY(proteon_portals) fucked = TRUE user.notransform = TRUE user.add_atom_colour(LIGHT_COLOR_RED, TEMPORARY_COLOUR_PRIORITY) - user.visible_message("Dark tendrils appear from the ground and root [user] in place!") + user.visible_message(SPAN_CULT("Dark tendrils appear from the ground and root [user] in place!")) sleep(5 SECONDS) // can we still use these or. i mean its async new /obj/structure/spawner/sentient/proteon_spawner(src) - visible_message("A mysterious hole appears out of nowhere!") + visible_message(SPAN_CULT("A mysterious hole appears out of nowhere!")) if(!fucked || QDELETED(user)) return if(get_turf(user) != src) // they get away. for now user.notransform = FALSE - user.visible_message("[user] is pulled into the portal through an infinitesmally minuscule hole, shredding [user.p_their()] body!") + user.visible_message(SPAN_CULT("[user] is pulled into the portal through an infinitesmally minuscule hole, shredding [user.p_their()] body!")) add_attack_logs(user, user, "Killed themselfs via use of a proteon orb as a non cultist", ATKLOG_ALL) user.gib() // total destruction sleep(5 SECONDS) - user.visible_message("An unusually large construct appears through the portal!") + user.visible_message(SPAN_CULTITALIC("An unusually large construct appears through the portal!")) var/mob/living/simple_animal/hostile/construct/proteon/hostile/remnant = new(get_step_rand(src)) remnant.name = "[user]" // no, they do not become it remnant.appearance_flags += PIXEL_SCALE diff --git a/code/game/gamemodes/cult/cult_mode.dm b/code/game/gamemodes/cult/cult_mode.dm index f9f202e126c..b1196fa9efd 100644 --- a/code/game/gamemodes/cult/cult_mode.dm +++ b/code/game/gamemodes/cult/cult_mode.dm @@ -43,12 +43,12 @@ /datum/game_mode/cult/declare_completion() if(cult_team.cult_status == NARSIE_HAS_RISEN) SSticker.mode_result = "cult win - cult win" - to_chat(world, "The cult wins! It has succeeded in summoning [GET_CULT_DATA(entity_name, "their god")]!") + to_chat(world, SPAN_DANGER("The cult wins! It has succeeded in summoning [GET_CULT_DATA(entity_name, "their god")]!")) else if(cult_team.cult_status == NARSIE_HAS_FALLEN) SSticker.mode_result = "cult draw - narsie died, nobody wins" - to_chat(world, "Nobody wins! [GET_CULT_DATA(entity_name, "the cult god")] was summoned, but banished!") + to_chat(world, SPAN_DANGER("Nobody wins! [GET_CULT_DATA(entity_name, "the cult god")] was summoned, but banished!")) else SSticker.mode_result = "cult loss - staff stopped the cult" - to_chat(world, "The staff managed to stop the cult!") + to_chat(world, SPAN_WARNING("The staff managed to stop the cult!")) ..() diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 6dbf2fbed2a..37eac1d637f 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -32,7 +32,7 @@ /obj/structure/cult/functional max_integrity = 100 var/cooldowntime = 0 - var/death_message = "The structure falls apart." //The message shown when the structure is destroyed + var/death_message = SPAN_DANGER("The structure falls apart.") //The message shown when the structure is destroyed var/death_sound = 'sound/items/bikehorn.ogg' var/heathen_message = "You're a huge nerd, go away. Also, a coder forgot to put a message here." var/selection_title = "Oops" @@ -49,15 +49,15 @@ /obj/structure/cult/functional/examine(mob/user) . = ..() if(IS_CULTIST(user) && cooldowntime > world.time) - . += "The magic in [src] is weak, it will be ready to use again in [get_ETA()]." - . += "[src] is [anchored ? "":"not "]secured to the floor." + . += SPAN_CULTITALIC("The magic in [src] is weak, it will be ready to use again in [get_ETA()].") + . += SPAN_NOTICE("[src] is [anchored ? "":"not "]secured to the floor.") /obj/structure/cult/functional/item_interaction(mob/living/user, obj/item/I, list/modifiers) if(istype(I, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user)) if(user.holy_check()) return ITEM_INTERACT_COMPLETE anchored = !anchored - to_chat(user, "You [anchored ? "":"un"]secure [src] [anchored ? "to":"from"] the floor.") + to_chat(user, SPAN_NOTICE("You [anchored ? "":"un"]secure [src] [anchored ? "to":"from"] the floor.")) if(!anchored) icon_state = GET_CULT_DATA(get_icon("[initial(icon_state)]_off"), "[initial(icon_state)]_off") else @@ -71,16 +71,16 @@ to_chat(user, "[heathen_message]") return if(invisibility) - to_chat(user, "The magic in [src] is being suppressed, reveal the structure first!") + to_chat(user, SPAN_CULTITALIC("The magic in [src] is being suppressed, reveal the structure first!")) return if(HAS_TRAIT(user, TRAIT_HULK)) - to_chat(user, "You cannot seem to manipulate this structure with your bulky hands!") + to_chat(user, SPAN_DANGER("You cannot seem to manipulate this structure with your bulky hands!")) return if(!anchored) - to_chat(user, "You need to anchor [src] to the floor with a dagger first.") + to_chat(user, SPAN_CULTITALIC("You need to anchor [src] to the floor with a dagger first.")) return if(cooldowntime > world.time) - to_chat(user, "The magic in [src] is weak, it will be ready to use again in [get_ETA()].") + to_chat(user, SPAN_CULTITALIC("The magic in [src] is weak, it will be ready to use again in [get_ETA()].")) return @@ -119,7 +119,7 @@ /obj/structure/cult/functional/cult_conceal() density = FALSE - visible_message("[src] fades away.") + visible_message(SPAN_DANGER("[src] fades away.")) invisibility = INVISIBILITY_HIDDEN_RUNES alpha = 100 //To help ghosts distinguish hidden objs light_range = 0 @@ -129,7 +129,7 @@ /obj/structure/cult/functional/cult_reveal() density = initial(density) invisibility = 0 - visible_message("[src] suddenly appears!") + visible_message(SPAN_DANGER("[src] suddenly appears!")) alpha = initial(alpha) light_range = initial(light_range) light_power = initial(light_power) @@ -140,12 +140,12 @@ desc = "A sacrifical altar, covered in fresh blood. The runes covering its sides glow with barely-restrained power." icon_state = "altar" max_integrity = 150 //Sturdy - death_message = "The altar breaks into splinters, releasing a cascade of spirits into the air!" + death_message = SPAN_DANGER("The altar breaks into splinters, releasing a cascade of spirits into the air!") death_sound = 'sound/effects/altar_break.ogg' - heathen_message = "There is a foreboding aura to the altar and you want nothing to do with it." + heathen_message = SPAN_WARNING("There is a foreboding aura to the altar and you want nothing to do with it.") selection_prompt = "You study the rituals on the altar..." selection_title = "Altar" - creation_message = "You kneel before the altar and your faith is rewarded with a %ITEM%!" + creation_message = SPAN_CULTITALIC("You kneel before the altar and your faith is rewarded with a %ITEM%!") choosable_items = list("Eldritch Whetstone" = /obj/item/whetstone/cult, "Flask of Unholy Water" = /obj/item/reagent_containers/drinks/bottle/unholywater, "Construct Shell" = /obj/structure/constructshell) @@ -161,12 +161,12 @@ light_range = 2 light_color = LIGHT_COLOR_LAVA max_integrity = 300 //Made of metal - death_message = "The forge falls apart, its lava cooling and winking away!" + death_message = SPAN_DANGER("The forge falls apart, its lava cooling and winking away!") death_sound = 'sound/effects/forge_destroy.ogg' - heathen_message = "Your hand feels like it's melting off as you try to touch the forge." + heathen_message = SPAN_WARNING("Your hand feels like it's melting off as you try to touch the forge.") selection_prompt = "You study the schematics etched on the forge..." selection_title = "Forge" - creation_message = "You work the forge as dark knowledge guides your hands, creating a %ITEM%!" + creation_message = SPAN_CULTITALIC("You work the forge as dark knowledge guides your hands, creating a %ITEM%!") choosable_items = list("Shielded Robe" = /obj/item/clothing/suit/hooded/cultrobes/cult_shield, "Flagellant's Robe" = /obj/item/clothing/suit/hooded/cultrobes/flagellant_robe) /obj/structure/cult/functional/forge/get_choosable_items() @@ -187,19 +187,19 @@ if(!iscarbon(G.affecting)) return ITEM_INTERACT_COMPLETE if(G.affecting == LAVA_PROOF) - to_chat(user, "[G.affecting] is immune to lava!") + to_chat(user, SPAN_WARNING("[G.affecting] is immune to lava!")) return ITEM_INTERACT_COMPLETE if(G.affecting.stat == DEAD) - to_chat(user, "[G.affecting] is dead!") + to_chat(user, SPAN_WARNING("[G.affecting] is dead!")) return ITEM_INTERACT_COMPLETE var/mob/living/carbon/human/C = G.affecting var/obj/item/organ/external/head/head = C.get_organ("head") if(!head) - to_chat(user, "[C] has no head!") + to_chat(user, SPAN_WARNING("[C] has no head!")) return ITEM_INTERACT_COMPLETE - C.visible_message("[user] dunks [C]'s face into [src]'s lava!", - "[user] dunks your face into [src]'s lava!") + C.visible_message(SPAN_DANGER("[user] dunks [C]'s face into [src]'s lava!"), + SPAN_USERDANGER("[user] dunks your face into [src]'s lava!")) C.emote("scream") C.apply_damage(30, BURN, "head") // 30 fire damage because it's FUCKING LAVA head.disfigure() // Your face is unrecognizable because it's FUCKING LAVA @@ -227,7 +227,7 @@ GLOBAL_LIST_INIT(blacklisted_pylon_turfs, typecacheof(list( light_range = 1.5 light_color = LIGHT_COLOR_RED max_integrity = 50 //Very fragile - death_message = "The pylon's crystal vibrates and glows fiercely before violently shattering!" + death_message = SPAN_DANGER("The pylon's crystal vibrates and glows fiercely before violently shattering!") death_sound = 'sound/effects/pylon_shatter.ogg' var/heal_delay = 30 @@ -322,12 +322,12 @@ GLOBAL_LIST_INIT(blacklisted_pylon_turfs, typecacheof(list( light_range = 1.5 light_color = LIGHT_COLOR_FIRE max_integrity = 125 //Slightly sturdy - death_message = "The desk breaks apart, its books falling to the floor." + death_message = SPAN_DANGER("The desk breaks apart, its books falling to the floor.") death_sound = 'sound/effects/wood_break.ogg' - heathen_message = "What do you hope to seek?" + heathen_message = SPAN_CULTLARGE("What do you hope to seek?") selection_prompt = "You flip through the black pages of the archives..." selection_title = "Archives" - creation_message = "You invoke the dark magic of the tomes creating a %ITEM%!" + creation_message = SPAN_CULTITALIC("You invoke the dark magic of the tomes creating a %ITEM%!") choosable_items = list("Shuttle Curse" = /obj/item/shuttle_curse, "Zealot's Blindfold" = /obj/item/clothing/glasses/hud/health/night/cultblind, "Veil Shifter" = /obj/item/cult_shift, "Reality sunderer" = /obj/item/portal_amulet, "Blank Tarot Card" = /obj/item/blank_tarot_card) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index c7d6889c393..ab8ce004dff 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -26,9 +26,9 @@ /obj/item/melee/cultblade/dagger/examine(mob/user) . = ..() if(IS_CULTIST(user) || user.stat == DEAD) - . += "A dagger gifted by [GET_CULT_DATA(entity_title3, "your god")]. Allows the scribing of runes and access to the knowledge archives of the cult of [GET_CULT_DATA(entity_name, "your god")]." - . += "Striking another cultist with it will purge holy water from them." - . += "Striking a noncultist will tear their flesh, additionally, if you recently downed them with cult magic it will stun them completely." + . += SPAN_CULT("A dagger gifted by [GET_CULT_DATA(entity_title3, "your god")]. Allows the scribing of runes and access to the knowledge archives of the cult of [GET_CULT_DATA(entity_name, "your god")].") + . += SPAN_CULTITALIC("Striking another cultist with it will purge holy water from them.") + . += SPAN_CULTITALIC("Striking a noncultist will tear their flesh, additionally, if you recently downed them with cult magic it will stun them completely.") /obj/item/melee/cultblade/dagger/pre_attack(atom/target, mob/living/user, params) if(..()) @@ -37,11 +37,11 @@ if(IS_CULTIST(target)) if(target.reagents && target.reagents.has_reagent("holywater")) //allows cultists to be rescued from the clutches of ordained religion if(target == user) // Targeting yourself - to_chat(user, "You can't remove holy water from yourself!") + to_chat(user, SPAN_WARNING("You can't remove holy water from yourself!")) else // Targeting someone else - to_chat(user, "You remove the taint from [target].") - to_chat(target, "[user] removes the taint from your body.") + to_chat(user, SPAN_CULT("You remove the taint from [target].")) + to_chat(target, SPAN_CULT("[user] removes the taint from your body.")) target.reagents.del_reagent("holywater") add_attack_logs(user, target, "Hit with [src], removing the holy water from them") @@ -54,31 +54,31 @@ if(IS_CULTIST(user)) scribe_rune(user) else - to_chat(user, "[src] is covered in unintelligible shapes and markings.") + to_chat(user, SPAN_WARNING("[src] is covered in unintelligible shapes and markings.")) /obj/item/melee/cultblade/dagger/proc/narsie_rune_check(mob/living/user, area/A) var/datum/game_mode/gamemode = SSticker.mode if(gamemode.cult_team.cult_status < NARSIE_NEEDS_SUMMONING) - to_chat(user, "[GET_CULT_DATA(entity_name, "Your god")] is not ready to be summoned yet!") + to_chat(user, SPAN_CULTITALIC("[GET_CULT_DATA(entity_name, "Your god")] is not ready to be summoned yet!")) return FALSE if(gamemode.cult_team.cult_status == NARSIE_HAS_RISEN) - to_chat(user, "\"I am already here. There is no need to try to summon me now.\"") + to_chat(user, SPAN_CULTLARGE("\"I am already here. There is no need to try to summon me now.\"")) return FALSE var/list/summon_areas = gamemode.cult_team.obj_summon.summon_spots if(!(A in summon_areas)) - to_chat(user, "[GET_CULT_DATA(entity_name, "Your god")] can only be summoned where the veil is weak - in [english_list(summon_areas)]!") + to_chat(user, SPAN_CULTLARGE("[GET_CULT_DATA(entity_name, "Your god")] can only be summoned where the veil is weak - in [english_list(summon_areas)]!")) return FALSE var/confirm_final = tgui_alert(user, "This is the FINAL step to summon your deities power, it is a long, painful ritual and the crew will be alerted to your presence AND your location!", "Are you prepared for the final battle?", list("My life for [GET_CULT_DATA(entity_name, "the cult")]!", "No")) if(user) if(confirm_final == "No" || confirm_final == null) - to_chat(user, "You decide to prepare further before scribing the rune.") + to_chat(user, SPAN_CULTITALIC("You decide to prepare further before scribing the rune.")) return FALSE else if(locate(/obj/effect/rune) in range(1, user)) - to_chat(user, "You need a space cleared of runes before you can summon [GET_CULT_DATA(entity_title1, "your god")]!") + to_chat(user, SPAN_CULTLARGE("You need a space cleared of runes before you can summon [GET_CULT_DATA(entity_title1, "your god")]!")) return FALSE else return TRUE @@ -87,14 +87,14 @@ if(!src || !user || loc != user || user.incapacitated()) return FALSE if(drawing_rune) - to_chat(user, "You're already drawing a rune!") + to_chat(user, SPAN_WARNING("You're already drawing a rune!")) return FALSE var/turf/T = get_turf(user) if(isspaceturf(T)) return FALSE if((locate(/obj/effect/rune) in T) || (locate(/obj/effect/rune/narsie) in range(1, T))) - to_chat(user, "There's already a rune here!") + to_chat(user, SPAN_WARNING("There's already a rune here!")) return FALSE return TRUE @@ -137,12 +137,12 @@ var/datum/game_mode/gamemode = SSticker.mode if(ispath(rune, /obj/effect/rune/summon)) if(!is_station_level(runeturf.z) || isspacearea(A)) - to_chat(user, "The veil is not weak enough here to summon a cultist, you must be on station!") + to_chat(user, SPAN_CULTITALIC("The veil is not weak enough here to summon a cultist, you must be on station!")) return if(ispath(rune, /obj/effect/rune/teleport)) if(!is_level_reachable(user.z)) - to_chat(user, "You are too far away from the station to teleport!") + to_chat(user, SPAN_CULTITALIC("You are too far away from the station to teleport!")) return var/old_color = user.color // we'll temporarily redden the user for better feedback to fellow cultists. Store this to revert them back. @@ -151,7 +151,7 @@ return // don't do shit var/list/summon_areas = gamemode.cult_team.obj_summon.summon_spots if(!(A in summon_areas)) // Check again to make sure they didn't move - to_chat(user, "The ritual can only begin where the veil is weak - in [english_list(summon_areas)]!") + to_chat(user, SPAN_CULTLARGE("The ritual can only begin where the veil is weak - in [english_list(summon_areas)]!")) return GLOB.major_announcement.Announce("Figments from an eldritch god are being summoned into the [A.map_name] from an unknown dimension. Disrupt the ritual at all costs, before the station is destroyed! Space Law and SOP are suspended. The entire crew must kill cultists on sight.", "Central Command Higher Dimensional Affairs", 'sound/AI/cult_summon.ogg') for(var/I in spiral_range_turfs(1, user, 1)) @@ -165,11 +165,11 @@ H.cult_self_harm(initial(rune.scribe_damage)) var/others_message if(!narsie_rune) - others_message = "[user] cuts [user.p_their()] body and begins writing in [user.p_their()] own blood!" + others_message = SPAN_WARNING("[user] cuts [user.p_their()] body and begins writing in [user.p_their()] own blood!") else - others_message = "[user] cuts [user.p_their()] body and begins writing something particularly ominous in [user.p_their()] own blood!" + others_message = SPAN_BIGGERDANGER("[user] cuts [user.p_their()] body and begins writing something particularly ominous in [user.p_their()] own blood!") user.visible_message(others_message, - "You slice open your body and begin drawing a sigil of [GET_CULT_DATA(entity_title3, "your god")].") + SPAN_CULTITALIC("You slice open your body and begin drawing a sigil of [GET_CULT_DATA(entity_title3, "your god")].")) drawing_rune = TRUE // Only one at a time var/scribe_successful = do_after(user, initial(rune.scribe_delay) * scribe_multiplier, target = runeturf) @@ -182,8 +182,8 @@ if(!scribe_successful) return - user.visible_message("[user] creates a strange circle in [user.p_their()] own blood.", - "You finish drawing the arcane markings of [GET_CULT_DATA(entity_title3, "your god")].") + user.visible_message(SPAN_WARNING("[user] creates a strange circle in [user.p_their()] own blood."), + SPAN_CULTITALIC("You finish drawing the arcane markings of [GET_CULT_DATA(entity_title3, "your god")].")) var/obj/effect/rune/R = new rune(runeturf, keyword) if(narsie_rune) @@ -195,7 +195,7 @@ R.add_hiddenprint(H) R.color = H.dna.species.blood_color R.rune_blood_color = H.dna.species.blood_color - to_chat(user, "The [lowertext(initial(rune.cultist_name))] rune [initial(rune.cultist_desc)]") + to_chat(user, SPAN_CULT("The [lowertext(initial(rune.cultist_name))] rune [initial(rune.cultist_desc)]")) #undef CULT_ELDERGOD #undef CULT_SLAUGHTER diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index bf47d085774..67ef308492e 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -72,7 +72,7 @@ To draw a rune, use a ritual dagger. . += "Effects: [capitalize(cultist_desc)]" . += "Required Acolytes: [req_cultists]" if(req_keyword && keyword) - . += "Keyword: [keyword]" + . += "Keyword: [SPAN_CULTITALIC("[keyword]")]" /obj/effect/rune/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user)) @@ -80,9 +80,9 @@ To draw a rune, use a ritual dagger. return ITEM_INTERACT_COMPLETE var/obj/item/melee/cultblade/dagger/dagger = used - user.visible_message("[user] begins to erase [src] with [dagger].") + user.visible_message(SPAN_WARNING("[user] begins to erase [src] with [dagger].")) if(do_after(user, initial(scribe_delay) * dagger.scribe_multiplier, target = src)) - to_chat(user, "You carefully erase the [lowertext(cultist_name)] rune.") + to_chat(user, SPAN_NOTICE("You carefully erase the [lowertext(cultist_name)] rune.")) qdel(src) return ITEM_INTERACT_COMPLETE @@ -90,10 +90,10 @@ To draw a rune, use a ritual dagger. var/obj/item/nullrod/nullrod = used if(IS_CULTIST(user)) // cultist..what are doing..cultist..staph... user.drop_item() - user.visible_message("[nullrod] suddenly glows with a white light, forcing [user] to drop it in pain!", \ - "[nullrod] suddenly glows with a white light that sears your hand, forcing you to drop it!") // TODO: Make this actually burn your hand + user.visible_message(SPAN_WARNING("[nullrod] suddenly glows with a white light, forcing [user] to drop it in pain!"), \ + SPAN_DANGER("[nullrod] suddenly glows with a white light that sears your hand, forcing you to drop it!")) // TODO: Make this actually burn your hand return ITEM_INTERACT_COMPLETE - to_chat(user,"You disrupt the magic of [src] with [nullrod].") + to_chat(user,SPAN_DANGER("You disrupt the magic of [src] with [nullrod].")) qdel(src) return ITEM_INTERACT_COMPLETE @@ -103,7 +103,7 @@ To draw a rune, use a ritual dagger. /obj/effect/rune/attack_hand(mob/living/user) user.Move_Pulled(src) // So that you can still drag things onto runes if(!IS_CULTIST(user)) - to_chat(user, "You aren't able to understand the words of [src].") + to_chat(user, SPAN_WARNING("You aren't able to understand the words of [src].")) return var/list/invokers = can_invoke(user) if(length(invokers) >= req_cultists) @@ -116,16 +116,16 @@ To draw a rune, use a ritual dagger. if(construct_invoke || !IS_CULTIST(M)) //if you're not a cult construct we want the normal fail message attack_hand(M) else - to_chat(M, "You are unable to invoke the rune!") + to_chat(M, SPAN_WARNING("You are unable to invoke the rune!")) /obj/effect/rune/cult_conceal() //for concealing spell - visible_message("[src] fades away.") + visible_message(SPAN_DANGER("[src] fades away.")) invisibility = INVISIBILITY_HIDDEN_RUNES alpha = 100 //To help ghosts distinguish hidden runes /obj/effect/rune/cult_reveal() //for revealing spell invisibility = initial(invisibility) - visible_message("[src] suddenly appears!") + visible_message(SPAN_DANGER("[src] suddenly appears!")) alpha = initial(alpha) /obj/effect/rune/is_cleanable() @@ -198,7 +198,7 @@ structure_check() searches for nearby cultist structures required for the invoca L.changeNext_move(CLICK_CD_MELEE)//THIS IS WHY WE CAN'T HAVE NICE THINGS if(invoke_damage) L.apply_damage(invoke_damage, BRUTE) - to_chat(L, "[src] saps your strength!") + to_chat(L, SPAN_CULTITALIC("[src] saps your strength!")) do_invoke_glow() SSblackbox.record_feedback("nested tally", "runes_invoked", 1, list("[initial(cultist_name)]", "[length(SSticker.mode.cult_team.members)]")) // the name of the rune, and the number of cultists in the cult when it was invoked if(ghost_invokers) @@ -230,7 +230,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/proc/fail_invoke(show_message = TRUE) //This proc contains the effects of a rune if it is not invoked correctly, through either invalid wording or not enough cultists. By default, it's just a basic fizzle. if(!invisibility && show_message) // No visible messages if not visible - visible_message("The markings pulse with a small flash of red light, then fall dark.") + visible_message(SPAN_WARNING("The markings pulse with a small flash of red light, then fall dark.")) animate(src, color = rgb(255, 0, 0), time = 0) animate(src, color = rune_blood_color, time = 5) @@ -245,7 +245,7 @@ structure_check() searches for nearby cultist structures required for the invoca ..() for(var/M in invokers) var/mob/living/L = M - to_chat(L, "You feel your life force draining. [GET_CULT_DATA(entity_title3, "Your god")] is displeased.") + to_chat(L, SPAN_CULTITALIC("You feel your life force draining. [GET_CULT_DATA(entity_title3, "Your god")] is displeased.")) qdel(src) /mob/proc/null_rod_check() //The null rod, if equipped, will protect the holder from the effects of most runes @@ -300,7 +300,7 @@ structure_check() searches for nearby cultist structures required for the invoca if(HAS_TRAIT(L, TRAIT_CULT_IMMUNITY)) fail_invoke(FALSE) for(var/I in invokers) - to_chat(I, "This sacrifice was already converted recently. Wait a minute before trying again!") + to_chat(I, SPAN_WARNING("This sacrifice was already converted recently. Wait a minute before trying again!")) rune_in_use = FALSE return @@ -317,11 +317,11 @@ structure_check() searches for nearby cultist structures required for the invoca if(length(invokers) < 2) fail_invoke() for(var/I in invokers) - to_chat(I, "You need at least two invokers to convert!") + to_chat(I, SPAN_WARNING("You need at least two invokers to convert!")) return - convertee.visible_message("[convertee] writhes in pain as the markings below them glow a bloody red!", \ - "AAAAAAAAAAAAAA-") + convertee.visible_message(SPAN_WARNING("[convertee] writhes in pain as the markings below them glow a bloody red!"), \ + SPAN_CULTLARGE("AAAAAAAAAAAAAA-")) convertee.mind.add_antag_datum(/datum/antagonist/cultist) to_chat(convertee, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \ and something evil takes root.") @@ -337,11 +337,11 @@ structure_check() searches for nearby cultist structures required for the invoca H.adjustBruteLoss(-(brutedamage * 0.9), robotic = TRUE) H.adjustFireLoss(-(burndamage * 0.9), robotic = TRUE) if(ismachineperson(H)) - H.visible_message("A dark force repairs [convertee]!", - "Your damage has been repaired. Now spread the blood to others.") + H.visible_message(SPAN_WARNING("A dark force repairs [convertee]!"), + SPAN_CULTITALIC("Your damage has been repaired. Now spread the blood to others.")) else - H.visible_message("[convertee]'s wounds heal and close!", - "Your wounds have been healed. Now spread the blood to others.") + H.visible_message(SPAN_WARNING("[convertee]'s wounds heal and close!"), + SPAN_CULTITALIC("Your wounds have been healed. Now spread the blood to others.")) for(var/obj/item/organ/external/E in H.bodyparts) E.mend_fracture() E.fix_internal_bleeding() @@ -356,9 +356,9 @@ structure_check() searches for nearby cultist structures required for the invoca var/obj/item/melee/cultblade/dagger/D = new(get_turf(src)) if(H.equip_to_slot_if_possible(D, ITEM_SLOT_IN_BACKPACK, FALSE, TRUE)) - to_chat(H, "You have a dagger in your backpack. Use it to do [GET_CULT_DATA(entity_title1, "your god")]'s bidding.") + to_chat(H, SPAN_CULTLARGE("You have a dagger in your backpack. Use it to do [GET_CULT_DATA(entity_title1, "your god")]'s bidding.")) else - to_chat(H, "There is a dagger on the floor. Use it to do [GET_CULT_DATA(entity_title1, "your god")]'s bidding.") + to_chat(H, SPAN_CULTLARGE("There is a dagger on the floor. Use it to do [GET_CULT_DATA(entity_title1, "your god")]'s bidding.")) /obj/effect/rune/convert/proc/do_sacrifice(mob/living/offering, list/invokers) var/mob/living/user = invokers[1] //the first invoker is always the user @@ -366,7 +366,7 @@ structure_check() searches for nearby cultist structures required for the invoca if(offering.stat != DEAD || (offering.mind && IS_SACRIFICE_TARGET(offering.mind))) //Requires three people to sacrifice living targets/sacrifice objective if(length(invokers) < 3) for(var/M in invokers) - to_chat(M, "[offering] is too greatly linked to the world! You need three acolytes!") + to_chat(M, SPAN_CULTITALIC("[offering] is too greatly linked to the world! You need three acolytes!")) fail_invoke() log_game("Sacrifice rune failed - not enough acolytes and target is living") return @@ -392,18 +392,18 @@ structure_check() searches for nearby cultist structures required for the invoca new /obj/effect/temp_visual/cult/sac(loc) for(var/M in invokers) if(sacrifice_fulfilled) - to_chat(M, "\"Yes! This is the one I desire! You have done well.\"") + to_chat(M, SPAN_CULTLARGE("\"Yes! This is the one I desire! You have done well.\"")) if(!SSticker.mode.cult_team.mirror_shields_active) // Only show once - to_chat(M, "You are now able to construct mirror shields inside the daemon forge.") + to_chat(M, SPAN_CULTITALIC("You are now able to construct mirror shields inside the daemon forge.")) SSticker.mode.cult_team.mirror_shields_active = TRUE else if((ishuman(offering) && offering.mind?.offstation_role && offering.mind.special_role != SPECIAL_ROLE_ERT) || HAS_MIND_TRAIT(offering, TRAIT_XENOBIO_SPAWNED_HUMAN)) //If you try it on a ghost role, or an envolved caterpillar/nymph, you get nothing - to_chat(M, "\"This soul is of no use to either of us.\"") + to_chat(M, SPAN_CULTLARGE("\"This soul is of no use to either of us.\"")) worthless = TRUE else if(ishuman(offering) || isrobot(offering)) - to_chat(M, "\"I accept this sacrifice.\"") + to_chat(M, SPAN_CULTLARGE("\"I accept this sacrifice.\"")) else - to_chat(M, "\"I accept this meager sacrifice.\"") + to_chat(M, SPAN_CULTLARGE("\"I accept this meager sacrifice.\"")) playsound(offering, 'sound/misc/demon_consume.ogg', 100, TRUE, SOUND_RANGE_SET(10)) if(((ishuman(offering) || isrobot(offering) || isbrain(offering)) && offering.mind) && !worthless) @@ -413,7 +413,7 @@ structure_check() searches for nearby cultist structures required for the invoca stone.invisibility = 0 var/put_in_hands = user.put_in_any_hand_if_possible(stone) if(put_in_hands) - to_chat(user, "A glowing crimson shard appears in your hand - your new ally contained within.") + to_chat(user, SPAN_CULTITALIC("A glowing crimson shard appears in your hand - your new ally contained within.")) else if(isrobot(offering)) offering.dust() //To prevent the MMI from remaining @@ -451,7 +451,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/teleport/can_dagger_erase_rune(mob/user) // Can't erase telerunes if they have a portal open if(inner_portal || outer_portal) - to_chat(user, "The portal needs to close first!") + to_chat(user, SPAN_WARNING("The portal needs to close first!")) return FALSE return TRUE @@ -474,13 +474,13 @@ structure_check() searches for nearby cultist structures required for the invoca potential_runes[resultkey] = R if(!length(potential_runes)) - to_chat(user, "There are no valid runes to teleport to!") + to_chat(user, SPAN_WARNING("There are no valid runes to teleport to!")) log_game("Teleport rune failed - no other teleport runes") fail_invoke() return if(!is_level_reachable(user.z)) - to_chat(user, "You are too far away from the station to teleport!") + to_chat(user, SPAN_CULTITALIC("You are too far away from the station to teleport!")) log_game("Teleport rune failed - user in away mission") fail_invoke() return @@ -519,8 +519,8 @@ structure_check() searches for nearby cultist structures required for the invoca actual_selected_rune.handle_portal("lava") else if(!is_station_level(z) || isspacearea(get_area(src))) actual_selected_rune.handle_portal("space", T) - user.visible_message("There is a sharp crack of inrushing air, and everything above the rune disappears!", - "You[moveuser ? "r vision blurs, and you suddenly appear somewhere else":" send everything above the rune away"].") + user.visible_message(SPAN_WARNING("There is a sharp crack of inrushing air, and everything above the rune disappears!"), + SPAN_CULT("You[moveuser ? "r vision blurs, and you suddenly appear somewhere else":" send everything above the rune away"].")) if(moveuser) user.forceMove(target) else @@ -535,19 +535,19 @@ structure_check() searches for nearby cultist structures required for the invoca if(portal_type == "space") light_color = color - desc += "
A tear in reality reveals a black void interspersed with dots of light... something recently teleported here from space.
" + desc += "
[SPAN_BOLDWARNING("A tear in reality reveals a black void interspersed with dots of light... something recently teleported here from space.")]
" // Space base near the station if(is_station_level(origin.z)) - desc += "The void feels like it's trying to pull you to the [dir2text(get_dir(T, origin))], near the station!" + desc += "[SPAN_WARNING("The void feels like it's trying to pull you to the [dir2text(get_dir(T, origin))], near the station!")]" // Space base on another Z-level else - desc += "The void feels like it's trying to pull you to the [dir2text(get_dir(T, origin))], in the direction of space sector [origin.z]!" + desc += "[SPAN_WARNING("The void feels like it's trying to pull you to the [dir2text(get_dir(T, origin))], in the direction of space sector [origin.z]!")]" else inner_portal.icon_state = "lava" light_color = LIGHT_COLOR_FIRE - desc += "
A tear in reality reveals a coursing river of lava... something recently teleported here from the Lavaland Mines!" + desc += "
[SPAN_BOLDWARNING("A tear in reality reveals a coursing river of lava... something recently teleported here from the Lavaland Mines!")]" outer_portal = new(T, 60 SECONDS, color) light_range = 4 @@ -588,13 +588,13 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/raise_dead/examine(mob/user) . = ..() if(IS_CULTIST(user) || user.stat == DEAD) - . += "Sacrifices unrewarded: [length(GLOB.sacrificed) - sacrifices_used]" - . += "Sacrifice cost per ressurection: [SOULS_TO_REVIVE]" + . += "Sacrifices unrewarded:[SPAN_CULTITALIC(" [length(GLOB.sacrificed) - sacrifices_used]")]" + . += "Sacrifice cost per ressurection:[SPAN_CULTITALIC(" [SOULS_TO_REVIVE]")]" /obj/effect/rune/raise_dead/proc/revive_alive(mob/living/target) - target.visible_message("Dark magic begins to surround [target], regenerating their body.") + target.visible_message(SPAN_WARNING("Dark magic begins to surround [target], regenerating their body.")) if(!do_after(target, 10 SECONDS, FALSE, target, allow_moving = FALSE, progress = TRUE)) - target.visible_message("Dark magic silently disappears.") + target.visible_message(SPAN_WARNING("Dark magic silently disappears.")) return FALSE target.revive() return TRUE @@ -616,7 +616,7 @@ structure_check() searches for nearby cultist structures required for the invoca var/diff = length(GLOB.sacrificed) - SOULS_TO_REVIVE - sacrifices_used var/revived_from_dead = FALSE if(diff < 0) - to_chat(user, "Your cult must carry out [abs(diff)] more sacrifice\s before it can revive another cultist!") + to_chat(user, SPAN_CULT("Your cult must carry out [abs(diff)] more sacrifice\s before it can revive another cultist!")) fail_invoke() return for(var/mob/living/M in T.contents) @@ -624,7 +624,7 @@ structure_check() searches for nearby cultist structures required for the invoca continue potential_revive_mobs |= M if(!length(potential_revive_mobs)) - to_chat(user, "There are no cultists on the rune!") + to_chat(user, SPAN_CULTITALIC("There are no cultists on the rune!")) log_game("Raise Dead rune failed - no cultists to revive") fail_invoke() return @@ -637,7 +637,7 @@ structure_check() searches for nearby cultist structures required for the invoca return if(mob_to_revive.stat != DEAD && length(invokers) < 2) - to_chat(user, "You need at least two cultists to heal cultist!") + to_chat(user, SPAN_CULTITALIC("You need at least two cultists to heal cultist!")) log_game("Raise Dead rune failed - not enough cultists to heal alive") fail_invoke() return @@ -656,11 +656,11 @@ structure_check() searches for nearby cultist structures required for the invoca if(!mob_to_revive.get_ghost() && (!mob_to_revive.client || mob_to_revive.client.is_afk())) set waitfor = FALSE - to_chat(user, "[mob_to_revive] was revived, but their mind is lost! Seeking a lost soul to replace it.") + to_chat(user, SPAN_CULT("[mob_to_revive] was revived, but their mind is lost! Seeking a lost soul to replace it.")) var/list/mob/dead/observer/candidates = SSghost_spawns.poll_candidates("Would you like to play as a revived Cultist?", ROLE_CULTIST, TRUE, poll_time = 20 SECONDS, source = /obj/item/melee/cultblade/dagger) if(length(candidates) && !QDELETED(mob_to_revive)) var/mob/dead/observer/C = pick(candidates) - to_chat(mob_to_revive, "Your physical form has been taken over by another soul due to your inactivity! Ahelp if you wish to regain your form.") + to_chat(mob_to_revive, SPAN_BIGGERDANGER("Your physical form has been taken over by another soul due to your inactivity! Ahelp if you wish to regain your form.")) message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(mob_to_revive)]) to replace an AFK player.") mob_to_revive.ghostize(GHOST_FLAGS_NO_REENTER) mob_to_revive.key = C.key @@ -669,14 +669,14 @@ structure_check() searches for nearby cultist structures required for the invoca fail_invoke() return if(!revived_from_dead) - mob_to_revive.visible_message("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes.", \ - "All your injuries are now gone!") + mob_to_revive.visible_message(SPAN_WARNING("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes."), \ + SPAN_CULTLARGE("All your injuries are now gone!")) rune_in_use = FALSE return SEND_SOUND(mob_to_revive, sound('sound/ambience/antag/bloodcult.ogg')) - to_chat(mob_to_revive, "\"PASNAR SAVRAE YAM'TOTH. Arise.\"") - mob_to_revive.visible_message("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes.", \ - "You awaken suddenly from the void. You're alive!") + to_chat(mob_to_revive, SPAN_CULTLARGE("\"PASNAR SAVRAE YAM'TOTH. Arise.\"")) + mob_to_revive.visible_message(SPAN_WARNING("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes."), \ + SPAN_CULTLARGE("You awaken suddenly from the void. You're alive!")) rune_in_use = FALSE /obj/effect/rune/raise_dead/proc/validness_checks(mob/living/target_mob, mob/living/user) @@ -690,7 +690,7 @@ structure_check() searches for nearby cultist structures required for the invoca return FALSE var/turf/T = get_turf(src) if(target_mob.loc != T) - to_chat(user, "The cultist to revive has been moved!") + to_chat(user, SPAN_CULTITALIC("The cultist to revive has been moved!")) log_game("Raise Dead rune failed - revival target moved") return FALSE return TRUE @@ -700,7 +700,7 @@ structure_check() searches for nearby cultist structures required for the invoca rune_in_use = FALSE for(var/mob/living/M in range(0, src)) if(IS_CULTIST(M) && M.stat == DEAD) - M.visible_message("[M] twitches.") + M.visible_message(SPAN_WARNING("[M] twitches.")) //Rite of the Corporeal Shield: When invoked, becomes solid and cannot be passed. Invoke again to undo. /obj/effect/rune/wall @@ -759,37 +759,37 @@ structure_check() searches for nearby cultist structures required for the invoca log_game("Summon Cultist rune failed - no target") return if(cultist_to_summon.stat == DEAD) - to_chat(user, "[cultist_to_summon] has died!") + to_chat(user, SPAN_CULTITALIC("[cultist_to_summon] has died!")) fail_invoke() log_game("Summon Cultist rune failed - target died") return if(cultist_to_summon.pulledby || cultist_to_summon.buckled) - to_chat(user, "[cultist_to_summon] is being held in place!") + to_chat(user, SPAN_CULTITALIC("[cultist_to_summon] is being held in place!")) to_chat(cultist_to_summon, "You feel a tugging sensation, but you are being held in place!") fail_invoke() log_game("Summon Cultist rune failed - target restrained") return if(!IS_CULTIST(cultist_to_summon)) - to_chat(user, "[cultist_to_summon] is not a follower of [GET_CULT_DATA(entity_title3, "our god")]!") + to_chat(user, SPAN_CULTITALIC("[cultist_to_summon] is not a follower of [GET_CULT_DATA(entity_title3, "our god")]!")) fail_invoke() log_game("Summon Cultist rune failed - target was deconverted") return if(is_away_level(cultist_to_summon.z)) - to_chat(user, "[cultist_to_summon] is not in our dimension!") + to_chat(user, SPAN_CULTITALIC("[cultist_to_summon] is not in our dimension!")) fail_invoke() log_game("Summon Cultist rune failed - target in away mission") return if(SEND_SIGNAL(cultist_to_summon, COMSIG_MOVABLE_TELEPORTING, get_turf(src)) & COMPONENT_BLOCK_TELEPORT) - to_chat(user, "[cultist_to_summon] is anchored in bluespace!") + to_chat(user, SPAN_CULTITALIC("[cultist_to_summon] is anchored in bluespace!")) fail_invoke() log_game("Summon Cultist rune failed - anchored in bluespace") return - cultist_to_summon.visible_message("[cultist_to_summon] suddenly disappears in a flash of red light!", \ - "Overwhelming vertigo consumes you as you are hurled through the air!") + cultist_to_summon.visible_message(SPAN_WARNING("[cultist_to_summon] suddenly disappears in a flash of red light!"), \ + SPAN_CULTITALIC("Overwhelming vertigo consumes you as you are hurled through the air!")) ..() INVOKE_ASYNC(src, PROC_REF(teleport_effect), cultist_to_summon, get_turf(cultist_to_summon), get_turf(src)) - visible_message("[src] begins to bubble and rises into the form of [cultist_to_summon]!") + visible_message(SPAN_WARNING("[src] begins to bubble and rises into the form of [cultist_to_summon]!")) cultist_to_summon.forceMove(get_turf(src)) qdel(src) @@ -825,21 +825,21 @@ structure_check() searches for nearby cultist structures required for the invoca var/atom/I = L.null_rod_check() if(I) if(isitem(I)) - to_chat(L, "[I] suddenly burns hotly before returning to normal!") + to_chat(L, SPAN_USERDANGER("[I] suddenly burns hotly before returning to normal!")) continue targets += L // Six seconds buildup - visible_message("A haze begins to form above [src]!") + visible_message(SPAN_WARNING("A haze begins to form above [src]!")) animate(src, color = "#FC9A6D", time = 6 SECONDS) set_light(6, 1, color) sleep(6 SECONDS) - visible_message("[src] turns a bright, burning orange!") + visible_message(SPAN_BOLDWARNING("[src] turns a bright, burning orange!")) if(!burn_check()) return for(var/I in targets) - to_chat(I, "Your blood boils in your veins!") + to_chat(I, SPAN_USERDANGER("Your blood boils in your veins!")) do_area_burn(T, 1) animate(src, color = "#FFDF80", time = 5 SECONDS) sleep(5 SECONDS) @@ -879,7 +879,7 @@ structure_check() searches for nearby cultist structures required for the invoca cultists += M if(length(cultists) < req_cultists) // Stop the rune there's not enough invokers - visible_message("[src] loses its glow and dissipates!") + visible_message(SPAN_WARNING("[src] loses its glow and dissipates!")) qdel(src) /obj/effect/rune/manifest @@ -896,8 +896,8 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/manifest/examine(mob/user) . = ..() if(IS_CULTIST(user) || user.stat == DEAD) - . += "Amount of ghosts summoned: [ghosts]" - . += "Maximum amount of ghosts: [clamp(default_ghost_limit - SSticker.mode.cult_team.sacrifices_done, minimum_ghost_limit, default_ghost_limit)]" + . += "Amount of ghosts summoned:[SPAN_CULTITALIC(" [ghosts]")]" + . += "Maximum amount of ghosts:[SPAN_CULTITALIC(" [clamp(default_ghost_limit - SSticker.mode.cult_team.sacrifices_done, minimum_ghost_limit, default_ghost_limit)]")]" . += "Lowers to a minimum of [minimum_ghost_limit] for each objective accomplished." /obj/effect/rune/manifest/invoke(list/invokers) @@ -905,12 +905,12 @@ structure_check() searches for nearby cultist structures required for the invoca var/mob/living/user = invokers[1] var/turf/T = get_turf(src) if(!(user in get_turf(src))) - to_chat(user, "You must be standing on [src]!") + to_chat(user, SPAN_CULTITALIC("You must be standing on [src]!")) fail_invoke() log_game("Manifest rune failed - user not standing on rune") return if(user.has_status_effect(STATUS_EFFECT_SUMMONEDGHOST)) - to_chat(user, "Ghosts can't summon more ghosts!") + to_chat(user, SPAN_CULTITALIC("Ghosts can't summon more ghosts!")) fail_invoke() log_game("Manifest rune failed - user is a ghost") return @@ -918,17 +918,17 @@ structure_check() searches for nearby cultist structures required for the invoca var/choice = tgui_alert(user, "You tear open a connection to the spirit realm...", "Invoke", list("Summon a Cult Ghost", "Ascend as a Dark Spirit", "Cancel")) if(choice == "Summon a Cult Ghost") if(!is_station_level(z) || isspacearea(get_area(src))) - to_chat(user, "The veil is not weak enough here to manifest spirits, you must be on station!") + to_chat(user, SPAN_CULTITALIC("The veil is not weak enough here to manifest spirits, you must be on station!")) fail_invoke() log_game("Manifest rune failed - not on station") return if(user.health <= 40) - to_chat(user, "Your body is too weak to manifest spirits, heal yourself first.") + to_chat(user, SPAN_CULTITALIC("Your body is too weak to manifest spirits, heal yourself first.")) fail_invoke() log_game("Manifest rune failed - not enough health") return list() if(ghosts >= clamp(default_ghost_limit - SSticker.mode.cult_team.sacrifices_done, minimum_ghost_limit, default_ghost_limit)) - to_chat(user, "You are sustaining too many ghosts to summon more!") + to_chat(user, SPAN_CULTITALIC("You are sustaining too many ghosts to summon more!")) fail_invoke() log_game("Manifest rune failed - too many summoned ghosts") return list() @@ -954,7 +954,7 @@ structure_check() searches for nearby cultist structures required for the invoca continue ghosts_on_rune += O if(!length(ghosts_on_rune)) - to_chat(user, "There are no spirits near [src]!") + to_chat(user, SPAN_CULTITALIC("There are no spirits near [src]!")) fail_invoke() log_game("Manifest rune failed - no nearby ghosts") return list() @@ -971,23 +971,23 @@ structure_check() searches for nearby cultist structures required for the invoca current_organ.limb_flags |= CANNOT_DISMEMBER //you can't chop of the limbs of a ghost, silly ghosts++ playsound(src, 'sound/misc/exit_blood.ogg', 50, TRUE, SOUND_RANGE_SET(10)) - user.visible_message("A cloud of red mist forms above [src], and from within steps... a [new_human.gender == FEMALE ? "wo" : ""]man.", - "Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely...") + user.visible_message(SPAN_WARNING("A cloud of red mist forms above [src], and from within steps... a [new_human.gender == FEMALE ? "wo" : ""]man."), + SPAN_CULTITALIC("Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely...")) var/obj/machinery/shield/cult/weak/shield = new(T) new_human.mind.add_antag_datum(/datum/antagonist/cultist) - to_chat(new_human, "You are a servant of [GET_CULT_DATA(entity_title3, "the cult")]. You have been made semi-corporeal by the cult of [GET_CULT_DATA(entity_name, "your god")], and you are to serve them at all costs.") + to_chat(new_human, SPAN_CULTLARGE("You are a servant of [GET_CULT_DATA(entity_title3, "the cult")]. You have been made semi-corporeal by the cult of [GET_CULT_DATA(entity_name, "your god")], and you are to serve them at all costs.")) while(!QDELETED(src) && !QDELETED(user) && !QDELETED(new_human) && (user in T)) if(new_human.InCritical()) - to_chat(user, "You feel your connection to [new_human.real_name] severs as they are destroyed.") + to_chat(user, SPAN_CULTITALIC("You feel your connection to [new_human.real_name] severs as they are destroyed.")) if(ghost) - to_chat(ghost, "You feel your connection to [new_human.real_name] severs as they are destroyed.") + to_chat(ghost, SPAN_CULTITALIC("You feel your connection to [new_human.real_name] severs as they are destroyed.")) break if(user.stat || user.health <= 40) - to_chat(user, "Your body can no longer sustain the connection, and your link to the spirit realm fades.") + to_chat(user, SPAN_CULTITALIC("Your body can no longer sustain the connection, and your link to the spirit realm fades.")) if(ghost) - to_chat(ghost, "Your body is damaged and your connection to the spirit realm weakens, any ghost you may have manifested are destroyed.") + to_chat(ghost, SPAN_CULTITALIC("Your body is damaged and your connection to the spirit realm weakens, any ghost you may have manifested are destroyed.")) break user.apply_damage(0.1, BRUTE) user.apply_damage(0.1, BURN) @@ -996,8 +996,8 @@ structure_check() searches for nearby cultist structures required for the invoca qdel(shield) ghosts-- if(new_human) - new_human.visible_message("[new_human] suddenly dissolves into bones and ashes.", - "Your link to the world fades. Your form breaks apart.") + new_human.visible_message(SPAN_WARNING("[new_human] suddenly dissolves into bones and ashes."), + SPAN_CULTLARGE("Your link to the world fades. Your form breaks apart.")) for(var/obj/item/I in new_human.get_all_slots()) new_human.drop_item_to_ground(I) new_human.mind.remove_antag_datum(/datum/antagonist/cultist, silent_removal = TRUE) @@ -1005,8 +1005,8 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/manifest/proc/ghostify(mob/living/user, turf/T) ADD_TRAIT(user, SCRYING, CULT_TRAIT) - user.visible_message("[user] freezes statue-still, glowing an unearthly red.", - "You see what lies beyond. All is revealed. In this form you find that your voice booms above all others.") + user.visible_message(SPAN_WARNING("[user] freezes statue-still, glowing an unearthly red."), + SPAN_CULT("You see what lies beyond. All is revealed. In this form you find that your voice booms above all others.")) ghost = user.ghostize(ghost_name = "Dark Spirit of [user.name]", ghost_color = RUNE_COLOR_DARKRED) var/datum/action/innate/cult/comm/spirit/CM = new var/datum/action/innate/cult/check_progress/V = new @@ -1016,15 +1016,15 @@ structure_check() searches for nearby cultist structures required for the invoca //GM.Grant(ghost) while(!QDELETED(user)) if(user.key || QDELETED(src)) - user.visible_message("[user] slowly relaxes, the glow around [user.p_them()] dimming.", - "You are re-united with your physical form. [src] releases its hold over you.") + user.visible_message(SPAN_WARNING("[user] slowly relaxes, the glow around [user.p_them()] dimming."), + SPAN_DANGER("You are re-united with your physical form. [src] releases its hold over you.")) user.Weaken(6 SECONDS) break if(user.health <= 10) - to_chat(ghost, "Your body can no longer sustain the connection!") + to_chat(ghost, SPAN_CULTITALIC("Your body can no longer sustain the connection!")) break if(!(user in T)) - user.visible_message("A spectral tendril wraps around [user] and pulls [user.p_them()] back to the rune!") + user.visible_message(SPAN_WARNING("A spectral tendril wraps around [user] and pulls [user.p_them()] back to the rune!")) Beam(user, icon_state = "drainbeam", time = 2) user.forceMove(get_turf(src)) //NO ESCAPE :^) sleep(5) @@ -1074,7 +1074,7 @@ structure_check() searches for nearby cultist structures required for the invoca return if(SSticker.mode.cult_team.cult_status == NARSIE_HAS_RISEN) for(var/M in invokers) - to_chat(M, "\"I am already here. There is no need to try to summon me now.\"") + to_chat(M, SPAN_CULTLARGE("\"I am already here. There is no need to try to summon me now.\"")) log_game("Summon god rune failed - already summoned") return @@ -1087,7 +1087,7 @@ structure_check() searches for nearby cultist structures required for the invoca for(var/mob/M in GLOB.player_list) if(!isnewplayer(M)) // exclude people in the lobby SEND_SOUND(M, sound('sound/effects/dimensional_rend.ogg')) - to_chat(M, "The veil... is... TORN!!!--") + to_chat(M, SPAN_CULTITALIC("The veil... [SPAN_BIG("is...")] [SPAN_REALLYBIG("TORN!!!--")]")) icon_state = "rune_large_distorted" var/turf/T = get_turf(src) diff --git a/code/game/gamemodes/dynamic/antag_rulesets.dm b/code/game/gamemodes/dynamic/antag_rulesets.dm index 531b27767a2..99bdebf18f1 100644 --- a/code/game/gamemodes/dynamic/antag_rulesets.dm +++ b/code/game/gamemodes/dynamic/antag_rulesets.dm @@ -328,10 +328,10 @@ /datum/ruleset/team/cult/declare_completion() if(SSticker.mode.cult_team.cult_status == NARSIE_HAS_RISEN) SSticker.mode_result = "cult win - cult win" - to_chat(world, "The cult wins! It has succeeded in summoning [GET_CULT_DATA(entity_name, "their god")]!") + to_chat(world, SPAN_DANGER("The cult wins! It has succeeded in summoning [GET_CULT_DATA(entity_name, "their god")]!")) else if(SSticker.mode.cult_team.cult_status == NARSIE_HAS_FALLEN) SSticker.mode_result = "cult draw - narsie died, nobody wins" - to_chat(world, "Nobody wins! [GET_CULT_DATA(entity_name, "the cult god")] was summoned, but banished!") + to_chat(world, SPAN_DANGER("Nobody wins! [GET_CULT_DATA(entity_name, "the cult god")] was summoned, but banished!")) else SSticker.mode_result = "cult loss - staff stopped the cult" - to_chat(world, "The staff managed to stop the cult!") + to_chat(world, SPAN_WARNING("The staff managed to stop the cult!")) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 735e3790554..e53351d309b 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -423,7 +423,7 @@ //Reports player logouts// ////////////////////////// /proc/display_roundstart_logout_report() - var/msg = "Roundstart logout report\n\n" + var/msg = "[SPAN_NOTICE("Roundstart logout report")]\n\n" for(var/mob/living/L in GLOB.mob_list) if(L.ckey) @@ -510,14 +510,14 @@ var/mob/dead/observer/theghost = null if(length(candidates)) theghost = pick(candidates) - to_chat(M, "Your mob has been taken over by a ghost! Appeal your job ban if you want to avoid this in the future!") + to_chat(M, SPAN_USERDANGER("Your mob has been taken over by a ghost! Appeal your job ban if you want to avoid this in the future!")) message_admins("[key_name_admin(theghost)] has taken control of ([key_name_admin(M)]) to replace a jobbanned player.") M.ghostize() M.key = theghost.key dust_if_respawnable(theghost) else message_admins("[M] ([M.key]) has been converted into [role_type] with an active antagonist jobban for said role since no ghost has volunteered to take [M.p_their()] place.") - to_chat(M, "You have been converted into [role_type] with an active jobban. Your body was offered up but there were no ghosts to take over. You will be allowed to continue as [role_type], but any further violations of the rules on your part are likely to result in a permanent ban.") + to_chat(M, SPAN_BIGGERDANGER("You have been converted into [role_type] with an active jobban. Your body was offered up but there were no ghosts to take over. You will be allowed to continue as [role_type], but any further violations of the rules on your part are likely to result in a permanent ban.")) /proc/printplayer(datum/mind/ply, fleecheck) var/jobtext = "" @@ -526,19 +526,19 @@ var/text = "
[ply.get_display_key()] was [ply.name][jobtext] and " if(ply.current) if(ply.current.stat == DEAD) - text += "died!" + text += SPAN_BOLD("died!") else - text += "survived" + text += SPAN_BOLD("survived") if(fleecheck) var/turf/T = get_turf(ply.current) if(!T || !is_station_level(T.z)) - text += " while fleeing the station" + text += " while [SPAN_BOLD("fleeing the station")]" if(ply.current.real_name != ply.name) text += " as [ply.current.real_name]!" else text += "!" else - text += "had [ply.p_their()] body destroyed!" + text += SPAN_BOLD("had [ply.p_their()] body destroyed!") return text /proc/printeventplayer(datum/mind/ply) @@ -548,11 +548,11 @@ text += " and " if(ply.current) if(ply.current.stat == DEAD) - text += "died!" + text += SPAN_BOLD("died!") else - text += "survived!" + text += SPAN_BOLD("survived!") else - text += "had [ply.p_their()] body destroyed!" + text += SPAN_BOLD("had [ply.p_their()] body destroyed!") return text /proc/printobjectives(datum/mind/ply) @@ -609,9 +609,9 @@ for(var/department in departments) if(departments[department]) any = TRUE - to_chat(world, "[department]: [departments[department]] completed!") + to_chat(world, "[department]: [SPAN_GREENANNOUNCE("[departments[department]] completed!")]") if(!any) - to_chat(world, "None completed!") + to_chat(world, SPAN_BOLDANNOUNCEIC("None completed!")) /datum/game_mode/proc/generate_station_trait_report() var/something_to_print = FALSE diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index 9e6758e28b5..cdf67f17098 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -68,10 +68,10 @@ /datum/spell/ai_spell/proc/adjust_uses(amt, mob/living/silicon/ai/owner, silent) uses += amt if(!silent && uses) - to_chat(owner, "[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.") + to_chat(owner, SPAN_NOTICE("[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.")) if(!uses) if(initial(uses) > 1) //no need to tell 'em if it was one-use anyway! - to_chat(owner, "[name] has run out of uses!") + to_chat(owner, SPAN_WARNING("[name] has run out of uses!")) owner.RemoveSpell(src) if(QDELETED(src) || uses) //Not sure if not having src here would cause a runtime, so it's here to be safe return @@ -82,7 +82,7 @@ var/turf/target_turf = get_turf(target) var/datum/camerachunk/C = GLOB.cameranet.get_camera_chunk(target_turf.x, target_turf.y, target_turf.z) if(!C.visible_turfs[target_turf]) - to_chat(user, "You don't have camera vision of this location!") + to_chat(user, SPAN_WARNING("You don't have camera vision of this location!")) return FALSE return TRUE @@ -90,16 +90,16 @@ /datum/spell/ai_spell/ranged name = "Ranged AI Action" auto_use_uses = FALSE //This is so we can do the thing and disable/enable freely without having to constantly add uses - selection_activated_message = "Hello World!" - selection_deactivated_message = "Goodbye Cruel World!" + selection_activated_message = SPAN_NOTICE("Hello World!") + selection_deactivated_message = SPAN_DANGER("Goodbye Cruel World!") /datum/spell/ai_spell/ranged/adjust_uses(amt, mob/living/silicon/ai/owner, silent) uses += amt if(!silent && uses) - to_chat(owner, "[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.") + to_chat(owner, SPAN_NOTICE("[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.")) if(!uses) if(initial(uses) > 1) //no need to tell 'em if it was one-use anyway! - to_chat(owner, "[name] has run out of uses!") + to_chat(owner, SPAN_WARNING("[name] has run out of uses!")) owner.mob_spell_list -= src QDEL_IN(src, 10 SECONDS) //let any active timers on us finish up @@ -130,7 +130,7 @@ . = ..() var/obj/machinery/power/apc/apc = user.loc if(!istype(apc)) // This shouldn't happen but here for safety. - to_chat(user, "You are already in your Main Core.") + to_chat(user, SPAN_NOTICE("You are already in your Main Core.")) return apc.malfvacate() qdel(src) @@ -172,7 +172,7 @@ var/mob/living/silicon/ai/A = usr if(A.stat == DEAD) - to_chat(A, "You are already dead!") + to_chat(A, SPAN_WARNING("You are already dead!")) return for(var/datum/ai_module/AM in possible_modules) @@ -225,7 +225,7 @@ var/one_purchase = FALSE //If this module can only be purchased once. This always applies to upgrades, even if the variable is set to false. var/power_type = /datum/spell/ai_spell //If the module gives an active ability, use this. Mutually exclusive with upgrade. var/upgrade //If the module gives a passive upgrade, use this. Mutually exclusive with power_type. - var/unlock_text = "Hello World!" //Text shown when an ability is unlocked + var/unlock_text = SPAN_NOTICE("Hello World!") //Text shown when an ability is unlocked var/unlock_sound //Sound played when an ability is unlocked var/uses = 0 @@ -240,7 +240,7 @@ cost = 130 one_purchase = TRUE power_type = /datum/spell/ai_spell/nuke_station - unlock_text = "You slowly, carefully, establish a connection with the on-station self-destruct. You can now activate it at any time." + unlock_text = SPAN_NOTICE("You slowly, carefully, establish a connection with the on-station self-destruct. You can now activate it at any time.") unlock_sound = 'sound/items/timer.ogg' /datum/spell/ai_spell/nuke_station @@ -253,7 +253,7 @@ /datum/spell/ai_spell/nuke_station/cast(list/targets, mob/living/silicon/ai/user) var/turf/T = get_turf(user) if(!istype(T) || !is_station_level(T.z)) - to_chat(user, "You cannot activate the doomsday device while off-station!") + to_chat(user, SPAN_WARNING("You cannot activate the doomsday device while off-station!")) return if(tgui_alert(user, "Send arming signal? (true = arm, false = cancel)", "purge_all_life()", list("confirm = TRUE;", "confirm = FALSE;")) != "confirm = TRUE;") return @@ -265,7 +265,7 @@ set_us_up_the_bomb(user) /datum/spell/ai_spell/nuke_station/proc/set_us_up_the_bomb(mob/living/silicon/ai/user) - to_chat(user, "Nuclear device armed.") + to_chat(user, SPAN_NOTICE("Nuclear device armed.")) GLOB.major_announcement.Announce("Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.", "Anomaly Alert", 'sound/AI/aimalf.ogg') SSsecurity_level.set_level(SEC_LEVEL_DELTA) user.nuking = TRUE @@ -351,7 +351,7 @@ description = "Improves the power and health of all AI turrets. This effect is permanent." cost = 30 upgrade = TRUE - unlock_text = "You establish a power diversion to your turrets, upgrading their health and damage." + unlock_text = SPAN_NOTICE("You establish a power diversion to your turrets, upgrading their health and damage.") unlock_sound = 'sound/items/rped.ogg' /datum/ai_module/upgrade_turrets/upgrade(mob/living/silicon/ai/AI) @@ -372,7 +372,7 @@ cost = 30 one_purchase = TRUE power_type = /datum/spell/ai_spell/lockdown - unlock_text = "You upload a sleeper trojan into the door control systems. You can send a signal to set it off at any time." + unlock_text = SPAN_NOTICE("You upload a sleeper trojan into the door control systems. You can send a signal to set it off at any time.") /datum/spell/ai_spell/lockdown name = "Lockdown" @@ -381,7 +381,7 @@ uses = 1 /datum/spell/ai_spell/lockdown/cast(list/targets, mob/user) - to_chat(user, "Lockdown Initiated. Network reset in 90 seconds.") + to_chat(user, SPAN_WARNING("Lockdown Initiated. Network reset in 90 seconds.")) new /datum/event/door_runtime() //Destroy RCDs: Detonates all non-cyborg RCDs on the station. @@ -392,7 +392,7 @@ cost = 25 one_purchase = TRUE power_type = /datum/spell/ai_spell/destroy_rcds - unlock_text = "After some improvisation, you rig your onboard radio to be able to send a signal to detonate all RCDs." + unlock_text = SPAN_NOTICE("After some improvisation, you rig your onboard radio to be able to send a signal to detonate all RCDs.") /datum/spell/ai_spell/destroy_rcds name = "Destroy RCDs" @@ -409,7 +409,7 @@ if(is_level_reachable(RCD_turf.z)) RCD.detonate_pulse() - to_chat(user, "RCD detonation pulse emitted.") + to_chat(user, SPAN_DANGER("RCD detonation pulse emitted.")) user.playsound_local(user, 'sound/machines/twobeep.ogg', 50, FALSE, use_reverb = FALSE) //Unlock Mech Domination: Unlocks the ability to dominate mechs. Big shocker, right? @@ -420,7 +420,7 @@ Do not allow the mech to leave the station's vicinity or allow it to be destroyed." cost = 30 upgrade = TRUE - unlock_text = "Virus package compiled. Select a target mech at any time. You must remain on the station at all times. Loss of signal will result in total system lockout." + unlock_text = SPAN_NOTICE("Virus package compiled. Select a target mech at any time. You must remain on the station at all times. Loss of signal will result in total system lockout.") unlock_sound = 'sound/mecha/nominal.ogg' /datum/ai_module/mecha_domination/upgrade(mob/living/silicon/ai/AI) @@ -435,7 +435,7 @@ one_purchase = TRUE cost = 25 power_type = /datum/spell/ai_spell/break_fire_alarms - unlock_text = "You replace the thermal sensing capabilities of all fire alarms with a manual override, allowing you to turn them off at will." + unlock_text = SPAN_NOTICE("You replace the thermal sensing capabilities of all fire alarms with a manual override, allowing you to turn them off at will.") /datum/spell/ai_spell/break_fire_alarms name = "Override Thermal Sensors" @@ -448,7 +448,7 @@ if(!is_station_level(F.z)) continue F.emagged = TRUE - to_chat(user, "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.") + to_chat(user, SPAN_NOTICE("All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.")) user.playsound_local(user, 'sound/machines/terminal_off.ogg', 50, FALSE, use_reverb = FALSE) //Air Alarm Safety Override: Unlocks the ability to enable flooding on all air alarms. @@ -460,7 +460,7 @@ one_purchase = TRUE cost = 50 power_type = /datum/spell/ai_spell/break_air_alarms - unlock_text = "You remove the safety overrides on all air alarms, but you leave the confirm prompts open. You can hit 'Yes' at any time... you bastard." + unlock_text = SPAN_NOTICE("You remove the safety overrides on all air alarms, but you leave the confirm prompts open. You can hit 'Yes' at any time... you bastard.") /datum/spell/ai_spell/break_air_alarms name = "Override Air Alarm Safeties" @@ -483,7 +483,7 @@ description = "Overheats an electrical machine, causing a moderately-sized explosion and destroying it. Four uses per purchase." cost = 20 power_type = /datum/spell/ai_spell/ranged/overload_machine - unlock_text = "You enable the ability for the station's APCs to direct intense energy into machinery." + unlock_text = SPAN_NOTICE("You enable the ability for the station's APCs to direct intense energy into machinery.") /datum/spell/ai_spell/ranged/overload_machine name = "Overload Machine" @@ -491,24 +491,24 @@ action_icon_state = "overload_machine" uses = 4 ranged_mousepointer = 'icons/mouse_icons/cult_target.dmi' - selection_activated_message = "You tap into the station's powernet. Click on a machine to detonate it, or use the ability again to cancel." - selection_deactivated_message = "You release your hold on the powernet." + selection_activated_message = SPAN_NOTICE("You tap into the station's powernet. Click on a machine to detonate it, or use the ability again to cancel.") + selection_deactivated_message = SPAN_NOTICE("You release your hold on the powernet.") /datum/spell/ai_spell/ranged/overload_machine/cast(list/targets, mob/user) var/obj/machinery/target = targets[1] if(!istype(target)) - to_chat(user, "You can only overload machines!") + to_chat(user, SPAN_WARNING("You can only overload machines!")) return if(target.flags_2 & NO_MALF_EFFECT_2) - to_chat(user, "That machine can't be overloaded!") + to_chat(user, SPAN_WARNING("That machine can't be overloaded!")) return user.playsound_local(user, "sparks", 50, FALSE, use_reverb = FALSE) adjust_uses(-1, user) - target.audible_message("You hear a loud electrical buzzing sound coming from [target]!") + target.audible_message(SPAN_DANGER("You hear a loud electrical buzzing sound coming from [target]!")) playsound(target, 'sound/goonstation/misc/fuse.ogg', 50, FALSE, use_reverb = FALSE) addtimer(CALLBACK(src, PROC_REF(detonate_machine), target), 5 SECONDS) //kaboom! - to_chat(user, "Overloading machine circuitry...") + to_chat(user, SPAN_WARNING("Overloading machine circuitry...")) return TRUE /datum/spell/ai_spell/ranged/overload_machine/proc/detonate_machine(obj/machinery/M) @@ -524,7 +524,7 @@ description = "Overrides a machine's programming, causing it to rise up and attack everyone except other machines. Four uses." cost = 30 power_type = /datum/spell/ai_spell/ranged/override_machine - unlock_text = "You procure a virus from the Space Dark Web and distribute it to the station's machines." + unlock_text = SPAN_NOTICE("You procure a virus from the Space Dark Web and distribute it to the station's machines.") /datum/spell/ai_spell/ranged/override_machine name = "Override Machine" @@ -532,23 +532,23 @@ action_icon_state = "override_machine" uses = 4 ranged_mousepointer = 'icons/mouse_icons/override_machine_target.dmi' - selection_activated_message = "You tap into the station's powernet. Click on a machine to animate it, or use the ability again to cancel." - selection_deactivated_message = "You release your hold on the powernet." + selection_activated_message = SPAN_NOTICE("You tap into the station's powernet. Click on a machine to animate it, or use the ability again to cancel.") + selection_deactivated_message = SPAN_NOTICE("You release your hold on the powernet.") /datum/spell/ai_spell/ranged/override_machine/cast(list/targets, mob/user) var/obj/machinery/target = targets[1] if(!istype(target)) - to_chat(user, "You can only animate machines!") + to_chat(user, SPAN_WARNING("You can only animate machines!")) return if(target.flags_2 & NO_MALF_EFFECT_2) - to_chat(user, "That machine can't be overridden!") + to_chat(user, SPAN_WARNING("That machine can't be overridden!")) return user.playsound_local(user, 'sound/misc/interference.ogg', 50, FALSE, use_reverb = FALSE) adjust_uses(-1, user) - target.audible_message("You hear a loud electrical buzzing sound coming from [target]!") + target.audible_message(SPAN_USERDANGER("You hear a loud electrical buzzing sound coming from [target]!")) addtimer(CALLBACK(src, PROC_REF(animate_machine), target, user), 5 SECONDS) //kabeep! - to_chat(user, "Sending override signal...") + to_chat(user, SPAN_DANGER("Sending override signal...")) return TRUE /datum/spell/ai_spell/ranged/override_machine/proc/animate_machine(obj/machinery/M, mob/user) @@ -563,7 +563,7 @@ cost = 100 one_purchase = TRUE power_type = /datum/spell/ai_spell/place_transformer - unlock_text = "You prepare a robotics factory for deployment." + unlock_text = SPAN_NOTICE("You prepare a robotics factory for deployment.") unlock_sound = 'sound/machines/ping.ogg' /datum/spell/ai_spell/place_transformer @@ -595,7 +595,7 @@ new /obj/machinery/transformer(T, user) playsound(T, 'sound/effects/phasein.ogg', 100, 1) user.can_shunt = FALSE - to_chat(user, "You are no longer able to shunt your core to APCs.") + to_chat(user, SPAN_WARNING("You are no longer able to shunt your core to APCs.")) adjust_uses(-1, user) /mob/living/silicon/ai/proc/remove_transformer_image(client/C, image/I, turf/T) @@ -627,7 +627,7 @@ I.icon_state = "[success ? "green" : "red"]Overlay" //greenOverlay and redOverlay for success and failure respectively addtimer(CALLBACK(src, PROC_REF(remove_transformer_image), client, I, T), 30) if(!success) - to_chat(src, "[alert_msg]") + to_chat(src, SPAN_WARNING("[alert_msg]")) return success //Turret Assembly: Assemble an AI turret at the chosen location. One use per purchase @@ -637,7 +637,7 @@ description = "Build a turret anywhere that lethally targets organic life in sight." cost = 30 power_type = /datum/spell/ai_spell/place_turret - unlock_text = "You prepare an energy turret for deployment." + unlock_text = SPAN_NOTICE("You prepare an energy turret for deployment.") unlock_sound = 'sound/items/rped.ogg' /datum/spell/ai_spell/place_turret @@ -655,7 +655,7 @@ /datum/spell/ai_spell/place_turret/cast(list/targets, mob/living/silicon/ai/user) if(in_use) - to_chat(user, "Your assemblers can only construct one turret at a time.") + to_chat(user, SPAN_NOTICE("Your assemblers can only construct one turret at a time.")) return if(!user.can_place_turret(src)) return @@ -675,7 +675,7 @@ //Handles the turret construction and configuration playsound(T, 'sound/items/rped.ogg', 100, TRUE) //Plays a sound both at the location of the construction to alert players and to the user as feedback user.playsound_local(user, 'sound/items/rped.ogg', 50, FALSE, use_reverb = FALSE) - to_chat(user, "You order your electronics to assemble a turret. This will take a few seconds.") + to_chat(user, SPAN_NOTICE("You order your electronics to assemble a turret. This will take a few seconds.")) var/obj/effect/temp_visual/rcd_effect/spawning_effect = new(T) QDEL_IN(spawning_effect, 5 SECONDS) @@ -700,7 +700,7 @@ turret.disabled = initial(turret.disabled) new /obj/effect/temp_visual/rcd_effect/end(T) playsound(T, 'sound/items/deconstruct.ogg', 100, TRUE) - to_chat(user, "Turret deployed.") + to_chat(user, SPAN_NOTICE("Turret deployed.")) adjust_uses(-1, user) /mob/living/silicon/ai/proc/can_place_turret(datum/spell/ai_spell/place_turret/action) @@ -716,14 +716,14 @@ var/datum/camerachunk/C = GLOB.cameranet.get_camera_chunk(deploylocation.x, deploylocation.y, deploylocation.z) if(!istype(deploylocation)) - to_chat(src, "There isn't enough room! Make sure you are placing the machine in a clear area and on a floor.") + to_chat(src, SPAN_WARNING("There isn't enough room! Make sure you are placing the machine in a clear area and on a floor.")) return FALSE if(!C.visible_turfs[deploylocation]) - to_chat(src, "You don't have camera vision of this location!") + to_chat(src, SPAN_WARNING("You don't have camera vision of this location!")) addtimer(CALLBACK(src, PROC_REF(remove_transformer_image), client, I, deploylocation), 3 SECONDS) return FALSE if(deploylocation.is_blocked_turf()) - to_chat(src, "That area must be clear of objects!") + to_chat(src, SPAN_WARNING("That area must be clear of objects!")) addtimer(CALLBACK(src, PROC_REF(remove_transformer_image), client, I, deploylocation), 3 SECONDS) return FALSE @@ -738,7 +738,7 @@ description = "Attempts to overload the lighting circuits on the station, destroying some bulbs. Three uses." cost = 15 power_type = /datum/spell/ai_spell/blackout - unlock_text = "You hook into the powernet and route bonus power towards the station's lighting." + unlock_text = SPAN_NOTICE("You hook into the powernet and route bonus power towards the station's lighting.") /datum/spell/ai_spell/blackout name = "Blackout" @@ -754,7 +754,7 @@ INVOKE_ASYNC(apc, TYPE_PROC_REF(/obj/machinery/power/apc, overload_lighting)) else apc.overload++ - to_chat(user, "Overcurrent applied to the powernet.") + to_chat(user, SPAN_NOTICE("Overcurrent applied to the powernet.")) user.playsound_local(user, "sparks", 50, FALSE, use_reverb = FALSE) adjust_uses(-1, user) @@ -765,7 +765,7 @@ description = "Runs a network-wide diagnostic on the camera network, resetting focus and re-routing power to failed cameras. Can be used to repair up to 30 cameras." cost = 10 power_type = /datum/spell/ai_spell/reactivate_cameras - unlock_text = "You deploy nanomachines to the cameranet." + unlock_text = SPAN_NOTICE("You deploy nanomachines to the cameranet.") /datum/spell/ai_spell/reactivate_cameras name = "Reactivate Cameras" @@ -788,7 +788,7 @@ camera_to_repair.wires.cut_wires.Cut() repaired_cameras++ uses-- - to_chat(user, "Diagnostic complete! Cameras reactivated: [repaired_cameras]. Reactivations remaining: [uses].") + to_chat(user, SPAN_NOTICE("Diagnostic complete! Cameras reactivated: [repaired_cameras]. Reactivations remaining: [uses].")) user.playsound_local(user, 'sound/items/wirecutter.ogg', 50, FALSE, use_reverb = FALSE) adjust_uses(0, user, TRUE) @@ -801,7 +801,7 @@ one_purchase = TRUE cost = 35 //Decent price for omniscience! upgrade = TRUE - unlock_text = "OTA firmware distribution complete! Cameras upgraded: CAMSUPGRADED. Light amplification system online." + unlock_text = SPAN_NOTICE("OTA firmware distribution complete! Cameras upgraded: CAMSUPGRADED. Light amplification system online.") unlock_sound = 'sound/items/rped.ogg' /datum/ai_module/upgrade_cameras/upgrade(mob/living/silicon/ai/AI) @@ -833,7 +833,7 @@ cost = 30 one_purchase = TRUE upgrade = TRUE - unlock_text = "OTA firmware distribution complete! Cameras upgraded: Enhanced surveillance package online." + unlock_text = SPAN_NOTICE("OTA firmware distribution complete! Cameras upgraded: Enhanced surveillance package online.") unlock_sound = 'sound/items/rped.ogg' /datum/ai_module/eavesdrop/upgrade(mob/living/silicon/ai/AI) @@ -847,7 +847,7 @@ cost = 10 one_purchase = TRUE upgrade = TRUE - unlock_text = "Network chip short circuited. Internal camera disconected from network. Minimal damage to other internal components." + unlock_text = SPAN_NOTICE("Network chip short circuited. Internal camera disconected from network. Minimal damage to other internal components.") unlock_sound = 'sound/items/wirecutter.ogg' /datum/ai_module/cameracrack/upgrade(mob/living/silicon/ai/AI) @@ -862,17 +862,17 @@ cost = 70 // IDK look into this one_purchase = TRUE upgrade = TRUE - unlock_text = "Firmware downloaded. Bugs removed. Combat subsystems operating at 73% efficiency." + unlock_text = SPAN_NOTICE("Firmware downloaded. Bugs removed. Combat subsystems operating at 73% efficiency.") unlock_sound = 'sound/items/rped.ogg' /datum/ai_module/borg_upgrade/upgrade(mob/living/silicon/ai/AI) AI.purchased_modules = list(/obj/item/robot_module/engineering, /obj/item/robot_module/janitor, /obj/item/robot_module/medical, /obj/item/robot_module/miner, /obj/item/robot_module/butler) log_game("[key_name(usr)] purchased combat upgrades for all cyborgs.") - message_admins("[key_name_admin(usr)] purchased combat upgrades for all cyborgs!") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] purchased combat upgrades for all cyborgs!")) for(var/mob/living/silicon/robot/R in AI.connected_robots) R.module.malfhacked = TRUE R.module.rebuild_modules() - to_chat(R, "New firmware downloaded. Combat upgrades are now online.") + to_chat(R, SPAN_NOTICE("New firmware downloaded. Combat upgrades are now online.")) /datum/ai_module/repair_cyborg module_name = "Repair Cyborgs" @@ -880,7 +880,7 @@ description = "Causes an electrical surge in the targeted cyborg, rebooting and repairing most of its subsystems. Requires two uses on a cyborg with broken armor." cost = 20 power_type = /datum/spell/ai_spell/ranged/repair_cyborg - unlock_text = "TLB exception on load: Error pointing to address 0000001H, Proceed with execution anywa- SURGE protocols installed, welcome to open APC!" + unlock_text = SPAN_NOTICE("TLB exception on load: Error pointing to address 0000001H, Proceed with execution anywa- SURGE protocols installed, welcome to open APC!") unlock_sound = 'sound/items/rped.ogg' /datum/spell/ai_spell/ranged/repair_cyborg @@ -889,28 +889,28 @@ action_icon_state = "overload_machine" uses = 2 ranged_mousepointer = 'icons/mouse_icons/explode_machine_target.dmi' - selection_activated_message = "Call to address 0FFFFFFF in APC logic thread, awaiting user response." - selection_deactivated_message = "APC logic thread restarting..." + selection_activated_message = SPAN_NOTICE("Call to address 0FFFFFFF in APC logic thread, awaiting user response.") + selection_deactivated_message = SPAN_NOTICE("APC logic thread restarting...") var/is_active = FALSE /datum/spell/ai_spell/ranged/repair_cyborg/cast(list/targets, mob/user) var/mob/living/silicon/robot/robot_target = targets[1] if(!istype(robot_target)) - to_chat(user, "You can only repair robots with this ability!") + to_chat(user, SPAN_WARNING("You can only repair robots with this ability!")) return if(is_active) - to_chat(user, "You can only repair one robot at a time!") + to_chat(user, SPAN_WARNING("You can only repair one robot at a time!")) return is_active = TRUE user.playsound_local(user, "sparks", 50, FALSE, use_reverb = FALSE) adjust_uses(-1, user) - robot_target.audible_message("You hear a loud electrical buzzing sound coming from [robot_target]!") + robot_target.audible_message(SPAN_ITALICS("You hear a loud electrical buzzing sound coming from [robot_target]!")) if(!do_mob(user, robot_target, 10 SECONDS, hidden = TRUE)) is_active = FALSE return is_active = FALSE fix_borg(robot_target) - to_chat(user, "[robot_target] successfully rebooted.") + to_chat(user, SPAN_WARNING("[robot_target] successfully rebooted.")) return TRUE /datum/spell/ai_spell/ranged/repair_cyborg/proc/fix_borg(mob/living/silicon/robot/to_repair) @@ -928,15 +928,15 @@ one_purchase = TRUE power_type = /datum/spell/ai_spell/ranged/core_tilt unlock_sound = 'sound/effects/bang.ogg' - unlock_text = "You gain the ability to roll over and crush anything in your way." + unlock_text = SPAN_NOTICE("You gain the ability to roll over and crush anything in your way.") /datum/spell/ai_spell/ranged/core_tilt name = "Roll Over" action_icon_state = "roll_over" desc = "Allows you to roll over in the direction of your choosing, crushing anything in your way." ranged_mousepointer = 'icons/mouse_icons/cult_target.dmi' - selection_activated_message = "Your inner servos shift as you prepare to roll around. Click adjacent tiles to roll into them!" - selection_deactivated_message = "You disengage your rolling protocols." + selection_activated_message = SPAN_NOTICE("Your inner servos shift as you prepare to roll around. Click adjacent tiles to roll into them!") + selection_deactivated_message = SPAN_NOTICE("You disengage your rolling protocols.") COOLDOWN_DECLARE(time_til_next_tilt) /// How long does it take us to roll? var/roll_over_time = MALF_AI_ROLL_TIME @@ -951,7 +951,7 @@ user.RemoveSpell(src) return if(!COOLDOWN_FINISHED(src, time_til_next_tilt)) - to_chat(user, "Your rolling capacitors are still powering back up!") + to_chat(user, SPAN_WARNING("Your rolling capacitors are still powering back up!")) return var/turf/target = get_turf(target_atom) @@ -959,7 +959,7 @@ return if(target == get_turf(user)) - to_chat(user, "You can't roll over on yourself!") + to_chat(user, SPAN_WARNING("You can't roll over on yourself!")) return var/picked_dir = get_dir(user, target) @@ -969,10 +969,10 @@ var/turf/temp_target = get_step(user, picked_dir) new /obj/effect/temp_visual/single_user/ai_telegraph(temp_target, user) - user.visible_message("[user] seems to be winding up!") + user.visible_message(SPAN_DANGER("[user] seems to be winding up!")) addtimer(CALLBACK(src, PROC_REF(do_roll_over), user, picked_dir), MALF_AI_ROLL_TIME) - to_chat(user, "Overloading machine circuitry...") + to_chat(user, SPAN_WARNING("Overloading machine circuitry...")) COOLDOWN_START(src, time_til_next_tilt, roll_over_cooldown) diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm index 1152e819879..07bdcc6cc8e 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction.dm @@ -65,23 +65,23 @@ for(var/datum/team/abductor/team in actual_abductor_teams) var/obj/machinery/abductor/console/console = get_team_console(team.team_number) if(console.experiment.points >= team.experiment_objective.target_amount) - to_chat(world, "[team.name] team fulfilled its mission!") + to_chat(world, SPAN_GREENANNOUNCE("[team.name] team fulfilled its mission!")) else - to_chat(world, "[team.name] team failed its mission.") + to_chat(world, SPAN_BOLDANNOUNCEIC("[team.name] team failed its mission.")) ..() return 1 /datum/game_mode/proc/auto_declare_completion_abduction() var/list/text = list() if(length(abductors)) - text += "
The abductors were:
" + text += "
[SPAN_BIG("The abductors were:")]
" for(var/datum/mind/abductor_mind in abductors) text += printplayer(abductor_mind) text += "
" text += printobjectives(abductor_mind) text += "
" if(length(abductees)) - text += "
The abductees were:
" + text += "
[SPAN_BIG("The abductees were:")]
" for(var/datum/mind/abductee_mind in abductees) text += printplayer(abductee_mind) text += "
" diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index 91c44868a93..ab0b6e92c01 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -28,7 +28,7 @@ CONTENTS: /obj/item/abductor/proc/AbductorCheck(user) if(isabductor(user)) return TRUE - to_chat(user, "You can't figure how this works!") + to_chat(user, SPAN_WARNING("You can't figure how this works!")) return FALSE /obj/item/abductor/proc/ScientistCheck(user) @@ -39,7 +39,7 @@ CONTENTS: var/datum/species/abductor/S = H.dna.species if(S.scientist) return TRUE - to_chat(user, "You're not trained to use this!") + to_chat(user, SPAN_WARNING("You're not trained to use this!")) return FALSE ///////////////////////////////////////// @@ -97,7 +97,7 @@ CONTENTS: /obj/item/clothing/suit/armor/abductor/vest/proc/toggle_nodrop() set_nodrop(NODROP_TOGGLE, loc) if(ismob(loc)) - to_chat(loc, "Your vest is now [flags & NODROP ? "locked" : "unlocked"].") + to_chat(loc, SPAN_NOTICE("Your vest is now [flags & NODROP ? "locked" : "unlocked"].")) /obj/item/clothing/suit/armor/abductor/vest/proc/flip_mode() switch(mode) @@ -168,10 +168,10 @@ CONTENTS: /obj/item/clothing/suit/armor/abductor/vest/proc/Adrenaline() if(ishuman(loc)) if(!COOLDOWN_FINISHED(src, abductor_adrenaline)) - to_chat(loc, "Combat injection is still recharging. Please wait [round(COOLDOWN_TIMELEFT(src, abductor_adrenaline), 1 SECONDS) / 10] seconds.") + to_chat(loc, SPAN_WARNING("Combat injection is still recharging. Please wait [round(COOLDOWN_TIMELEFT(src, abductor_adrenaline), 1 SECONDS) / 10] seconds.")) return var/mob/living/carbon/human/M = loc - to_chat(loc, "You feel a series of pricks down your back, followed by a surge of energy!") + to_chat(loc, SPAN_NOTICE("You feel a series of pricks down your back, followed by a surge of energy!")) M.adjustStaminaLoss(-75) M.SetParalysis(0) M.SetStunned(0) @@ -215,7 +215,7 @@ CONTENTS: for(M in view(2,targloc)) if(M == user) continue - to_chat(user, "You silence [M]'s radio devices.") + to_chat(user, SPAN_NOTICE("You silence [M]'s radio devices.")) radio_off_mob(M) /obj/item/abductor/silencer/proc/radio_off_mob(mob/living/carbon/human/M) @@ -264,7 +264,7 @@ CONTENTS: if(BATON_PROBE) txt = "probing" - to_chat(usr, "You switch the baton to [txt] mode.") + to_chat(usr, SPAN_NOTICE("You switch the baton to [txt] mode.")) update_icon(UPDATE_ICON_STATE) update_action_buttons() @@ -325,8 +325,8 @@ CONTENTS: L.apply_damage(80, STAMINA) L.Stuttering(14 SECONDS) - L.visible_message("[user] has stunned [L] with [src]!", \ - "[user] has stunned you with [src]!") + L.visible_message(SPAN_DANGER("[user] has stunned [L] with [src]!"), \ + SPAN_USERDANGER("[user] has stunned you with [src]!")) playsound(loc, 'sound/weapons/egloves.ogg', 50, TRUE, -1) add_attack_logs(user, L, "Stunned with [src]") @@ -337,13 +337,13 @@ CONTENTS: return if((C.getStaminaLoss() < 100) && !C.IsSleeping()) C.AdjustDrowsy(2 SECONDS) - to_chat(user, "Sleep inducement works fully only on stunned or asleep specimens!") - C.visible_message("[user] tried to induce sleep in [L] with [src]!", \ - "You suddenly feel drowsy!") + to_chat(user, SPAN_WARNING("Sleep inducement works fully only on stunned or asleep specimens!")) + C.visible_message(SPAN_DANGER("[user] tried to induce sleep in [L] with [src]!"), \ + SPAN_USERDANGER("You suddenly feel drowsy!")) return if(do_mob(user, C, 2.5 SECONDS)) - C.visible_message("[user] has induced sleep in [L] with [src]!", \ - "You suddenly feel very drowsy!") + C.visible_message(SPAN_DANGER("[user] has induced sleep in [L] with [src]!"), \ + SPAN_USERDANGER("You suddenly feel very drowsy!")) playsound(loc, 'sound/weapons/egloves.ogg', 50, TRUE, -1) C.Sleeping(120 SECONDS) add_attack_logs(user, C, "Put to sleep with [src]") @@ -354,36 +354,36 @@ CONTENTS: var/mob/living/carbon/C = L if(!C.handcuffed) playsound(loc, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2) - C.visible_message("[user] begins restraining [C] with [src]!", \ - "[user] begins shaping an energy field around your hands!") + C.visible_message(SPAN_DANGER("[user] begins restraining [C] with [src]!"), \ + SPAN_USERDANGER("[user] begins shaping an energy field around your hands!")) if(do_mob(user, C, 3 SECONDS)) if(!C.handcuffed) C.handcuffed = new /obj/item/restraints/handcuffs/energy(C) C.update_handcuffed() - to_chat(user, "You handcuff [C].") + to_chat(user, SPAN_NOTICE("You handcuff [C].")) add_attack_logs(user, C, "Handcuffed ([src])") else - to_chat(user, "You fail to handcuff [C].") + to_chat(user, SPAN_WARNING("You fail to handcuff [C].")) /obj/item/abductor_baton/proc/ProbeAttack(mob/living/L,mob/living/user) - L.visible_message("[user] probes [L] with [src]!", \ - "[user] probes you!") + L.visible_message(SPAN_DANGER("[user] probes [L] with [src]!"), \ + SPAN_USERDANGER("[user] probes you!")) - var/species = "Unknown species" - var/helptext = "Species unsuitable for experiments." + var/species = SPAN_WARNING("Unknown species") + var/helptext = SPAN_WARNING("Species unsuitable for experiments.") if(ishuman(L)) var/mob/living/carbon/human/H = L species = "[H.dna.species.name]" if(IS_CHANGELING(L)) - species = "Changeling lifeform" + species = SPAN_WARNING("Changeling lifeform") var/obj/item/organ/internal/heart/gland/temp = locate() in H.internal_organs if(temp) - helptext = "Experimental gland detected!" + helptext = SPAN_WARNING("Experimental gland detected!") else - helptext = "Subject suitable for experiments." + helptext = SPAN_NOTICE("Subject suitable for experiments.") - to_chat(user,"Probing result: [species]") + to_chat(user,"[SPAN_NOTICE("Probing result: ")][species]") to_chat(user, "[helptext]") /obj/item/restraints/handcuffs/energy @@ -395,7 +395,7 @@ CONTENTS: flags = DROPDEL /obj/item/restraints/handcuffs/energy/finish_resist_restraints(mob/living/carbon/user, break_cuffs, silent) - user.visible_message("[src] restraining [user] breaks in a discharge of energy!", "[src] restraining [user] breaks in a discharge of energy!") + user.visible_message(SPAN_DANGER("[src] restraining [user] breaks in a discharge of energy!"), SPAN_USERDANGER("[src] restraining [user] breaks in a discharge of energy!")) break_cuffs = TRUE silent = TRUE do_sparks(4, 0, user.loc) @@ -405,13 +405,13 @@ CONTENTS: . = ..() switch(mode) if(BATON_STUN) - . += "The baton is in stun mode." + . += SPAN_WARNING("The baton is in stun mode.") if(BATON_SLEEP) - . += "The baton is in sleep inducement mode." + . += SPAN_WARNING("The baton is in sleep inducement mode.") if(BATON_CUFF) - . += "The baton is in restraining mode." + . += SPAN_WARNING("The baton is in restraining mode.") if(BATON_PROBE) - . += "The baton is in probing mode." + . += SPAN_WARNING("The baton is in probing mode.") /obj/item/radio/headset/abductor name = "alien headset" @@ -447,7 +447,7 @@ CONTENTS: if(!ScientistCheck(user)) return if(!console) - to_chat(user, "The device is not linked to a console!") + to_chat(user, SPAN_WARNING("The device is not linked to a console!")) return if(mode == GIZMO_SCAN) @@ -456,13 +456,13 @@ CONTENTS: else mode = GIZMO_SCAN icon_state = "gizmo_scan" - to_chat(user, "You switch the device to [mode==GIZMO_SCAN? "SCAN": "MARK"] MODE") + to_chat(user, SPAN_NOTICE("You switch the device to [mode==GIZMO_SCAN? "SCAN": "MARK"] MODE")) /obj/item/abductor/gizmo/attack__legacy__attackchain(mob/living/M, mob/user) if(!ScientistCheck(user)) return if(!console) - to_chat(user, "The device is not linked to console!") + to_chat(user, SPAN_WARNING("The device is not linked to console!")) return switch(mode) @@ -477,7 +477,7 @@ CONTENTS: if(!ScientistCheck(user)) return if(!console) - to_chat(user, "The device is not linked to console!") + to_chat(user, SPAN_WARNING("The device is not linked to console!")) return switch(mode) @@ -489,16 +489,16 @@ CONTENTS: /obj/item/abductor/gizmo/proc/scan(atom/target, mob/living/user) if(ishuman(target)) console.AddSnapshot(target) - to_chat(user, "You scan [target] and add [target.p_them()] to the database.") + to_chat(user, SPAN_NOTICE("You scan [target] and add [target.p_them()] to the database.")) /obj/item/abductor/gizmo/proc/mark(atom/target, mob/living/user) if(marked == target) - to_chat(user, "This specimen is already marked!") + to_chat(user, SPAN_WARNING("This specimen is already marked!")) return if(ishuman(target)) if(isabductor(target)) marked = target - to_chat(user, "You mark [target] for future retrieval.") + to_chat(user, SPAN_NOTICE("You mark [target] for future retrieval.")) else prepare(target,user) else @@ -506,12 +506,12 @@ CONTENTS: /obj/item/abductor/gizmo/proc/prepare(atom/target, mob/living/user) if(get_dist(target,user)>1) - to_chat(user, "You need to be next to the specimen to prepare it for transport!") + to_chat(user, SPAN_WARNING("You need to be next to the specimen to prepare it for transport!")) return - to_chat(user, "You begin preparing [target] for transport...") + to_chat(user, SPAN_NOTICE("You begin preparing [target] for transport...")) if(do_after(user, 100, target = target)) marked = target - to_chat(user, "You finish preparing [target] for transport.") + to_chat(user, SPAN_NOTICE("You finish preparing [target] for transport.")) /obj/item/abductor/gizmo/Destroy() if(console) @@ -535,7 +535,7 @@ CONTENTS: else mode = MIND_DEVICE_MESSAGE icon_state = "mind_device_message" - to_chat(user, "You switch the device to [mode == MIND_DEVICE_MESSAGE ? "TRANSMISSION" : "COMMAND"] MODE") + to_chat(user, SPAN_NOTICE("You switch the device to [mode == MIND_DEVICE_MESSAGE ? "TRANSMISSION" : "COMMAND"] MODE")) /obj/item/abductor/mind_device/afterattack__legacy__attackchain(atom/target, mob/living/user, flag, params) if(!ScientistCheck(user)) @@ -552,13 +552,13 @@ CONTENTS: var/mob/living/carbon/C = target var/obj/item/organ/internal/heart/gland/G = C.get_organ_slot("heart") if(!istype(G)) - to_chat(user, "Your target does not have an experimental gland!") + to_chat(user, SPAN_WARNING("Your target does not have an experimental gland!")) return if(!G.mind_control_uses) - to_chat(user, "Your target's gland is spent!") + to_chat(user, SPAN_WARNING("Your target's gland is spent!")) return if(G.active_mind_control) - to_chat(user, "Your target is already under a mind-controlling influence!") + to_chat(user, SPAN_WARNING("Your target is already under a mind-controlling influence!")) return var/command = tgui_input_text(user, "Enter the command for your target to follow. Uses Left: [G.mind_control_uses], Duration: [DisplayTimeText(G.mind_control_duration)]", "Enter command") @@ -569,13 +569,13 @@ CONTENTS: if(QDELETED(G)) return G.mind_control(command, user) - to_chat(user, "You send the command to your target.") + to_chat(user, SPAN_NOTICE("You send the command to your target.")) /obj/item/abductor/mind_device/proc/mind_message(atom/target, mob/living/user) if(isliving(target)) var/mob/living/L = target if(L.stat == DEAD) - to_chat(user, "Your target is dead!") + to_chat(user, SPAN_WARNING("Your target is dead!")) return var/message = tgui_input_text(user, "Write a message to send to your target's brain.", "Enter message") if(!message) @@ -583,8 +583,8 @@ CONTENTS: if(QDELETED(L) || L.stat == DEAD) return - to_chat(L, "You hear a voice in your head saying: [message]") - to_chat(user, "You send the message to your target.") + to_chat(L, SPAN_ITALICS("You hear a voice in your head saying:
[message]")) + to_chat(user, SPAN_NOTICE("You send the message to your target.")) log_say("[key_name(user)] sent an abductor mind message to [key_name(L)]: '[message]'", user) /obj/item/paper/abductor diff --git a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm index c753fd8c52f..dcfecaaefed 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm @@ -60,25 +60,25 @@ if(istype(I, /obj/item/organ/internal/heart)) IC = I break - user.visible_message("[user] starts to remove [target]'s organs.", "You start to remove [target]'s organs...") + user.visible_message("[user] starts to remove [target]'s organs.", SPAN_NOTICE("You start to remove [target]'s organs...")) ..() /datum/surgery_step/internal/extract_organ/end_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/mob/living/carbon/human/AB = target if(IC) - user.visible_message("[user] pulls [IC] out of [target]'s [target_zone]!", "You pull [IC] out of [target]'s [target_zone].") + user.visible_message("[user] pulls [IC] out of [target]'s [target_zone]!", SPAN_NOTICE("You pull [IC] out of [target]'s [target_zone].")) user.put_in_hands(IC) IC.remove(target, special = 1) return SURGERY_STEP_CONTINUE if(NO_INTORGANS in AB.dna.species.species_traits) - user.visible_message("[user] prepares [target]'s [target_zone] for further dissection!", "You prepare [target]'s [target_zone] for further dissection.") + user.visible_message("[user] prepares [target]'s [target_zone] for further dissection!", SPAN_NOTICE("You prepare [target]'s [target_zone] for further dissection.")) return SURGERY_STEP_CONTINUE else - to_chat(user, "You don't find anything in [target]'s [target_zone]!") + to_chat(user, SPAN_WARNING("You don't find anything in [target]'s [target_zone]!")) return SURGERY_STEP_CONTINUE /datum/surgery_step/internal/extract_organ/fail_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user]'s hand slips, failing to extract anything!", "Your hand slips, failing to extract anything!") + user.visible_message(SPAN_WARNING("[user]'s hand slips, failing to extract anything!"), SPAN_WARNING("Your hand slips, failing to extract anything!")) return SURGERY_STEP_RETRY /datum/surgery_step/internal/gland_insert @@ -102,7 +102,7 @@ return SURGERY_STEP_CONTINUE /datum/surgery_step/internal/gland_insert/fail_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - user.visible_message("[user]'s hand slips, failing to insert the gland!", "Your hand slips, failing to insert the gland!") + user.visible_message(SPAN_WARNING("[user]'s hand slips, failing to insert the gland!"), SPAN_WARNING("Your hand slips, failing to insert the gland!")) return SURGERY_STEP_RETRY //IPC Gland Surgery// diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm index e69656bf740..c9ad5783dae 100644 --- a/code/game/gamemodes/miniantags/abduction/gland.dm +++ b/code/game/gamemodes/miniantags/abduction/gland.dm @@ -48,8 +48,8 @@ if(!owner_check() || !mind_control_uses || active_mind_control) return mind_control_uses-- - to_chat(owner, "You suddenly feel an irresistible compulsion to follow an order...") - to_chat(owner, "[command]") + to_chat(owner, SPAN_USERDANGER("You suddenly feel an irresistible compulsion to follow an order...")) + to_chat(owner, SPAN_MIND_CONTROL("[command]")) active_mind_control = TRUE log_admin("[key_name(user)] sent an abductor mind control message to [key_name(owner)]: [command]") message_admins("[key_name_admin(user)] sent an abductor mind control message to [key_name_admin(owner)]: [command]") @@ -62,7 +62,7 @@ /obj/item/organ/internal/heart/gland/proc/clear_mind_control() if(!owner_check() || !active_mind_control) return - to_chat(owner, "You feel the compulsion fade, and you completely forget about your previous orders.") + to_chat(owner, SPAN_USERDANGER("You feel the compulsion fade, and you completely forget about your previous orders.")) active_mind_control = FALSE update_gland_hud() @@ -108,7 +108,7 @@ /obj/item/organ/internal/heart/gland/heals/trigger() if(!(owner.mob_biotypes & MOB_ORGANIC)) return - to_chat(owner, "You feel curiously revitalized.") + to_chat(owner, SPAN_NOTICE("You feel curiously revitalized.")) owner.adjustToxLoss(-20) owner.adjustBruteLoss(-20) owner.adjustOxyLoss(-20) @@ -127,7 +127,7 @@ owner.add_language("Bubblish") /obj/item/organ/internal/heart/gland/slime/trigger() - to_chat(owner, "You feel nauseous!") + to_chat(owner, SPAN_WARNING("You feel nauseous!")) owner.vomit(20) new /mob/living/simple_animal/slime(get_turf(owner), "grey") @@ -141,7 +141,7 @@ mind_control_duration = 6000 /obj/item/organ/internal/heart/gland/mindshock/trigger() - to_chat(owner, "You get a headache.") + to_chat(owner, SPAN_NOTICE("You get a headache.")) var/turf/T = get_turf(owner) for(var/mob/living/carbon/H in orange(4,T)) @@ -149,10 +149,10 @@ continue switch(pick(1,3)) if(1) - to_chat(H, "You hear a loud buzz in your head, silencing your thoughts!") + to_chat(H, SPAN_USERDANGER("You hear a loud buzz in your head, silencing your thoughts!")) H.Stun(6 SECONDS) if(2) - to_chat(H, "You hear an annoying buzz in your head.") + to_chat(H, SPAN_WARNING("You hear an annoying buzz in your head.")) H.AdjustConfused(30 SECONDS) H.adjustBrainLoss(5, 15) if(3) @@ -167,7 +167,7 @@ mind_control_duration = 3000 /obj/item/organ/internal/heart/gland/pop/trigger() - to_chat(owner, "You feel unlike yourself.") + to_chat(owner, SPAN_NOTICE("You feel unlike yourself.")) var/species = pick(/datum/species/unathi, /datum/species/skrell, /datum/species/diona, /datum/species/tajaran, /datum/species/vulpkanin, /datum/species/kidan, /datum/species/grey) owner.set_species(species, keep_missing_bodyparts = TRUE) @@ -180,7 +180,7 @@ mind_control_uses = 4 /obj/item/organ/internal/heart/gland/ventcrawling/trigger() - to_chat(owner, "You feel very stretchy.") + to_chat(owner, SPAN_NOTICE("You feel very stretchy.")) owner.ventcrawler = VENTCRAWLER_ALWAYS /obj/item/organ/internal/heart/gland/ventcrawling/remove(mob/living/carbon/M, special = 0) @@ -193,7 +193,7 @@ icon_state = "viral" /obj/item/organ/internal/heart/gland/viral/trigger() - to_chat(owner, "You feel sick.") + to_chat(owner, SPAN_WARNING("You feel sick.")) var/datum/disease/advance/A = random_virus(pick(2, 6), 6) A.carrier = TRUE owner.ForceContractDisease(A, TRUE) @@ -230,10 +230,10 @@ /obj/item/organ/internal/heart/gland/teleport/trigger() if(!is_teleport_allowed(owner.z)) // check if we can actually teleport on this z level before sending scary messages - to_chat(owner, "You feel like somethings off, but nothing happens?") + to_chat(owner, SPAN_NOTICE("You feel like somethings off, but nothing happens?")) return if(prob(10)) - to_chat(owner, "It feels like you are being torn apart atom by atom!") + to_chat(owner, SPAN_BIGGERDANGER("It feels like you are being torn apart atom by atom!")) owner.emote("scream") owner.SetKnockDown(2 SECONDS, TRUE) // even with antistuns, I want them to fall over. Mainly so it conveys how unpleasant it feels sleep(2 SECONDS) @@ -241,7 +241,7 @@ possible_area = find_safe_turf() do_teleport(owner, pick(possible_area)) return - to_chat(owner, "You feel a horrible twisting and turning throughout your entire body.") + to_chat(owner, SPAN_WARNING("You feel a horrible twisting and turning throughout your entire body.")) owner.emote("scream") sleep(1.5 SECONDS) // so they scream, and viewers hear the scream be cut off do_teleport(owner, get_turf(owner), 10, safe_turf_pick = TRUE) @@ -255,7 +255,7 @@ mind_control_duration = 2400 /obj/item/organ/internal/heart/gland/spiderman/trigger() - to_chat(owner, "You feel something crawling in your skin.") + to_chat(owner, SPAN_WARNING("You feel something crawling in your skin.")) owner.faction |= "spiders" var/mob/living/basic/spiderling/S = new(owner.loc) S.master_commander = owner @@ -267,7 +267,7 @@ mind_control_uses = 2 /obj/item/organ/internal/heart/gland/egg/trigger() - owner.visible_message("[owner] [pick(EGG_LAYING_MESSAGES)]") + owner.visible_message(SPAN_ALERTALIEN("[owner] [pick(EGG_LAYING_MESSAGES)]")) new /obj/item/food/egg/gland(get_turf(owner)) /obj/item/organ/internal/heart/gland/electric @@ -292,8 +292,8 @@ return ..() /obj/item/organ/internal/heart/gland/electric/trigger() - owner.visible_message("[owner]'s skin starts emitting electric arcs!",\ - "You feel electric energy building up inside you!") + owner.visible_message(SPAN_DANGER("[owner]'s skin starts emitting electric arcs!"),\ + SPAN_WARNING("You feel electric energy building up inside you!")) playsound(get_turf(owner), "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) addtimer(CALLBACK(src, PROC_REF(zap)), rand(30, 100)) @@ -320,8 +320,8 @@ /obj/item/organ/internal/heart/gland/bloody/trigger() owner.blood_volume = max(owner.blood_volume - 20, 0) - owner.visible_message("[owner]'s skin erupts with blood!",\ - "Blood pours from your skin!") + owner.visible_message(SPAN_DANGER("[owner]'s skin erupts with blood!"),\ + SPAN_USERDANGER("Blood pours from your skin!")) for(var/turf/T in oview(3,owner)) //Make this respect walls and such owner.add_splatter_floor(T) @@ -338,15 +338,15 @@ /obj/item/organ/internal/heart/gland/plasma/trigger() spawn(0) - to_chat(owner, "You feel bloated.") + to_chat(owner, SPAN_WARNING("You feel bloated.")) sleep(150) if(!owner) return - to_chat(owner, "A massive stomachache overcomes you.") + to_chat(owner, SPAN_USERDANGER("A massive stomachache overcomes you.")) sleep(50) if(!owner) return - owner.visible_message("[owner] vomits a cloud of plasma!") + owner.visible_message(SPAN_DANGER("[owner] vomits a cloud of plasma!")) var/turf/simulated/T = get_turf(owner) if(istype(T)) T.atmos_spawn_air(LINDA_SPAWN_TOXINS|LINDA_SPAWN_20C,50) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm b/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm index a7810d43556..7cfd213715a 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm @@ -91,7 +91,7 @@ var/obj/machinery/abductor/console/console = target if(!console.TeleporterRetrieve()) - to_chat(owner, "Error, unable to recall target. Please ensure they are not buckled, and that you have waited the required 10000 milliseconds!") + to_chat(owner, SPAN_WARNING("Error, unable to recall target. Please ensure they are not buckled, and that you have waited the required 10000 milliseconds!")) playsound(owner, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) /datum/action/innate/teleport_self diff --git a/code/game/gamemodes/miniantags/abduction/machinery/console.dm b/code/game/gamemodes/miniantags/abduction/machinery/console.dm index 954c3d03f34..6dda00ff2ce 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/console.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/console.dm @@ -51,7 +51,7 @@ if(..()) return if(!isabductor(user)) - to_chat(user, "You start mashing alien buttons at random!") + to_chat(user, SPAN_WARNING("You start mashing alien buttons at random!")) if(do_after(user, 100, target = src)) TeleporterSend() return @@ -73,34 +73,34 @@ dat += "Mental Interface Device (2)
" dat += "Organ Extractor (2)
" else - dat += "NO EXPERIMENT MACHINE DETECTED
" + dat += "[SPAN_BAD("NO EXPERIMENT MACHINE DETECTED")]
" if(pad) - dat += "Emergency Teleporter System." - dat += "Consider using primary observation console first." + dat += SPAN_BAD("Emergency Teleporter System.") + dat += SPAN_BAD("Consider using primary observation console first.") dat += "Activate Teleporter
" if(gizmo && gizmo.marked) dat += "Retrieve Mark
" else - dat += "Retrieve Mark
" + dat += "[SPAN_LINKOFF("Retrieve Mark")]
" else - dat += "NO TELEPAD DETECTED
" + dat += "[SPAN_BAD("NO TELEPAD DETECTED")]
" if(vest) dat += "

Agent Vest Mode


" var/mode = vest.mode if(mode == ABDUCTOR_VEST_STEALTH) dat += "Combat" - dat += "Stealth" + dat += SPAN_LINKOFF("Stealth") else - dat += "Combat" + dat += SPAN_LINKOFF("Combat") dat += "Stealth" dat+="
" dat += "Select Agent Vest Disguise
" dat += "[vest.flags & NODROP ? "Unlock" : "Lock"] Vest
" else - dat += "NO AGENT VEST DETECTED" + dat += SPAN_BAD("NO AGENT VEST DETECTED") var/datum/browser/popup = new(user, "computer", "Abductor Console", 400, 500) popup.set_content(dat) popup.open() @@ -160,12 +160,12 @@ /obj/machinery/abductor/console/proc/SetDroppoint(turf/location,user) if(!istype(location)) - to_chat(user, "That place is not safe for the specimen.") + to_chat(user, SPAN_WARNING("That place is not safe for the specimen.")) return if(pad) pad.teleport_target = location - to_chat(user, "Location marked as test subject release point.") + to_chat(user, SPAN_NOTICE("Location marked as test subject release point.")) /obj/machinery/abductor/console/proc/Link_Abduction_Equipment() // these must all be explicitly `in machines` or they will not properly link. for(var/obj/machinery/abductor/pad/p in GLOB.abductor_equipment) @@ -220,10 +220,10 @@ /obj/machinery/abductor/console/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/abductor/gizmo) && AddGizmo(used)) - to_chat(user, "You link the tool to the console.") + to_chat(user, SPAN_NOTICE("You link the tool to the console.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/clothing/suit/armor/abductor/vest) && AddVest(used)) - to_chat(user, "You link the vest to the console.") + to_chat(user, SPAN_NOTICE("You link the vest to the console.")) return ITEM_INTERACT_COMPLETE return ..() diff --git a/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm b/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm index ce8c1ef9a0c..e004fc3cf02 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm @@ -78,7 +78,7 @@ /obj/machinery/abductor/gland_dispenser/attack_hand(mob/user) if(!isabductor(user)) - to_chat(user, "You don't understand any of the alien writing!") + to_chat(user, SPAN_WARNING("You don't understand any of the alien writing!")) return ui_interact(user) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm index a94195071f8..a6186dc2a77 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm @@ -30,14 +30,14 @@ if(isabductor(target)) return if(occupant) - to_chat(user, "[src] is already occupied.") + to_chat(user, SPAN_NOTICE("[src] is already occupied.")) return TRUE if(target.buckled) return if(target.has_buckled_mobs()) //mob attached to us - to_chat(user, "[target] will not fit into [src] because [target.p_they()] [target.p_have()] a slime latched onto [target.p_their()] head.") + to_chat(user, SPAN_WARNING("[target] will not fit into [src] because [target.p_they()] [target.p_have()] a slime latched onto [target.p_their()] head.")) return TRUE - visible_message("[user] puts [target] into [src].") + visible_message(SPAN_NOTICE("[user] puts [target] into [src].")) QDEL_LIST_CONTENTS(target.grabbed_by) target.forceMove(src) @@ -49,7 +49,7 @@ /obj/machinery/abductor/experiment/attack_hand(mob/user) if(!isabductor(user)) - to_chat(user, "You don't understand any of the alien writing!") + to_chat(user, SPAN_WARNING("You don't understand any of the alien writing!")) return ui_interact(user) @@ -126,14 +126,14 @@ sleep(5) switch(text2num(type)) if(1) - to_chat(H, "You feel violated.") + to_chat(H, SPAN_WARNING("You feel violated.")) if(2) - to_chat(H, "You feel yourself being sliced apart and put back together.") + to_chat(H, SPAN_WARNING("You feel yourself being sliced apart and put back together.")) if(3) - to_chat(H, "You feel intensely watched.") + to_chat(H, SPAN_WARNING("You feel intensely watched.")) sleep(5) - to_chat(H, "Your mind snaps!") - to_chat(H, "You can't remember how you got here...") + to_chat(H, SPAN_WARNING("Your mind snaps!")) + to_chat(H, "[SPAN_WARNING("You can't remember how you got here...")]") SSticker.mode.abductees += H.mind var/objtype = pick(subtypesof(/datum/objective/abductee/)) @@ -185,12 +185,12 @@ if(isabductor(grabbed.affecting)) return ITEM_INTERACT_COMPLETE if(occupant) - to_chat(user, "[src] is already occupied!") + to_chat(user, SPAN_NOTICE("[src] is already occupied!")) return ITEM_INTERACT_COMPLETE if(grabbed.affecting.has_buckled_mobs()) //mob attached to us - to_chat(user, "[grabbed.affecting] will not fit into [src] because [grabbed.affecting.p_they()] [grabbed.affecting.p_have()] a slime latched onto [grabbed.affecting.p_their()] head.") + to_chat(user, SPAN_WARNING("[grabbed.affecting] will not fit into [src] because [grabbed.affecting.p_they()] [grabbed.affecting.p_have()] a slime latched onto [grabbed.affecting.p_their()] head.")) return ITEM_INTERACT_COMPLETE - visible_message("[user] puts [grabbed.affecting] into [src].") + visible_message(SPAN_NOTICE("[user] puts [grabbed.affecting] into [src].")) var/mob/living/carbon/human/H = grabbed.affecting H.forceMove(src) occupant = H @@ -228,7 +228,7 @@ COOLDOWN_START(src, spam_cooldown, 2 SECONDS) if(!occupant) return - to_chat(occupant, "You start trying to break free!") + to_chat(occupant, SPAN_WARNING("You start trying to break free!")) if(!do_after_once(occupant, 20 SECONDS, FALSE, src, hidden = TRUE)) return var/list/possible_results = list( @@ -242,14 +242,14 @@ /obj/machinery/abductor/experiment/proc/electrocute_abductee() if(!occupant) return - to_chat(occupant, "Something is electrifying you!") + to_chat(occupant, SPAN_WARNING("Something is electrifying you!")) occupant.electrocute_act(10, src) do_sparks(5, TRUE, src) /obj/machinery/abductor/experiment/proc/sedate_abductee() if(!occupant) return - to_chat(occupant, "Something is stabbing you in the back!") + to_chat(occupant, SPAN_WARNING("Something is stabbing you in the back!")) occupant.apply_damage(5, BRUTE, BODY_ZONE_CHEST) occupant.reagents.add_reagent("pancuronium", 3) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm index 53cc0b3bea8..b15eb3d0365 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm @@ -20,7 +20,7 @@ for(var/mob/living/target in loc) target.forceMove(teleport_target) new /obj/effect/temp_visual/dir_setting/ninja(get_turf(target), target.dir) - to_chat(target, "The instability of the warp leaves you disoriented!") + to_chat(target, SPAN_WARNING("The instability of the warp leaves you disoriented!")) target.Stun(6 SECONDS) /obj/machinery/abductor/pad/proc/Retrieve(mob/living/target) diff --git a/code/game/gamemodes/miniantags/guardian/guardian.dm b/code/game/gamemodes/miniantags/guardian/guardian.dm index 339838f25e3..ff47e19fba8 100644 --- a/code/game/gamemodes/miniantags/guardian/guardian.dm +++ b/code/game/gamemodes/miniantags/guardian/guardian.dm @@ -89,13 +89,13 @@ if(summoner) if(summoner.stat == DEAD || (!summoner.check_death_method() && summoner.health <= HEALTH_THRESHOLD_DEAD)) summoner.remove_guardian_actions() - to_chat(src, "Your summoner has died!") - visible_message("[src] dies along with its user!") + to_chat(src, SPAN_DANGER("Your summoner has died!")) + visible_message(SPAN_DANGER("[src] dies along with its user!")) ghostize() qdel(src) snapback() if(summoned && !summoner && !admin_spawned) - to_chat(src, "You somehow lack a summoner! As a result, you dispel!") + to_chat(src, SPAN_DANGER("You somehow lack a summoner! As a result, you dispel!")) ghostize() qdel(src) @@ -104,8 +104,8 @@ if(summoner && loc && summoner.loc) if(get_dist(get_turf(summoner), get_turf(src)) <= range) return - to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!") - visible_message("[src] jumps back to its user.") + to_chat(src, SPAN_HOLOPARASITE("You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!")) + visible_message(SPAN_DANGER("[src] jumps back to its user.")) if(iseffect(summoner.loc) || istype(summoner.loc, /obj/machinery/atmospherics)) Recall(TRUE) else @@ -119,7 +119,7 @@ /mob/living/simple_animal/hostile/guardian/AttackingTarget() if(!is_deployed() && a_intent == INTENT_HARM) - to_chat(src, "You must be manifested to attack!") + to_chat(src, SPAN_DANGER("You must be manifested to attack!")) return FALSE else if(!is_deployed() && a_intent == INTENT_HELP) return FALSE @@ -135,7 +135,7 @@ . = ..() if(!.) return FALSE - to_chat(summoner, "Your [name] died somehow!") + to_chat(summoner, SPAN_DANGER("Your [name] died somehow!")) UnregisterSignal(summoner, COMSIG_LIVING_HEALTH_UPDATE) summoner.remove_guardian_actions() summoner.death() @@ -160,14 +160,14 @@ summoner.adjustBruteLoss(damage) if(damage < 0) - to_chat(summoner, "Your [name] is receiving healing. It heals you!") + to_chat(summoner, SPAN_NOTICE("Your [name] is receiving healing. It heals you!")) else - to_chat(summoner, "Your [name] is under attack! You take damage!") + to_chat(summoner, SPAN_DANGER("Your [name] is under attack! You take damage!")) if(!stealthy_deploying) - summoner.visible_message("Blood sprays from [summoner] as [src] takes damage!") + summoner.visible_message(SPAN_DANGER("Blood sprays from [summoner] as [src] takes damage!")) if(summoner.stat == UNCONSCIOUS) - to_chat(summoner, "Your body can't take the strain of sustaining [src] in this condition, it begins to fall apart!") + to_chat(summoner, SPAN_DANGER("Your body can't take the strain of sustaining [src] in this condition, it begins to fall apart!")) summoner.adjustCloneLoss(damage / 2) /mob/living/simple_animal/hostile/guardian/ex_act(severity, target) @@ -184,7 +184,7 @@ /mob/living/simple_animal/hostile/guardian/gib() if(summoner) summoner.remove_guardian_actions() - to_chat(summoner, "Your [src] was blown up!") + to_chat(summoner, SPAN_DANGER("Your [src] was blown up!")) summoner.Weaken(20 SECONDS)// your fermillier has died! ROLL FOR CON LOSS! UnregisterSignal(summoner, COMSIG_LIVING_HEALTH_UPDATE) ghostize() @@ -235,8 +235,8 @@ return // Show the message to the host and to the guardian. - to_chat(summoner, "[src]: [input]") - to_chat(src, "[src]: [input]") + to_chat(summoner, SPAN_CHANGELING("[src]: [input]")) + to_chat(src, SPAN_CHANGELING("[src]: [input]")) log_say("(GUARDIAN to [key_name(summoner)]): [input]", src) create_log(SAY_LOG, "GUARDIAN to HOST: [input]", summoner) @@ -253,16 +253,16 @@ /mob/living/simple_animal/hostile/guardian/proc/ToggleMode() - to_chat(src, "You dont have another mode!") + to_chat(src, SPAN_DANGER("You dont have another mode!")) /mob/living/simple_animal/hostile/guardian/proc/ToggleLight() if(!light_on) set_light(luminosity_on) - to_chat(src, "You activate your light.") + to_chat(src, SPAN_NOTICE("You activate your light.")) else set_light(0) - to_chat(src, "You deactivate your light.") + to_chat(src, SPAN_NOTICE("You deactivate your light.")) light_on = !light_on ////////Creation @@ -304,7 +304,7 @@ used = TRUE // Set this BEFORE the popup to prevent people using the injector more than once, polling ghosts multiple times, and receiving multiple guardians. var/choice = tgui_alert(user, "[confirmation_message]", "Confirm", list("Yes", "No")) if(choice != "Yes") - to_chat(user, "You decide against using the [name].") + to_chat(user, SPAN_WARNING("You decide against using the [name].")) used = FALSE return to_chat(user, "[use_message]") @@ -317,7 +317,7 @@ else guardian_type = tgui_input_list(user, "Pick the type of [mob_name]", "[mob_name] Creation", possible_guardians) if(!guardian_type) - to_chat(user, "You decide against using the [name].") + to_chat(user, SPAN_WARNING("You decide against using the [name].")) used = FALSE return @@ -339,7 +339,7 @@ /obj/item/guardiancreator/examine(mob/user, distance) . = ..() if(used) - . += "[used_message]" + . += SPAN_NOTICE("[used_message]") /obj/item/guardiancreator/proc/has_guardian(mob/living/user) for(var/mob/living/simple_animal/hostile/guardian/G in GLOB.alive_mob_list) @@ -386,7 +386,7 @@ to_chat(G, "You are capable of manifesting or recalling to your master with verbs in the Guardian tab. You will also find a verb to communicate with them privately there.") to_chat(G, "While personally invincible, you will die if [user.real_name] does, and any damage dealt to you will have a portion passed on to them as you feed upon them to sustain yourself.") to_chat(G, "[G.playstyle_string]") - to_chat(G, "For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Guardian)") + to_chat(G, SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Guardian)")) G.faction = user.faction var/color = pick(color_list) diff --git a/code/game/gamemodes/miniantags/guardian/host_actions.dm b/code/game/gamemodes/miniantags/guardian/host_actions.dm index 79db77e2a83..f5431f87a1a 100644 --- a/code/game/gamemodes/miniantags/guardian/host_actions.dm +++ b/code/game/gamemodes/miniantags/guardian/host_actions.dm @@ -32,8 +32,8 @@ return // Show the message to our guardian and to host. - to_chat(guardian, "[owner]: [input]") - to_chat(owner, "[owner]: [input]") + to_chat(guardian, SPAN_CHANGELING("[owner]: [input]")) + to_chat(owner, SPAN_CHANGELING("[owner]: [input]")) log_say("(HOST to [key_name(guardian)]): [input]", owner) owner.create_log(SAY_LOG, "HOST to GUARDIAN: [input]", guardian) @@ -73,7 +73,7 @@ /datum/action/guardian/reset_guardian/Trigger(left_click) if(cooldown_timer) - to_chat(owner, "This ability is still recharging.") + to_chat(owner, SPAN_WARNING("This ability is still recharging.")) return var/confirm = tgui_alert(owner, "Are you sure you want replace your guardian's player?", "Confirm", list("Yes", "No")) @@ -84,18 +84,18 @@ cooldown_timer = addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), 5 MINUTES) build_all_button_icons() - to_chat(owner, "Searching for a replacement ghost...") + to_chat(owner, SPAN_DANGER("Searching for a replacement ghost...")) var/list/mob/dead/observer/candidates = SSghost_spawns.poll_candidates("Do you want to play as [guardian.real_name]?", ROLE_GUARDIAN, FALSE, 15 SECONDS, source = guardian) if(!length(candidates)) - to_chat(owner, "There were no ghosts willing to take control of your guardian. You can try again in 5 minutes.") + to_chat(owner, SPAN_DANGER("There were no ghosts willing to take control of your guardian. You can try again in 5 minutes.")) return if(QDELETED(guardian)) // Just in case return var/mob/dead/observer/new_stand = pick(candidates) - to_chat(guardian, "Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance.") - to_chat(owner, "Your guardian has been successfully reset.") + to_chat(guardian, SPAN_DANGER("Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance.")) + to_chat(owner, SPAN_DANGER("Your guardian has been successfully reset.")) message_admins("[key_name_admin(new_stand)] has taken control of ([key_name_admin(guardian)])") guardian.ghostize() guardian.key = new_stand.key @@ -122,7 +122,7 @@ if(isfloorturf(beacon_loc) && !islava(beacon_loc) && !ischasm(beacon_loc)) QDEL_NULL(guardian_user.beacon) guardian_user.beacon = new(beacon_loc) - to_chat(guardian_user, "Beacon placed! You may now warp targets to it, including your user, via Alt Click.") + to_chat(guardian_user, SPAN_NOTICE("Beacon placed! You may now warp targets to it, including your user, via Alt Click.")) return TRUE @@ -148,14 +148,14 @@ S.spawner = guardian_user S.name = "[get_area(snare_loc)] trap ([snare_loc.x],[snare_loc.y],[snare_loc.z])" guardian_user.snares |= S - to_chat(guardian_user, "Surveillance trap deployed!") + to_chat(guardian_user, SPAN_NOTICE("Surveillance trap deployed!")) return TRUE else var/picked_snare = tgui_input_list(guardian_user, "You have too many snares deployed! Delete one to place another.", "Disarm Snare", guardian_user.snares) if(picked_snare) guardian_user.snares -= picked_snare qdel(picked_snare) - to_chat(user, "Snare disarmed.") + to_chat(user, SPAN_NOTICE("Snare disarmed.")) revert_cast() /datum/spell/choose_battlecry diff --git a/code/game/gamemodes/miniantags/guardian/types/assassin.dm b/code/game/gamemodes/miniantags/guardian/types/assassin.dm index fd9a45493fa..fe610489dc2 100644 --- a/code/game/gamemodes/miniantags/guardian/types/assassin.dm +++ b/code/game/gamemodes/miniantags/guardian/types/assassin.dm @@ -60,16 +60,16 @@ environment_smash = initial(environment_smash) alpha = initial(alpha) if(!forced) - to_chat(src, "You exit stealth.") + to_chat(src, SPAN_DANGER("You exit stealth.")) else - visible_message("[src] suddenly appears!") + visible_message(SPAN_DANGER("[src] suddenly appears!")) stealthcooldown = world.time + default_stealth_cooldown //we were forced out of stealth and go on cooldown cooldown = world.time + 40 //can't recall for 4 seconds updatestealthalert() toggle = FALSE else if(stealthcooldown <= world.time) if(loc == summoner) - to_chat(src, "You automatically deploy stealthed!") + to_chat(src, SPAN_NOTICE("You automatically deploy stealthed!")) return melee_damage_lower = 50 melee_damage_upper = 50 @@ -78,11 +78,11 @@ environment_smash = ENVIRONMENT_SMASH_NONE alpha = 10 if(!forced) - to_chat(src, "You enter stealth, becoming mostly invisible, empowering your next attack.") + to_chat(src, SPAN_DANGER("You enter stealth, becoming mostly invisible, empowering your next attack.")) updatestealthalert() toggle = TRUE else if(!forced) - to_chat(src, "You cannot yet enter stealth, wait another [max(round((stealthcooldown - world.time)*0.1, 0.1), 0)] seconds!") + to_chat(src, SPAN_DANGER("You cannot yet enter stealth, wait another [max(round((stealthcooldown - world.time)*0.1, 0.1), 0)] seconds!")) /mob/living/simple_animal/hostile/guardian/assassin/proc/updatestealthalert() if(stealthcooldown <= world.time) diff --git a/code/game/gamemodes/miniantags/guardian/types/charger.dm b/code/game/gamemodes/miniantags/guardian/types/charger.dm index fd5ae62d462..08d941bbd19 100644 --- a/code/game/gamemodes/miniantags/guardian/types/charger.dm +++ b/code/game/gamemodes/miniantags/guardian/types/charger.dm @@ -24,7 +24,7 @@ /mob/living/simple_animal/hostile/guardian/charger/OpenFire(atom/A) if(!charging) - visible_message("[src] [ranged_message] at [A]!") + visible_message(SPAN_DANGER("[src] [ranged_message] at [A]!")) ranged_cooldown = world.time + ranged_cooldown_time clear_alert("charge") chargealert = null @@ -63,7 +63,7 @@ blocked = TRUE if(!blocked) L.KnockDown(2 SECONDS) - L.visible_message("[src] slams into [L]!", "[src] slams into you!") + L.visible_message(SPAN_DANGER("[src] slams into [L]!"), SPAN_USERDANGER("[src] slams into you!")) L.apply_damage(20, BRUTE) playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, 1) shake_camera(L, 4, 3) diff --git a/code/game/gamemodes/miniantags/guardian/types/explosive_guardian.dm b/code/game/gamemodes/miniantags/guardian/types/explosive_guardian.dm index d5da7e6c075..3d6766908c1 100644 --- a/code/game/gamemodes/miniantags/guardian/types/explosive_guardian.dm +++ b/code/game/gamemodes/miniantags/guardian/types/explosive_guardian.dm @@ -18,7 +18,7 @@ if(!istype(A)) return if(get_dist(get_turf(src), get_turf(A)) > 1) - to_chat(src, "You're too far from [A] to disguise it as a bomb.") + to_chat(src, SPAN_DANGER("You're too far from [A] to disguise it as a bomb.")) return if(isobj(A) && can_plant(A)) if(bomb_cooldown <= world.time && stat == CONSCIOUS) @@ -27,26 +27,26 @@ saboteur_ = src, \ explosive_check_ = CALLBACK(src, PROC_REF(validate_target))) add_attack_logs(src, A, "booby trapped (summoner: [summoner])") - to_chat(src, "Success! Bomb on [A] armed!") + to_chat(src, SPAN_DANGER("Success! Bomb on [A] armed!")) if(summoner) - to_chat(summoner, "Your guardian has primed [A] to explode!") + to_chat(summoner, SPAN_WARNING("Your guardian has primed [A] to explode!")) bomb_cooldown = world.time + default_bomb_cooldown else - to_chat(src, "Your power is on cooldown! You must wait another [max(round((bomb_cooldown - world.time)*0.1, 0.1), 0)] seconds before you can place next bomb.") + to_chat(src, SPAN_DANGER("Your power is on cooldown! You must wait another [max(round((bomb_cooldown - world.time)*0.1, 0.1), 0)] seconds before you can place next bomb.")) /mob/living/simple_animal/hostile/guardian/bomb/proc/validate_target(atom/source, mob/living/target) if(target == summoner) add_attack_logs(target, source, "booby trap defused") - to_chat(target, "You knew this because of your link with your guardian, so you smartly defuse the bomb.") + to_chat(target, SPAN_DANGER("You knew this because of your link with your guardian, so you smartly defuse the bomb.")) return DIRECT_EXPLOSIVE_TRAP_DEFUSE /mob/living/simple_animal/hostile/guardian/bomb/proc/can_plant(atom/movable/A) if(ismecha(A)) var/obj/mecha/target = A if(target.occupant) - to_chat(src, "You can't disguise piloted mechs as a bomb!") + to_chat(src, SPAN_WARNING("You can't disguise piloted mechs as a bomb!")) return FALSE if(istype(A, /obj/machinery/disposal)) // Have no idea why they just destroy themselves - to_chat(src, "You can't disguise disposal units as a bomb!") + to_chat(src, SPAN_WARNING("You can't disguise disposal units as a bomb!")) return FALSE return TRUE diff --git a/code/game/gamemodes/miniantags/guardian/types/gaseous.dm b/code/game/gamemodes/miniantags/guardian/types/gaseous.dm index c6d44669021..8fb698ba6b1 100644 --- a/code/game/gamemodes/miniantags/guardian/types/gaseous.dm +++ b/code/game/gamemodes/miniantags/guardian/types/gaseous.dm @@ -48,11 +48,11 @@ var/picked_gas = tgui_input_list(src, "Select a gas to expel.", "Gas Producer", possible_gases) if(!picked_gas) moles_of_gas = null - to_chat(src, "You stopped expelling gas.") + to_chat(src, SPAN_NOTICE("You stopped expelling gas.")) return if(!picked_gas) return - to_chat(src, "You are now expelling [picked_gas].") + to_chat(src, SPAN_BOLDDANGER("You are now expelling [picked_gas].")) investigate_log("set their gas type to [picked_gas].", INVESTIGATE_ATMOS) moles_of_gas = possible_gases[picked_gas] switch(picked_gas) diff --git a/code/game/gamemodes/miniantags/guardian/types/healer.dm b/code/game/gamemodes/miniantags/guardian/types/healer.dm index bc043c8792e..caaaf525e6d 100644 --- a/code/game/gamemodes/miniantags/guardian/types/healer.dm +++ b/code/game/gamemodes/miniantags/guardian/types/healer.dm @@ -53,7 +53,7 @@ /mob/living/simple_animal/hostile/guardian/healer/AttackingTarget() . = ..() if(loc == summoner) - to_chat(src, "You must be manifested to heal!") + to_chat(src, SPAN_DANGER("You must be manifested to heal!")) return if(toggle == HEALING) if(iscarbon(target)) @@ -74,7 +74,7 @@ return var/mob/living/carbon/human/C = target if(surgical_cooldown <= world.time && stat == CONSCIOUS) - to_chat(src, "You begin to do a mass repair on [C], keep them still!") + to_chat(src, SPAN_NOTICE("You begin to do a mass repair on [C], keep them still!")) surgical_cooldown = world.time + 10 SECONDS if(!do_after_once(src, 10 SECONDS, target = src)) return @@ -93,7 +93,7 @@ speed = 0 melee_damage_lower = 15 melee_damage_upper = 15 - to_chat(src, "You switch to combat mode.") + to_chat(src, SPAN_DANGER("You switch to combat mode.")) toggle = COMBAT if(COMBAT) a_intent = INTENT_HELP @@ -101,13 +101,13 @@ speed = 1 melee_damage_lower = 0 melee_damage_upper = 0 - to_chat(src, "You switch to healing mode.") + to_chat(src, SPAN_DANGER("You switch to healing mode.")) toggle = HEALING if(HEALING) - to_chat(src, "You switch to surgical. You no longer heal on punch, but can do a big critical injury healing on a long cooldown.") + to_chat(src, SPAN_DANGER("You switch to surgical. You no longer heal on punch, but can do a big critical injury healing on a long cooldown.")) toggle = SURGICAL else - to_chat(src, "You have to be recalled to toggle modes!") + to_chat(src, SPAN_DANGER("You have to be recalled to toggle modes!")) /obj/effect/bluespace_beacon name = "bluespace receiving pad" @@ -120,22 +120,22 @@ if(!istype(A)) return if(loc == summoner) - to_chat(src, "You must be manifested to warp a target!") + to_chat(src, SPAN_DANGER("You must be manifested to warp a target!")) return if(!beacon) - to_chat(src, "You need a beacon placed to warp things!") + to_chat(src, SPAN_DANGER("You need a beacon placed to warp things!")) return if(!Adjacent(A)) - to_chat(src, "You must be adjacent to your target!") + to_chat(src, SPAN_DANGER("You must be adjacent to your target!")) return if(A.anchored) - to_chat(src, "Your target can not be anchored!") + to_chat(src, SPAN_DANGER("Your target can not be anchored!")) return - to_chat(src, "You begin to warp [A]") + to_chat(src, SPAN_DANGER("You begin to warp [A]")) if(do_mob(src, A, 5 SECONDS)) if(!A.anchored) if(!beacon) //Check that the beacon still exists and is in a safe place. No instant kills. - to_chat(src, "You need a beacon to warp things!") + to_chat(src, SPAN_DANGER("You need a beacon to warp things!")) return var/turf/T = get_turf(beacon) if(T.is_safe()) // Walls always return false @@ -143,10 +143,10 @@ do_teleport(A, beacon, 0) new /obj/effect/temp_visual/guardian/phase(get_turf(A)) return - to_chat(src, "The beacon isn't in a safe location!") + to_chat(src, SPAN_DANGER("The beacon isn't in a safe location!")) return else - to_chat(src, "You need to hold still!") + to_chat(src, SPAN_DANGER("You need to hold still!")) #undef COMBAT diff --git a/code/game/gamemodes/miniantags/guardian/types/lightning_guardian.dm b/code/game/gamemodes/miniantags/guardian/types/lightning_guardian.dm index 98a0b706413..cd4a47452a9 100644 --- a/code/game/gamemodes/miniantags/guardian/types/lightning_guardian.dm +++ b/code/game/gamemodes/miniantags/guardian/types/lightning_guardian.dm @@ -109,9 +109,9 @@ continue if(successfulshocks > 4) L.visible_message( - "[L] was shocked by the lightning chain!", \ - "You are shocked by the lightning chain!", \ - "You hear a heavy electrical crack." \ + SPAN_DANGER("[L] was shocked by the lightning chain!"), \ + SPAN_USERDANGER("You are shocked by the lightning chain!"), \ + SPAN_ITALICS("You hear a heavy electrical crack.") \ ) L.adjustFireLoss(2.4) //adds up very rapidly . = 1 diff --git a/code/game/gamemodes/miniantags/guardian/types/protector.dm b/code/game/gamemodes/miniantags/guardian/types/protector.dm index 6ab3420209c..6a0d365c259 100644 --- a/code/game/gamemodes/miniantags/guardian/types/protector.dm +++ b/code/game/gamemodes/miniantags/guardian/types/protector.dm @@ -18,7 +18,7 @@ else ..() if(toggle) - visible_message("The explosion glances off [src]'s energy shielding!") + visible_message(SPAN_DANGER("The explosion glances off [src]'s energy shielding!")) /mob/living/simple_animal/hostile/guardian/protector/Manifest() @@ -56,14 +56,14 @@ move_resist = initial(move_resist) speed = initial(speed) damage_transfer = 0.4 - to_chat(src, "You switch to combat mode.") + to_chat(src, SPAN_DANGER("You switch to combat mode.")) toggle = FALSE QDEL_LIST_CONTENTS(connected_shields) else if(!isturf(loc)) return if(get_turf(summoner) == get_turf(src)) - to_chat(src, "You cannot deploy your shield while on your host!") + to_chat(src, SPAN_WARNING("You cannot deploy your shield while on your host!")) return var/icon/shield_overlay = icon('icons/effects/effects.dmi', "shield-grey") shield_overlay *= name_color @@ -74,7 +74,7 @@ move_resist = MOVE_FORCE_STRONG speed = 1 damage_transfer = 0.1 //damage? what's damage? - to_chat(src, "You switch to protection mode.") + to_chat(src, SPAN_DANGER("You switch to protection mode.")) toggle = TRUE var/dir_left = turn(dir, -90) var/dir_right = turn(dir, 90) @@ -88,12 +88,12 @@ return else if(iseffect(summoner.loc)) - to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!") - visible_message("[src] jumps back to its user.") + to_chat(src, SPAN_HOLOPARASITE("You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!")) + visible_message(SPAN_DANGER("[src] jumps back to its user.")) Recall(TRUE) else - to_chat(summoner, "You moved out of range, and were pulled back! You can only move [range] meters from [src]!") - summoner.visible_message("[summoner] jumps back to [summoner.p_their()] protector.") + to_chat(summoner, SPAN_HOLOPARASITE("You moved out of range, and were pulled back! You can only move [range] meters from [src]!")) + summoner.visible_message(SPAN_DANGER("[summoner] jumps back to [summoner.p_their()] protector.")) new /obj/effect/temp_visual/guardian/phase/out(get_turf(summoner)) summoner.forceMove(get_turf(src)) new /obj/effect/temp_visual/guardian/phase(get_turf(summoner))//Protector @@ -138,7 +138,7 @@ if(..() || !attacking.force) return FINISH_ATTACK - user.visible_message("[user] has hit [src] with [attacking]!", "You hit [src] with [attacking]!") + user.visible_message(SPAN_DANGER("[user] has hit [src] with [attacking]!"), SPAN_DANGER("You hit [src] with [attacking]!")) linked_guardian.apply_damage(attacking.force, attacking.damtype) return FINISH_ATTACK diff --git a/code/game/gamemodes/miniantags/guardian/types/ranged.dm b/code/game/gamemodes/miniantags/guardian/types/ranged.dm index d82d279097e..3fe576fc948 100644 --- a/code/game/gamemodes/miniantags/guardian/types/ranged.dm +++ b/code/game/gamemodes/miniantags/guardian/types/ranged.dm @@ -38,7 +38,7 @@ range = 13 incorporeal_move = NO_INCORPOREAL_MOVE ADD_TRAIT(src, TRAIT_CAN_STRIP, TRAIT_GENERIC) - to_chat(src, "You switch to combat mode.") + to_chat(src, SPAN_DANGER("You switch to combat mode.")) toggle = FALSE else ranged = FALSE @@ -50,10 +50,10 @@ range = 255 incorporeal_move = INCORPOREAL_MOVE_NORMAL REMOVE_TRAIT(src, TRAIT_CAN_STRIP, TRAIT_GENERIC) //spiritual pickpocketting is forbidden - to_chat(src, "You switch to scout mode.") + to_chat(src, SPAN_DANGER("You switch to scout mode.")) toggle = TRUE else - to_chat(src, "You have to be recalled to toggle modes!") + to_chat(src, SPAN_DANGER("You have to be recalled to toggle modes!")) /mob/living/simple_animal/hostile/guardian/ranged/ToggleLight() var/msg @@ -73,7 +73,7 @@ update_sight() - to_chat(src, "[msg]") + to_chat(src, SPAN_NOTICE("[msg]")) /mob/living/simple_animal/hostile/guardian/ranged/blob_act(obj/structure/blob/B) if(toggle) @@ -103,8 +103,8 @@ if(isliving(entered)) var/turf/snare_loc = get_turf(loc) if(spawner) - to_chat(spawner, "[entered] has crossed your surveillance trap at [get_area(snare_loc)].") + to_chat(spawner, SPAN_DANGER("[entered] has crossed your surveillance trap at [get_area(snare_loc)].")) if(isguardian(spawner)) var/mob/living/simple_animal/hostile/guardian/G = spawner if(G.summoner) - to_chat(G.summoner, "[entered] has crossed your surveillance trap at [get_area(snare_loc)].") + to_chat(G.summoner, SPAN_DANGER("[entered] has crossed your surveillance trap at [get_area(snare_loc)].")) diff --git a/code/game/gamemodes/miniantags/guardian/types/standard_guardian.dm b/code/game/gamemodes/miniantags/guardian/types/standard_guardian.dm index 2ffa36b78eb..095dff3f3c4 100644 --- a/code/game/gamemodes/miniantags/guardian/types/standard_guardian.dm +++ b/code/game/gamemodes/miniantags/guardian/types/standard_guardian.dm @@ -18,7 +18,7 @@ . = ..() if(iscarbon(target) && target != summoner) if(length(battlecry) > 11)//no more then 11 letters in a battle cry. - visible_message("[src] punches [target]!") + visible_message(SPAN_DANGER("[src] punches [target]!")) else say("[battlecry][battlecry][battlecry][battlecry][battlecry]", TRUE) playsound(loc, attack_sound, 50, TRUE, 1) diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm index ca570afe7e1..b2a07801f06 100644 --- a/code/game/gamemodes/miniantags/morph/morph.dm +++ b/code/game/gamemodes/miniantags/morph/morph.dm @@ -95,23 +95,23 @@ /mob/living/simple_animal/hostile/morph/proc/try_eat(atom/movable/A) var/food_value = calc_food_gained(A) if(food_value + gathered_food < 0) - to_chat(src, "You can't force yourself to eat more disgusting items. Eat some living things first.") + to_chat(src, SPAN_WARNING("You can't force yourself to eat more disgusting items. Eat some living things first.")) return var/eat_self_message if(food_value < 0) - eat_self_message = "You start eating [A]... disgusting...." + eat_self_message = SPAN_WARNING("You start eating [A]... disgusting....") else - eat_self_message = "You start eating [A]." - visible_message("[src] starts eating [target]!", eat_self_message, "You hear loud crunching!") + eat_self_message = SPAN_NOTICE("You start eating [A].") + visible_message(SPAN_WARNING("[src] starts eating [target]!"), eat_self_message, "You hear loud crunching!") if(do_after(src, 3 SECONDS, target = A)) if(food_value + gathered_food < 0) - to_chat(src, "You can't force yourself to eat more disgusting items. Eat some living things first.") + to_chat(src, SPAN_WARNING("You can't force yourself to eat more disgusting items. Eat some living things first.")) return eat(A) /mob/living/simple_animal/hostile/morph/proc/eat(atom/movable/A) if(A && A.loc != src) - visible_message("[src] swallows [A] whole!") + visible_message(SPAN_WARNING("[src] swallows [A] whole!")) var/mob/living/carbon/human/H = A if(istype(H) && H.w_uniform && istype(H.w_uniform, /obj/item/clothing/under)) @@ -175,7 +175,7 @@ melee_damage_upper = initial(melee_damage_upper) speed = initial(speed) if(ambush_prepared) - to_chat(src, "The ambush potential has faded as you take your true form.") + to_chat(src, SPAN_WARNING("The ambush potential has faded as you take your true form.")) failed_ambush() pass_airlock_spell.build_all_button_icons() move_resist = MOVE_FORCE_STRONG // Return to their fatness @@ -183,7 +183,7 @@ /mob/living/simple_animal/hostile/morph/proc/prepare_ambush() ambush_prepared = TRUE - to_chat(src, "You are ready to ambush any unsuspected target. Your next attack will hurt a lot more and weaken the target! Moving will break your focus. Standing still will perfect your disguise.") + to_chat(src, SPAN_SINISTER("You are ready to ambush any unsuspected target. Your next attack will hurt a lot more and weaken the target! Moving will break your focus. Standing still will perfect your disguise.")) apply_status_effect(/datum/status_effect/morph_ambush) RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) @@ -197,12 +197,12 @@ /mob/living/simple_animal/hostile/morph/proc/perfect_ambush() mimic_spell.perfect_disguise = TRUE // Reset the perfect disguise - to_chat(src, "You've perfected your disguise. Making you indistinguishable from the real form!") + to_chat(src, SPAN_SINISTER("You've perfected your disguise. Making you indistinguishable from the real form!")) remove_from_all_data_huds() /mob/living/simple_animal/hostile/morph/proc/on_move() failed_ambush() - to_chat(src, "You moved out of your ambush spot!") + to_chat(src, SPAN_WARNING("You moved out of your ambush spot!")) /mob/living/simple_animal/hostile/morph/add_ventcrawl() . = ..() @@ -229,13 +229,13 @@ if(user.a_intent != INTENT_HELP) return CONTINUE_ATTACK if(!contents.len) - to_chat(user, "[src] doesnt have anything left inside it!") + to_chat(user, SPAN_WARNING("[src] doesnt have anything left inside it!")) return ITEM_INTERACT_COMPLETE playsound(loc, 'sound/weapons/slice.ogg', 50, TRUE, -1) visible_message( - "[src] begins to pry open the morph's massive jaws!", - "You begin to pry open the morph's massive jaws!", - "You hear wet, meaty tearing nearby!" + SPAN_WARNING("[src] begins to pry open the morph's massive jaws!"), + SPAN_DANGER("You begin to pry open the morph's massive jaws!"), + SPAN_WARNING("You hear wet, meaty tearing nearby!") ) if(do_after_once(user, 8 SECONDS, target = src)) eject_contents() @@ -244,7 +244,7 @@ /mob/living/simple_animal/hostile/morph/attack_hand(mob/living/carbon/human/M) if(ambush_prepared) - to_chat(M, "[src] feels a bit different from normal... it feels more.. SLIMEY?!") + to_chat(M, SPAN_WARNING("[src] feels a bit different from normal... it feels more..
SLIMEY?!")) ambush_attack(M, TRUE) else return ..() @@ -253,14 +253,14 @@ . = ..() if(stat == DEAD) if(length(contents)) - . += "You can use ALT + Click to eject anything the morph may have eaten." + . += SPAN_NOTICE("You can use ALT + Click to eject anything the morph may have eaten.") else if(in_range(user, src)) - . += "\The [src] seems to have nothing left inside of it!" + . += SPAN_WARNING("\The [src] seems to have nothing left inside of it!") #define MORPH_ATTACKED if((. = ..()) && morphed) mimic_spell.restore_form(src) /mob/living/simple_animal/hostile/morph/attack_by(obj/item/O, mob/living/user, params) if(user.a_intent == INTENT_HELP && ambush_prepared) - to_chat(user, "You try to use [O] on [src]... it seems different than no-") + to_chat(user, SPAN_WARNING("You try to use [O] on [src]... it seems different than no-")) ambush_attack(user, TRUE) return FINISH_ATTACK @@ -268,7 +268,7 @@ /mob/living/simple_animal/hostile/morph/attack_animal(mob/living/simple_animal/M) if(M.a_intent == INTENT_HELP && ambush_prepared) - to_chat(M, "You nuzzle [src]. And [src] nuzzles back!") + to_chat(M, SPAN_NOTICE("You nuzzle [src]. And [src] nuzzles back!")) ambush_attack(M, TRUE) return TRUE MORPH_ATTACKED @@ -302,7 +302,7 @@ L.apply_damage(total_damage, BRUTE) add_attack_logs(src, L, "morph ambush attacked") do_attack_animation(L, ATTACK_EFFECT_BITE) - visible_message("[src] suddenly leaps towards [L]!", "You strike [L] when [L.p_they()] least expected it!", "You hear a horrible crunch!") + visible_message(SPAN_DANGER("[src] suddenly leaps towards [L]!"), SPAN_WARNING("You strike [L] when [L.p_they()] least expected it!"), "You hear a horrible crunch!") mimic_spell.restore_form(src) @@ -347,14 +347,14 @@ SSticker.mode.traitors |= mind var/list/messages = list() messages.Add("You are a morph.
") - messages.Add("You hunger for living beings and desire to procreate. Achieve this goal by ambushing unsuspecting pray using your abilities.") - messages.Add("As an abomination created primarily with changeling cells you may take the form of anything nearby by using your Mimic ability.") - messages.Add("The transformation will not go unnoticed for bystanding observers.") - messages.Add("While morphed, you move slower and do less damage. In addition, anyone within three tiles will note an uncanny wrongness if examining you.") - messages.Add("From this form you can however Prepare an Ambush using your ability.") - messages.Add("This will allow you to deal a lot of damage the first hit. And if they touch you then even more.") - messages.Add("Finally, you can attack any item or dead creature to consume it - creatures will restore 1/3 of your max health and will add to your stored food while eating items will reduce your stored food.") - messages.Add("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Morph)") + messages.Add(SPAN_SINISTER("You hunger for living beings and desire to procreate. Achieve this goal by ambushing unsuspecting pray using your abilities.")) + messages.Add(SPAN_SPECIALNOTICE("As an abomination created primarily with changeling cells you may take the form of anything nearby by using your Mimic ability.")) + messages.Add(SPAN_SPECIALNOTICE("The transformation will not go unnoticed for bystanding observers.")) + messages.Add("While morphed[SPAN_SPECIALNOTICE(", you move slower and do less damage. In addition, anyone within three tiles will note an uncanny wrongness if examining you.")]") + messages.Add(SPAN_SPECIALNOTICE("From this form you can however Prepare an Ambush using your ability.")) + messages.Add(SPAN_SPECIALNOTICE("This will allow you to deal a lot of damage the first hit. And if they touch you then even more.")) + messages.Add(SPAN_SPECIALNOTICE("Finally, you can attack any item or dead creature to consume it - creatures will restore 1/3 of your max health and will add to your stored food while eating items will reduce your stored food.")) + messages.Add(SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Morph)")) SEND_SOUND(src, sound('sound/magic/mutate.ogg')) if(give_default_objectives) mind.add_mind_objective(/datum/objective/morph_eat) diff --git a/code/game/gamemodes/miniantags/morph/spells/ambush.dm b/code/game/gamemodes/miniantags/morph/spells/ambush.dm index 8f25fdbc276..9cf13b343d2 100644 --- a/code/game/gamemodes/miniantags/morph/spells/ambush.dm +++ b/code/game/gamemodes/miniantags/morph/spells/ambush.dm @@ -16,20 +16,20 @@ return if(!user.morphed) if(show_message) - to_chat(user, "You can only prepare an ambush if you're disguised!") + to_chat(user, SPAN_WARNING("You can only prepare an ambush if you're disguised!")) return FALSE if(user.ambush_prepared) if(show_message) - to_chat(user, "You are already prepared!") + to_chat(user, SPAN_WARNING("You are already prepared!")) return FALSE /datum/spell/morph_spell/ambush/cast(list/targets, mob/living/simple_animal/hostile/morph/user) - to_chat(user, "You start preparing an ambush.") + to_chat(user, SPAN_SINISTER("You start preparing an ambush.")) if(!do_after(user, 6 SECONDS, FALSE, user, TRUE, list(CALLBACK(src, PROC_REF(prepare_check), user)), FALSE)) if(!user.morphed) - to_chat(user, "You need to stay morphed to prepare the ambush!") + to_chat(user, SPAN_WARNING("You need to stay morphed to prepare the ambush!")) return - to_chat(user, "You need to stay still to prepare the ambush!") + to_chat(user, SPAN_WARNING("You need to stay still to prepare the ambush!")) return user.prepare_ambush() diff --git a/code/game/gamemodes/miniantags/morph/spells/open_vent.dm b/code/game/gamemodes/miniantags/morph/spells/open_vent.dm index 6337bbe29e4..81fcd3d5302 100644 --- a/code/game/gamemodes/miniantags/morph/spells/open_vent.dm +++ b/code/game/gamemodes/miniantags/morph/spells/open_vent.dm @@ -21,12 +21,12 @@ /datum/spell/morph_spell/open_vent/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No nearby welded vents found!") + to_chat(user, SPAN_WARNING("No nearby welded vents found!")) revert_cast(user) return - to_chat(user, "You begin regurgitating up some acidic puke!") + to_chat(user, SPAN_SINISTER("You begin regurgitating up some acidic puke!")) if(!do_after(user, 2 SECONDS, FALSE, user)) - to_chat(user, "You swallow the acid again.") + to_chat(user, SPAN_WARNING("You swallow the acid again.")) revert_cast(user) return for(var/thing in targets) diff --git a/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm b/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm index a13e75b8422..f597e2543eb 100644 --- a/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm +++ b/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm @@ -4,7 +4,7 @@ desc = "Reform yourself so you can fit through a non bolted airlock. Takes a while to do and can only be used in a non disguised form." action_icon_state = "morph_airlock" antimagic_flags = NONE - selection_activated_message = "Click on an airlock to try pass it." + selection_activated_message = SPAN_SINISTER("Click on an airlock to try pass it.") /datum/spell/morph_spell/pass_airlock/create_new_targeting() var/datum/spell_targeting/click/T = new @@ -21,29 +21,29 @@ if(user.morphed) if(show_message) - to_chat(user, "You can only pass through airlocks in your true form!") + to_chat(user, SPAN_WARNING("You can only pass through airlocks in your true form!")) return FALSE /datum/spell/morph_spell/pass_airlock/cast(list/targets, mob/living/simple_animal/hostile/morph/user) var/obj/machinery/door/airlock/A = targets[1] if(A.locked) - to_chat(user, "[A] is bolted shut! You're unable to create a crack to pass through!") + to_chat(user, SPAN_WARNING("[A] is bolted shut! You're unable to create a crack to pass through!")) revert_cast(user) return - user.visible_message("[user] starts pushing itself against [A]!", "You try to pry [A] open enough to get through.") + user.visible_message(SPAN_WARNING("[user] starts pushing itself against [A]!"), SPAN_SINISTER("You try to pry [A] open enough to get through.")) if(!do_after(user, 6 SECONDS, FALSE, user, TRUE, list(CALLBACK(src, PROC_REF(pass_check), user, A)), FALSE)) if(user.morphed) - to_chat(user, "You need to stay in your true form to pass through [A]!") + to_chat(user, SPAN_WARNING("You need to stay in your true form to pass through [A]!")) else if(A.locked) - to_chat(user, "[A] is bolted shut! You're unable to create a crack to pass through!") + to_chat(user, SPAN_WARNING("[A] is bolted shut! You're unable to create a crack to pass through!")) else - to_chat(user, "You need to stay still to pass through [A]!") + to_chat(user, SPAN_WARNING("You need to stay still to pass through [A]!")) revert_cast(user) return if(QDELETED(A)) return - user.visible_message("[user] briefly opens [A] slightly and passes through!", "You slide through the open crack in [A].") + user.visible_message(SPAN_WARNING("[user] briefly opens [A] slightly and passes through!"), SPAN_SINISTER("You slide through the open crack in [A].")) user.forceMove(A.loc) // Move into the turf of the airlock diff --git a/code/game/gamemodes/miniantags/morph/spells/reproduce.dm b/code/game/gamemodes/miniantags/morph/spells/reproduce.dm index d1396646ad7..286c8e67a14 100644 --- a/code/game/gamemodes/miniantags/morph/spells/reproduce.dm +++ b/code/game/gamemodes/miniantags/morph/spells/reproduce.dm @@ -15,15 +15,15 @@ return if(!isturf(user.loc)) if(show_message) - to_chat(user, "You can only split while on flooring!") + to_chat(user, SPAN_WARNING("You can only split while on flooring!")) return FALSE /datum/spell/morph_spell/reproduce/cast(list/targets, mob/living/simple_animal/hostile/morph/user) - to_chat(user, "You prepare to split in two, making you unable to vent crawl!") + to_chat(user, SPAN_SINISTER("You prepare to split in two, making you unable to vent crawl!")) user.ventcrawler = VENTCRAWLER_NONE // Temporarily disable it var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a morph?", ROLE_MORPH, TRUE, poll_time = 10 SECONDS, source = /mob/living/simple_animal/hostile/morph) if(!length(candidates)) - to_chat(user, "Your body refuses to split at the moment. Try again later.") + to_chat(user, SPAN_WARNING("Your body refuses to split at the moment. Try again later.")) revert_cast(user) user.ventcrawler = initial(user.ventcrawler) // re enable the crawling return diff --git a/code/game/gamemodes/miniantags/tourist/tourist_arrivals.dm b/code/game/gamemodes/miniantags/tourist/tourist_arrivals.dm index f93943c3a54..2cf0f2a133a 100644 --- a/code/game/gamemodes/miniantags/tourist/tourist_arrivals.dm +++ b/code/game/gamemodes/miniantags/tourist/tourist_arrivals.dm @@ -100,10 +100,10 @@ // Greets the player, announces objectives! /datum/event/tourist_arrivals/proc/greeting(mob/living/carbon/human/M) var/list/greeting = list() - greeting.Add("You are a tourist!") + greeting.Add(SPAN_BOLDNOTICE("You are a tourist!")) greeting.Add("You were chosen as a lucky winner of Nanotrasen's exclusive raffle! Winning a visit to a nearby Nanotrasen Research Station!") greeting.Add("Enjoy your exclusive tour and make the most of your time exploring our state-of-the-art facilities!") - greeting.Add("
Your current objectives are:
") + greeting.Add(SPAN_NOTICE("
Your current objectives are:")) greeting.Add(M.mind.prepare_announce_objectives(FALSE)) to_chat(M, chat_box_green(greeting.Join("
"))) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index ce855240606..1ecd3146265 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -64,12 +64,12 @@ SSticker.mode.syndicates -= operative_mind operative_mind.special_role = null operative_mind.objective_holder.clear(/datum/objective/nuclear) - operative_mind.current.create_attack_log("No longer nuclear operative") + operative_mind.current.create_attack_log(SPAN_DANGER("No longer nuclear operative")) operative_mind.current.create_log(CONVERSION_LOG, "No longer nuclear operative") if(issilicon(operative_mind.current)) - to_chat(operative_mind.current, "You have been turned into a robot! You are no longer a Syndicate operative.") + to_chat(operative_mind.current, SPAN_USERDANGER("You have been turned into a robot! You are no longer a Syndicate operative.")) else - to_chat(operative_mind.current, "You have been brainwashed! You are no longer a Syndicate operative.") + to_chat(operative_mind.current, SPAN_USERDANGER("You have been brainwashed! You are no longer a Syndicate operative.")) SSticker.mode.update_synd_icons_removed(operative_mind) //////////////////////////////////////////////////////////////////////////////////////// @@ -242,10 +242,10 @@ SEND_SOUND(syndicate.current, sound('sound/ambience/antag/ops.ogg')) var/list/messages = list() if(you_are) - messages.Add("You are a [syndicate_name()] agent!") + messages.Add(SPAN_NOTICE("You are a [syndicate_name()] agent!")) messages.Add(syndicate.prepare_announce_objectives(FALSE)) - messages.Add("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Nuclear_Agent)") + messages.Add(SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Nuclear_Agent)")) to_chat(syndicate.current, chat_box_red(messages.Join("
"))) syndicate.current.create_log(MISC_LOG, "[syndicate.current] was made into a nuclear operative") diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index b8715810c69..d141bfe61b1 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -122,28 +122,28 @@ GLOBAL_VAR(bomb_set) /obj/machinery/nuclearbomb/examine(mob/user) . = ..() if(training) - . += "Alt-Click to reset the bomb." + . += SPAN_NOTICE("Alt-Click to reset the bomb.") if(!panel_open) - . += "The outer panel is screwed shut." + . += SPAN_NOTICE("The outer panel is screwed shut.") switch(removal_stage) if(NUKE_INTACT) - . += "The anchoring bolt covers are welded shut." + . += SPAN_NOTICE("The anchoring bolt covers are welded shut.") if(NUKE_COVER_OFF) - . += "The cover plate is pried into place." + . += SPAN_NOTICE("The cover plate is pried into place.") if(NUKE_COVER_OPEN) - . += "The anchoring system sealant is welded shut." + . += SPAN_NOTICE("The anchoring system sealant is welded shut.") if(NUKE_SEALANT_OPEN) - . += "The bolts are wrenched in place." + . += SPAN_NOTICE("The bolts are wrenched in place.") if(NUKE_UNWRENCHED) - . += "The device can be pried off its anchors." + . += SPAN_NOTICE("The device can be pried off its anchors.") if(NUKE_CORE_EVERYTHING_FINE) - . += "The outer panel can be pried open or it can be screwed back on." + . += SPAN_NOTICE("The outer panel can be pried open or it can be screwed back on.") if(NUKE_CORE_PANEL_EXPOSED) - . += "The outer plate can be fixed by [sheets_to_fix] metal sheets, while the inner core plate is welded shut." + . += SPAN_NOTICE("The outer plate can be fixed by [sheets_to_fix] metal sheets, while the inner core plate is welded shut.") if(NUKE_CORE_PANEL_UNWELDED) - . += "The inner core plate can be welded shut or it can be pried open." + . += SPAN_NOTICE("The inner core plate can be welded shut or it can be pried open.") if(NUKE_CORE_FULLY_EXPOSED) - . += "The inner core plate can be fixed by [sheets_to_fix] titanium sheets, [core ? "or the plutonium core can be removed" : "though the plutonium core is missing"]." + . += SPAN_NOTICE("The inner core plate can be fixed by [sheets_to_fix] titanium sheets, [core ? "or the plutonium core can be removed" : "though the plutonium core is missing"].") /obj/machinery/nuclearbomb/update_overlays() . = ..() @@ -176,13 +176,13 @@ GLOBAL_VAR(bomb_set) if(istype(used, /obj/item/disk/nuclear)) if(extended) if(auth) - to_chat(user, "There's already a disk in the slot!") + to_chat(user, SPAN_WARNING("There's already a disk in the slot!")) return ITEM_INTERACT_COMPLETE if((istype(used, /obj/item/disk/nuclear/training) && !training) || (training && !istype(used, /obj/item/disk/nuclear/training))) - to_chat(user, "[used] doesn't fit into [src]!") + to_chat(user, SPAN_WARNING("[used] doesn't fit into [src]!")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_NOTICE("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE used.forceMove(src) auth = used @@ -190,19 +190,19 @@ GLOBAL_VAR(bomb_set) attack_hand(user) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You need to deploy [src] first.") + to_chat(user, SPAN_NOTICE("You need to deploy [src] first.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/stack/sheet/mineral/titanium) && removal_stage == NUKE_CORE_FULLY_EXPOSED) var/obj/item/stack/S = used if(S.get_amount() < sheets_to_fix) - to_chat(user, "You need at least [sheets_to_fix] sheets of titanium to repair [src]'s inner core plate!") + to_chat(user, SPAN_WARNING("You need at least [sheets_to_fix] sheets of titanium to repair [src]'s inner core plate!")) return ITEM_INTERACT_COMPLETE if(do_after(user, 2 SECONDS, target = src)) if(!loc || !S || S.get_amount() < sheets_to_fix) return ITEM_INTERACT_COMPLETE S.use(sheets_to_fix) - user.visible_message("[user] repairs [src]'s inner core plate.", \ - "You repair [src]'s inner core plate. The radiation is contained.") + user.visible_message(SPAN_NOTICE("[user] repairs [src]'s inner core plate."), \ + SPAN_NOTICE("You repair [src]'s inner core plate. The radiation is contained.")) removal_stage = NUKE_CORE_PANEL_UNWELDED if(core) var/datum/component/inherent_radioactivity/radioactivity = core.GetComponent(/datum/component/inherent_radioactivity) @@ -212,37 +212,37 @@ GLOBAL_VAR(bomb_set) if(istype(used, /obj/item/stack/sheet/metal) && removal_stage == NUKE_CORE_PANEL_EXPOSED) var/obj/item/stack/S = used if(S.get_amount() < sheets_to_fix) - to_chat(user, "You need at least [sheets_to_fix] sheets of metal to repair [src]'s outer core plate!") + to_chat(user, SPAN_WARNING("You need at least [sheets_to_fix] sheets of metal to repair [src]'s outer core plate!")) else if(do_after(user, 2 SECONDS, target = src)) if(!loc || !S || S.get_amount() < sheets_to_fix) return ITEM_INTERACT_COMPLETE S.use(sheets_to_fix) - user.visible_message("[user] repairs [src]'s outer core plate.", \ - "You repair [src]'s outer core plate.") + user.visible_message(SPAN_NOTICE("[user] repairs [src]'s outer core plate."), \ + SPAN_NOTICE("You repair [src]'s outer core plate.")) removal_stage = NUKE_CORE_EVERYTHING_FINE update_icon(UPDATE_OVERLAYS) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/nuke_core/plutonium) && removal_stage == NUKE_CORE_FULLY_EXPOSED) if(do_after(user, 2 SECONDS, target = src)) if(!user.transfer_item_to(used, src)) - to_chat(user, "The [used] is stuck to your hand!") + to_chat(user, SPAN_NOTICE("The [used] is stuck to your hand!")) return - user.visible_message("[user] puts [used] back in [src].", "You put [used] back in [src].") + user.visible_message(SPAN_NOTICE("[user] puts [used] back in [src]."), SPAN_NOTICE("You put [used] back in [src].")) core = used update_icon(UPDATE_OVERLAYS) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/disk/plantgene)) - to_chat(user, "You try to plant the disk, but despite rooting around, it won't fit! After you branch out to read the instructions, you find out where the problem stems from. You've been bamboo-zled, this isn't a nuclear disk at all!") + to_chat(user, SPAN_WARNING("You try to plant the disk, but despite rooting around, it won't fit! After you branch out to read the instructions, you find out where the problem stems from. You've been bamboo-zled, this isn't a nuclear disk at all!")) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/disk)) if(used.icon_state == "datadisk4") //A similar green disk icon - to_chat(user, "You try to slot in the disk, but it won't fit! This isn't the NAD! If only you'd read the label...") + to_chat(user, SPAN_WARNING("You try to slot in the disk, but it won't fit! This isn't the NAD! If only you'd read the label...")) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You try to slot in the disk, but it won't fit. This isn't the NAD! It's not even the right colour...") + to_chat(user, SPAN_WARNING("You try to slot in the disk, but it won't fit. This isn't the NAD! It's not even the right colour...")) return ITEM_INTERACT_COMPLETE return ..() @@ -252,37 +252,37 @@ GLOBAL_VAR(bomb_set) if(!I.tool_use_check(user, 0)) return if(removal_stage == NUKE_COVER_OFF) - user.visible_message("[user] starts forcing open the bolt covers on [src].", "You start forcing open the anchoring bolt covers with [I]...") + user.visible_message(SPAN_NOTICE("[user] starts forcing open the bolt covers on [src]."), SPAN_NOTICE("You start forcing open the anchoring bolt covers with [I]...")) if(!I.use_tool(src, user, 15, volume = I.tool_volume) || removal_stage != NUKE_COVER_OFF) return - user.visible_message("[user] forces open the bolt covers on [src].", "You force open the bolt covers.") + user.visible_message(SPAN_NOTICE("[user] forces open the bolt covers on [src]."), SPAN_NOTICE("You force open the bolt covers.")) removal_stage = NUKE_COVER_OPEN if(removal_stage == NUKE_CORE_EVERYTHING_FINE) if(training) - to_chat(user, "This is where you'd take off the plate to access the internal core, but this training bomb doesn't have one.") + to_chat(user, SPAN_NOTICE("This is where you'd take off the plate to access the internal core, but this training bomb doesn't have one.")) return - user.visible_message("[user] starts removing [src]'s outer core plate...", "You start removing [src]'s outer core plate...") + user.visible_message(SPAN_NOTICE("[user] starts removing [src]'s outer core plate..."), SPAN_NOTICE("You start removing [src]'s outer core plate...")) if(!I.use_tool(src, user, 4 SECONDS, volume = I.tool_volume) || removal_stage != NUKE_CORE_EVERYTHING_FINE) return - user.visible_message("[user] finishes removing [src]'s outer core plate.", "You finish removing [src]'s outer core plate.") + user.visible_message(SPAN_NOTICE("[user] finishes removing [src]'s outer core plate."), SPAN_NOTICE("You finish removing [src]'s outer core plate.")) new /obj/item/stack/sheet/metal(loc, 5) removal_stage = NUKE_CORE_PANEL_EXPOSED if(removal_stage == NUKE_CORE_PANEL_UNWELDED) - user.visible_message("[user] starts removing [src]'s inner core plate...", "You start removing [src]'s inner core plate...") + user.visible_message(SPAN_NOTICE("[user] starts removing [src]'s inner core plate..."), SPAN_NOTICE("You start removing [src]'s inner core plate...")) if(!I.use_tool(src, user, 8 SECONDS, volume = I.tool_volume) || removal_stage != NUKE_CORE_PANEL_UNWELDED) return - user.visible_message("[user] finishes removing [src]'s inner core plate.", "You remove [src]'s inner core plate. You can see the core's green glow!") + user.visible_message(SPAN_NOTICE("[user] finishes removing [src]'s inner core plate."), SPAN_NOTICE("You remove [src]'s inner core plate. You can see the core's green glow!")) removal_stage = NUKE_CORE_FULLY_EXPOSED new /obj/item/stack/sheet/mineral/titanium(loc, 5) if(core) var/datum/component/inherent_radioactivity/radioactivity = core.GetComponent(/datum/component/inherent_radioactivity) START_PROCESSING(SSradiation, radioactivity) if(removal_stage == NUKE_UNWRENCHED) - user.visible_message("[user] begins lifting [src] off of the anchors.", "You begin lifting the device off the anchors...") + user.visible_message(SPAN_NOTICE("[user] begins lifting [src] off of the anchors."), SPAN_NOTICE("You begin lifting the device off the anchors...")) if(!I.use_tool(src, user, 8 SECONDS, volume = I.tool_volume) || removal_stage != NUKE_UNWRENCHED) return - user.visible_message("[user] crowbars [src] off of the anchors. It can now be moved.", "You jam the crowbar under the nuclear device and lift it off its anchors. You can now move it!") + user.visible_message(SPAN_NOTICE("[user] crowbars [src] off of the anchors. It can now be moved."), SPAN_NOTICE("You jam the crowbar under the nuclear device and lift it off its anchors. You can now move it!")) anchored = FALSE removal_stage = NUKE_MOBILE update_icon(UPDATE_OVERLAYS) @@ -295,10 +295,10 @@ GLOBAL_VAR(bomb_set) . = TRUE if(!I.tool_use_check(user, 0)) return - user.visible_message("[user] begins unwrenching the anchoring bolts on [src].", "You begin unwrenching the anchoring bolts...") + user.visible_message(SPAN_NOTICE("[user] begins unwrenching the anchoring bolts on [src]."), SPAN_NOTICE("You begin unwrenching the anchoring bolts...")) if(!I.use_tool(src, user, 50, volume = I.tool_volume) || removal_stage != NUKE_SEALANT_OPEN) return - user.visible_message("[user] unwrenches the anchoring bolts on [src].", "You unwrench the anchoring bolts.") + user.visible_message(SPAN_NOTICE("[user] unwrenches the anchoring bolts on [src]."), SPAN_NOTICE("You unwrench the anchoring bolts.")) removal_stage = NUKE_UNWRENCHED update_icon(UPDATE_OVERLAYS) @@ -317,20 +317,20 @@ GLOBAL_VAR(bomb_set) if(auth || (istype(I, /obj/item/screwdriver/nuke) && !is_syndicate)) if(!panel_open) panel_open = TRUE - to_chat(user, "You unscrew the control panel of [src].") + to_chat(user, SPAN_NOTICE("You unscrew the control panel of [src].")) anchor_stage = removal_stage removal_stage = core_stage else panel_open = FALSE - to_chat(user, "You screw the control panel of [src] back on.") + to_chat(user, SPAN_NOTICE("You screw the control panel of [src] back on.")) core_stage = removal_stage removal_stage = anchor_stage else if(!panel_open) - to_chat(user, "[src] emits a buzzing noise, the panel staying locked in.") + to_chat(user, SPAN_WARNING("[src] emits a buzzing noise, the panel staying locked in.")) if(panel_open) panel_open = FALSE - to_chat(user, "You screw the control panel of [src] back on.") + to_chat(user, SPAN_NOTICE("You screw the control panel of [src] back on.")) core_stage = removal_stage removal_stage = anchor_stage flick(sprite_prefix + "nuclearbombc", src) @@ -349,38 +349,38 @@ GLOBAL_VAR(bomb_set) if(!I.tool_use_check(user, 0)) return if(requires_NAD_to_unbolt) - to_chat(user, "This device seems to have additional safeguards, and cannot be forcibly moved without using the NAD!") + to_chat(user, SPAN_WARNING("This device seems to have additional safeguards, and cannot be forcibly moved without using the NAD!")) return if(removal_stage == NUKE_INTACT) - visible_message("[user] starts cutting loose the anchoring bolt covers on [src].",\ - "You start cutting loose the anchoring bolt covers with [I]...",\ - "You hear welding.") + visible_message(SPAN_NOTICE("[user] starts cutting loose the anchoring bolt covers on [src]."),\ + SPAN_NOTICE("You start cutting loose the anchoring bolt covers with [I]..."),\ + SPAN_WARNING("You hear welding.")) if(!I.use_tool(src, user, 40, 5, volume = I.tool_volume) || removal_stage != NUKE_INTACT) return - visible_message("[user] cuts through the bolt covers on [src].",\ - "You cut through the bolt cover.") + visible_message(SPAN_NOTICE("[user] cuts through the bolt covers on [src]."),\ + SPAN_NOTICE("You cut through the bolt cover.")) removal_stage = NUKE_COVER_OFF if(removal_stage == NUKE_CORE_PANEL_UNWELDED) - user.visible_message("[user] starts welding [src]'s inner core plate...", "You start welding [src]'s inner core plate...") + user.visible_message(SPAN_NOTICE("[user] starts welding [src]'s inner core plate..."), SPAN_NOTICE("You start welding [src]'s inner core plate...")) if(!I.use_tool(src, user, 4 SECONDS, 5, volume = I.tool_volume) || removal_stage != NUKE_CORE_PANEL_UNWELDED) return - user.visible_message("[user] finishes welding [src]'s inner core plate...", "You finish welding [src]'s inner core plate...") + user.visible_message(SPAN_NOTICE("[user] finishes welding [src]'s inner core plate..."), SPAN_NOTICE("You finish welding [src]'s inner core plate...")) removal_stage = NUKE_CORE_PANEL_EXPOSED else if(removal_stage == NUKE_CORE_PANEL_EXPOSED) - user.visible_message("[user] starts unwelding [src]'s inner core plate...", "You start unwelding [src]'s inner core plate...") + user.visible_message(SPAN_NOTICE("[user] starts unwelding [src]'s inner core plate..."), SPAN_NOTICE("You start unwelding [src]'s inner core plate...")) if(!I.use_tool(src, user, 4 SECONDS, 5, volume = I.tool_volume) || removal_stage != NUKE_CORE_PANEL_EXPOSED) return - user.visible_message("[user] finishes unwelding [src]'s inner core plate...", "You finish unwelding [src]'s inner core plate...") + user.visible_message(SPAN_NOTICE("[user] finishes unwelding [src]'s inner core plate..."), SPAN_NOTICE("You finish unwelding [src]'s inner core plate...")) removal_stage = NUKE_CORE_PANEL_UNWELDED if(removal_stage == NUKE_COVER_OPEN) - visible_message("[user] starts cutting apart the anchoring system sealant on [src].",\ - "You start cutting apart the anchoring system's sealant with [I]...",\ - "You hear welding.") + visible_message(SPAN_NOTICE("[user] starts cutting apart the anchoring system sealant on [src]."),\ + SPAN_NOTICE("You start cutting apart the anchoring system's sealant with [I]..."),\ + SPAN_WARNING("You hear welding.")) if(!I.use_tool(src, user, 40, 5, volume = I.tool_volume) || removal_stage != NUKE_COVER_OPEN) return - visible_message("[user] cuts apart the anchoring system sealant on [src].",\ - "You cut apart the anchoring system's sealant.") + visible_message(SPAN_NOTICE("[user] cuts apart the anchoring system sealant on [src]."),\ + SPAN_NOTICE("You cut apart the anchoring system's sealant.")) removal_stage = NUKE_SEALANT_OPEN update_icon(UPDATE_OVERLAYS) @@ -400,11 +400,11 @@ GLOBAL_VAR(bomb_set) wires.Interact(user) return FINISH_ATTACK if(timing) //removing the core is less risk then cutting wires, and doesnt take long, so we should not let crew do it while the nuke is armed. You can however get to it, without the special screwdriver, if you put the NAD in. - to_chat(user, "[core] won't budge, metal clamps keep it in!") + to_chat(user, SPAN_WARNING("[core] won't budge, metal clamps keep it in!")) return FINISH_ATTACK - user.visible_message("[user] starts to pull [core] out of [src]!", "You start to pull [core] out of [src]!") + user.visible_message(SPAN_NOTICE("[user] starts to pull [core] out of [src]!"), SPAN_NOTICE("You start to pull [core] out of [src]!")) if(do_after(user, 5 SECONDS, target = src)) - user.visible_message("[user] pulls [core] out of [src]!", "You pull [core] out of [src]! Might want to put it somewhere safe.") + user.visible_message(SPAN_NOTICE("[user] pulls [core] out of [src]!"), SPAN_NOTICE("You pull [core] out of [src]! Might want to put it somewhere safe.")) core.forceMove(loc) core = null @@ -460,15 +460,15 @@ GLOBAL_VAR(bomb_set) if(exploded) return if(wires.is_cut(WIRE_NUKE_CONTROL)) - to_chat(usr, "The control panel isn't responding! Something must be wrong with its wiring!") + to_chat(usr, SPAN_WARNING("The control panel isn't responding! Something must be wrong with its wiring!")) return FALSE switch(action) if("deploy") if(removal_stage != NUKE_MOBILE) anchored = TRUE - visible_message("With a steely snap, bolts slide out of [src] and anchor it to the flooring!") + visible_message(SPAN_WARNING("With a steely snap, bolts slide out of [src] and anchor it to the flooring!")) else - visible_message("[src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") + visible_message(SPAN_WARNING("[src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.")) if(!wires.is_cut(WIRE_NUKE_LIGHT)) flick(sprite_prefix + "nuclearbombc", src) icon_state = sprite_prefix + "nuclearbomb1" @@ -515,25 +515,25 @@ GLOBAL_VAR(bomb_set) if(removal_stage == NUKE_MOBILE) anchored = FALSE update_icon(UPDATE_OVERLAYS) - visible_message("[src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") + visible_message(SPAN_WARNING("[src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.")) return if(!anchored && isinspace()) - to_chat(usr, "There is nothing to anchor to!") + to_chat(usr, SPAN_WARNING("There is nothing to anchor to!")) return FALSE if(!yes_code && anchored && timing) - to_chat(usr, "The code is required to unanchor [src] when armed!") + to_chat(usr, SPAN_WARNING("The code is required to unanchor [src] when armed!")) return anchored = !(anchored) update_icon(UPDATE_OVERLAYS) if(anchored) - visible_message("With a steely snap, bolts slide out of [src] and anchor it to the flooring.") + visible_message(SPAN_WARNING("With a steely snap, bolts slide out of [src] and anchor it to the flooring.")) return requires_NAD_to_unbolt = FALSE - visible_message("The anchoring bolts slide back into the depths of [src].") + visible_message(SPAN_WARNING("The anchoring bolts slide back into the depths of [src].")) return if(!yes_code) // All requests below here require both NAD inserted AND code correct @@ -547,7 +547,7 @@ GLOBAL_VAR(bomb_set) timeleft = time if("toggle_safety") if(wires.is_cut(WIRE_NUKE_SAFETY)) - to_chat(usr, "The safety isn't responding! Something must be wrong with its wiring!") + to_chat(usr, SPAN_WARNING("The safety isn't responding! Something must be wrong with its wiring!")) return FALSE safety = !(safety) if(safety) @@ -558,14 +558,14 @@ GLOBAL_VAR(bomb_set) GLOB.bomb_set = FALSE if("toggle_armed") if(safety) - to_chat(usr, "The safety is still on.") + to_chat(usr, SPAN_NOTICE("The safety is still on.")) return if(!core && !training) - to_chat(usr, "[src]'s screen blinks red! There is no plutonium core in [src]!") + to_chat(usr, SPAN_DANGER("[src]'s screen blinks red! There is no plutonium core in [src]!")) return if(!timing) if(wires.is_cut(WIRE_NUKE_DETONATOR)) - to_chat(usr, "[src] isn't arming! Something must be wrong with its wiring!") + to_chat(usr, SPAN_WARNING("[src] isn't arming! Something must be wrong with its wiring!")) return FALSE timing = TRUE if(!wires.is_cut(WIRE_NUKE_LIGHT)) @@ -577,12 +577,12 @@ GLOBAL_VAR(bomb_set) SSsecurity_level.set_level(SEC_LEVEL_DELTA) GLOB.bomb_set = TRUE // There can still be issues with this resetting when there are multiple bombs. Not a big deal though for Nuke if(SSsecurity_level.get_current_level_as_number() == SEC_LEVEL_EPSILON) - radio.autosay("The Nuclear Bomb has been armed, retreat from the station immediately!", name, "Special Ops") + radio.autosay(SPAN_REALLYBIG("The Nuclear Bomb has been armed, retreat from the station immediately!"), name, "Special Ops") else if(!training) GLOB.bomb_set = TRUE else if(wires.is_cut(WIRE_NUKE_DISARM)) - to_chat(usr, "[src] isn't disarming! Something must be wrong with its wiring!") + to_chat(usr, SPAN_WARNING("[src] isn't disarming! Something must be wrong with its wiring!")) return FALSE timing = FALSE if(!is_syndicate && !training) @@ -712,7 +712,7 @@ GLOBAL_VAR(bomb_set) /obj/item/disk/nuclear/examine(mob/user) . = ..() - . += "You should keep this safe..." + . += SPAN_WARNING("You should keep this safe...") /obj/item/disk/nuclear/examine_more(mob/user) . = ..() @@ -728,7 +728,7 @@ GLOBAL_VAR(bomb_set) /obj/item/disk/nuclear/unrestricted/examine(mob/user) . = ..() - . += "This disk has had its safeties removed. It will not teleport back to the station if taken too far away." + . += SPAN_WARNING("This disk has had its safeties removed. It will not teleport back to the station if taken too far away.") /obj/item/disk/nuclear/New() ..() @@ -746,7 +746,7 @@ GLOBAL_VAR(bomb_set) if(!check_disk_loc()) var/holder = get(src, /mob) if(holder) - to_chat(holder, "You can't help but feel that you just lost something back there...") + to_chat(holder, SPAN_DANGER("You can't help but feel that you just lost something back there...")) qdel(src) //station disk is allowed on the station level, escape shuttle/pods, CC, and syndicate shuttles/base, reset otherwise @@ -830,20 +830,20 @@ GLOBAL_VAR(bomb_set) /obj/item/nad_scanner/examine(mob/user) . = ..() if(decrypted) - . += "It's burnt out!" + . += SPAN_WARNING("It's burnt out!") /obj/item/nad_scanner/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!istype(used, /obj/item/disk/nuclear)) return ..() if(disky) - to_chat(user, "There is already something in [src]!") + to_chat(user, SPAN_WARNING("There is already something in [src]!")) return ITEM_INTERACT_COMPLETE if(used.flags & NODROP || !user.transfer_item_to(used, src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You insert [used] into [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into [src].")) disky = used playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE) update_icon(UPDATE_ICON_STATE) @@ -861,14 +861,14 @@ GLOBAL_VAR(bomb_set) /obj/item/nad_scanner/activate_self(mob/user) if(world.time < 45 MINUTES) // 45 minutes of no nuke - to_chat(user, "[src] is still calibrating. Please wait another [round((27000 - world.time) / 600)] minutes before trying again.") + to_chat(user, SPAN_WARNING("[src] is still calibrating. Please wait another [round((27000 - world.time) / 600)] minutes before trying again.")) return ..() scan_nad(user) return ..() /obj/item/nad_scanner/AltClick(mob/user, modifiers) if(scanning) - to_chat(user, "The disk is currently being scanned!") + to_chat(user, SPAN_WARNING("The disk is currently being scanned!")) return ..() eject_nad(user) return ..() @@ -878,26 +878,26 @@ GLOBAL_VAR(bomb_set) return var/mob/M = user M.put_in_hands(disky) - to_chat(user, "You remove [disky] from [src].") + to_chat(user, SPAN_NOTICE("You remove [disky] from [src].")) disky = null update_icon(UPDATE_ICON_STATE) playsound(src, 'sound/machines/terminal_eject.ogg', 50, TRUE) /obj/item/nad_scanner/proc/scan_nad(mob/user) if(!disky) - to_chat(user, "There is no disk inserted!") + to_chat(user, SPAN_WARNING("There is no disk inserted!")) return if(decrypted) - to_chat(user, "This device is burnt out!") + to_chat(user, SPAN_WARNING("This device is burnt out!")) return if(scanning) - to_chat(user, "You are already scanning a disk!") + to_chat(user, SPAN_WARNING("You are already scanning a disk!")) return scanning = TRUE - to_chat(user, "You start the decryption process.") + to_chat(user, SPAN_WARNING("You start the decryption process.")) update_icon(UPDATE_ICON_STATE) if(!do_after(user, 10 SECONDS, needhand = FALSE, target = src, allow_moving = TRUE, hidden = TRUE)) - to_chat(user, "You stop the decryption process.") + to_chat(user, SPAN_WARNING("You stop the decryption process.")) return if(istype(disky, /obj/item/disk/nuclear/training)) atom_say("Incompatible disk detected!") @@ -953,7 +953,7 @@ GLOBAL_VAR(bomb_set) /obj/machinery/nuclearbomb/training/AltClick(mob/user) . = ..() - to_chat(user, "You hit the reset button on [src].") + to_chat(user, SPAN_NOTICE("You hit the reset button on [src].")) training_reset() /obj/machinery/nuclearbomb/training/proc/training_detonation() @@ -977,7 +977,7 @@ GLOBAL_VAR(bomb_set) /obj/item/disk/nuclear/training/examine(mob/user) . = ..() - . += "For training purposes, of course." + . += SPAN_WARNING("For training purposes, of course.") #undef NUKE_INTACT #undef NUKE_COVER_OFF diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index c879cf66cff..8dd45dfcee3 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -64,7 +64,7 @@ /obj/item/pinpointer/proc/cycle(mob/user) if(cur_index > length(modes)) mode = MODE_OFF - to_chat(user, "You deactivate [src].") + to_chat(user, SPAN_NOTICE("You deactivate [src].")) STOP_PROCESSING(SSfastprocess, src) icon_state = icon_off cur_index = 1 @@ -73,7 +73,7 @@ START_PROCESSING(SSfastprocess, src) mode = modes[cur_index++] activate_mode(mode, user) - to_chat(user, "[get_mode_text(mode)]") + to_chat(user, SPAN_NOTICE("[get_mode_text(mode)]")) /obj/item/pinpointer/proc/get_mode_text(mode) switch(mode) @@ -181,7 +181,7 @@ return if(modelocked) - to_chat(user, "[src] is locked. It can only track one specific target.") + to_chat(user, SPAN_WARNING("[src] is locked. It can only track one specific target.")) return target = null @@ -202,7 +202,7 @@ location = locate(locationx,locationy,Z.z) - to_chat(user, "You set the pinpointer to locate [locationx],[locationy]") + to_chat(user, SPAN_NOTICE("You set the pinpointer to locate [locationx],[locationy]")) toggle_on() @@ -245,13 +245,13 @@ else target = backup if(target) - to_chat(user, "Unable to find [targetitem] in this sector, falling back to off-sector tracking.") + to_chat(user, SPAN_NOTICE("Unable to find [targetitem] in this sector, falling back to off-sector tracking.")) if(!target) - to_chat(user, "Failed to locate [targetitem]!") + to_chat(user, SPAN_WARNING("Failed to locate [targetitem]!")) return - to_chat(user, "You set the pinpointer to locate [targetitem].") + to_chat(user, SPAN_NOTICE("You set the pinpointer to locate [targetitem].")) if("DNA") var/DNAstring = input("Input DNA string to search for." , "Please Enter String." , "") @@ -313,7 +313,7 @@ mode = MODE_DISK modes = list(MODE_DISK, MODE_NUKE) playsound(loc, 'sound/machines/twobeep.ogg', 50, 1) - visible_message("Authentication Disk Locator mode actived.") + visible_message(SPAN_NOTICE("Authentication Disk Locator mode actived.")) return if(!home) home = SSshuttle.getShuttle("syndicate") @@ -413,11 +413,11 @@ if(!D) return if((D.linked_pinpointer_UID && D.linked_pinpointer_UID != UID()) || linked_gun_UID) - visible_message("The pinpointer pings to indicate either it or the gun is already linked.", "You hear a pinpointer pinging.") + visible_message(SPAN_NOTICE("The pinpointer pings to indicate either it or the gun is already linked."), SPAN_NOTICE("You hear a pinpointer pinging.")) return D.link_pinpointer(UID()) linked_gun_UID = gun_UID - visible_message("The pinpointer pings twice to indicate a successful link.", "You hear a pinpointer pinging twice.") + visible_message(SPAN_NOTICE("The pinpointer pings twice to indicate a successful link."), SPAN_NOTICE("You hear a pinpointer pinging twice.")) /obj/item/pinpointer/crew/proc/start_tracking() if(!linked_gun_UID) @@ -429,12 +429,12 @@ target = locateUID(target_UID) target_set = TRUE mode = PINPOINTER_MODE_DET - visible_message("The pinpointer flickers as it begins tracking a target relayed from a detective's revolver.", "You hear a pinpointer flickering.") + visible_message(SPAN_NOTICE("The pinpointer flickers as it begins tracking a target relayed from a detective's revolver."), SPAN_NOTICE("You hear a pinpointer flickering.")) addtimer(CALLBACK(src, PROC_REF(stop_tracking)), 1 MINUTES, TIMER_UNIQUE) START_PROCESSING(SSfastprocess, src) /obj/item/pinpointer/crew/proc/stop_tracking() - visible_message("The pinpointer powers down, no longer receiving signals from a detective's revolver.", "You hear a pinpointer powering down.") + visible_message(SPAN_NOTICE("The pinpointer powers down, no longer receiving signals from a detective's revolver."), SPAN_NOTICE("You hear a pinpointer powering down.")) target = null target_set = FALSE mode = MODE_OFF @@ -489,7 +489,7 @@ name_counts[name] = 1 if(!length(names)) - user.visible_message("[user]'s pinpointer fails to detect a signal.", "Your pinpointer fails to detect a signal.") + user.visible_message(SPAN_NOTICE("[user]'s pinpointer fails to detect a signal."), SPAN_NOTICE("Your pinpointer fails to detect a signal.")) return var/A = tgui_input_list(user, "Person to track", "Pinpoint", names) @@ -498,7 +498,7 @@ target = names[A] target_set = TRUE - user.visible_message("[user] activates [user.p_their()] pinpointer.", "You activate your pinpointer.") + user.visible_message(SPAN_NOTICE("[user] activates [user.p_their()] pinpointer."), SPAN_NOTICE("You activate your pinpointer.")) /obj/item/pinpointer/crew/centcom name = "centcom pinpointer" diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 79650f1bca0..d4d0be5b836 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -211,7 +211,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective) if(!where) continue - to_chat(kit_receiver, "

In your [where] is a box containing items and instructions to help you with your objective.
") + to_chat(kit_receiver, "

[SPAN_NOTICE("In your [where] is a box containing items and instructions to help you with your objective.")]
") for(var/datum/mind/objective_owner as anything in objective_owners) if(kit_receiver_mind == objective_owner || !objective_owner.current) continue @@ -227,7 +227,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective) if(!failed_receiver) continue - to_chat(failed_receiver, "Unfortunately, you weren't able to get an objective kit. This is very bad and you should adminhelp immediately (press F1).") + to_chat(failed_receiver, SPAN_USERDANGER("Unfortunately, you weren't able to get an objective kit. This is very bad and you should adminhelp immediately (press F1).")) message_admins("[ADMIN_LOOKUPFLW(failed_receiver)] Failed to spawn with their [item_path] objective kit.") /** @@ -236,7 +236,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective) /datum/objective/proc/on_target_cryo() var/list/owners = get_owners() for(var/datum/mind/M in owners) - to_chat(M.current, "
You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!") + to_chat(M.current, "
[SPAN_USERDANGER("You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")]") SEND_SOUND(M.current, sound('sound/ambience/alarm4.ogg')) target = null INVOKE_ASYNC(src, PROC_REF(post_target_cryo), owners) @@ -520,7 +520,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective) if(owner?.current) SEND_SOUND(owner.current, sound('sound/ambience/alarm4.ogg')) owner.remove_antag_datum(/datum/antagonist/mindslave) - to_chat(owner.current, "
You notice that your master has entered cryogenic storage, and revert to your normal self.") + to_chat(owner.current, "
[SPAN_USERDANGER("You notice that your master has entered cryogenic storage, and revert to your normal self.")]") log_admin("[key_name(owner.current)]'s mindslave master has cryo'd, and is no longer a mindslave.") message_admins("[key_name_admin(owner.current)]'s mindslave master has cryo'd, and is no longer a mindslave.") //Since they were on antag hud earlier, this feels important to log qdel(src) @@ -888,7 +888,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective) if(!where) continue - to_chat(kit_receiver, "

In your [where] is a box containing items and instructions to help you with your steal objective.
") + to_chat(kit_receiver, "

[SPAN_NOTICE("In your [where] is a box containing items and instructions to help you with your steal objective.")]
") for(var/datum/mind/objective_owner as anything in objective_owners) if(kit_receiver_mind == objective_owner || !objective_owner.current) continue @@ -904,7 +904,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective) if(!failed_receiver) continue - to_chat(failed_receiver, "Unfortunately, you weren't able to get a stealing kit. This is very bad and you should adminhelp immediately (press F1).") + to_chat(failed_receiver, SPAN_USERDANGER("Unfortunately, you weren't able to get a stealing kit. This is very bad and you should adminhelp immediately (press F1).")) message_admins("[ADMIN_LOOKUPFLW(failed_receiver)] Failed to spawn with their [item_path] theft kit.") /datum/objective/absorb @@ -1162,7 +1162,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective) var/list/owners = get_owners() for(var/datum/mind/M in owners) - to_chat(M.current, "
We sense the target console has been compromised. New vulnerability located.") + to_chat(M.current, "
[SPAN_USERDANGER("We sense the target console has been compromised. New vulnerability located.")]") SEND_SOUND(M.current, sound('sound/ambience/alarm4.ogg')) target_console = null @@ -1298,7 +1298,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective) // This is called from computer.dm when the do_after of downloading is completed /datum/objective/download/proc/complete_objective() for(var/datum/mind/M in get_owners()) - to_chat(M.current, "
*gzzt* Authentication success! Welcome, [M.current.name]. Thank you for- for- for-...") + to_chat(M.current, "
[SPAN_WARNING("*gzzt* Authentication success! Welcome, [M.current.name]. Thank you for- for- for-...")]") var/datum/antagonist/mindflayer/flayer_datum = M.has_antag_datum(/datum/antagonist/mindflayer) diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 46ed0c4f3fe..24292b83a69 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -114,8 +114,8 @@ if(beingborged) revolutionary.visible_message( - "The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.", - "The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."]") + SPAN_USERDANGER("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it."), + SPAN_USERDANGER("The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."]")) message_admins("[key_name_admin(rev_mind.current)] [ADMIN_QUE(rev_mind.current,"?")] ([ADMIN_FLW(rev_mind.current,"FLW")]) has been borged while being a [remove_head ? "leader" : " member"] of the revolution.") else var/class = activate_protection ? "biggerdanger" : "userdanger" // biggerdanger only shows up when protection happens (usually in a red-flood of combat text) @@ -134,10 +134,10 @@ /datum/game_mode/revolution/declare_completion() if(finished == REV_VICTORY) SSticker.mode_result = "revolution win - heads killed" - to_chat(world, "The heads of staff were killed or exiled! The revolutionaries win!") + to_chat(world, SPAN_REDTEXT("The heads of staff were killed or exiled! The revolutionaries win!")) else if(finished == STATION_VICTORY) SSticker.mode_result = "revolution loss - rev heads killed" - to_chat(world, "The heads of staff managed to stop the revolution!") + to_chat(world, SPAN_REDTEXT("The heads of staff managed to stop the revolution!")) ..() return TRUE @@ -166,7 +166,7 @@ for(var/datum/mind/head in heads) var/target = (head in targets) if(target) - text += "Target" + text += SPAN_BOLDANNOUNCEIC("Target") text += printplayer(head, 1) text += "
" return text.Join("") diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index a57558adeef..c7064e98534 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -81,7 +81,7 @@ /datum/game_mode/proc/auto_declare_completion_traitor() if(length(traitors)) - var/list/text = list("
The traitors were:") + var/list/text = list("
[SPAN_BOLD("The traitors were:")]") for(var/datum/mind/traitor in traitors) var/traitorwin = TRUE text += printplayer(traitor) @@ -150,7 +150,7 @@ var/phrases = jointext(GLOB.syndicate_code_phrase, ", ") var/responses = jointext(GLOB.syndicate_code_response, ", ") - text += "

The code phrases were: [phrases]
\ - The code responses were: [responses]" + text += "

The code phrases were: [SPAN_DANGER("[phrases]")]
\ + The code responses were: [SPAN_DANGER("[responses]")]" return text.Join("") diff --git a/code/game/gamemodes/vampire/vampire_gamemode.dm b/code/game/gamemodes/vampire/vampire_gamemode.dm index 753f066870a..887c66d8f98 100644 --- a/code/game/gamemodes/vampire/vampire_gamemode.dm +++ b/code/game/gamemodes/vampire/vampire_gamemode.dm @@ -50,22 +50,22 @@ if(!length(vampires)) return - var/list/text = list("
The vampires were:") + var/list/text = list("
[SPAN_BOLD("The vampires were:")]") for(var/datum/mind/vampire in vampires) var/traitorwin = TRUE var/datum/antagonist/vampire/V = vampire.has_antag_datum(/datum/antagonist/vampire) text += "
[vampire.get_display_key()] was [vampire.name] and " if(vampire.current) if(vampire.current.stat == DEAD) - text += "died!" + text += SPAN_BOLD("died!") else - text += "survived!" + text += SPAN_BOLD("survived!") if(V.subclass) text += " as a [V.subclass.name]!" else text += "!" else - text += "had [vampire.p_their()] body destroyed!" + text += SPAN_BOLD("had [vampire.p_their()] body destroyed!") var/list/all_objectives = vampire.get_all_objectives(include_team = FALSE) @@ -103,14 +103,14 @@ text += "
[mind.get_display_key()] was [mind.name] and" if(mind.current) if(mind.current.stat == DEAD) - text += "died!" + text += SPAN_BOLD("died!") else - text += "survived!" + text += SPAN_BOLD("survived!") if(mind.current.real_name != mind.name) text += " as [mind.current.real_name]!" else text += "!" else - text += "had their body destroyed!" + text += SPAN_BOLD("had their body destroyed!") return text.Join("") diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 375db16bff9..f2cb2358929 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -44,7 +44,7 @@ if(!length(candidates)) used = FALSE - to_chat(H, "Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later.") + to_chat(H, SPAN_WARNING("Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later.")) return new /obj/effect/particle_effect/smoke(get_turf(H)) @@ -64,7 +64,7 @@ return if(used) - to_chat(user, "You've already summoned an apprentice or you are in process of summoning one.") + to_chat(user, SPAN_WARNING("You've already summoned an apprentice or you are in process of summoning one.")) return ui_interact(user) @@ -93,9 +93,9 @@ if(charged) new /obj/effect/rend(get_turf(user), spawn_type, spawn_amt, rend_desc) charged = 0 - user.visible_message("[src] hums with power as [user] deals a blow to [activate_descriptor] itself!") + user.visible_message(SPAN_USERDANGER("[src] hums with power as [user] deals a blow to [activate_descriptor] itself!")) else - to_chat(user, "The unearthly energies that powered the blade are now dormant.") + to_chat(user, SPAN_DANGER("The unearthly energies that powered the blade are now dormant.")) /obj/effect/rend name = "tear in the fabric of reality" @@ -129,7 +129,7 @@ /obj/effect/rend/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/nullrod)) - user.visible_message("[user] seals \the [src] with \the [used].") + user.visible_message(SPAN_DANGER("[user] seals \the [src] with \the [used].")) qdel(src) return ITEM_INTERACT_COMPLETE @@ -191,7 +191,7 @@ var/mob/holder = get(loc, /mob) if(current_owner && current_owner != holder) - to_chat(current_owner, "Your otherworldly vision fades...") + to_chat(current_owner, SPAN_NOTICE("Your otherworldly vision fades...")) REMOVE_TRAIT(current_owner, TRAIT_XRAY_VISION, SCRYING_ORB) REMOVE_TRAIT(current_owner, TRAIT_NIGHT_VISION, SCRYING_ORB) @@ -203,7 +203,7 @@ if(!current_owner && holder) current_owner = holder - to_chat(current_owner, "You can see...everything!") + to_chat(current_owner, SPAN_NOTICE("You can see...everything!")) ADD_TRAIT(current_owner, TRAIT_XRAY_VISION, SCRYING_ORB) ADD_TRAIT(current_owner, TRAIT_NIGHT_VISION, SCRYING_ORB) @@ -215,18 +215,18 @@ return in_use = TRUE ADD_TRAIT(user, SCRYING, SCRYING_ORB) - user.visible_message("[user] stares into [src], [user.p_their()] eyes glazing over.", - "You stare into [src], you can see the entire universe!") + user.visible_message(SPAN_NOTICE("[user] stares into [src], [user.p_their()] eyes glazing over."), + SPAN_DANGER("You stare into [src], you can see the entire universe!")) ghost = user.ghostize(ghost_name = "Magic Spirit of [user.name]", ghost_color = COLOR_BLUE) while(!QDELETED(user)) if(user.key || QDELETED(src)) - user.visible_message("[user] blinks, returning to the world around [user.p_them()].", - "You look away from [src].") + user.visible_message(SPAN_NOTICE("[user] blinks, returning to the world around [user.p_them()]."), + SPAN_DANGER("You look away from [src].")) break if(user.get_active_hand() != src) user.grab_ghost() - user.visible_message("[user]'s focus is forced away from [src].", - "Your vision is ripped away from [src].") + user.visible_message(SPAN_NOTICE("[user]'s focus is forced away from [src]."), + SPAN_USERDANGER("Your vision is ripped away from [src].")) break sleep(5) in_use = FALSE @@ -284,13 +284,13 @@ GLOBAL_LIST_EMPTY(multiverse) /obj/item/multisword/attack__legacy__attackchain(mob/living/M as mob, mob/living/user as mob) //to prevent accidental friendly fire or out and out grief. if(M.real_name == user.real_name) - to_chat(user, "[src] detects benevolent energies in your target and redirects your attack!") + to_chat(user, SPAN_WARNING("[src] detects benevolent energies in your target and redirects your attack!")) return ..() /obj/item/multisword/attack_self__legacy__attackchain(mob/user) if(user.mind.special_role == SPECIAL_ROLE_WIZARD_APPRENTICE) - to_chat(user, "You know better than to touch your teacher's stuff.") + to_chat(user, SPAN_WARNING("You know better than to touch your teacher's stuff.")) return if(cooldown < world.time) var/faction_check = 0 @@ -305,7 +305,7 @@ GLOBAL_LIST_EMPTY(multiverse) to_chat(user, "You bind the sword to yourself. You can now use it to summon help.") if(!usr.mind.special_role) if(prob(probability_evil)) - to_chat(user, "With your new found power you could easily conquer the station!") + to_chat(user, SPAN_WARNING("With your new found power you could easily conquer the station!")) var/datum/objective/hijackclone/hijack_objective = new /datum/objective/hijackclone hijack_objective.explanation_text = "Ensure only [usr.real_name] and [usr.p_their()] copies are on the shuttle!" @@ -317,7 +317,7 @@ GLOBAL_LIST_EMPTY(multiverse) usr.mind.special_role = "[usr.real_name] Prime" evil = TRUE else - to_chat(user, "With your new found power you could easily defend the station!") + to_chat(user, SPAN_WARNING("With your new found power you could easily defend the station!")) var/datum/objective/survive/new_objective = new /datum/objective/survive new_objective.explanation_text = "Survive, and help defend the innocent from the mobs of multiverse clones." @@ -339,13 +339,13 @@ GLOBAL_LIST_EMPTY(multiverse) if(length(candidates)) var/mob/C = pick(candidates) spawn_copy(C.client, get_turf(user.loc), user) - to_chat(user, "The sword flashes, and you find yourself face to face with...you!") + to_chat(user, SPAN_WARNING("The sword flashes, and you find yourself face to face with...you!")) dust_if_respawnable(C) else to_chat(user, "You fail to summon any copies of yourself. Perhaps you should try again in a bit.") else - to_chat(user, "[src] is recharging! Keep in mind it shares a cooldown with the swords wielded by your copies.") + to_chat(user, SPAN_WARNING("[src] is recharging! Keep in mind it shares a cooldown with the swords wielded by your copies.")) /obj/item/multisword/proc/spawn_copy(client/C, turf/T, mob/user) @@ -689,21 +689,21 @@ GLOBAL_LIST_EMPTY(multiverse) return ..() if(victim.stat != DEAD) - to_chat(necromancer, "This artifact can only affect the dead!") + to_chat(necromancer, SPAN_WARNING("This artifact can only affect the dead!")) return if((!victim.mind || !victim.client) && !victim.grab_ghost()) - to_chat(necromancer, "There is no soul connected to this body...") + to_chat(necromancer, SPAN_WARNING("There is no soul connected to this body...")) return if(victim.mind.has_antag_datum(/datum/antagonist/mindslave/necromancy/plague_zombie)) - to_chat(necromancer, "This one is already under another artifact's influence!") + to_chat(necromancer, SPAN_WARNING("This one is already under another artifact's influence!")) return if(!check_skeletons()) //If above the cap, there is a cooldown on additional skeletons - to_chat(necromancer, "The amount of skeleton thralls risen by [src] strains its power.") + to_chat(necromancer, SPAN_NOTICE("The amount of skeleton thralls risen by [src] strains its power.")) if(!COOLDOWN_FINISHED(src, additional_thralls_cooldown)) - to_chat(necromancer, "[src] cannot rise another thrall for [DisplayTimeText(COOLDOWN_TIMELEFT(src, additional_thralls_cooldown))].") + to_chat(necromancer, SPAN_WARNING("[src] cannot rise another thrall for [DisplayTimeText(COOLDOWN_TIMELEFT(src, additional_thralls_cooldown))].")) return COOLDOWN_START(src, additional_thralls_cooldown, above_cap_cooldown) @@ -712,7 +712,7 @@ GLOBAL_LIST_EMPTY(multiverse) ///Mindslave and equip the victim /obj/item/necromantic_stone/proc/convert_victim(mob/living/carbon/human/victim, mob/living/carbon/human/necromancer) active_skeletons |= victim - var/greet_text = "You have been revived by [necromancer.real_name]!\n[necromancer.p_theyre(TRUE)] your master now, assist them even if it costs you your new life!" + var/greet_text = SPAN_USERDANGER("You have been revived by [necromancer.real_name]!\n[necromancer.p_theyre(TRUE)] your master now, assist them even if it costs you your new life!") if(!victim.mind.has_antag_datum(/datum/antagonist/mindslave/necromancy)) victim.mind.add_antag_datum(new /datum/antagonist/mindslave/necromancy(necromancer.mind, greet_text)) @@ -720,7 +720,7 @@ GLOBAL_LIST_EMPTY(multiverse) equip_heresy(victim)//oh god why return - victim.visible_message("A massive amount of flesh sloughs off [victim] and a skeleton rises up!") + victim.visible_message(SPAN_WARNING("A massive amount of flesh sloughs off [victim] and a skeleton rises up!")) equip_skeleton(victim) ///Clean the list of active skeletons and check if more can be summoned easily @@ -856,19 +856,19 @@ GLOBAL_LIST_EMPTY(multiverse) return ..() if(victim.stat != DEAD) - to_chat(necromancer, "This artifact can only affect the dead!") + to_chat(necromancer, SPAN_WARNING("This artifact can only affect the dead!")) return if(ismachineperson(victim)) - to_chat(necromancer, "This one isn't vulnerable to this form of plague magic.") + to_chat(necromancer, SPAN_WARNING("This one isn't vulnerable to this form of plague magic.")) return if((!victim.mind || !victim.client) && !victim.grab_ghost()) - to_chat(necromancer, "There is no soul connected to this body...") + to_chat(necromancer, SPAN_WARNING("There is no soul connected to this body...")) return if(victim.mind.has_antag_datum(/datum/antagonist/mindslave/necromancy)) - to_chat(necromancer, "This one is already under the artifact's influence! Give it time.") + to_chat(necromancer, SPAN_WARNING("This one is already under the artifact's influence! Give it time.")) return raise_victim(victim, necromancer) @@ -879,7 +879,7 @@ GLOBAL_LIST_EMPTY(multiverse) var/datum/disease/chosen_plague = pick_disease() //what disease to give them victim.grab_ghost() // to attempt to hold their ghost still while we do our thing - victim.visible_message("[necromancer] places a vile rune upon [victim]'s lifeless forehead. The rune adheres to the flesh, and [victim]'s body rots and decays at unnatural speeds, before rising into a horrendous undead creature!") + victim.visible_message(SPAN_DANGER("[necromancer] places a vile rune upon [victim]'s lifeless forehead. The rune adheres to the flesh, and [victim]'s body rots and decays at unnatural speeds, before rising into a horrendous undead creature!")) var/static/list/plague_traits = list(TRAIT_NON_INFECTIOUS_ZOMBIE, TRAIT_PLAGUE_ZOMBIE) for(var/trait in plague_traits) @@ -973,7 +973,7 @@ GLOBAL_LIST_EMPTY(multiverse) var/choice = show_radial_menu(user, src, options, require_near = TRUE) if(!choice || user.stat || !in_range(user, src) || QDELETED(src)) return - to_chat(user, "The [name] fills to brimming with [options_to_descriptions[choice]].") + to_chat(user, SPAN_NOTICE("The [name] fills to brimming with [options_to_descriptions[choice]].")) magic_fill(options_to_reagent[choice]) /obj/item/reagent_containers/drinks/everfull/proc/magic_fill(reagent_choice) diff --git a/code/game/gamemodes/wizard/godhand.dm b/code/game/gamemodes/wizard/godhand.dm index cd569b8c771..19bbb178690 100644 --- a/code/game/gamemodes/wizard/godhand.dm +++ b/code/game/gamemodes/wizard/godhand.dm @@ -27,20 +27,20 @@ return ..() /obj/item/melee/touch_attack/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in magic fire." + return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in magic fire.") /obj/item/melee/touch_attack/attack(mob/living/target, mob/living/carbon/human/user) if(..() || !iscarbon(user)) //Look ma, no hands return FINISH_ATTACK if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - to_chat(user, "You can't reach out!") + to_chat(user, SPAN_WARNING("You can't reach out!")) return FINISH_ATTACK /obj/item/melee/touch_attack/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() var/mob/mob_victim = target if(istype(mob_victim) && mob_victim.can_block_magic(attached_spell.antimagic_flags)) - to_chat(user, "[mob_victim] absorbs your spell!") + to_chat(user, SPAN_DANGER("[mob_victim] absorbs your spell!")) blocked_by_antimagic = TRUE if(attached_spell && attached_spell.cooldown_handler) attached_spell.cooldown_handler.start_recharge(attached_spell.cooldown_handler.recharge_duration * 0.5) @@ -133,7 +133,7 @@ return if(iswizard(target)) - to_chat(user, "The spell has no effect on [target].") + to_chat(user, SPAN_WARNING("The spell has no effect on [target].")) return var/datum/effect_system/smoke_spread/s = new diff --git a/code/game/gamemodes/wizard/magic_tarot.dm b/code/game/gamemodes/wizard/magic_tarot.dm index faa875eccdf..a084706d0b3 100644 --- a/code/game/gamemodes/wizard/magic_tarot.dm +++ b/code/game/gamemodes/wizard/magic_tarot.dm @@ -18,28 +18,28 @@ /obj/item/tarot_generator/attack_self__legacy__attackchain(mob/user) if(!COOLDOWN_FINISHED(src, card_cooldown)) - to_chat(user, "[src]'s magic is still recovering from the last card, wait [round(COOLDOWN_TIMELEFT(src, card_cooldown) / 10)] more second\s!") + to_chat(user, SPAN_WARNING("[src]'s magic is still recovering from the last card, wait [round(COOLDOWN_TIMELEFT(src, card_cooldown) / 10)] more second\s!")) return if(length(our_card_list) >= maximum_cards) - to_chat(user, "[src]'s magic can only support up to [maximum_cards] in the world at once, use or destroy some!") + to_chat(user, SPAN_WARNING("[src]'s magic can only support up to [maximum_cards] in the world at once, use or destroy some!")) return var/obj/item/magic_tarot_card/MTC = new /obj/item/magic_tarot_card(get_turf(src), src) our_card_list += MTC user.put_in_hands(MTC) - to_chat(user, "You draw [MTC.name]... [MTC.card_desc]") //No period on purpose. + to_chat(user, SPAN_HIEROPHANT("You draw [MTC.name]... [MTC.card_desc]")) //No period on purpose. COOLDOWN_START(src, card_cooldown, our_card_cooldown_time) /obj/item/tarot_generator/examine(mob/user) . = ..() - . += "Alt-Shift-Click to destroy all cards it has produced." - . += "It has [length(our_card_list)] card\s in the world right now." + . += SPAN_HIEROPHANT("Alt-Shift-Click to destroy all cards it has produced.") + . += SPAN_HIEROPHANT("It has [length(our_card_list)] card\s in the world right now.") if(!COOLDOWN_FINISHED(src, card_cooldown)) - . += "You may draw another card again in [round(COOLDOWN_TIMELEFT(src, card_cooldown) / 10)] second\s." + . += SPAN_HIEROPHANT("You may draw another card again in [round(COOLDOWN_TIMELEFT(src, card_cooldown) / 10)] second\s.") /obj/item/tarot_generator/AltShiftClick(mob/user) for(var/obj/item/magic_tarot_card/MTC in our_card_list) MTC.dust() - to_chat(user, "You dispell the cards [src] had created.") + to_chat(user, SPAN_HIEROPHANT("You dispell the cards [src] had created.")) // Booster packs filled with 3, 5, or 7 playing cards! Used by the wizard space ruin, or rarely in lavaland tendril chests. /obj/item/tarot_card_pack @@ -51,8 +51,8 @@ var/cards = 3 /obj/item/tarot_card_pack/attack_self__legacy__attackchain(mob/user) - user.visible_message("[user] tears open [src].", \ - "You tear open [src]!") + user.visible_message(SPAN_NOTICE("[user] tears open [src]."), \ + SPAN_HIEROPHANT("You tear open [src]!")) playsound(loc, 'sound/items/poster_ripped.ogg', 50, TRUE) for(var/i in 1 to cards) new /obj/item/magic_tarot_card(get_turf(src)) @@ -86,9 +86,9 @@ /obj/item/blank_tarot_card/examine(mob/user) . = ..() if(!let_people_choose) - . += "With a bit of Ink, a work of art could be created. Will you provide your Ink?" + . += SPAN_HIEROPHANT("With a bit of Ink, a work of art could be created. Will you provide your Ink?") else - . += "We have the Ink... Could you provide your Vision instead?" + . += SPAN_HIEROPHANT("We have the Ink... Could you provide your Vision instead?") /obj/item/blank_tarot_card/attack_self__legacy__attackchain(mob/user) if(!ishuman(user)) @@ -96,7 +96,7 @@ if(!let_people_choose) var/mob/living/carbon/human/H = user if(H.dna && (NO_BLOOD in H.dna.species.species_traits)) - to_chat(user, "No blood to provide?... Then no Ink for the art...") + to_chat(user, SPAN_CULT("No blood to provide?... Then no Ink for the art...")) return if(H.blood_volume <= 100) //Shouldn't happen, they should be dead, but failsafe. Not bleeding as then they could recover the blood with blood rites return @@ -104,7 +104,7 @@ H.drop_item() var/obj/item/magic_tarot_card/MTC = new /obj/item/magic_tarot_card(get_turf(src)) user.put_in_hands(MTC) - to_chat(user, "Your blood flows into [src]... And your Ink makes a work of art! [MTC.name]... [MTC.card_desc]") //No period on purpose. + to_chat(user, SPAN_CULT("Your blood flows into [src]... And your Ink makes a work of art! [MTC.name]... [MTC.card_desc]")) //No period on purpose. qdel(src) return var/tarot_type @@ -120,7 +120,7 @@ user.drop_item() var/obj/item/magic_tarot_card/MTC = new /obj/item/magic_tarot_card(get_turf(src), null, tarot_type) user.put_in_hands(MTC) - to_chat(user, "You put your Vision into [src], and your Vision makes a work of Art! [MTC.name]... [MTC.card_desc]") //No period on purpose. + to_chat(user, SPAN_HIEROPHANT("You put your Vision into [src], and your Vision makes a work of Art! [MTC.name]... [MTC.card_desc]")) //No period on purpose. qdel(src) /obj/item/blank_tarot_card/choose //For admins mainly, to spawn a specific tarot card. Not recommended for ruins. @@ -169,13 +169,13 @@ /obj/item/magic_tarot_card/examine(mob/user) . = ..() if(!face_down) - . += "[card_desc]" - . += "Alt-Shift-Click to flip the card over." + . += SPAN_HIEROPHANT("[card_desc]") + . += SPAN_HIEROPHANT("Alt-Shift-Click to flip the card over.") /obj/item/magic_tarot_card/examine_more(mob/user) . = ..() if(!face_down) - . += "[src] [our_tarot.extended_desc]" + . += SPAN_HIEROPHANT("[src] [our_tarot.extended_desc]") /obj/item/magic_tarot_card/attack_self__legacy__attackchain(mob/user) poof() @@ -223,21 +223,21 @@ new /obj/effect/temp_visual/revenant(get_turf(src)) /obj/item/magic_tarot_card/proc/dust() - visible_message("[src] disintegrates into dust!") + visible_message(SPAN_DANGER("[src] disintegrates into dust!")) new /obj/effect/temp_visual/revenant(get_turf(src)) qdel(src) /obj/item/magic_tarot_card/proc/pre_activate(mob/user, atom/movable/thrower) if(user != thrower) //Ignore antimagic stuff if the user is the thrower (aka self activation) if(user.can_block_magic(our_tarot.antimagic_flags, 1)) - visible_message("[src] burns up in a flash on contact with [user]!") + visible_message(SPAN_WARNING("[src] burns up in a flash on contact with [user]!")) qdel(src) return has_been_activated = TRUE forceMove(user) var/obj/effect/temp_visual/card_preview/tarot/draft = new(user, "tarot_[our_tarot.card_icon]") user.vis_contents += draft - user.visible_message("[user] holds up [src]!") + user.visible_message(SPAN_HIEROPHANT("[user] holds up [src]!")) addtimer(CALLBACK(our_tarot, TYPE_PROC_REF(/datum/tarot, activate), user), 0.5 SECONDS) if(ismob(thrower) && our_tarot) add_attack_logs(thrower, user, "[thrower] has activated [our_tarot.name] on [user]", ATKLOG_FEW) @@ -307,7 +307,7 @@ if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT) return FALSE target.forceMove(pick(GLOB.latejoin)) - to_chat(target, "You are abruptly pulled through space!") + to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!")) /datum/tarot/the_magician name = "I - The Magician" @@ -317,7 +317,7 @@ /datum/tarot/the_magician/activate(mob/living/target) target.apply_status_effect(STATUS_EFFECT_BADASS) - to_chat(target, "You feel badass.") + to_chat(target, SPAN_NOTICE("You feel badass.")) /datum/tarot/the_high_priestess name = "II - The High Priestess" @@ -350,7 +350,7 @@ new /obj/effect/temp_visual/bubblegum_hands/leftsmack(first_turf) sleep(6) var/turf/second_turf = get_turf(owner) - to_chat(owner, "Something huge rends you!") + to_chat(owner, SPAN_USERDANGER("Something huge rends you!")) playsound(second_turf, 'sound/misc/demon_attack1.ogg', 100, TRUE, -1) owner.adjustBruteLoss(damage) qdel(src) @@ -381,12 +381,12 @@ L.Add(T) if(!length(L)) - to_chat(target, "Huh. No bridge? Well, that sucks.") + to_chat(target, SPAN_WARNING("Huh. No bridge? Well, that sucks.")) return if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT) return FALSE target.forceMove(pick(L)) - to_chat(target, "You are abruptly pulled through space!") + to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!")) /datum/tarot/the_hierophant name = "V - The Hierophant" @@ -458,12 +458,12 @@ viable_vendors += candidate if(!length(viable_vendors)) - to_chat(target, "No vending machines? Well, with luck cargo will have something to offer. If you go there yourself.") + to_chat(target, SPAN_WARNING("No vending machines? Well, with luck cargo will have something to offer. If you go there yourself.")) return if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT) return FALSE target.forceMove(get_turf(pick(viable_vendors))) - to_chat(target, "You are abruptly pulled through space!") + to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!")) /datum/tarot/wheel_of_fortune name = "X - Wheel of Fortune" @@ -573,12 +573,12 @@ L.Add(T) if(!length(L)) - to_chat(target, "Huh. No evidence? Well, that means they can't charge you with a crime, right?") + to_chat(target, SPAN_WARNING("Huh. No evidence? Well, that means they can't charge you with a crime, right?")) return if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT) return FALSE target.forceMove(pick(L)) - to_chat(target, "You are abruptly pulled through space!") + to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!")) for(var/obj/structure/closet/C in shuffle(view(9, target))) if(istype(C, /obj/structure/closet/secure_closet)) var/obj/structure/closet/secure_closet/SC = C @@ -612,7 +612,7 @@ funny_ruin_list += ruin_landmark if(!length(funny_ruin_list)) - to_chat(target, "Huh. No space ruins? Well, this card is RUINED!") + to_chat(target, SPAN_WARNING("Huh. No space ruins? Well, this card is RUINED!")) return teleport(target, get_turf(pick(funny_ruin_list))) @@ -620,7 +620,7 @@ /datum/tarot/the_moon/proc/teleport(mob/living/target, turf/teleport_location) teleport_location.ChangeTurf(/turf/simulated/floor/plating) //we give them plating so they are not trapped in a wall or fall into lava/chasm, and a pickaxe to avoid being trapped in a wall target.forceMove(teleport_location) - to_chat(target, "You are abruptly pulled through space!") + to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!")) new /obj/item/pickaxe/emergency(teleport_location) target.update_parallax_contents() @@ -700,13 +700,13 @@ var/mob/living/M = AM M.Weaken(6 SECONDS) M.adjustBruteLoss(10) - to_chat(M, "You're slammed into the floor by [name]!") + to_chat(M, SPAN_USERDANGER("You're slammed into the floor by [name]!")) add_attack_logs(target, M, "[M] was thrown by [target]'s [name]", ATKLOG_ALMOSTALL) else new sparkle_path(get_turf(AM), get_dir(target, AM)) if(isliving(AM)) var/mob/living/M = AM - to_chat(M, "You're thrown back by [name]!") + to_chat(M, SPAN_USERDANGER("You're thrown back by [name]!")) add_attack_logs(target, M, "[M] was thrown by [target]'s [name]", ATKLOG_ALMOSTALL) INVOKE_ASYNC(AM, TYPE_PROC_REF(/atom/movable, throw_at), throw_target, ((clamp((3 - (clamp(dist_from_user - 2, 0, dist_from_user))), 3, 3))), 1) //So stuff gets tossed around at the same time. @@ -717,7 +717,7 @@ card_icon = "the_high_priestess?" /datum/tarot/reversed/the_high_priestess/activate(mob/living/target) - target.visible_message("WHO DARES TO TRY TO USE MY POWER IN A CARD?") + target.visible_message(SPAN_COLOSSUS("WHO DARES TO TRY TO USE MY POWER IN A CARD?")) target.apply_status_effect(STATUS_EFFECT_REVERSED_HIGH_PRIESTESS) /datum/tarot/reversed/the_empress @@ -729,7 +729,7 @@ /datum/tarot/reversed/the_empress/activate(mob/living/target) for(var/mob/living/L in oview(9, target)) if(L.can_block_magic(antimagic_flags)) - to_chat(L, "You feel calm for a second, but it quickly passes.") + to_chat(L, SPAN_NOTICE("You feel calm for a second, but it quickly passes.")) continue L.apply_status_effect(STATUS_EFFECT_PACIFIED) @@ -747,12 +747,12 @@ L.Add(head.current) if(!length(L)) - to_chat(target, "Huh. No command members? I hope you didn't kill them all already...") + to_chat(target, SPAN_WARNING("Huh. No command members? I hope you didn't kill them all already...")) return if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT) return FALSE target.forceMove(get_turf(pick(L))) - to_chat(target, "You are abruptly pulled through space!") + to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!")) /datum/tarot/reversed/the_hierophant name = "V - The Hierophant?" @@ -902,7 +902,7 @@ R.add_reagent(get_unrestricted_random_reagent_id(), 10) R.reaction(H, REAGENT_INGEST) R.trans_to(H, 10) - target.visible_message("[target] consumes 5 pills rapidly!") + target.visible_message(SPAN_WARNING("[target] consumes 5 pills rapidly!")) /datum/tarot/reversed/the_devil name = "XV - The Devil?" @@ -1004,9 +1004,9 @@ L.Add(T) if(!length(L)) - to_chat(target, "Hmm. No base? A miner issue.") + to_chat(target, SPAN_WARNING("Hmm. No base? A miner issue.")) return if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT) return FALSE target.forceMove(pick(L)) - to_chat(target, "You are abruptly pulled through space!") + to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!")) diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm index e5104968eb3..3db4cd950f1 100644 --- a/code/game/gamemodes/wizard/raginmages.dm +++ b/code/game/gamemodes/wizard/raginmages.dm @@ -34,14 +34,14 @@ if(wizard.current.stat != CONSCIOUS) if(wizard.current.health < HEALTH_THRESHOLD_DEAD || wizard.current.stat == DEAD) //Lets make this not get funny rng crit involved if(!squabble_helper(wizard)) - to_chat(wizard.current, "The Space Wizard Federation is upset with your performance and have terminated your employment.") + to_chat(wizard.current, SPAN_WARNING("The Space Wizard Federation is upset with your performance and have terminated your employment.")) wizard.current.dust() // *REAL* ACTION!! *REAL* DRAMA!! *REAL* BLOODSHED!! continue if(!wizard.current.client) continue // Could just be a bad connection, so SSD wiz's shouldn't be gibbed over it, but they're not "alive" either if(wizard.current.client.is_afk() > 10 MINUTES) - to_chat(wizard.current, "The Space Wizard Federation is upset with your performance and have terminated your employment.") + to_chat(wizard.current, SPAN_WARNING("The Space Wizard Federation is upset with your performance and have terminated your employment.")) wizard.current.dust() // Let's keep the round moving continue wizards_alive++ @@ -62,7 +62,7 @@ /datum/game_mode/wizard/raginmages/proc/squabble_helper(datum/mind/wizard) if(istype(get_area(wizard.current), /area/wizard_station)) // We don't want people camping other wizards - to_chat(wizard.current, "If there aren't any admins on and another wizard is camping you in the wizard lair, report them on the forums.") + to_chat(wizard.current, SPAN_WARNING("If there aren't any admins on and another wizard is camping you in the wizard lair, report them on the forums.")) message_admins("[wizard.current] died in the wizard lair, another wizard is likely camping") end_squabble(get_area(wizard.current)) return TRUE @@ -82,7 +82,7 @@ marked_for_death |= M.current for(var/mob/living/L in marked_for_death) if(L.stat == CONSCIOUS) // Probably a troublemaker - I'd like to see YOU fight when unconscious - to_chat(L, "STOP FIGHTING.") + to_chat(L, SPAN_USERDANGER("STOP FIGHTING.")) L.ghostize() if(isbrain(L)) // diediedie @@ -146,7 +146,7 @@ /datum/game_mode/wizard/raginmages/declare_completion() if(finished) SSticker.mode_result = "raging wizard loss - wizard killed" - to_chat(world, "The crew has managed to hold off the Wizard attack! The Space Wizard Federation has been taught a lesson they will not soon forget!") + to_chat(world, SPAN_WARNING("The crew has managed to hold off the Wizard attack! The Space Wizard Federation has been taught a lesson they will not soon forget!")) ..(1) /datum/game_mode/wizard/raginmages/proc/populate_magivends() diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index 5a60ae1989a..9e45a04d300 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -130,7 +130,7 @@ GLOBAL_VAR_INIT(summon_magic_triggered, FALSE) var/in_hand = H.put_in_hands(G) // not always successful - to_chat(H, "\A [G] appears [in_hand ? "in your hand" : "at your feet"]!") + to_chat(H, SPAN_WARNING("\A [G] appears [in_hand ? "in your hand" : "at your feet"]!")) /proc/give_magic(mob/living/carbon/human/H) if(H.stat == DEAD || !(H.client)) @@ -157,13 +157,13 @@ GLOBAL_VAR_INIT(summon_magic_triggered, FALSE) var/in_hand = H.put_in_hands(M) - to_chat(H, "\A [M] appears [in_hand ? "in your hand" : "at your feet"]!") + to_chat(H, SPAN_WARNING("\A [M] appears [in_hand ? "in your hand" : "at your feet"]!")) if(lucky) - to_chat(H, "You feel incredibly lucky.") + to_chat(H, SPAN_NOTICE("You feel incredibly lucky.")) /proc/rightandwrong(summon_type, mob/user, survivor_probability) if(user) //in this case either someone holding a spellbook or a badmin - to_chat(user, "You summoned [summon_type]!") + to_chat(user, SPAN_WARNING("You summoned [summon_type]!")) message_admins("[ADMIN_LOOKUPFLW(user)] summoned [summon_type]!") log_game("[key_name(user)] summoned [summon_type]!") diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 35185b94547..c465aee31dc 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -61,13 +61,13 @@ /obj/item/soulstone/pickup(mob/living/user) . = ..() if(IS_CULTIST(user) && purified && !iswizard(user)) - to_chat(user, "[src] reeks of holy magic. You will need to cleanse it with a ritual dagger before anything can be done with it.") + to_chat(user, SPAN_DANGER("[src] reeks of holy magic. You will need to cleanse it with a ritual dagger before anything can be done with it.")) return if(HAS_MIND_TRAIT(user, TRAIT_HOLY)) - to_chat(user, "An overwhelming feeling of dread comes over you as you pick up [src]. It looks fragile enough to break with your hands.") + to_chat(user, SPAN_DANGER("An overwhelming feeling of dread comes over you as you pick up [src]. It looks fragile enough to break with your hands.")) return if(!can_use(user)) - to_chat(user, "An overwhelming feeling of dread comes over you as you pick up [src].") + to_chat(user, SPAN_DANGER("An overwhelming feeling of dread comes over you as you pick up [src].")) /obj/item/soulstone/Destroy() //Stops the shade from being qdel'd immediately and their ghost being sent back to the arrival shuttle. for(var/mob/living/simple_animal/shade/A in src) @@ -95,45 +95,45 @@ if(!can_use(user)) user.Weaken(10 SECONDS) user.emote("scream") - to_chat(user, "Your body is wracked with debilitating pain!") + to_chat(user, SPAN_USERDANGER("Your body is wracked with debilitating pain!")) return if(spent) - to_chat(user, "There is no power left in the shard.") + to_chat(user, SPAN_WARNING("There is no power left in the shard.")) return if(!ishuman(M)) //If target is not a human return ..() if(!M.mind) - to_chat(user, "This being has no soul!") + to_chat(user, SPAN_WARNING("This being has no soul!")) return ..() if(jobban_isbanned(M, ROLE_CULTIST) || jobban_isbanned(M, ROLE_SYNDICATE)) - to_chat(user, "A mysterious force prevents you from trapping this being's soul.") + to_chat(user, SPAN_WARNING("A mysterious force prevents you from trapping this being's soul.")) return ..() if(IS_CULTIST(user) && IS_CULTIST(M)) - to_chat(user, "\"Come now, do not capture your fellow's soul.\"") + to_chat(user, SPAN_CULTLARGE("\"Come now, do not capture your fellow's soul.\"")) return ..() if((M.mind.offstation_role && M.mind.special_role != SPECIAL_ROLE_ERT) || HAS_MIND_TRAIT(M, TRAIT_XENOBIO_SPAWNED_HUMAN)) - to_chat(user, "This being's soul seems worthless. Not even the stone will absorb it.") + to_chat(user, SPAN_WARNING("This being's soul seems worthless. Not even the stone will absorb it.")) return ..() if(optional) if(!M.ckey) - to_chat(user, "They have no soul!") + to_chat(user, SPAN_WARNING("They have no soul!")) return - to_chat(user, "You attempt to channel [M]'s soul into [src]. You must give the soul some time to react and stand still...") + to_chat(user, SPAN_WARNING("You attempt to channel [M]'s soul into [src]. You must give the soul some time to react and stand still...")) var/mob/player_mob = M var/ghost = M.get_ghost() if(ghost) // In case our player ghosted and we need to throw the alert at their ghost instead player_mob = ghost var/client/player_client = player_mob.client - to_chat(player_mob, "[user] is trying to capture your soul into [src]! Click the button in the top right of the game window to respond.") + to_chat(player_mob, SPAN_WARNING("[user] is trying to capture your soul into [src]! Click the button in the top right of the game window to respond.")) SEND_SOUND(player_client, sound('sound/misc/notice2.ogg')) window_flash(player_client) @@ -158,7 +158,7 @@ sleep(10 SECONDS) if(!opt_in) - to_chat(user, "The soul resists your attempts at capturing it!") + to_chat(user, SPAN_WARNING("The soul resists your attempts at capturing it!")) return opt_in = FALSE @@ -174,7 +174,7 @@ if(istype(O, /obj/item/storage/bible) && !IS_CULTIST(user) && HAS_MIND_TRAIT(user, TRAIT_HOLY)) if(purified) return - to_chat(user, "You begin to exorcise [src].") + to_chat(user, SPAN_NOTICE("You begin to exorcise [src].")) playsound(src, 'sound/hallucinations/veryfar_noise.ogg', 40, TRUE) if(do_after(user, 40, target = src)) remove_filter("ray") @@ -190,19 +190,19 @@ M.mind.remove_antag_datum(/datum/antagonist/cultist, silent_removal = TRUE) to_chat(M, "An unfamiliar white light flashes through your mind, cleansing the taint of [GET_CULT_DATA(entity_title1, "Nar'Sie")] \ and the memories of your time as their servant with it.") - to_chat(M, "Assist [user], your saviour, and get vengeance on those who enslaved you!") + to_chat(M, SPAN_DANGER("Assist [user], your saviour, and get vengeance on those who enslaved you!")) else - to_chat(M, "Your soulstone has been exorcised, and you are now bound to obey [user].") + to_chat(M, SPAN_DANGER("Your soulstone has been exorcised, and you are now bound to obey [user].")) for(var/mob/living/simple_animal/shade/EX in src) EX.holy = TRUE EX.icon_state = "shade_angelic" - user.visible_message("[user] purifies [src]!", "You purify [src]!") + user.visible_message(SPAN_NOTICE("[user] purifies [src]!"), SPAN_NOTICE("You purify [src]!")) else if(istype(O, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user)) if(!purified) return - to_chat(user, "You begin to cleanse [src] of holy magic.") + to_chat(user, SPAN_NOTICE("You begin to cleanse [src] of holy magic.")) if(do_after(user, 40, target = src)) remove_filter("ray") usability = FALSE @@ -214,11 +214,11 @@ if(M.mind) icon_state = "soulstone2" M.mind.add_antag_datum(/datum/antagonist/cultist) - to_chat(M, "Your shard has been cleansed of holy magic, and you are now bound to the cult's will. Obey them and assist in their goals.") + to_chat(M, SPAN_CULT("Your shard has been cleansed of holy magic, and you are now bound to the cult's will. Obey them and assist in their goals.")) for(var/mob/living/simple_animal/shade/EX in src) EX.holy = FALSE EX.icon_state = GET_CULT_DATA(shade_icon_state, "shade") - to_chat(user, "You have cleansed [src] of holy magic.") + to_chat(user, SPAN_NOTICE("You have cleansed [src] of holy magic.")) else ..() @@ -232,7 +232,7 @@ return if(!HAS_MIND_TRAIT(user, TRAIT_HOLY)) - to_chat(user, "The shard feels too tough to shatter, you are not holy enough to free its captive!") + to_chat(user, SPAN_NOTICE("The shard feels too tough to shatter, you are not holy enough to free its captive!")) return if(!do_after_once(user, 10 SECONDS, FALSE, src)) @@ -262,9 +262,9 @@ icon_state = "soulstone" name = initial(name) if(IS_CULTIST(A)) - to_chat(A, "You have been released from your prison, but you are still bound to the cult's will. Help them succeed in their goals at all costs.") + to_chat(A, SPAN_USERDANGER("You have been released from your prison, but you are still bound to the cult's will. Help them succeed in their goals at all costs.")) else - to_chat(A, "You have been released from your prison, but you are still bound to your [purified ? "saviour" : "creator"]'s will.") + to_chat(A, SPAN_USERDANGER("You have been released from your prison, but you are still bound to your [purified ? "saviour" : "creator"]'s will.")) was_used() remove_filter("ray") STOP_PROCESSING(SSobj, src) @@ -282,17 +282,17 @@ /obj/structure/constructshell/examine(mob/user) . = ..() if(in_range(user, src) && (IS_CULTIST(user) || iswizard(user) || user.stat == DEAD)) - . += "A construct shell, used to house bound souls from a soulstone." - . += "Placing a soulstone with a soul into this shell allows you to produce your choice of the following:" - . += "An Artificer, which can produce more shells and soulstones, as well as fortifications." - . += "A Wraith, which does high damage and can jaunt through walls, though it is quite fragile." - . += "A Juggernaut, which is very hard to kill and can produce temporary walls, but is slow." + . += SPAN_CULT("A construct shell, used to house bound souls from a soulstone.") + . += SPAN_CULT("Placing a soulstone with a soul into this shell allows you to produce your choice of the following:") + . += SPAN_CULTITALIC("An Artificer, which can produce more shells and soulstones, as well as fortifications.") + . += SPAN_CULTITALIC("A Wraith, which does high damage and can jaunt through walls, though it is quite fragile.") + . += SPAN_CULTITALIC("A Juggernaut, which is very hard to kill and can produce temporary walls, but is slow.") /obj/structure/constructshell/item_interaction(mob/living/user, obj/item/I, list/modifiers) if(istype(I, /obj/item/soulstone)) var/obj/item/soulstone/SS = I if(!SS.can_use(user)) - to_chat(user, "An overwhelming feeling of dread comes over you as you attempt to place the soulstone into the shell.") + to_chat(user, SPAN_DANGER("An overwhelming feeling of dread comes over you as you attempt to place the soulstone into the shell.")) user.Confused(20 SECONDS) return ITEM_INTERACT_COMPLETE SS.transfer_soul("CONSTRUCT", src, user) @@ -310,26 +310,26 @@ if(T.client) // If there's someone in the body init_shade(T, user) else // Poll ghosts - to_chat(user, "Capture failed! The soul has already fled its mortal frame. You attempt to bring it back...") + to_chat(user, "[SPAN_USERDANGER("Capture failed!")] The soul has already fled its mortal frame. You attempt to bring it back...") T.Paralyse(40 SECONDS) if(!get_cult_ghost(T, user, TRUE)) // no luck, dont shard them. - to_chat(user, "No soul responds to the soul stone.") + to_chat(user, SPAN_USERDANGER("No soul responds to the soul stone.")) if("VICTIM") var/mob/living/carbon/human/T = target if(T.stat == CONSCIOUS) - to_chat(user, "Capture failed! Kill or maim the victim first!") + to_chat(user, "[SPAN_DANGER("Capture failed!")] Kill or maim the victim first!") else if(!length(T.client_mobs_in_contents)) - to_chat(user, "They have no soul!") + to_chat(user, SPAN_WARNING("They have no soul!")) else if(T.client == null) - to_chat(user, "Capture failed! The soul has already fled its mortal frame. You attempt to bring it back...") + to_chat(user, "[SPAN_USERDANGER("Capture failed!")] The soul has already fled its mortal frame. You attempt to bring it back...") get_cult_ghost(T, user, get_new_player = !T.ghost_can_reenter()) else if(length(contents)) - to_chat(user, "Capture failed! The soul stone is full! Use or free an existing soul to make room.") + to_chat(user, "[SPAN_DANGER("Capture failed!")] The soul stone is full! Use or free an existing soul to make room.") else init_shade(T, user, TRUE) @@ -337,22 +337,22 @@ var/mob/living/simple_animal/shade/T = target if(!can_use(user)) user.Weaken(10 SECONDS) - to_chat(user, "Your body is wracked with debilitating pain!") + to_chat(user, SPAN_USERDANGER("Your body is wracked with debilitating pain!")) return if(T.stat == DEAD) - to_chat(user, "Capture failed! The shade has already been banished!") + to_chat(user, "[SPAN_DANGER("Capture failed!")] The shade has already been banished!") if((IS_CULTIST(T) && purified) || (T.holy && !purified)) - to_chat(user, "Capture failed! The shade recoils away from [src]!") + to_chat(user, "[SPAN_DANGER("Capture failed!")] The shade recoils away from [src]!") else if(locate(/mob/living/simple_animal/shade) in contents) - to_chat(user, "Capture failed!: The soul stone is full! Use or free an existing soul to make room.") + to_chat(user, "[SPAN_DANGER("Capture failed!")]: The soul stone is full! Use or free an existing soul to make room.") else T.forceMove(src) // Put the shade into the stone. T.health = T.maxHealth icon_state = icon_state_full name = "soulstone : [T.name]" - to_chat(T, "Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form") - to_chat(user, "Capture successful! [T.name]'s has been recaptured and stored within the soul stone.") + to_chat(T, SPAN_NOTICE("Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form")) + to_chat(user, "[SPAN_NOTICE("Capture successful!")] [T.name]'s has been recaptured and stored within the soul stone.") animate_rays = TRUE START_PROCESSING(SSobj, src) @@ -374,9 +374,9 @@ var/mob/living/simple_animal/hostile/construct/C = new picked_class(shell.loc) C.init_construct(shade, src, shell) to_chat(C, C.playstyle_string) - to_chat(C, "For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Construct)") + to_chat(C, SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Construct)")) else - to_chat(user, "Creation failed!: The soul stone is empty! Go kill someone!") + to_chat(user, "[SPAN_DANGER("Creation failed!")]: The soul stone is empty! Go kill someone!") /obj/item/soulstone/proc/radial_check(mob/user) if(!ishuman(user)) // Should never happen, but just in case @@ -407,9 +407,9 @@ CC.Grant(src) D.Grant(src) SSticker.mode.cult_team.study_objectives(src) // Display objectives again - to_chat(src, "You are still bound to serve the cult, follow their orders and help them complete their goals at all costs.") + to_chat(src, SPAN_USERDANGER("You are still bound to serve the cult, follow their orders and help them complete their goals at all costs.")) else - to_chat(src, "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.") + to_chat(src, SPAN_USERDANGER("You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.")) SEND_SIGNAL(shade, COMSIG_SHADE_TO_CONSTRUCT_TRANSFER, src) cancel_camera() @@ -452,12 +452,12 @@ S.mind.add_antag_datum(construct) if(IS_CULTIST(user)) S.mind.add_antag_datum(/datum/antagonist/cultist) - to_chat(S, "Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs.") + to_chat(S, SPAN_USERDANGER("Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs.")) else S.mind.store_memory("Serve [user.real_name], your creator.") - to_chat(S, "Your soul has been captured! You are now bound to [user.real_name]'s will. Help them succeed in their goals at all costs.") + to_chat(S, SPAN_USERDANGER("Your soul has been captured! You are now bound to [user.real_name]'s will. Help them succeed in their goals at all costs.")) if(forced && user) - to_chat(user, "Capture successful!: [M.real_name]'s soul has been ripped from [user.p_their()] body and stored within the soul stone.") + to_chat(user, "[SPAN_NOTICE("Capture successful!:")] [M.real_name]'s soul has been ripped from [user.p_their()] body and stored within the soul stone.") if(!isrobot(M)) for(var/obj/item/I in M) M.drop_item_to_ground(I) @@ -494,7 +494,7 @@ if(!M) return FALSE if(!chosen_ghost) - to_chat(user, "There were no spirits willing to become a shade.") + to_chat(user, SPAN_DANGER("There were no spirits willing to become a shade.")) return FALSE if(length(contents)) //If they used the soulstone on someone else in the meantime return FALSE diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index cd3890214a4..2f62ffea9c1 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -25,7 +25,7 @@ for(var/datum/spell/aspell in user.mind.spell_list) if(initial(newspell.name) == initial(aspell.name)) // Not using directly in case it was learned from one spellbook then upgraded in another if(aspell.spell_level >= aspell.level_max) - to_chat(user, "This spell cannot be improved further.") + to_chat(user, SPAN_WARNING("This spell cannot be improved further.")) return FALSE else aspell.name = initial(aspell.name) @@ -33,25 +33,25 @@ aspell.cooldown_handler.recharge_duration = round(aspell.base_cooldown - aspell.spell_level * (aspell.base_cooldown - aspell.cooldown_min) / aspell.level_max) switch(aspell.spell_level) if(1) - to_chat(user, "You have improved [aspell.name] into Efficient [aspell.name].") + to_chat(user, SPAN_NOTICE("You have improved [aspell.name] into Efficient [aspell.name].")) aspell.name = "Efficient [aspell.name]" if(2) - to_chat(user, "You have further improved [aspell.name] into Quickened [aspell.name].") + to_chat(user, SPAN_NOTICE("You have further improved [aspell.name] into Quickened [aspell.name].")) aspell.name = "Quickened [aspell.name]" if(3) - to_chat(user, "You have further improved [aspell.name] into Free [aspell.name].") + to_chat(user, SPAN_NOTICE("You have further improved [aspell.name] into Free [aspell.name].")) aspell.name = "Free [aspell.name]" if(4) - to_chat(user, "You have further improved [aspell.name] into Instant [aspell.name].") + to_chat(user, SPAN_NOTICE("You have further improved [aspell.name] into Instant [aspell.name].")) aspell.name = "Instant [aspell.name]" if(aspell.spell_level >= aspell.level_max) - to_chat(user, "This spell cannot be strengthened any further.") + to_chat(user, SPAN_NOTICE("This spell cannot be strengthened any further.")) aspell.on_purchase_upgrade() return TRUE //No same spell found - just learn it SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name) user.mind.AddSpell(newspell) - to_chat(user, "You have learned [newspell.name].") + to_chat(user, SPAN_NOTICE("You have learned [newspell.name].")) return TRUE /datum/spellbook_entry/proc/CanRefund(mob/living/carbon/human/user, obj/item/spellbook/book) @@ -66,7 +66,7 @@ /datum/spellbook_entry/proc/Refund(mob/living/carbon/human/user, obj/item/spellbook/book) //return point value or -1 for failure if(!istype(get_area(user), /area/wizard_station)) - to_chat(user, "You can only refund spells at the wizard lair.") + to_chat(user, SPAN_WARNING("You can only refund spells at the wizard lair.")) return -1 if(!S) //This happens when the spell's source is from another spellbook, from loadouts, or adminery, this create a new template temporary spell S = new spell_type() @@ -212,13 +212,13 @@ category = "Defensive" /datum/spellbook_entry/sacred_flame/LearnSpell(mob/living/carbon/human/user, obj/item/spellbook/book, datum/spell/newspell) - to_chat(user, "You feel fireproof.") + to_chat(user, SPAN_NOTICE("You feel fireproof.")) ADD_TRAIT(user, TRAIT_RESISTHEAT, MAGIC_TRAIT) ADD_TRAIT(user, TRAIT_RESISTHIGHPRESSURE, MAGIC_TRAIT) return ..() /datum/spellbook_entry/sacred_flame/Refund(mob/living/carbon/human/user, obj/item/spellbook/book) - to_chat(user, "You no longer feel fireproof.") + to_chat(user, SPAN_WARNING("You no longer feel fireproof.")) REMOVE_TRAIT(user, TRAIT_RESISTHEAT, MAGIC_TRAIT) REMOVE_TRAIT(user, TRAIT_RESISTHIGHPRESSURE, MAGIC_TRAIT) return ..() @@ -230,13 +230,13 @@ category = "Defensive" /datum/spellbook_entry/summon_supermatter/LearnSpell(mob/living/carbon/human/user, obj/item/spellbook/book, datum/spell/newspell) - to_chat(user, "You feel a little bit of supermatter enter your body.") + to_chat(user, SPAN_NOTICE("You feel a little bit of supermatter enter your body.")) ADD_TRAIT(user, TRAIT_RADIMMUNE, MAGIC_TRAIT) ADD_TRAIT(user, SM_HALLUCINATION_IMMUNE, MAGIC_TRAIT) return ..() /datum/spellbook_entry/summon_supermatter/Refund(mob/living/carbon/human/user, obj/item/spellbook/book) - to_chat(user, "A little bit of supermatter leaves your body. So does that metallic taste in your mouth.") + to_chat(user, SPAN_WARNING("A little bit of supermatter leaves your body. So does that metallic taste in your mouth.")) REMOVE_TRAIT(user, TRAIT_RADIMMUNE, MAGIC_TRAIT) REMOVE_TRAIT(user, SM_HALLUCINATION_IMMUNE, MAGIC_TRAIT) return ..() @@ -337,7 +337,7 @@ /datum/spellbook_entry/summon/ghosts/Buy(mob/living/carbon/human/user, obj/item/spellbook/book) new /datum/event/wizard/ghost() active = TRUE - to_chat(user, "You have cast summon ghosts!") + to_chat(user, SPAN_NOTICE("You have cast summon ghosts!")) playsound(get_turf(user), 'sound/effects/ghost2.ogg', 50, 1) message_admins("[key_name_admin(usr)] summoned ghosts as a wizard! (Ghosts are now VISIBLE)") add_attack_logs(user, null, "Cast summon ghosts", ATKLOG_ALL) @@ -351,7 +351,7 @@ /datum/spellbook_entry/summon/slience_ghosts/Buy(mob/living/carbon/human/user, obj/item/spellbook/book) new /datum/event/wizard/ghost_mute() active = TRUE - to_chat(user, "You have silenced all ghosts!") + to_chat(user, SPAN_NOTICE("You have silenced all ghosts!")) playsound(get_turf(user), 'sound/effects/ghost.ogg', 50, 1) message_admins("[key_name_admin(usr)] silenced all ghosts as a wizard! (Deadchat is now DISABLED)") add_attack_logs(user, null, "Cast silence ghosts", ATKLOG_ALL) @@ -368,7 +368,7 @@ rightandwrong(SUMMON_GUNS, user, 10) active = TRUE playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, TRUE) - to_chat(user, "You have cast summon guns!") + to_chat(user, SPAN_NOTICE("You have cast summon guns!")) return TRUE /datum/spellbook_entry/summon/magic @@ -382,7 +382,7 @@ rightandwrong(SUMMON_MAGIC, user, 10) active = TRUE playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, TRUE) - to_chat(user, "You have cast summon magic!") + to_chat(user, SPAN_NOTICE("You have cast summon magic!")) return TRUE //Main category - Magical Items @@ -677,16 +677,16 @@ if(response != "Yes") return FALSE if(!CanBuy(user, book)) - to_chat(user, "You can't afford that anymore!") + to_chat(user, SPAN_WARNING("You can't afford that anymore!")) return FALSE - to_chat(user, "[book] crumbles to ashes as you acquire its knowledge.") + to_chat(user, SPAN_NOTICE("[book] crumbles to ashes as you acquire its knowledge.")) qdel(book) else if(length(items_path)) var/response = tgui_alert(user, "The [src] loadout contains items that will not be refundable if bought. Are you sure this is what you want?", "No refunds!", list("No", "Yes")) if(response != "Yes") return FALSE if(!CanBuy(user, book)) - to_chat(user, "You can't afford that anymore!") + to_chat(user, SPAN_WARNING("You can't afford that anymore!")) return FALSE if(length(items_path)) var/obj/item/storage/box/wizard/B = new(src) @@ -743,15 +743,15 @@ if(istype(O, /obj/item/contract)) var/obj/item/contract/contract = O if(contract.used) - to_chat(user, "The contract has been used, you can't get your points back now!") + to_chat(user, SPAN_WARNING("The contract has been used, you can't get your points back now!")) else - to_chat(user, "You feed the contract back into the spellbook, refunding your points.") + to_chat(user, SPAN_NOTICE("You feed the contract back into the spellbook, refunding your points.")) uses+=2 qdel(O) return if(istype(O, /obj/item/antag_spawner/slaughter_demon)) - to_chat(user, "On second thought, maybe summoning a demon is a bad idea. You refund your points.") + to_chat(user, SPAN_NOTICE("On second thought, maybe summoning a demon is a bad idea. You refund your points.")) if(istype(O, /obj/item/antag_spawner/slaughter_demon/laughter)) uses += 1 for(var/datum/spellbook_entry/item/hugbottle/HB in entries) @@ -771,7 +771,7 @@ return if(istype(O, /obj/item/antag_spawner/morph)) - to_chat(user, "On second thought, maybe awakening a morph is a bad idea. You refund your points.") + to_chat(user, SPAN_NOTICE("On second thought, maybe awakening a morph is a bad idea. You refund your points.")) uses += 1 for(var/datum/spellbook_entry/item/oozebottle/OB in entries) if(!isnull(OB.limit)) @@ -780,7 +780,7 @@ return if(istype(O, /obj/item/antag_spawner/revenant)) - to_chat(user, "On second thought, maybe the ghosts have been salty enough today. You refund your points.") + to_chat(user, SPAN_NOTICE("On second thought, maybe the ghosts have been salty enough today. You refund your points.")) uses += 1 for(var/datum/spellbook_entry/item/revenantbottle/RB in entries) if(!isnull(RB.limit)) @@ -857,11 +857,11 @@ /obj/item/spellbook/attack_self__legacy__attackchain(mob/user as mob) if(!owner) - to_chat(user, "You bind the spellbook to yourself.") + to_chat(user, SPAN_NOTICE("You bind the spellbook to yourself.")) owner = user return if(user != owner) - to_chat(user, "[src] does not recognize you as it's owner and refuses to open!") + to_chat(user, SPAN_WARNING("[src] does not recognize you as it's owner and refuses to open!")) return user.set_machine(src) var/dat = "" @@ -983,25 +983,25 @@ if(knownspell.type == S.type) if(user.mind) if(user.mind.special_role == SPECIAL_ROLE_WIZARD_APPRENTICE || user.mind.special_role == SPECIAL_ROLE_WIZARD) - to_chat(user, "You're already far more versed in this spell than this flimsy how-to book can provide.") + to_chat(user, SPAN_NOTICE("You're already far more versed in this spell than this flimsy how-to book can provide.")) else - to_chat(user, "You've already read this one.") + to_chat(user, SPAN_NOTICE("You've already read this one.")) return if(used) recoil(user) else user.mind.AddSpell(S) - to_chat(user, "you rapidly read through the arcane book. Suddenly you realize you understand [spellname]!") + to_chat(user, SPAN_NOTICE("you rapidly read through the arcane book. Suddenly you realize you understand [spellname]!")) user.create_log(MISC_LOG, "learned the spell [spellname] ([S])") user.create_attack_log("[key_name(user)] learned the spell [spellname] ([S]).") onlearned(user) /obj/item/spellbook/oneuse/proc/recoil(mob/user) - user.visible_message("[src] glows in a black light!") + user.visible_message(SPAN_WARNING("[src] glows in a black light!")) /obj/item/spellbook/oneuse/proc/onlearned(mob/user) used = TRUE - user.visible_message("[src] glows dark for a second!") + user.visible_message(SPAN_CAUTION("[src] glows dark for a second!")) /obj/item/spellbook/oneuse/attackby__legacy__attackchain() return @@ -1025,7 +1025,7 @@ /obj/item/spellbook/oneuse/smoke/recoil(mob/user as mob) ..() - to_chat(user, "Your stomach rumbles...") + to_chat(user, SPAN_CAUTION("Your stomach rumbles...")) user.adjust_nutrition(-200) /obj/item/spellbook/oneuse/blind @@ -1038,7 +1038,7 @@ ..() if(isliving(user)) var/mob/living/L = user - to_chat(user, "You go blind!") + to_chat(user, SPAN_WARNING("You go blind!")) L.EyeBlind(20 SECONDS) /obj/item/spellbook/oneuse/mindswap @@ -1060,17 +1060,17 @@ stored_swap = null if(!stored_swap) stored_swap = user - to_chat(user, "For a moment you feel like you don't even know who you are anymore.") + to_chat(user, SPAN_WARNING("For a moment you feel like you don't even know who you are anymore.")) return if(stored_swap == user) - to_chat(user, "You stare at the book some more, but there doesn't seem to be anything else to learn...") + to_chat(user, SPAN_NOTICE("You stare at the book some more, but there doesn't seem to be anything else to learn...")) return var/datum/spell/mind_transfer/swapper = new swapper.cast(user, stored_swap) - to_chat(stored_swap, "You're suddenly somewhere else... and someone else?!") - to_chat(user, "Suddenly you're staring at [src] again... where are you, who are you?!") + to_chat(stored_swap, SPAN_WARNING("You're suddenly somewhere else... and someone else?!")) + to_chat(user, SPAN_WARNING("Suddenly you're staring at [src] again... where are you, who are you?!")) stored_swap = null /obj/item/spellbook/oneuse/forcewall @@ -1081,7 +1081,7 @@ /obj/item/spellbook/oneuse/forcewall/recoil(mob/user as mob) ..() - to_chat(user, "You suddenly feel very solid!") + to_chat(user, SPAN_WARNING("You suddenly feel very solid!")) var/obj/structure/closet/statue/S = new /obj/structure/closet/statue(user.loc, user) S.timer = 30 user.drop_item() @@ -1094,7 +1094,7 @@ /obj/item/spellbook/oneuse/knock/recoil(mob/living/user) ..() - to_chat(user, "You're knocked down!") + to_chat(user, SPAN_WARNING("You're knocked down!")) user.Weaken(40 SECONDS) /obj/item/spellbook/oneuse/horsemask @@ -1116,7 +1116,7 @@ user.equip_to_slot_if_possible(magichead, ITEM_SLOT_MASK, TRUE, TRUE) qdel(src) else - to_chat(user, "I say thee neigh") + to_chat(user, SPAN_NOTICE("I say thee neigh")) /obj/item/spellbook/oneuse/charge spell = /datum/spell/charge @@ -1126,7 +1126,7 @@ /obj/item/spellbook/oneuse/charge/recoil(mob/user as mob) ..() - to_chat(user, "[src] suddenly feels very warm!") + to_chat(user, SPAN_WARNING("[src] suddenly feels very warm!")) empulse(src, 1, 1) /obj/item/spellbook/oneuse/summonitem @@ -1137,7 +1137,7 @@ /obj/item/spellbook/oneuse/summonitem/recoil(mob/user as mob) ..() - to_chat(user, "[src] suddenly vanishes!") + to_chat(user, SPAN_WARNING("[src] suddenly vanishes!")) qdel(src) /obj/item/spellbook/oneuse/fake_gib diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 176188daf03..534611d1c43 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -25,7 +25,7 @@ wizard.assigned_role = SPECIAL_ROLE_WIZARD //So they aren't chosen for other jobs. wizard.special_role = SPECIAL_ROLE_WIZARD if(!length(GLOB.wizardstart)) - to_chat(wizard.current, "A starting location for you could not be found, please report this bug!") + to_chat(wizard.current, SPAN_DANGER("A starting location for you could not be found, please report this bug!")) return FALSE return TRUE @@ -55,7 +55,7 @@ /datum/game_mode/wizard/declare_completion(ragin = 0) if(finished && !ragin) SSticker.mode_result = "wizard loss - wizard killed" - to_chat(world, " The wizard[(length(wizards)>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!") + to_chat(world, SPAN_WARNING(" The wizard[(length(wizards)>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!")) ..() return TRUE diff --git a/code/game/gamemodes/wizard/wizloadouts.dm b/code/game/gamemodes/wizard/wizloadouts.dm index 69c90882492..546eea27acb 100644 --- a/code/game/gamemodes/wizard/wizloadouts.dm +++ b/code/game/gamemodes/wizard/wizloadouts.dm @@ -83,7 +83,7 @@ if(!user) return if(isplasmaman(user)) - to_chat(user, "A spectral hand appears from your spellbook and pulls a brand new plasmaman envirosuit, complete with helmet, from the void, then drops it on the floor.") + to_chat(user, SPAN_NOTICE("A spectral hand appears from your spellbook and pulls a brand new plasmaman envirosuit, complete with helmet, from the void, then drops it on the floor.")) new /obj/item/clothing/head/helmet/space/plasmaman/assistant(get_turf(user)) new /obj/item/clothing/under/plasmaman/assistant(get_turf(user)) user.drop_item_to_ground(user.wear_id) @@ -134,7 +134,7 @@ qdel(user.head) // Part of Sacred Flame - to_chat(user, "You feel fireproof.") + to_chat(user, SPAN_NOTICE("You feel fireproof.")) ADD_TRAIT(user, TRAIT_RESISTHEAT, MAGIC_TRAIT) ADD_TRAIT(user, TRAIT_RESISTHIGHPRESSURE, MAGIC_TRAIT) ADD_TRAIT(user, TRAIT_EXPLOSION_PROOF, MAGIC_TRAIT) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index ac8ccf791a0..9c60d0fc836 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -220,12 +220,12 @@ permitted = TRUE if(!permitted) - to_chat(H, "Your current job or whitelist status does not permit you to spawn with [G.display_name]!") + to_chat(H, SPAN_WARNING("Your current job or whitelist status does not permit you to spawn with [G.display_name]!")) continue if(G.slot) if(H.equip_to_slot_or_del(G.spawn_item(H, H.client.prefs.active_character.get_gear_metadata(G)), G.slot, TRUE)) - to_chat(H, "Equipping you with [G.display_name]!") + to_chat(H, SPAN_NOTICE("Equipping you with [G.display_name]!")) else gear_leftovers += G else @@ -254,17 +254,17 @@ var/atom/placed_in = H.equip_or_collect(item) if(istype(placed_in)) if(isturf(placed_in)) - to_chat(H, "Placing [item] on [placed_in]!") + to_chat(H, SPAN_NOTICE("Placing [item] on [placed_in]!")) else - to_chat(H, "Placing [item] in your [placed_in.name].") + to_chat(H, SPAN_NOTICE("Placing [item] in your [placed_in.name].")) continue if(H.equip_to_appropriate_slot(item)) - to_chat(H, "Placing [item] in your inventory!") + to_chat(H, SPAN_NOTICE("Placing [item] in your inventory!")) continue if(H.put_in_hands(item)) - to_chat(H, "Placing [item] in your hands!") + to_chat(H, SPAN_NOTICE("Placing [item] in your hands!")) continue - to_chat(H, "Failed to locate a storage object on your mob, either you spawned with no hands free and no backpack or this is a bug.") + to_chat(H, SPAN_DANGER("Failed to locate a storage object on your mob, either you spawned with no hands free and no backpack or this is a bug.")) qdel(item) gear_leftovers.Cut() diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm index fe7409fb10b..300611f6560 100644 --- a/code/game/jobs/job/support.dm +++ b/code/game/jobs/job/support.dm @@ -480,7 +480,7 @@ active = TRUE background_icon_state = "bg_spell" build_all_button_icons() - to_chat(H, "You start acting clumsy to throw suspicions off. Focus again before using weapons.") + to_chat(H, SPAN_NOTICE("You start acting clumsy to throw suspicions off. Focus again before using weapons.")) /datum/action/innate/toggle_clumsy/Deactivate() var/mob/living/carbon/human/H = owner @@ -489,7 +489,7 @@ active = FALSE background_icon_state = "bg_default" build_all_button_icons() - to_chat(H, "You focus and can now use weapons regularly.") + to_chat(H, SPAN_NOTICE("You focus and can now use weapons regularly.")) /datum/job/mime title = "Mime" diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index d0bc0b0dca7..16d56408216 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -35,7 +35,7 @@ /obj/machinery/optable/examine(mob/user) . = ..() - . += "Click-drag someone to the table to place them on top of the table." + . += SPAN_NOTICE("Click-drag someone to the table to place them on top of the table.") /obj/machinery/optable/CanPass(atom/movable/mover, border_dir) if(istype(mover) && mover.checkpass(PASSTABLE)) @@ -60,7 +60,7 @@ if((!ishuman(user) && !isrobot(user)) || !istype(new_patient)) return if(patient in buckled_mobs) - to_chat(user, "The table is already occupied!") + to_chat(user, SPAN_NOTICE("The table is already occupied!")) return // Attempt to settle the patient in @@ -70,7 +70,7 @@ patient = new_patient if(length(injected_reagents)) - to_chat(new_patient, "You feel a series of tiny pricks!") + to_chat(new_patient, SPAN_DANGER("You feel a series of tiny pricks!")) update_appearance(UPDATE_ICON_STATE) @@ -99,6 +99,6 @@ if(!I.tool_start_check(src, user, 0)) return if(I.use_tool(src, user, 20, volume = I.tool_volume)) - to_chat(user, "You deconstruct the table.") + to_chat(user, SPAN_NOTICE("You deconstruct the table.")) new /obj/item/stack/sheet/plasteel(loc, 5) qdel(src) diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm index 426052de2ef..038dd7296d9 100644 --- a/code/game/machinery/PDApainter.dm +++ b/code/game/machinery/PDApainter.dm @@ -159,7 +159,7 @@ /obj/machinery/pdapainter/proc/ejectpda(mob/user) if(!storedpda) - to_chat(usr, "[src] is empty.") + to_chat(usr, SPAN_NOTICE("[src] is empty.")) return storedpda.forceMove(get_turf(src)) if(ishuman(user)) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 98d88f18c0d..d27657c1110 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -36,10 +36,10 @@ . = ..() if(occupant) if(occupant.stat == DEAD) - . += "You see [occupant.name] inside. [occupant.p_they(TRUE)] [occupant.p_are()] dead!" + . += SPAN_WARNING("You see [occupant.name] inside. [occupant.p_they(TRUE)] [occupant.p_are()] dead!") else - . += "You see [occupant.name] inside." - . += "You can Alt-Click to eject the current occupant. Click-drag someone to the sleeper to place them in it after a short delay." + . += SPAN_NOTICE("You see [occupant.name] inside.") + . += SPAN_NOTICE("You can Alt-Click to eject the current occupant. Click-drag someone to the sleeper to place them in it after a short delay.") /obj/machinery/sleeper/power_change() ..() //we don't check parent return here because we also care about BROKEN @@ -136,7 +136,7 @@ if(prob(addiction_removal_chance)) atom_say("Patient's addiction was cured.") playsound(get_turf(src), 'sound/machines/ping.ogg', 50, 0) - to_chat(occupant, "You no longer feel reliant on [R.name]!") + to_chat(occupant, SPAN_BOLDNOTICE("You no longer feel reliant on [R.name]!")) occupant.reagents.addiction_list.Remove(R) qdel(R) @@ -155,7 +155,7 @@ return if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_NOTICE("Close the maintenance panel first.")) return ui_interact(user) @@ -277,7 +277,7 @@ if(!controls_inside && usr == occupant) return if(panel_open) - to_chat(usr, "Close the maintenance panel first.") + to_chat(usr, SPAN_NOTICE("Close the maintenance panel first.")) return if(stat & (NOPOWER|BROKEN)) return @@ -288,7 +288,7 @@ if(!occupant) return if(occupant.stat == DEAD) - to_chat(usr, "This person has no life to preserve anymore. Take [occupant.p_them()] to a department capable of reanimating them.") + to_chat(usr, SPAN_DANGER("This person has no life to preserve anymore. Take [occupant.p_them()] to a department capable of reanimating them.")) return var/chemical = params["chemid"] var/amount = text2num(params["amount"]) @@ -313,7 +313,7 @@ if(istype(used, /obj/item/reagent_containers/glass) && user.a_intent != INTENT_HARM) if(!beaker) if(!user.drop_item()) - to_chat(user, "[used] is stuck to you!") + to_chat(user, SPAN_WARNING("[used] is stuck to you!")) return ITEM_INTERACT_COMPLETE beaker = used @@ -323,31 +323,31 @@ return ITEM_INTERACT_COMPLETE else - to_chat(user, "The sleeper has a beaker already.") + to_chat(user, SPAN_WARNING("The sleeper has a beaker already.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/grab)) var/obj/item/grab/G = used if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_BOLDNOTICE("Close the maintenance panel first.")) return ITEM_INTERACT_COMPLETE if(!ismob(G.affecting)) return ITEM_INTERACT_COMPLETE if(occupant) - to_chat(user, "The sleeper is already occupied!") + to_chat(user, SPAN_BOLDNOTICE("The sleeper is already occupied!")) return ITEM_INTERACT_COMPLETE if(G.affecting.has_buckled_mobs()) //mob attached to us - to_chat(user, "[G.affecting] will not fit into [src] because [G.affecting.p_they()] [G.affecting.p_have()] a slime latched onto [G.affecting.p_their()] head.") + to_chat(user, SPAN_WARNING("[G.affecting] will not fit into [src] because [G.affecting.p_they()] [G.affecting.p_have()] a slime latched onto [G.affecting.p_their()] head.")) return ITEM_INTERACT_COMPLETE visible_message("[user] starts putting [G.affecting.name] into the sleeper.") if(do_after(user, 20, target = G.affecting)) if(occupant) - to_chat(user, "The sleeper is already occupied!") + to_chat(user, SPAN_BOLDNOTICE("The sleeper is already occupied!")) return ITEM_INTERACT_COMPLETE if(!G || !G.affecting) @@ -358,7 +358,7 @@ occupant = M update_icon(UPDATE_ICON_STATE) update_icon(UPDATE_OVERLAYS) - to_chat(M, "You feel cool air surround you. You go numb as your senses turn inward.") + to_chat(M, SPAN_BOLDNOTICE("You feel cool air surround you. You go numb as your senses turn inward.")) add_fingerprint(user) qdel(G) SStgui.update_uis(src) @@ -373,7 +373,7 @@ /obj/machinery/sleeper/screwdriver_act(mob/user, obj/item/I) if(occupant) - to_chat(user, "The maintenance panel is locked.") + to_chat(user, SPAN_NOTICE("The maintenance panel is locked.")) return TRUE if(default_deconstruction_screwdriver(user, "[base_icon]-o", "[base_icon]-open", I)) return TRUE @@ -383,10 +383,10 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(occupant) - to_chat(user, "The scanner is occupied.") + to_chat(user, SPAN_NOTICE("The scanner is occupied.")) return if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_NOTICE("Close the maintenance panel first.")) return setDir(turn(dir, -90)) @@ -448,7 +448,7 @@ /obj/machinery/sleeper/proc/inject_chemical(mob/living/user, chemical, amount) if(!(chemical in possible_chems)) - to_chat(user, "The sleeper does not offer that chemical!") + to_chat(user, SPAN_NOTICE("The sleeper does not offer that chemical!")) return if(!(amount in amounts)) return @@ -508,7 +508,7 @@ occupant = L playsound(src, 'sound/machines/podclose.ogg', 5) update_icon(UPDATE_ICON_STATE|UPDATE_OVERLAYS) - to_chat(L, "You feel cool air surround you. You go numb as your senses turn inward.") + to_chat(L, SPAN_BOLDNOTICE("You feel cool air surround you. You go numb as your senses turn inward.")) add_fingerprint(user) if(user.pulling == L) user.stop_pulling() @@ -533,19 +533,19 @@ if(!isturf(user.loc) || !isturf(O.loc)) // are you in a container/closet/pod/etc? return if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_BOLDNOTICE("Close the maintenance panel first.")) return if(occupant) - to_chat(user, "The sleeper is already occupied!") + to_chat(user, SPAN_BOLDNOTICE("The sleeper is already occupied!")) return var/mob/living/L = O if(!istype(L) || L.buckled) return if(L.abiotic()) - to_chat(user, "Subject may not hold anything in their hands.") + to_chat(user, SPAN_BOLDNOTICE("Subject may not hold anything in their hands.")) return if(L.has_buckled_mobs()) //mob attached to us - to_chat(user, "[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.") + to_chat(user, SPAN_WARNING("[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.")) return return TRUE @@ -612,7 +612,7 @@ light_color = LIGHT_COLOR_DARKRED /obj/machinery/sleeper/clockwork/crowbar_act(mob/user, obj/item/I) - to_chat(user, "You pry on the internal mechanisms of [src] with all your might, but they refuse to budge!") + to_chat(user, SPAN_WARNING("You pry on the internal mechanisms of [src] with all your might, but they refuse to budge!")) return FALSE #undef ADDICTION_SPEEDUP_TIME diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index bef8145a184..761933f41fd 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -20,11 +20,11 @@ . = ..() if(occupant) if(occupant.stat == DEAD) - . += "You see [occupant.name] inside. [occupant.p_they(TRUE)] [occupant.p_are()] dead!" + . += SPAN_WARNING("You see [occupant.name] inside. [occupant.p_they(TRUE)] [occupant.p_are()] dead!") else - . += "You see [occupant.name] inside." + . += SPAN_NOTICE("You see [occupant.name] inside.") if(Adjacent(user)) - . += "You can Alt-Click to eject the current occupant. Click-drag someone to the scanner to place them inside." + . += SPAN_NOTICE("You can Alt-Click to eject the current occupant. Click-drag someone to the scanner to place them inside.") /obj/machinery/bodyscanner/Destroy() @@ -70,23 +70,23 @@ if(istype(used, /obj/item/grab)) var/obj/item/grab/TYPECAST_YOUR_SHIT = used if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_NOTICE("Close the maintenance panel first.")) return ITEM_INTERACT_COMPLETE if(!ishuman(TYPECAST_YOUR_SHIT.affecting)) return ITEM_INTERACT_COMPLETE if(occupant) - to_chat(user, "The scanner is already occupied!") + to_chat(user, SPAN_NOTICE("The scanner is already occupied!")) return ITEM_INTERACT_COMPLETE if(TYPECAST_YOUR_SHIT.affecting.has_buckled_mobs()) //mob attached to us - to_chat(user, "[TYPECAST_YOUR_SHIT.affecting] will not fit into [src] because [TYPECAST_YOUR_SHIT.affecting.p_they()] [TYPECAST_YOUR_SHIT.affecting.p_have()] a fucking slime latched onto [TYPECAST_YOUR_SHIT.affecting.p_their()] head.") + to_chat(user, SPAN_WARNING("[TYPECAST_YOUR_SHIT.affecting] will not fit into [src] because [TYPECAST_YOUR_SHIT.affecting.p_they()] [TYPECAST_YOUR_SHIT.affecting.p_have()] a fucking slime latched onto [TYPECAST_YOUR_SHIT.affecting.p_their()] head.")) return ITEM_INTERACT_COMPLETE var/mob/living/carbon/human/M = TYPECAST_YOUR_SHIT.affecting if(M.abiotic()) - to_chat(user, "Subject may not hold anything in their hands.") + to_chat(user, SPAN_NOTICE("Subject may not hold anything in their hands.")) return ITEM_INTERACT_COMPLETE M.forceMove(src) @@ -113,10 +113,10 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(occupant) - to_chat(user, "The scanner is occupied.") + to_chat(user, SPAN_NOTICE("The scanner is occupied.")) return if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_NOTICE("Close the maintenance panel first.")) return setDir(turn(dir, -90)) @@ -133,18 +133,18 @@ if(!ishuman(user) && !isrobot(user)) return FALSE //not a borg or human if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_NOTICE("Close the maintenance panel first.")) return TRUE //panel open if(occupant) - to_chat(user, "[src] is already occupied.") + to_chat(user, SPAN_NOTICE("[src] is already occupied.")) return TRUE //occupied if(H.buckled) return FALSE if(H.abiotic()) - to_chat(user, "Subject may not hold anything in their hands.") + to_chat(user, SPAN_NOTICE("Subject may not hold anything in their hands.")) return TRUE if(H.has_buckled_mobs()) //mob attached to us - to_chat(user, "[H] will not fit into [src] because [H.p_they()] [H.p_have()] a slime latched onto [H.p_their()] head.") + to_chat(user, SPAN_WARNING("[H] will not fit into [src] because [H.p_they()] [H.p_have()] a slime latched onto [H.p_their()] head.")) return TRUE if(H == user) @@ -175,7 +175,7 @@ return // you cant reach that if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_NOTICE("Close the maintenance panel first.")) return ui_interact(user) @@ -411,7 +411,7 @@ if("ejectify") eject() if("print_p") - visible_message("[src] rattles and prints out a sheet of paper.") + visible_message(SPAN_NOTICE("[src] rattles and prints out a sheet of paper.")) var/obj/item/paper/P = new /obj/item/paper(loc) playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE) var/name = occupant ? occupant.name : "Unknown" diff --git a/code/game/machinery/ai_resource.dm b/code/game/machinery/ai_resource.dm index ca7a4012487..bdd74cc291f 100644 --- a/code/game/machinery/ai_resource.dm +++ b/code/game/machinery/ai_resource.dm @@ -43,7 +43,7 @@ GLOBAL_LIST_EMPTY(ai_nodes) /obj/machinery/ai_node/examine(mob/user) . = ..() - . += "This machine is temperature sensitive. Any temperature colder than 273K will freeze it, whle any temperature higher than [overheat_temp]K will cause it to overheat." + . += SPAN_NOTICE("This machine is temperature sensitive. Any temperature colder than 273K will freeze it, whle any temperature higher than [overheat_temp]K will cause it to overheat.") /obj/machinery/ai_node/process() ..() @@ -116,13 +116,13 @@ GLOBAL_LIST_EMPTY(ai_nodes) /obj/machinery/ai_node/proc/toggle(mob/user = null) if(overheating) if(user) - to_chat(user, "You turn the overheating [src] off.") + to_chat(user, SPAN_NOTICE("You turn the overheating [src] off.")) overheating = FALSE update_icon(UPDATE_ICON_STATE) return active = !active if(user) - to_chat(user, "You turn [src] [active ? "on" : "off"].") + to_chat(user, SPAN_NOTICE("You turn [src] [active ? "on" : "off"].")) if(active) // We're booting up refresh_ai() else // We're shutting down @@ -139,7 +139,7 @@ GLOBAL_LIST_EMPTY(ai_nodes) else // We have an AI assigned_ai.program_picker.modify_resource(resource_key, resource_amount) var/area/our_area = get_area(src) - to_chat(assigned_ai, "New server node connected at: [our_area.name].") + to_chat(assigned_ai, SPAN_NOTICE("New server node connected at: [our_area.name].")) change_power_mode(ACTIVE_POWER_USE) update_icon(UPDATE_ICON_STATE) @@ -148,7 +148,7 @@ GLOBAL_LIST_EMPTY(ai_nodes) if(assigned_ai) assigned_ai.program_picker.modify_resource(resource_key, -resource_amount) var/area/our_area = get_area(src) - to_chat(assigned_ai, "Server node disconnected at: [our_area.name]!") + to_chat(assigned_ai, SPAN_WARNING("Server node disconnected at: [our_area.name]!")) assigned_ai = null change_power_mode(IDLE_POWER_USE) update_icon(UPDATE_ICON_STATE) @@ -184,10 +184,10 @@ GLOBAL_LIST_EMPTY(ai_nodes) return var/area/our_area = get_area(src) assigned_ai.program_picker.modify_resource(resource_key, -resource_amount) - to_chat(assigned_ai, "Server node disconnected at: [our_area.name]!") + to_chat(assigned_ai, SPAN_WARNING("Server node disconnected at: [our_area.name]!")) assigned_ai = new_ai assigned_ai.program_picker.modify_resource(resource_key, resource_amount) - to_chat(assigned_ai, "New server node connected at: [our_area.name].") + to_chat(assigned_ai, SPAN_NOTICE("New server node connected at: [our_area.name].")) /datum/milla_safe/ai_node_process @@ -272,7 +272,7 @@ GLOBAL_LIST_EMPTY(ai_nodes) var/screen = ALLOCATED_RESOURCES /obj/machinery/computer/ai_resource/attack_ai(mob/user) // Bad AI, no access to stealing resources - to_chat(user, "ERROR: Firewall blocked! Station AI's are not permitted to interface with this console!") + to_chat(user, SPAN_WARNING("ERROR: Firewall blocked! Station AI's are not permitted to interface with this console!")) return /obj/machinery/computer/ai_resource/attack_hand(mob/user) @@ -336,10 +336,10 @@ GLOBAL_LIST_EMPTY(ai_nodes) return . = FALSE if(!is_authenticated(ui.user)) - to_chat(ui.user, "Access denied.") + to_chat(ui.user, SPAN_WARNING("Access denied.")) return if(SSticker.current_state == GAME_STATE_FINISHED) - to_chat(ui.user, "Access denied, AIs are no longer your station's property.") + to_chat(ui.user, SPAN_WARNING("Access denied, AIs are no longer your station's property.")) return switch(action) diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index bbceade5192..a7b5d0afae3 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -13,7 +13,7 @@ /obj/machinery/ai_slipper/examine(mob/user) . = ..() - . += "A small counter shows it has: [uses] use\s remaining." + . += SPAN_NOTICE("A small counter shows it has: [uses] use\s remaining.") /obj/machinery/ai_slipper/power_change() if(!..()) @@ -30,10 +30,10 @@ /obj/machinery/ai_slipper/attack_hand(mob/user) if(stat & (NOPOWER|BROKEN)) - to_chat(user, "[src] has no power or is broken!") + to_chat(user, SPAN_WARNING("[src] has no power or is broken!")) return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return Activate(user) @@ -41,10 +41,10 @@ if(stat & (NOPOWER|BROKEN)) return if(!uses) - to_chat(user, "[src] is empty!") + to_chat(user, SPAN_WARNING("[src] is empty!")) return if(cooldown_on) - to_chat(user, "[src] is still recharging!") + to_chat(user, SPAN_WARNING("[src] is still recharging!")) return else new /obj/effect/particle_effect/foam(loc) diff --git a/code/game/machinery/airlock_control/airlock_button.dm b/code/game/machinery/airlock_control/airlock_button.dm index 0af536f76c5..c0dd3c0fb4e 100644 --- a/code/game/machinery/airlock_control/airlock_button.dm +++ b/code/game/machinery/airlock_control/airlock_button.dm @@ -48,15 +48,15 @@ GLOBAL_LIST_EMPTY(all_airlock_access_buttons) var/obj/machinery/airlock_controller/C = locateUID(controller_uid) if(!C) - to_chat(user, "Could not communicate with controller.") + to_chat(user, SPAN_WARNING("Could not communicate with controller.")) return if(!C.has_power(C.power_channel)) - to_chat(user, "No response from controller, possibly offline.") + to_chat(user, SPAN_WARNING("No response from controller, possibly offline.")) return if(!allowed(user) && !user.can_advanced_admin_interact()) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return C.handle_button(assigned_command) diff --git a/code/game/machinery/airlock_control/airlock_controllers.dm b/code/game/machinery/airlock_control/airlock_controllers.dm index 11f2cfb71eb..59a9f6c3d8e 100644 --- a/code/game/machinery/airlock_control/airlock_controllers.dm +++ b/code/game/machinery/airlock_control/airlock_controllers.dm @@ -73,7 +73,7 @@ /obj/machinery/airlock_controller/attack_hand(mob/user) if(!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!")) return FALSE ui_interact(user) @@ -97,7 +97,7 @@ add_fingerprint(usr) if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_WARNING("Access denied.")) return TRUE switch(action) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 0ae29829417..612061df3cc 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -183,27 +183,27 @@ var/index = text2num(params["remove_from_queue"]) if(isnum(index) && ISINRANGE(index, 1, length(queue))) remove_from_queue(index) - to_chat(usr, "Removed item from queue.") + to_chat(usr, SPAN_NOTICE("Removed item from queue.")) if("make") BuildTurf = loc var/datum/design/design_last_ordered design_last_ordered = locateUID(params["make"]) if(!istype(design_last_ordered)) - to_chat(usr, "Invalid design") + to_chat(usr, SPAN_WARNING("Invalid design")) return if(!(design_last_ordered.id in files.known_designs)) - to_chat(usr, "Invalid design (not in autolathe's known designs, report this error.)") + to_chat(usr, SPAN_WARNING("Invalid design (not in autolathe's known designs, report this error.)")) return var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) var/coeff = get_coeff(design_last_ordered) if(design_last_ordered.materials[MAT_METAL] / coeff > materials.amount(MAT_METAL)) - to_chat(usr, "Invalid design (not enough metal)") + to_chat(usr, SPAN_WARNING("Invalid design (not enough metal)")) return if(design_last_ordered.materials[MAT_GLASS] / coeff > materials.amount(MAT_GLASS)) - to_chat(usr, "Invalid design (not enough glass)") + to_chat(usr, SPAN_WARNING("Invalid design (not enough glass)")) return if(!hacked && ("hacked" in design_last_ordered.category)) - to_chat(usr, "Invalid design (lathe requires hacking)") + to_chat(usr, SPAN_WARNING("Invalid design (lathe requires hacking)")) return //multiplier checks : only stacks can have one and its value is 1, 10 ,25 or max_multiplier var/multiplier = text2num(params["multiplier"]) @@ -218,7 +218,7 @@ if((length(queue) + 1) < queue_max_len) add_to_queue(design_last_ordered, multiplier) else - to_chat(usr, "The autolathe queue is full!") + to_chat(usr, SPAN_WARNING("The autolathe queue is full!")) if(!busy) busy = TRUE process_queue() @@ -266,7 +266,7 @@ /obj/machinery/autolathe/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(busy) - to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.") + to_chat(user, SPAN_ALERT("The autolathe is busy. Please wait for completion of previous operation.")) return ITEM_INTERACT_COMPLETE if(stat) @@ -280,11 +280,11 @@ var/datum/design/design = D.blueprint // READ ONLY!! if(design.id in files.known_designs) - to_chat(user, "This design has already been loaded into the autolathe.") + to_chat(user, SPAN_WARNING("This design has already been loaded into the autolathe.")) return TRUE if(!files.CanAddDesign2Known(design)) - to_chat(user, "This design is not compatible with the autolathe.") + to_chat(user, SPAN_WARNING("This design is not compatible with the autolathe.")) return TRUE user.visible_message( @@ -301,12 +301,12 @@ SStgui.close_uis(src) // forces all connected users to re-open the TGUI. Imported entries won't show otherwise due to static_data busy = FALSE else - to_chat(user, "That disk does not have a design on it!") + to_chat(user, SPAN_WARNING("That disk does not have a design on it!")) return ITEM_INTERACT_COMPLETE else // So that people who are bad at computers don't shred their disks - to_chat(user, "This is not the correct type of disk for the autolathe!") + to_chat(user, SPAN_WARNING("This is not the correct type of disk for the autolathe!")) return ITEM_INTERACT_COMPLETE return ..() @@ -318,7 +318,7 @@ return . = TRUE if(busy) - to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.") + to_chat(user, SPAN_ALERT("The autolathe is busy. Please wait for completion of previous operation.")) return if(shocked && !(stat & NOPOWER)) if(shock(user, 50)) @@ -331,7 +331,7 @@ return . = TRUE if(busy) - to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.") + to_chat(user, SPAN_ALERT("The autolathe is busy. Please wait for completion of previous operation.")) return default_deconstruction_screwdriver(user, "[initial(icon_state)]_t", initial(icon_state), I) @@ -342,7 +342,7 @@ return . = TRUE if(busy) - to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.") + to_chat(user, SPAN_ALERT("The autolathe is busy. Please wait for completion of previous operation.")) return interact(user) @@ -353,7 +353,7 @@ return . = TRUE if(busy) - to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.") + to_chat(user, SPAN_ALERT("The autolathe is busy. Please wait for completion of previous operation.")) return interact(user) diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 17c40a3a3f3..d60f5eeae12 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -48,7 +48,7 @@ if(!I.tool_use_check(user, 0)) return - user.visible_message("[user] starts unwrenching [src] from the wall...", "You are unwrenching [src] from the wall...", "You hear ratcheting.") + user.visible_message(SPAN_NOTICE("[user] starts unwrenching [src] from the wall..."), SPAN_NOTICE("You are unwrenching [src] from the wall..."), SPAN_WARNING("You hear ratcheting.")) if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume)) return diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index cecfd01c188..2c9f71bef98 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -95,13 +95,13 @@ /obj/machinery/camera/examine(mob/user) . = ..() - . += "[src]'s maintenance panel can be screwed [panel_open ? "closed" : "open"]." + . += SPAN_NOTICE("[src]'s maintenance panel can be screwed [panel_open ? "closed" : "open"].") if(panel_open) - . += "Upgrades can be added to [src] or pried out." + . += SPAN_NOTICE("Upgrades can be added to [src] or pried out.") if(!wires.CanDeconstruct()) - . += "[src]'s internal wires are preventing you from cutting it free." + . += SPAN_NOTICE("[src]'s internal wires are preventing you from cutting it free.") else - . += "[src]'s internal wires are disconnected, but it can be cut free." + . += SPAN_NOTICE("[src]'s internal wires are disconnected, but it can be cut free.") /obj/machinery/camera/emp_act(severity) @@ -142,12 +142,12 @@ ..() /obj/machinery/camera/item_interaction(mob/living/user, obj/item/used, list/modifiers) - var/msg = "You attach [used] into the assembly inner circuits." - var/msg2 = "The camera already has that upgrade!" + var/msg = SPAN_NOTICE("You attach [used] into the assembly inner circuits.") + var/msg2 = SPAN_NOTICE("The camera already has that upgrade!") if(istype(used, /obj/item/stack/sheet/mineral/plasma) && panel_open) if(!user.canUnEquip(used, FALSE)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE if(!isEmpProof()) var/obj/item/stack/sheet/mineral/plasma/P = used @@ -159,7 +159,7 @@ to_chat(user, "[msg2]") else if(istype(used, /obj/item/assembly/prox_sensor) && panel_open) if(!user.canUnEquip(used, FALSE)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE if(!isMotion()) upgradeMotion() @@ -173,7 +173,7 @@ // OTHER else if((istype(used, /obj/item/paper) || istype(used, /obj/item/pda)) && isliving(user)) if(!can_use()) - to_chat(user, "You can't show something to a disabled camera!") + to_chat(user, SPAN_WARNING("You can't show something to a disabled camera!")) return ITEM_INTERACT_COMPLETE var/mob/living/U = user @@ -218,7 +218,7 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return panel_open = !panel_open - to_chat(user, "You screw [src]'s panel [panel_open ? "open" : "closed"].") + to_chat(user, SPAN_NOTICE("You screw [src]'s panel [panel_open ? "open" : "closed"].")) /obj/machinery/camera/wirecutter_act(mob/user, obj/item/I) . = TRUE @@ -242,8 +242,8 @@ return WELDER_ATTEMPT_WELD_MESSAGE if(I.use_tool(src, user, 100, volume = I.tool_volume)) - visible_message("[user] unwelds [src], leaving it as just a frame bolted to the wall.", - "You unweld [src], leaving it as just a frame bolted to the wall") + visible_message(SPAN_WARNING("[user] unwelds [src], leaving it as just a frame bolted to the wall."), + SPAN_WARNING("You unweld [src], leaving it as just a frame bolted to the wall")) deconstruct(TRUE) /obj/machinery/camera/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) @@ -297,10 +297,10 @@ if(display_message) if(user) - visible_message("[user] reactivates [src]!") + visible_message(SPAN_DANGER("[user] reactivates [src]!")) add_hiddenprint(user) else - visible_message("\The [src] reactivates!") + visible_message(SPAN_DANGER("\The [src] reactivates!")) playsound(loc, toggle_sound, 100, TRUE) update_icon(UPDATE_ICON_STATE) SEND_SIGNAL(src, COMSIG_CAMERA_ON, user, display_message) @@ -319,10 +319,10 @@ if(display_message) if(user) - visible_message("[user] deactivates [src]!") + visible_message(SPAN_DANGER("[user] deactivates [src]!")) add_hiddenprint(user) else - visible_message("\The [src] deactivates!") + visible_message(SPAN_DANGER("\The [src] deactivates!")) playsound(loc, toggle_sound, 100, 1) update_icon(UPDATE_ICON_STATE) diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index d151cc5337b..3b31e2b59fb 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -26,32 +26,32 @@ . = ..() switch(state) if(ASSEMBLY_UNBUILT) - . += "The camera assembly's bolts need to be secured in a wall." + . += SPAN_NOTICE("The camera assembly's bolts need to be secured in a wall.") if(ASSEMBLY_WRENCHED) - . += "The camera assembly is bolted, but it needs to be welded into place." + . += SPAN_NOTICE("The camera assembly is bolted, but it needs to be welded into place.") if(ASSEMBLY_WELDED) - . += "The camera assembly is welded to the wall, it's lacking wires." + . += SPAN_NOTICE("The camera assembly is welded to the wall, it's lacking wires.") if(ASSEMBLY_WIRED) - . += "The camera assembly is wired, but the maintenence panel needs to be screwed shut." - . += "Upgrades can be added to the camera assembly, and removed with a crowbar." + . += SPAN_NOTICE("The camera assembly is wired, but the maintenence panel needs to be screwed shut.") + . += SPAN_NOTICE("Upgrades can be added to the camera assembly, and removed with a crowbar.") /obj/item/camera_assembly/attackby__legacy__attackchain(obj/item/I, mob/living/user, params) if(state == ASSEMBLY_WELDED && iscoil(I)) var/obj/item/stack/cable_coil/C = I if(C.use(2)) - to_chat(user, "You add wires to the assembly.") + to_chat(user, SPAN_NOTICE("You add wires to the assembly.")) playsound(loc, I.usesound, 50, 1) state = ASSEMBLY_WIRED else - to_chat(user, "You need 2 coils of wire to wire the assembly.") + to_chat(user, SPAN_WARNING("You need 2 coils of wire to wire the assembly.")) return // Upgrades! else if(is_type_in_list(I, possible_upgrades) && !is_type_in_list(I, upgrades)) // Is a possible upgrade and isn't in the camera already. if(!user.drop_item_to_ground(I)) - to_chat(user, "[I] is stuck!") + to_chat(user, SPAN_WARNING("[I] is stuck!")) return - to_chat(user, "You attach [I] into the assembly inner circuits.") + to_chat(user, SPAN_NOTICE("You attach [I] into the assembly inner circuits.")) upgrades += I user.drop_item() I.loc = src @@ -67,7 +67,7 @@ return var/obj/U = locate(/obj) in upgrades if(U) - to_chat(user, "You detach an upgrade from the assembly.") + to_chat(user, SPAN_NOTICE("You detach an upgrade from the assembly.")) playsound(loc, I.usesound, 50, 1) U.loc = get_turf(src) upgrades -= U @@ -82,13 +82,13 @@ var/input = strip_html(input(usr, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Set Network", "SS13")) if(!input) state = ASSEMBLY_WIRED - to_chat(usr, "No input found please hang up and try your call again.") + to_chat(usr, SPAN_WARNING("No input found please hang up and try your call again.")) return var/list/tempnetwork = splittext(input, ",") if(length(tempnetwork) < 1) state = ASSEMBLY_WIRED - to_chat(usr, "No network found please hang up and try your call again.") + to_chat(usr, SPAN_WARNING("No network found please hang up and try your call again.")) return var/area/camera_area = get_area(src) @@ -146,7 +146,7 @@ update_icon(UPDATE_ICON_STATE) state = ASSEMBLY_UNBUILT else - to_chat(user, "[src] can't fit here!") + to_chat(user, SPAN_WARNING("[src] can't fit here!")) /obj/item/camera_assembly/welder_act(mob/user, obj/item/I) if(state == ASSEMBLY_UNBUILT) @@ -158,12 +158,12 @@ if(state == ASSEMBLY_WRENCHED) if(!I.use_tool(src, user, 50, volume = I.tool_volume)) return - to_chat(user, "You weld [src] into place.") + to_chat(user, SPAN_NOTICE("You weld [src] into place.")) state = ASSEMBLY_WELDED else if(state == ASSEMBLY_WELDED) if(!I.use_tool(src, user, 50, volume = I.tool_volume)) return - to_chat(user, "You unweld [src] from its place.") + to_chat(user, SPAN_NOTICE("You unweld [src] from its place.")) state = ASSEMBLY_WRENCHED /obj/item/camera_assembly/update_icon_state() diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index e3b57014330..ca28a5b0789 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -53,7 +53,7 @@ if(status) var/area/A = get_area(src) GLOB.alarm_manager.trigger_alarm("Motion", A, A.cameras, src) - visible_message("A red light flashes on [src]!") + visible_message(SPAN_WARNING("A red light flashes on [src]!")) detectTime = -1 return TRUE diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm index 9c1a491b6fc..ea5c57edc0b 100644 --- a/code/game/machinery/camera/tracking.dm +++ b/code/game/machinery/camera/tracking.dm @@ -118,23 +118,23 @@ U.camera_follow = target U.tracking = TRUE - to_chat(U, "Attempting to track [target.get_visible_name()]...") + to_chat(U, SPAN_NOTICE("Attempting to track [target.get_visible_name()]...")) if(!doubleclick) sleep(1.5 SECONDS) // Gives antags a brief window to get out of dodge before the eye of sauron decends upon them when someone yells ;HALP spawn(15) //give the AI a grace period to stop moving. U.tracking = FALSE if(target.is_jammed()) - to_chat(U, "Unable to track [target.get_visible_name()]...") + to_chat(U, SPAN_WARNING("Unable to track [target.get_visible_name()]...")) U.camera_follow = null return if(!target || !target.can_track(usr)) - to_chat(U, "Target is not near any active cameras.") + to_chat(U, SPAN_WARNING("Target is not near any active cameras.")) U.camera_follow = null return - to_chat(U, "Now tracking [target.get_visible_name()] on camera.") + to_chat(U, SPAN_NOTICE("Now tracking [target.get_visible_name()] on camera.")) var/cameraticks = 0 spawn(0) @@ -145,11 +145,11 @@ if(!target.can_track(usr)) U.tracking = TRUE if(!cameraticks) - to_chat(U, "Target is not near any active cameras. Attempting to reacquire...") + to_chat(U, SPAN_WARNING("Target is not near any active cameras. Attempting to reacquire...")) cameraticks++ if(cameraticks > 9) U.camera_follow = null - to_chat(U, "Unable to reacquire, cancelling track...") + to_chat(U, SPAN_WARNING("Unable to reacquire, cancelling track...")) U.tracking = FALSE return else diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 1433be0dd98..5ddaf9756ad 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -14,11 +14,11 @@ /obj/machinery/cell_charger/examine(mob/user) . = ..() - . += "There's [charging ? "\a [charging.name]" : "no cell"] in [src]." + . += SPAN_NOTICE("There's [charging ? "\a [charging.name]" : "no cell"] in [src].") if(charging && !(stat & (NOPOWER|BROKEN))) - . += "Current charge: [round(charging.percent(), 1)]%" + . += SPAN_NOTICE("Current charge: [round(charging.percent(), 1)]%") if(charging.percent() < 100) - . += "- Recharging [((charging.chargerate * recharge_coeff) / charging.maxcharge) * 100]% cell charge per cycle." + . += SPAN_NOTICE("- Recharging [((charging.chargerate * recharge_coeff) / charging.maxcharge) * 100]% cell charge per cycle.") /obj/machinery/cell_charger/Initialize(mapload) . = ..() @@ -64,27 +64,27 @@ /obj/machinery/cell_charger/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/stock_parts/cell) && !panel_open) if(stat & BROKEN) - to_chat(user, "[src] is broken!") + to_chat(user, SPAN_WARNING("[src] is broken!")) return ITEM_INTERACT_COMPLETE if(!anchored) - to_chat(user, "[src] isn't attached to the ground!") + to_chat(user, SPAN_WARNING("[src] isn't attached to the ground!")) return ITEM_INTERACT_COMPLETE if(charging) - to_chat(user, "There is already a cell in the charger!") + to_chat(user, SPAN_WARNING("There is already a cell in the charger!")) return ITEM_INTERACT_COMPLETE else var/area/a = loc.loc // Gets our locations location, like a dream within a dream if(!isarea(a)) return ITEM_INTERACT_COMPLETE if(!a.powernet.has_power(PW_CHANNEL_EQUIPMENT)) // There's no APC in this area, don't try to cheat power! - to_chat(user, "[src] blinks red as you try to insert the cell!") + to_chat(user, SPAN_WARNING("[src] blinks red as you try to insert the cell!")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) return ITEM_INTERACT_COMPLETE used.forceMove(src) charging = used - user.visible_message("[user] inserts a cell into the charger.", "You insert a cell into the charger.") + user.visible_message("[user] inserts a cell into the charger.", SPAN_NOTICE("You insert a cell into the charger.")) check_level() update_icon(UPDATE_OVERLAYS) return ITEM_INTERACT_COMPLETE @@ -102,7 +102,7 @@ /obj/machinery/cell_charger/wrench_act(mob/user, obj/item/I) . = TRUE if(charging) - to_chat(user, "Remove the cell first!") + to_chat(user, SPAN_WARNING("Remove the cell first!")) return default_unfasten_wrench(user, I, 0) @@ -119,7 +119,7 @@ user.put_in_hands(charging) charging.add_fingerprint(user) - user.visible_message("[user] removes [charging] from [src].", "You remove [charging] from [src].") + user.visible_message("[user] removes [charging] from [src].", SPAN_NOTICE("You remove [charging] from [src].")) removecell() @@ -128,7 +128,7 @@ return charging.forceMove(loc) - to_chat(user, "You telekinetically remove [charging] from [src].") + to_chat(user, SPAN_NOTICE("You telekinetically remove [charging] from [src].")) removecell() diff --git a/code/game/machinery/clonepod.dm b/code/game/machinery/clonepod.dm index d54710d21c4..9fd52e62190 100644 --- a/code/game/machinery/clonepod.dm +++ b/code/game/machinery/clonepod.dm @@ -163,7 +163,7 @@ /obj/machinery/clonepod/examine(mob/user) . = ..() - . += "[desc_flavor]" + . += SPAN_NOTICE("[desc_flavor]") /obj/machinery/clonepod/RefreshParts() speed_modifier = 0 // Since we have multiple manipulators, which affect this modifier, we reset here so we can just use += later @@ -204,7 +204,7 @@ biomass += MEAT_BIOMASS_VALUE show_message = TRUE if(show_message) - visible_message("[src] sucks in nearby biomass.") + visible_message(SPAN_NOTICE("[src] sucks in nearby biomass.")) //If we're cloning someone, we haven't generated a list of limbs to grow, and we're before any possibility of not having any limbs left to grow. if(currently_cloning && !length(limbs_to_grow) && clone_progress < 20) @@ -355,7 +355,7 @@ organ.status = desired_data.organs[candidate_for_insertion][2] for(var/datum/quirk/quirk as anything in patient_data.quirks) quirk.apply_quirk_effects(clone) - + clone.updatehealth("droplimb") clone.regenerate_icons() @@ -382,8 +382,8 @@ clone.grab_ghost() clone.update_revive() REMOVE_TRAIT(clone, TRAIT_NOFIRE, "cloning") - to_chat(clone, "You remember nothing from the time that you were dead!") - to_chat(clone, "There's a bright flash of light, and you take your first breath once more.") + to_chat(clone, SPAN_USERDANGER("You remember nothing from the time that you were dead!")) + to_chat(clone, SPAN_NOTICE("There's a bright flash of light, and you take your first breath once more.")) reset_cloning() return TRUE @@ -400,8 +400,8 @@ clone.grab_ghost() clone.update_revive() REMOVE_TRAIT(clone, TRAIT_NOFIRE, "cloning") - to_chat(clone, "You remember nothing from the time that you were dead!") - to_chat(clone, "You're ripped out of blissful oblivion! You feel like shit.") + to_chat(clone, SPAN_USERDANGER("You remember nothing from the time that you were dead!")) + to_chat(clone, SPAN_DANGER("You're ripped out of blissful oblivion! You feel like shit.")) reset_cloning() return TRUE @@ -502,28 +502,28 @@ stored_organs++ if(stored_organs >= organ_storage_capacity) - to_chat(inserter, "[src]'s organ storage is full!") + to_chat(inserter, SPAN_WARNING("[src]'s organ storage is full!")) return if(is_internal_organ(inserted)) if(is_type_in_list(inserted, FORBIDDEN_INTERNAL_ORGANS)) - to_chat(inserter, "[src] refuses [inserted].") + to_chat(inserter, SPAN_WARNING("[src] refuses [inserted].")) return if(is_type_in_list(inserted, UPGRADE_LOCKED_ORGANS) && speed_modifier < 4) //if our manipulators aren't fully upgraded - to_chat(inserter, "[src] refuses [inserted].") + to_chat(inserter, SPAN_WARNING("[src] refuses [inserted].")) return if(inserted.status & ORGAN_ROBOT && speed_modifier == 1) //if our manipulators aren't upgraded at all - to_chat(inserter, "[src] refuses [inserted].") + to_chat(inserter, SPAN_WARNING("[src] refuses [inserted].")) return if(is_external_organ(inserted)) if(is_type_in_list(inserted, FORBIDDEN_LIMBS)) - to_chat(inserter, "[src] refuses [inserted].") + to_chat(inserter, SPAN_WARNING("[src] refuses [inserted].")) return var/obj/item/organ/external/EO = inserted if(length(EO.children)) if((stored_organs + 1 + length(EO.children)) > organ_storage_capacity) - to_chat(inserter, "You can't fit all of [inserted] into [src]'s organ storage!") + to_chat(inserter, SPAN_WARNING("You can't fit all of [inserted] into [src]'s organ storage!")) return has_children = TRUE for(var/obj/item/organ/external/child in EO.children) @@ -533,7 +533,7 @@ EO.compile_icon() if(is_type_in_list(inserted, ALLOWED_ROBOT_PARTS) && speed_modifier == 1) //if our manipulators aren't upgraded at all - to_chat(inserter, "[src] refuses [inserted].") + to_chat(inserter, SPAN_WARNING("[src] refuses [inserted].")) return if(ismob(inserted.loc)) @@ -541,14 +541,14 @@ if(!M.get_active_hand() == inserted) return //not sure how this would happen, but smartfridges check for it so if(!M.unequip(inserted)) - to_chat(inserter, "[inserted] is stuck to you!") + to_chat(inserter, SPAN_WARNING("[inserted] is stuck to you!")) return inserted.forceMove(src) - to_chat(inserter, "You insert [inserted] into [src]'s organ storage.") + to_chat(inserter, SPAN_NOTICE("You insert [inserted] into [src]'s organ storage.")) SStgui.try_update_ui(inserter, src) if(has_children) - visible_message("There's a crunching sound as [src] breaks down [inserted] into discrete parts.", "You hear a loud crunch.") + visible_message(SPAN_NOTICE("There's a crunching sound as [src] breaks down [inserted] into discrete parts."), "You hear a loud crunch.") /obj/machinery/clonepod/proc/get_stored_organ(organ) for(var/obj/item/organ/external/EO in contents) @@ -568,13 +568,13 @@ if(istype(used, /obj/item/card/id) || istype(used, /obj/item/pda)) if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ITEM_INTERACT_COMPLETE switch(tgui_alert(user, "Perform an emergency ejection of [src]?", "Cloning pod", list("Yes", "No"))) if("Yes") eject_clone(TRUE) // GET OUT - to_chat(user, "You force [src] to eject its clone!") + to_chat(user, SPAN_WARNING("You force [src] to eject its clone!")) log_admin("[key_name(user)] has activated a cloning pod's emergency eject at [COORD(src)] (clone: [key_name(clone)])") return ITEM_INTERACT_COMPLETE diff --git a/code/game/machinery/clonescanner.dm b/code/game/machinery/clonescanner.dm index 2875eb4d3b3..0a7778e64ba 100644 --- a/code/game/machinery/clonescanner.dm +++ b/code/game/machinery/clonescanner.dm @@ -73,13 +73,13 @@ return var/mob/living/carbon/human/H = O if(H.stat != DEAD) - to_chat(user, "You don't think it'd be wise to scan a living being.") + to_chat(user, SPAN_WARNING("You don't think it'd be wise to scan a living being.")) return TRUE if(occupant) - to_chat(user, "[src] is already occupied!") + to_chat(user, SPAN_WARNING("[src] is already occupied!")) return TRUE - to_chat(user, "You put [H] into the cloning scanner.") + to_chat(user, SPAN_NOTICE("You put [H] into the cloning scanner.")) insert_mob(H) return TRUE @@ -212,7 +212,7 @@ /obj/machinery/clonescanner/screwdriver_act(mob/user, obj/item/I) if(occupant) - to_chat(user, "The maintenance panel is locked.") + to_chat(user, SPAN_NOTICE("The maintenance panel is locked.")) return TRUE if(default_deconstruction_screwdriver(user, "[icon_state]_maintenance", "[initial(icon_state)]", I)) return TRUE diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index b0d40b588da..d01b7a282dd 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -197,7 +197,7 @@ return playsound(loc, 'sound/effects/sparks4.ogg', 75, 1) emagged = TRUE - to_chat(user, "You vastly increase projector power and override the safety and security protocols.") + to_chat(user, SPAN_NOTICE("You vastly increase projector power and override the safety and security protocols.")) to_chat(user, "Warning! Automatic shutoff and derezing protocols have been corrupted. Please call Nanotrasen maintenance and do not use the simulator.") log_game("[key_name(user)] emagged the Holodeck Control Computer") return TRUE @@ -392,13 +392,13 @@ hitsound = "sound/weapons/blade1.ogg" w_class = WEIGHT_CLASS_BULKY playsound(user, 'sound/weapons/saberon.ogg', 20, 1) - to_chat(user, "[src] is now active.") + to_chat(user, SPAN_NOTICE("[src] is now active.")) else force = 3 hitsound = "swing_hit" w_class = WEIGHT_CLASS_SMALL playsound(user, 'sound/weapons/saberoff.ogg', 20, 1) - to_chat(user, "[src] can now be concealed.") + to_chat(user, SPAN_NOTICE("[src] can now be concealed.")) if(ishuman(user)) var/mob/living/carbon/human/H = user H.update_inv_l_hand() diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index 00207d8c09e..4dc6d255794 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -39,7 +39,7 @@ /obj/machinery/computer/operating/examine(mob/user) . = ..() - . += "This console gives information on the status of the patient on the adjacent operating table and the next surgery step required in the current surgery." + . += SPAN_NOTICE("This console gives information on the status of the patient on the adjacent operating table and the next surgery step required in the current surgery.") /obj/machinery/computer/operating/attack_ai(mob/user) add_fingerprint(user) diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index efa0f7a83f8..10537287b83 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -22,7 +22,7 @@ if(!user.drop_item()) return ITEM_INTERACT_COMPLETE playsound(loc, P.usesound, 50, 1) - to_chat(user, "You place the circuit board inside the frame.") + to_chat(user, SPAN_NOTICE("You place the circuit board inside the frame.")) update_icon(UPDATE_ICON_STATE) state = CIRCUIT_CORE P.forceMove(src) @@ -34,31 +34,31 @@ var/obj/item/stack/cable_coil/C = P if(C.get_amount() >= 5) playsound(loc, 'sound/items/deconstruct.ogg', 50, 1) - to_chat(user, "You start to add cables to the frame...") + to_chat(user, SPAN_NOTICE("You start to add cables to the frame...")) if(do_after(user, 20, target = src) && state == SCREWED_CORE && C.use(5)) - to_chat(user, "You add cables to the frame.") + to_chat(user, SPAN_NOTICE("You add cables to the frame.")) state = CABLED_CORE update_icon(UPDATE_ICON_STATE) else - to_chat(user, "You need five lengths of cable to wire the AI core!") + to_chat(user, SPAN_WARNING("You need five lengths of cable to wire the AI core!")) return ITEM_INTERACT_COMPLETE if(CABLED_CORE) if(istype(P, /obj/item/stack/sheet/rglass)) var/obj/item/stack/sheet/rglass/G = P if(G.get_amount() >= 2) playsound(loc, 'sound/items/deconstruct.ogg', 50, 1) - to_chat(user, "You start to put in the glass panel...") + to_chat(user, SPAN_NOTICE("You start to put in the glass panel...")) if(do_after(user, 20, target = src) && state == CABLED_CORE && G.use(2)) - to_chat(user, "You put in the glass panel.") + to_chat(user, SPAN_NOTICE("You put in the glass panel.")) state = GLASS_CORE update_icon(UPDATE_ICON_STATE) else - to_chat(user, "You need two sheets of reinforced glass to insert them into the AI core!") + to_chat(user, SPAN_WARNING("You need two sheets of reinforced glass to insert them into the AI core!")) return ITEM_INTERACT_COMPLETE if(istype(P, /obj/item/ai_module/purge)) laws.clear_inherent_laws() - to_chat(usr, "Law module applied.") + to_chat(usr, SPAN_NOTICE("Law module applied.")) return ITEM_INTERACT_COMPLETE if(istype(P, /obj/item/ai_module/freeform)) @@ -67,7 +67,7 @@ to_chat(usr, "No law detected on module, please create one.") return ITEM_INTERACT_COMPLETE laws.add_supplied_law(M.lawpos, M.newFreeFormLaw) - to_chat(usr, "Added a freeform law.") + to_chat(usr, SPAN_NOTICE("Added a freeform law.")) return ITEM_INTERACT_COMPLETE if(istype(P, /obj/item/ai_module/syndicate)) @@ -76,41 +76,41 @@ to_chat(usr, "No law detected on module, please create one.") return ITEM_INTERACT_COMPLETE laws.add_ion_law(M.newFreeFormLaw) - to_chat(usr, "Added a hacked law.") + to_chat(usr, SPAN_NOTICE("Added a hacked law.")) return ITEM_INTERACT_COMPLETE if(istype(P, /obj/item/ai_module)) var/obj/item/ai_module/M = P if(!M.laws) - to_chat(usr, "This AI module can not be applied directly to AI cores.") + to_chat(usr, SPAN_WARNING("This AI module can not be applied directly to AI cores.")) return ITEM_INTERACT_COMPLETE laws = M.laws - to_chat(usr, "Added [M.laws.name] laws.") + to_chat(usr, SPAN_NOTICE("Added [M.laws.name] laws.")) return ITEM_INTERACT_COMPLETE if(istype(P, /obj/item/mmi) && !brain) var/obj/item/mmi/M = P if(!M.brainmob) - to_chat(user, "Sticking an empty [P] into the frame would sort of defeat the purpose.") + to_chat(user, SPAN_WARNING("Sticking an empty [P] into the frame would sort of defeat the purpose.")) return ITEM_INTERACT_COMPLETE if(M.brainmob.stat == DEAD) - to_chat(user, "Sticking a dead [P] into the frame would sort of defeat the purpose.") + to_chat(user, SPAN_WARNING("Sticking a dead [P] into the frame would sort of defeat the purpose.")) return ITEM_INTERACT_COMPLETE if(!M.brainmob.client) - to_chat(user, "Sticking an inactive [M.name] into the frame would sort of defeat the purpose.") + to_chat(user, SPAN_WARNING("Sticking an inactive [M.name] into the frame would sort of defeat the purpose.")) return ITEM_INTERACT_COMPLETE if(jobban_isbanned(M.brainmob, "AI") || jobban_isbanned(M.brainmob, "nonhumandept")) - to_chat(user, "This [P] does not seem to fit.") + to_chat(user, SPAN_WARNING("This [P] does not seem to fit.")) return ITEM_INTERACT_COMPLETE if(!M.brainmob.mind) - to_chat(user, "This [M.name] is mindless!") + to_chat(user, SPAN_WARNING("This [M.name] is mindless!")) return ITEM_INTERACT_COMPLETE if(istype(P, /obj/item/mmi/syndie)) - to_chat(user, "This MMI does not seem to fit!") + to_chat(user, SPAN_WARNING("This MMI does not seem to fit!")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) @@ -118,7 +118,7 @@ M.forceMove(src) brain = M - to_chat(user, "You add [M.name] to the frame.") + to_chat(user, SPAN_NOTICE("You add [M.name] to the frame.")) update_icon(UPDATE_ICON_STATE) return ITEM_INTERACT_COMPLETE @@ -132,21 +132,21 @@ return switch(state) if(CIRCUIT_CORE) - to_chat(user, "You remove the circuit board.") + to_chat(user, SPAN_NOTICE("You remove the circuit board.")) state = EMPTY_CORE circuit.forceMove(loc) circuit = null update_icon(UPDATE_ICON_STATE) return if(GLASS_CORE) - to_chat(user, "You remove the glass panel.") + to_chat(user, SPAN_NOTICE("You remove the glass panel.")) state = CABLED_CORE new /obj/item/stack/sheet/rglass(loc, 2) update_icon(UPDATE_ICON_STATE) return if(CABLED_CORE) if(brain) - to_chat(user, "You remove the brain.") + to_chat(user, SPAN_NOTICE("You remove the brain.")) brain.forceMove(loc) brain = null update_icon(UPDATE_ICON_STATE) @@ -159,16 +159,16 @@ return switch(state) if(SCREWED_CORE) - to_chat(user, "You unfasten the circuit board.") + to_chat(user, SPAN_NOTICE("You unfasten the circuit board.")) state = CIRCUIT_CORE if(CIRCUIT_CORE) - to_chat(user, "You screw the circuit board into place.") + to_chat(user, SPAN_NOTICE("You screw the circuit board into place.")) state = SCREWED_CORE if(GLASS_CORE) var/area/R = get_area(src) message_admins("[key_name_admin(usr)] has completed an AI core in [R]: [ADMIN_COORDJMP(loc)].") log_game("[key_name(usr)] has completed an AI core in [R]: [COORD(loc)].") - to_chat(user, "You connect the monitor.") + to_chat(user, SPAN_NOTICE("You connect the monitor.")) if(!brain) var/open_for_latejoin = tgui_alert(user, "Would you like this core to be open for latejoining AIs?", "Latejoin", list("Yes", "No")) == "Yes" var/obj/structure/ai_core/deactivated/D = new(loc) @@ -187,7 +187,7 @@ SSblackbox.record_feedback("amount", "ais_created", 1) qdel(src) if(AI_READY_CORE) - to_chat(user, "You disconnect the monitor.") + to_chat(user, SPAN_NOTICE("You disconnect the monitor.")) state = GLASS_CORE update_icon(UPDATE_ICON_STATE) @@ -199,9 +199,9 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(brain) - to_chat(user, "Get that [brain.name] out of there first!") + to_chat(user, SPAN_WARNING("Get that [brain.name] out of there first!")) else - to_chat(user, "You remove the cables.") + to_chat(user, SPAN_NOTICE("You remove the cables.")) state = SCREWED_CORE update_icon(UPDATE_ICON_STATE) var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc ) @@ -248,7 +248,7 @@ return WELDER_ATTEMPT_WELD_MESSAGE if(I.use_tool(src, user, 20, volume = I.tool_volume)) - to_chat(user, "You deconstruct the frame.") + to_chat(user, SPAN_NOTICE("You deconstruct the frame.")) new /obj/item/stack/sheet/plasteel(drop_location(), 4) qdel(src) @@ -299,7 +299,7 @@ That prevents a few funky behaviors. /atom/proc/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) if(istype(card)) if(card.flush) - to_chat(user, "ERROR: AI flush is in progress, cannot execute transfer protocol.") + to_chat(user, "[SPAN_BOLDANNOUNCEIC("ERROR")]: AI flush is in progress, cannot execute transfer protocol.") return 0 return 1 @@ -313,7 +313,7 @@ That prevents a few funky behaviors. AI.aiRadio.disabledAi = FALSE AI.forceMove(loc)//To replace the terminal. to_chat(AI, "You have been uploaded to a stationary terminal. Remote device connection restored.") - to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") + to_chat(user, SPAN_BOLDNOTICE("Transfer successful
: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.")) if(!AI.builtInCamera && GetComponent(/datum/component/ducttape)) AI.builtInCamera = new /obj/machinery/camera/portable(AI) AI.builtInCamera.c_tag = AI.name diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index d6745d76ece..3f41a947dfc 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -14,9 +14,9 @@ if(stat & BROKEN) return ..() if(stat & NOPOWER) - to_chat(user, "The screws on [name]'s screen won't budge.") + to_chat(user, SPAN_WARNING("The screws on [name]'s screen won't budge.")) else - to_chat(user, "The screws on [name]'s screen won't budge and it emits a warning beep!.") + to_chat(user, SPAN_WARNING("The screws on [name]'s screen won't budge and it emits a warning beep!.")) return TRUE else return ..() @@ -64,10 +64,10 @@ switch(action) if("fix") if(occupant.suiciding) - to_chat(usr, "Memory corruption detected in recovery partition, likely due to a sudden self-induced shutdown. AI is unrecoverable.") + to_chat(usr, SPAN_WARNING("Memory corruption detected in recovery partition, likely due to a sudden self-induced shutdown. AI is unrecoverable.")) return if(active) // Prevent from starting a fix while fixing. - to_chat(usr, "You are already fixing this AI!") + to_chat(usr, SPAN_WARNING("You are already fixing this AI!")) return active = TRUE INVOKE_ASYNC(src, PROC_REF(fix_ai)) @@ -123,20 +123,20 @@ AI.control_disabled = TRUE AI.aiRadio.disabledAi = TRUE to_chat(AI, "You have been uploaded to a stationary terminal. Sadly, there is no remote access from here.") - to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") + to_chat(user, "[SPAN_BOLDNOTICE("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") update_icon(UPDATE_OVERLAYS) else //Uploading AI from terminal to card if(occupant && !active) to_chat(occupant, "You have been downloaded to a mobile storage device. Still no remote access.") - to_chat(user, "Transfer successful: [occupant.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.") + to_chat(user, "[SPAN_BOLDNOTICE("Transfer successful")]: [occupant.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.") occupant.forceMove(card) occupant = null update_icon(UPDATE_OVERLAYS) else if(active) - to_chat(user, "ERROR: Reconstruction in progress.") + to_chat(user, "[SPAN_BOLDANNOUNCEIC("ERROR")]: Reconstruction in progress.") else if(!occupant) - to_chat(user, "ERROR: Unable to locate artificial intelligence.") + to_chat(user, "[SPAN_BOLDANNOUNCEIC("ERROR")]: Unable to locate artificial intelligence.") /obj/machinery/computer/aifixer/Destroy() if(occupant) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index b42333bf4b5..c8f4cefbb9f 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -366,18 +366,18 @@ dat += "
You ran out of food and starved." if(emagged) user.set_nutrition(0) //yeah you pretty hongry - to_chat(user, "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor.") + to_chat(user, SPAN_USERDANGER("Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor.")) if(fuel <= 0) dat += "
You ran out of fuel, and drift, slowly, into a star." if(emagged) var/mob/living/M = user M.adjust_fire_stacks(5) M.IgniteMob() //flew into a star, so you're on fire - to_chat(user, "You feel an immense wave of heat emanate from the arcade machine. Your skin bursts into flames.") + to_chat(user, SPAN_USERDANGER("You feel an immense wave of heat emanate from the arcade machine. Your skin bursts into flames.")) dat += "

OK...

" if(emagged) - to_chat(user, "You're never going to make it to Orion...") + to_chat(user, "[SPAN_USERDANGER("You're never going to make it to Orion...")]") user.death() emagged = FALSE //removes the emagged status after you lose playing = 0 //also a new game @@ -444,22 +444,22 @@ switch(event) if(ORION_TRAIL_RAIDERS) if(prob(50)) - to_chat(usr, "You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?") + to_chat(usr, SPAN_USERDANGER("You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?")) M.AdjustHallucinate(30 SECONDS) else - to_chat(usr, "Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there...") + to_chat(usr, SPAN_USERDANGER("Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there...")) M.take_organ_damage(30) playsound(loc, 'sound/weapons/genhit2.ogg', 100, TRUE) if(ORION_TRAIL_ILLNESS) var/severity = rand(1,3) //pray to RNGesus. PRAY, PIGS if(severity == 1) - to_chat(M, "You suddenly feel slightly nauseous.")//got off lucky + to_chat(M, SPAN_USERDANGER("You suddenly feel slightly nauseous."))//got off lucky if(severity == 2) - to_chat(usr, "You suddenly feel extremely nauseous and hunch over until it passes.") + to_chat(usr, SPAN_USERDANGER("You suddenly feel extremely nauseous and hunch over until it passes.")) M.Stun(6 SECONDS) if(severity >= 3) //you didn't pray hard enough - to_chat(M, "An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit.") + to_chat(M, SPAN_WARNING("An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit.")) M.Stun(10 SECONDS) sleep(30) atom_say("[M] violently throws up!") @@ -475,7 +475,7 @@ M.take_organ_damage(25) playsound(loc, 'sound/weapons/genhit.ogg', 100, TRUE) else - to_chat(M, "A violent gale blows past you, and you barely manage to stay standing!") + to_chat(M, SPAN_USERDANGER("A violent gale blows past you, and you barely manage to stay standing!")) if(ORION_TRAIL_COLLISION) //by far the most damaging event if(prob(90)) playsound(loc, 'sound/effects/bang.ogg', 100, TRUE) @@ -495,7 +495,7 @@ playsound(loc, 'sound/effects/bang.ogg', 50, TRUE) if(ORION_TRAIL_MALFUNCTION) playsound(loc, 'sound/effects/empulse.ogg', 50, TRUE) - visible_message("[src] malfunctions, randomizing in-game stats!") + visible_message(SPAN_DANGER("[src] malfunctions, randomizing in-game stats!")) var/oldfood = food var/oldfuel = fuel food = rand(10,80) / rand(1,2) @@ -503,9 +503,9 @@ if(electronics) sleep(10) if(oldfuel > fuel && oldfood > food) - audible_message("[src] lets out a somehow reassuring chime.") + audible_message(SPAN_DANGER("[src] lets out a somehow reassuring chime.")) else if(oldfuel < fuel || oldfood < food) - audible_message("[src] lets out a somehow ominous chime.") + audible_message(SPAN_DANGER("[src] lets out a somehow ominous chime.")) food = oldfood fuel = oldfuel playsound(loc, 'sound/machines/chime.ogg', 50, TRUE) @@ -958,7 +958,7 @@ /obj/machinery/computer/arcade/orion_trail/emag_act(mob/user) if(!emagged) - to_chat(user, "You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.") + to_chat(user, SPAN_NOTICE("You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.")) name = "The Orion Trail: Realism Edition" desc = "Learn how our ancestors got to Orion, and try not to die in the process!" add_hiddenprint(user) @@ -984,9 +984,9 @@ . = ..() if(in_range(user, src)) if(!active) - . += "There's a little switch on the bottom. It's flipped down." + . += SPAN_NOTICE("There's a little switch on the bottom. It's flipped down.") else - . += "There's a little switch on the bottom. It's flipped up." + . += SPAN_NOTICE("There's a little switch on the bottom. It's flipped up.") /obj/item/orion_ship/attack_self__legacy__attackchain(mob/user) //Minibomb-level explosion. Should probably be more because of how hard it is to survive the machine! Also, just over a 5-second fuse if(active) @@ -995,19 +995,19 @@ message_admins("[key_name_admin(usr)] primed an explosive Orion ship for detonation.") log_game("[key_name(usr)] primed an explosive Orion ship for detonation.") - to_chat(user, "You flip the switch on the underside of [src].") + to_chat(user, SPAN_WARNING("You flip the switch on the underside of [src].")) active = TRUE - visible_message("[src] softly beeps and whirs to life!") + visible_message(SPAN_NOTICE("[src] softly beeps and whirs to life!")) playsound(loc, 'sound/machines/defib_saftyon.ogg', 25, TRUE) atom_say("This is ship ID #[rand(1,1000)] to Orion Port Authority. We're coming in for landing, over.") sleep(20) - visible_message("[src] begins to vibrate...") + visible_message(SPAN_WARNING("[src] begins to vibrate...")) atom_say("Uh, Port? Having some issues with our reactor, could you check it out? Over.") sleep(30) atom_say("Oh, God! Code Eight! CODE EIGHT! IT'S GONNA BL-") playsound(loc, 'sound/machines/buzz-sigh.ogg', 25, TRUE) sleep(3.6) - visible_message("[src] explodes!") + visible_message(SPAN_USERDANGER("[src] explodes!")) explosion(src.loc, 1,2,4, flame_range = 3, cause = "Orion Ship Minibomb") qdel(src) diff --git a/code/game/machinery/computer/arcade_games/recruiter.dm b/code/game/machinery/computer/arcade_games/recruiter.dm index 933cbc0396c..7f5d84e4e3e 100644 --- a/code/game/machinery/computer/arcade_games/recruiter.dm +++ b/code/game/machinery/computer/arcade_games/recruiter.dm @@ -308,7 +308,7 @@ if(emagged) return if(user) - to_chat(user, "You override the menu and revert the game to its previous version.") + to_chat(user, SPAN_NOTICE("You override the menu and revert the game to its previous version.")) add_hiddenprint(user) game_status = RECRUITER_STATUS_START name = "\improper NT Recruiter Simulator HARDCORE EDITION" diff --git a/code/game/machinery/computer/atmos_controllers.dm b/code/game/machinery/computer/atmos_controllers.dm index c8057b2d8f5..a6ee6ab2135 100644 --- a/code/game/machinery/computer/atmos_controllers.dm +++ b/code/game/machinery/computer/atmos_controllers.dm @@ -49,7 +49,7 @@ GLOBAL_LIST_EMPTY(gas_sensors) if(!I.use_tool(src, user, 40, volume = I.tool_volume)) return - user.visible_message("[user] unfastens \the [src].", "You have unfastened \the [src].", "You hear ratchet.") + user.visible_message("[user] unfastens \the [src].", SPAN_NOTICE("You have unfastened \the [src]."), "You hear ratchet.") new /obj/item/pipe_gsensor(loc) qdel(src) playsound(src, 'sound/items/deconstruct.ogg', 50, 1) @@ -100,7 +100,7 @@ GLOBAL_LIST_EMPTY(gas_sensors) var/obj/item/multitool/M = I M.buffer_uid = UID() - to_chat(user, "You save [src] into [M]'s buffer") + to_chat(user, SPAN_NOTICE("You save [src] into [M]'s buffer")) return TRUE #undef ONOFF_TOGGLE @@ -182,7 +182,7 @@ GLOBAL_LIST_EMPTY(gas_sensors) // First see if they have a scrubber in their buffer var/datum/linked_datum = locateUID(M.buffer_uid) if(!linked_datum || !(istype(linked_datum, /obj/machinery/atmospherics/air_sensor) || istype(linked_datum, /obj/machinery/atmospherics/meter))) - to_chat(user, "Error: No device in multitool buffer, or device is not a sensor or meter.") + to_chat(user, SPAN_WARNING("Error: No device in multitool buffer, or device is not a sensor or meter.")) return var/new_name = clean_input(user, "Enter a name for the sensor/meter", "Name") @@ -191,7 +191,7 @@ GLOBAL_LIST_EMPTY(gas_sensors) sensor_name_uid_map[new_name] = linked_datum.UID() // Make sure the multitool ref didnt change while they had the menu open sensor_name_data_map[new_name] = list() - to_chat(user, "Successfully added a new sensor/meter with name [new_name]") + to_chat(user, SPAN_NOTICE("Successfully added a new sensor/meter with name [new_name]")) if("Remove") var/to_remove = tgui_input_list(user, "Select a sensor/meter to remove", "Sensor/Meter Removal", sensor_name_uid_map) @@ -204,7 +204,7 @@ GLOBAL_LIST_EMPTY(gas_sensors) sensor_name_uid_map -= to_remove sensor_name_data_map -= to_remove - to_chat(user, "Successfully removed sensor/meter with name [to_remove]") + to_chat(user, SPAN_NOTICE("Successfully removed sensor/meter with name [to_remove]")) // Makes overrides easier /obj/machinery/computer/general_air_control/proc/refresh_all() @@ -400,12 +400,12 @@ GLOBAL_LIST_EMPTY(gas_sensors) switch(choice) if("Add") if(M.buffer_uid in inlet_uids) - to_chat(user, "Error: This device is already connected to the console.") + to_chat(user, SPAN_WARNING("Error: This device is already connected to the console.")) return // First see if they have a scrubber in their buffer var/datum/linked_datum = locateUID(M.buffer_uid) if(!linked_datum || !istype(linked_datum, /obj/machinery/atmospherics/unary/outlet_injector)) - to_chat(user, "Error: No device in multitool buffer, or device is not an injector.") + to_chat(user, SPAN_WARNING("Error: No device in multitool buffer, or device is not an injector.")) return inlet_uids += linked_datum.UID() // Make sure the multitool ref didnt change while they had the menu open @@ -416,7 +416,7 @@ GLOBAL_LIST_EMPTY(gas_sensors) inlet_injector.update_icon() inlet_data += list("[linked_datum.UID()]" = list("name" = inlet_injector.name, "on" = inlet_injector.on, "rate" = inlet_injector.volume_rate, "uid" = inlet_injector.UID())) refresh_inlets() - to_chat(user, "Successfully added an inlet injector.") + to_chat(user, SPAN_NOTICE("Successfully added an inlet injector.")) if("Remove") var/list/namelist = list() @@ -445,9 +445,9 @@ GLOBAL_LIST_EMPTY(gas_sensors) inlet_uids = list() inlet_data = list() refresh_inlets() - to_chat(user, "Successfully unlinked inlet injector.") + to_chat(user, SPAN_NOTICE("Successfully unlinked inlet injector.")) else - to_chat(user, "Error - No injector linked!") + to_chat(user, SPAN_WARNING("Error - No injector linked!")) /obj/machinery/computer/general_air_control/large_tank_control/proc/configure_outlet(mob/living/user, obj/item/multitool/M) @@ -458,12 +458,12 @@ GLOBAL_LIST_EMPTY(gas_sensors) switch(choice) if("Add") if(M.buffer_uid in outlet_uids) - to_chat(user, "Error: This device is already connected to the console.") + to_chat(user, SPAN_WARNING("Error: This device is already connected to the console.")) return // First see if they have a scrubber in their buffer var/datum/linked_datum = locateUID(M.buffer_uid) if(!linked_datum) - to_chat(user, "Error: No compatible device in multitool buffer") + to_chat(user, SPAN_WARNING("Error: No compatible device in multitool buffer")) return if(istype(linked_datum, /obj/machinery/atmospherics/unary/vent_pump)) outlet_uids += linked_datum.UID() // Make sure the multitool ref didnt change while they had the menu open @@ -477,7 +477,7 @@ GLOBAL_LIST_EMPTY(gas_sensors) outlet_vent.update_icon() outlet_vent_data += list("[linked_datum.UID()]" = list("name" = outlet_vent.name, "on" = outlet_vent.on, "checks" = outlet_vent.pressure_checks, "rate" = outlet_vent.internal_pressure_bound, "uid" = outlet_vent.UID())) refresh_outlets() - to_chat(user, "Successfully added an outlet vent") + to_chat(user, SPAN_NOTICE("Successfully added an outlet vent")) return if(istype(linked_datum, /obj/machinery/atmospherics/unary/vent_scrubber)) outlet_uids += linked_datum.UID() // Make sure the multitool ref didnt change while they had the menu open @@ -502,10 +502,10 @@ GLOBAL_LIST_EMPTY(gas_sensors) "filter_h2" = scrubber.scrub_H2, "filter_h2o" = scrubber.scrub_H2O,)) refresh_outlets() - to_chat(user, "Successfully added an outlet scrubber") + to_chat(user, SPAN_NOTICE("Successfully added an outlet scrubber")) return else - to_chat(user, "Error: No compatible device in multitool buffer") + to_chat(user, SPAN_WARNING("Error: No compatible device in multitool buffer")) return if("Remove") @@ -540,9 +540,9 @@ GLOBAL_LIST_EMPTY(gas_sensors) outlet_scrubber_data = list() outlet_vent_data = list() refresh_outlets() - to_chat(user, "Successfully unlinked outlet vent.") + to_chat(user, SPAN_NOTICE("Successfully unlinked outlet vent.")) else - to_chat(user, "Error - No outlets linked!") + to_chat(user, SPAN_WARNING("Error - No outlets linked!")) /obj/machinery/computer/general_air_control/large_tank_control/proc/refresh_inlets() diff --git a/code/game/machinery/computer/brigcells.dm b/code/game/machinery/computer/brigcells.dm index e87afa16c98..0ce354031fe 100644 --- a/code/game/machinery/computer/brigcells.dm +++ b/code/game/machinery/computer/brigcells.dm @@ -18,7 +18,7 @@ if(stat & (BROKEN|NOPOWER)) return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ui_interact(user) @@ -53,7 +53,7 @@ return FALSE if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_WARNING("Access denied.")) return FALSE if(action == "release") diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 1f1714e7c6f..51b441cb44b 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -38,7 +38,7 @@ if(!ispath(A)) continue nice_list += list("[req_components[A]] [initial(A.name)]\s") - . += "Required components: [english_list(nice_list)]." + . += SPAN_NOTICE("Required components: [english_list(nice_list)].") /obj/item/circuitboard/message_monitor board_name = "Message Monitor" @@ -76,7 +76,7 @@ board_name = choice build_path = monitor_names_paths[choice] format_board_name() - to_chat(user, "You set the board to [board_name].") + to_chat(user, SPAN_NOTICE("You set the board to [board_name].")) /obj/item/circuitboard/camera/telescreen board_name = "Telescreen" @@ -159,7 +159,7 @@ /obj/item/circuitboard/aiupload_broken board_name = "AI Upload" - desc = "The board is charred and smells of burnt plastic. It has been rendered useless." + desc = SPAN_WARNING("The board is charred and smells of burnt plastic. It has been rendered useless.") icon_state = "command_broken" /obj/item/circuitboard/borgupload @@ -518,7 +518,7 @@ /obj/item/circuitboard/rdconsole/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, /obj/item/card/id) || istype(I, /obj/item/pda)) if(allowed(user)) - user.visible_message("[user] waves [user.p_their()] ID past [src]'s access protocol scanner.", "You swipe your ID past [src]'s access protocol scanner.") + user.visible_message(SPAN_NOTICE("[user] waves [user.p_their()] ID past [src]'s access protocol scanner."), SPAN_NOTICE("You swipe your ID past [src]'s access protocol scanner.")) var/console_choice = tgui_input_list(user, "What do you want to configure the access to?", "Access Modification", access_types) if(!console_choice) return @@ -531,9 +531,9 @@ build_path = /obj/machinery/computer/rdconsole/public format_board_name() - to_chat(user, "Access protocols set to [console_choice].") + to_chat(user, SPAN_NOTICE("Access protocols set to [console_choice].")) else - to_chat(user, "Access Denied.") + to_chat(user, SPAN_WARNING("Access Denied.")) return return ..() @@ -560,20 +560,20 @@ /obj/structure/computerframe/examine(mob/user) . = ..() - . += "It is [anchored ? "bolted to the floor" : "unbolted"]." + . += SPAN_NOTICE("It is [anchored ? "bolted to the floor" : "unbolted"].") switch(state) if(STATE_EMPTY) - . += "The frame is welded together, but it is missing a circuit board." + . += SPAN_NOTICE("The frame is welded together, but it is missing a circuit board.") if(STATE_CIRCUIT) - . += "A circuit board is firmly connected, but the cover is unscrewed and open." + . += SPAN_NOTICE("A circuit board is firmly connected, but the cover is unscrewed and open.") if(STATE_NOWIRES) - . += "The cover is screwed shut, but the frame is missing wiring." + . += SPAN_NOTICE("The cover is screwed shut, but the frame is missing wiring.") if(STATE_WIRES) - . += "The frame is wired, but the glass is missing." + . += SPAN_NOTICE("The frame is wired, but the glass is missing.") if(STATE_GLASS) - . += "The glass is loosely connected and needs to be screwed into place." + . += SPAN_NOTICE("The glass is loosely connected and needs to be screwed into place.") if(!anchored) - . += "Alt-Click to rotate it." + . += SPAN_NOTICE("Alt-Click to rotate it.") /obj/structure/computerframe/deconstruct(disassembled = TRUE) if(!(flags & NODECONSTRUCT)) @@ -582,12 +582,12 @@ /obj/structure/computerframe/AltClick(mob/user) if(user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(!Adjacent(user)) return if(anchored) - to_chat(user, "The frame is anchored to the floor!") + to_chat(user, SPAN_WARNING("The frame is anchored to the floor!")) return setDir(turn(dir, 90)) @@ -631,13 +631,13 @@ return if(state == STATE_CIRCUIT) - to_chat(user, "You remove the circuit board.") + to_chat(user, SPAN_NOTICE("You remove the circuit board.")) state = STATE_EMPTY name = initial(name) circuit.forceMove(drop_location()) circuit = null else if(state == STATE_GLASS) - to_chat(user, "You remove the glass panel.") + to_chat(user, SPAN_NOTICE("You remove the glass panel.")) state = STATE_WIRES new /obj/item/stack/sheet/glass(drop_location(), 2) else @@ -653,17 +653,17 @@ switch(state) if(STATE_CIRCUIT) - to_chat(user, "You screw the circuit board into place.") + to_chat(user, SPAN_NOTICE("You screw the circuit board into place.")) state = STATE_NOWIRES I.play_tool_sound(src) update_icon() if(STATE_NOWIRES) - to_chat(user, "You unfasten the circuit board.") + to_chat(user, SPAN_NOTICE("You unfasten the circuit board.")) state = STATE_CIRCUIT I.play_tool_sound(src) update_icon() if(STATE_GLASS) - to_chat(user, "You connect the monitor.") + to_chat(user, SPAN_NOTICE("You connect the monitor.")) I.play_tool_sound(src) var/obj/machinery/computer/B = new circuit.build_path(loc) B.setDir(dir) @@ -679,7 +679,7 @@ return if(state == STATE_WIRES) - to_chat(user, "You remove the cables.") + to_chat(user, SPAN_NOTICE("You remove the cables.")) var/obj/item/stack/cable_coil/C = new(drop_location()) C.amount = 5 state = STATE_NOWIRES @@ -694,15 +694,15 @@ var/obj/item/circuitboard/B = I if(B.board_type != "computer") - to_chat(user, "[src] does not accept circuit boards of this type!") + to_chat(user, SPAN_WARNING("[src] does not accept circuit boards of this type!")) return ITEM_INTERACT_COMPLETE if(!B.build_path) - to_chat(user, "This is not a functional computer circuit board!") + to_chat(user, SPAN_WARNING("This is not a functional computer circuit board!")) return ITEM_INTERACT_COMPLETE B.play_tool_sound(src) - to_chat(user, "You place [B] inside [src].") + to_chat(user, SPAN_NOTICE("You place [B] inside [src].")) name += " ([B.board_name])" state = STATE_CIRCUIT user.drop_item() @@ -717,18 +717,18 @@ var/obj/item/stack/cable_coil/C = I if(C.get_amount() < 5) - to_chat(user, "You need five lengths of cable to wire the frame.") + to_chat(user, SPAN_WARNING("You need five lengths of cable to wire the frame.")) return ITEM_INTERACT_COMPLETE C.play_tool_sound(src) - to_chat(user, "You start to add cables to the frame.") + to_chat(user, SPAN_NOTICE("You start to add cables to the frame.")) if(!do_after(user, 2 SECONDS * C.toolspeed, target = src)) return ITEM_INTERACT_COMPLETE if(C.get_amount() < 5 || !C.use(5)) - to_chat(user, "At some point during construction you lost some cable. Make sure you have five lengths before trying again.") + to_chat(user, SPAN_WARNING("At some point during construction you lost some cable. Make sure you have five lengths before trying again.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You add cables to the frame.") + to_chat(user, SPAN_NOTICE("You add cables to the frame.")) state = STATE_WIRES update_icon() return ITEM_INTERACT_COMPLETE @@ -739,18 +739,18 @@ var/obj/item/stack/sheet/glass/G = I if(G.get_amount() < 2) - to_chat(user, "You need two sheets of glass for this.") + to_chat(user, SPAN_WARNING("You need two sheets of glass for this.")) return ITEM_INTERACT_COMPLETE G.play_tool_sound(src) - to_chat(user, "You start to add the glass panel to the frame.") + to_chat(user, SPAN_NOTICE("You start to add the glass panel to the frame.")) if(!do_after(user, 2 SECONDS * G.toolspeed, target = src)) return ITEM_INTERACT_COMPLETE if(G.get_amount() < 2 || !G.use(2)) - to_chat(user, "At some point during construction you lost some glass. Make sure you have two sheets before trying again.") + to_chat(user, SPAN_WARNING("At some point during construction you lost some glass. Make sure you have two sheets before trying again.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You put in the glass panel.") + to_chat(user, SPAN_NOTICE("You put in the glass panel.")) state = STATE_GLASS update_icon() return ITEM_INTERACT_COMPLETE diff --git a/code/game/machinery/computer/camera_console.dm b/code/game/machinery/computer/camera_console.dm index f6514040be0..a23cb5c234c 100644 --- a/code/game/machinery/computer/camera_console.dm +++ b/code/game/machinery/computer/camera_console.dm @@ -193,7 +193,7 @@ /obj/machinery/computer/security/attack_ai(mob/user) if(is_ai(user)) - to_chat(user, "You realise it's kind of stupid to access a camera console when you have the entire camera network at your metaphorical fingertips.") + to_chat(user, SPAN_NOTICE("You realise it's kind of stupid to access a camera console when you have the entire camera network at your metaphorical fingertips.")) return ui_interact(user) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index a9500e156e7..443f2372b7f 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -52,18 +52,18 @@ var/obj/item/multitool/M = used if(!M.buffer) - to_chat(user, "[M]'[M.p_s()] buffer is empty!") + to_chat(user, SPAN_WARNING("[M]'[M.p_s()] buffer is empty!")) return ITEM_INTERACT_COMPLETE if(istype(M.buffer, /obj/machinery/clonepod)) var/obj/machinery/clonepod/buffer_pod = M.buffer if(buffer_pod.console == src) - to_chat(user, "[M.buffer] is already linked!") + to_chat(user, SPAN_WARNING("[M.buffer] is already linked!")) return ITEM_INTERACT_COMPLETE pods += M.buffer buffer_pod.console = src - to_chat(user, "[M.buffer] was successfully added to the cloning pod array.") + to_chat(user, SPAN_NOTICE("[M.buffer] was successfully added to the cloning pod array.")) if(!selected_pod) selected_pod = buffer_pod return ITEM_INTERACT_COMPLETE @@ -71,15 +71,15 @@ if(istype(M.buffer, /obj/machinery/clonescanner)) var/obj/machinery/clonescanner/buffer_scanner = M.buffer if(scanner) - to_chat(user, "There's already a linked scanner!") + to_chat(user, SPAN_WARNING("There's already a linked scanner!")) return ITEM_INTERACT_COMPLETE scanner = buffer_scanner buffer_scanner.console = src - to_chat(user, "[M.buffer] was successfully linked.") + to_chat(user, SPAN_NOTICE("[M.buffer] was successfully linked.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "[M.buffer] cannot be linked to [src].") + to_chat(user, SPAN_WARNING("[M.buffer] cannot be linked to [src].")) return ITEM_INTERACT_COMPLETE /obj/machinery/computer/cloning/attack_ai(mob/user) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index c8196d468b6..15c5956d3e5 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -66,7 +66,7 @@ if(authenticated) return COMM_AUTHENTICATION_HEAD if(message) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return COMM_AUTHENTICATION_NONE /obj/machinery/computer/communications/proc/change_security_level(new_level, force) @@ -87,14 +87,14 @@ if(..()) return if(!is_secure_level(z)) - to_chat(ui.user, "Unable to establish a connection: You're too far away from the station!") + to_chat(ui.user, SPAN_WARNING("Unable to establish a connection: You're too far away from the station!")) return . = TRUE if(action == "auth") if(!ishuman(ui.user)) - to_chat(ui.user, "Access denied, no humanoid lifesign detected.") + to_chat(ui.user, SPAN_WARNING("Access denied, no humanoid lifesign detected.")) return FALSE // Logout function. if(authenticated != COMM_AUTHENTICATION_NONE) @@ -110,7 +110,7 @@ authenticated = COMM_AUTHENTICATION_CAPT if(ACCESS_CENT_COMMANDER in access) if(!check_rights(R_ADMIN|R_EVENT, FALSE, ui.user, all = TRUE)) - to_chat(ui.user, "[src] buzzes, invalid central command clearance.") + to_chat(ui.user, SPAN_WARNING("[src] buzzes, invalid central command clearance.")) return authenticated = COMM_AUTHENTICATION_CENTCOM @@ -122,7 +122,7 @@ if(istype(id)) announcer.author = GetNameAndAssignmentFromId(id) if(authenticated == COMM_AUTHENTICATION_NONE) - to_chat(ui.user, "You need to wear a command or Captain-level ID.") + to_chat(ui.user, SPAN_WARNING("You need to wear a command or Captain-level ID.")) return // All functions below this point require authentication. @@ -135,16 +135,16 @@ if("newalertlevel") if(is_ai(ui.user) || isrobot(ui.user)) - to_chat(ui.user, "Firewalls prevent you from changing the alert level.") + to_chat(ui.user, SPAN_WARNING("Firewalls prevent you from changing the alert level.")) return else if(ADMIN_CHECK(ui.user)) change_security_level(text2num(params["level"]), force = TRUE) return else if(!ishuman(ui.user)) - to_chat(ui.user, "Security measures prevent you from changing the alert level.") + to_chat(ui.user, SPAN_WARNING("Security measures prevent you from changing the alert level.")) return else if(alert_level_cooldown > world.time) - to_chat(ui.user, "Please allow at least one minute between manual changes to the alert level.") + to_chat(ui.user, SPAN_WARNING("Please allow at least one minute between manual changes to the alert level.")) return alert_level_cooldown = world.time + 60 SECONDS @@ -155,21 +155,21 @@ if((ACCESS_CAPTAIN in I.access) && SSsecurity_level.get_current_level_as_number() <= SEC_LEVEL_RED) change_security_level(text2num(params["level"])) else - to_chat(ui.user, "You are not authorized to do this.") + to_chat(ui.user, SPAN_WARNING("You are not authorized to do this.")) setMenuState(ui.user, COMM_SCREEN_MAIN) else - to_chat(ui.user, "You need to wear your ID.") + to_chat(ui.user, SPAN_WARNING("You need to wear your ID.")) if("announce") if(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT) if(message_cooldown > world.time) - to_chat(ui.user, "Please allow at least one minute to pass between announcements.") + to_chat(ui.user, SPAN_WARNING("Please allow at least one minute to pass between announcements.")) return var/input = input(ui.user, "Please write a message to announce to the station crew.", "Priority Announcement") as null|message if(!input || message_cooldown > world.time || ..() || !(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT)) return if(length(input) < COMM_MSGLEN_MINIMUM) - to_chat(ui.user, "Message '[input]' is too short. [COMM_MSGLEN_MINIMUM] character minimum.") + to_chat(ui.user, SPAN_WARNING("Message '[input]' is too short. [COMM_MSGLEN_MINIMUM] character minimum.")) return announcer.Announce(input) message_cooldown = world.time + 600 //One minute @@ -185,7 +185,7 @@ if("cancelshuttle") if(is_ai(ui.user) || isrobot(ui.user)) - to_chat(ui.user, "Firewalls prevent you from recalling the shuttle.") + to_chat(ui.user, SPAN_WARNING("Firewalls prevent you from recalling the shuttle.")) return var/response = tgui_alert(usr, "Are you sure you wish to recall the shuttle?", "Confirm", list("Yes", "No")) if(response == "Yes") @@ -245,16 +245,16 @@ if("nukerequest") if(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT) if(centcomm_message_cooldown > world.time) - to_chat(ui.user, "Arrays recycling. Please stand by.") + to_chat(ui.user, SPAN_WARNING("Arrays recycling. Please stand by.")) return var/input = tgui_input_text(ui.user, "Please enter the reason for requesting the nuclear self-destruct codes. Misuse of the nuclear request system will not be tolerated under any circumstances. Transmission does not guarantee a response.", "Self Destruct Code Request.", encode = FALSE) if(isnull(input) || ..() || !(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT)) return if(length(input) < COMM_CCMSGLEN_MINIMUM) - to_chat(ui.user, "Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.") + to_chat(ui.user, SPAN_WARNING("Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.")) return Nuke_request(input, ui.user) - to_chat(ui.user, "Request sent.") + to_chat(ui.user, SPAN_NOTICE("Request sent.")) log_game("[key_name(ui.user)] has requested the nuclear codes from Centcomm") GLOB.major_announcement.Announce("The codes for the on-station nuclear self-destruction device have been requested by [ui.user]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self Destruct Codes Requested", 'sound/AI/nuke_codes.ogg') centcomm_message_cooldown = world.time + 6000 // 10 minutes @@ -263,13 +263,13 @@ if("MessageCentcomm") if(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT) if(centcomm_message_cooldown > world.time) - to_chat(ui.user, "Arrays recycling. Please stand by.") + to_chat(ui.user, SPAN_WARNING("Arrays recycling. Please stand by.")) return var/input = tgui_input_text(ui.user, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "CentComm Message", encode = FALSE) if(!input || ..() || !(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT)) return if(length(input) < COMM_CCMSGLEN_MINIMUM) - to_chat(ui.user, "Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.") + to_chat(ui.user, SPAN_WARNING("Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.")) return Centcomm_announce(input, ui.user) print_centcom_report(input, station_time_timestamp() + " Captain's Message") @@ -288,7 +288,7 @@ if(!input || ..() || !(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT)) return if(length(input) < COMM_CCMSGLEN_MINIMUM) - to_chat(ui.user, "Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.") + to_chat(ui.user, SPAN_WARNING("Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.")) return Syndicate_announce(input, ui.user) to_chat(ui.user, "Message transmitted.") @@ -377,7 +377,7 @@ /obj/machinery/computer/communications/emag_act(user as mob) if(!emagged) emagged = TRUE - to_chat(user, "You scramble the communication routing circuits!") + to_chat(user, SPAN_NOTICE("You scramble the communication routing circuits!")) SStgui.update_uis(src) return TRUE @@ -392,7 +392,7 @@ return if(!is_secure_level(src.z)) - to_chat(user, "Unable to establish a connection: You're too far away from the station!") + to_chat(user, SPAN_WARNING("Unable to establish a connection: You're too far away from the station!")) return ui_interact(user) @@ -524,19 +524,19 @@ /proc/call_shuttle_proc(mob/user, reason, sanitized = FALSE) if(GLOB.deathsquad_sent) - to_chat(user, "Central Command does not allow the shuttle to be called at this time. Please stand by.") //This may show up before Epsilon Alert/Before DS arrives + to_chat(user, SPAN_WARNING("Central Command does not allow the shuttle to be called at this time. Please stand by.")) //This may show up before Epsilon Alert/Before DS arrives return if(length(SSshuttle.hostile_environments)) - to_chat(user, "The emergency shuttle may not be sent at this time. Please try again later.") + to_chat(user, SPAN_WARNING("The emergency shuttle may not be sent at this time. Please try again later.")) return if(SSshuttle.emergency.mode > SHUTTLE_ESCAPE) - to_chat(user, "The emergency shuttle may not be called while returning to Central Command.") + to_chat(user, SPAN_WARNING("The emergency shuttle may not be called while returning to Central Command.")) return if(SSticker.mode.name == "blob") - to_chat(user, "Under directive 7-10, [station_name()] is quarantined until further notice.") + to_chat(user, SPAN_WARNING("Under directive 7-10, [station_name()] is quarantined until further notice.")) return if(!sanitized) @@ -556,7 +556,7 @@ return if(GLOB.deathsquad_sent) - to_chat(user, "Central Command does not allow the shuttle to be called at this time. Please stand by.") //This may show up before Epsilon Alert/Before DS arrives + to_chat(user, SPAN_WARNING("Central Command does not allow the shuttle to be called at this time. Please stand by.")) //This may show up before Epsilon Alert/Before DS arrives return // AA 2022-08-18 - Why is this not a round time offset?? @@ -585,7 +585,7 @@ log_game("[key_name(user)] has recalled the shuttle.") message_admins("[key_name_admin(user)] has recalled the shuttle - ([ADMIN_FLW(user,"FLW")]).", 1) else - to_chat(user, "Central Command has refused the recall request!") + to_chat(user, SPAN_WARNING("Central Command has refused the recall request!")) log_game("[key_name(user)] has tried and failed to recall the shuttle.") message_admins("[key_name_admin(user)] has tried and failed to recall the shuttle - ([ADMIN_FLW(user,"FLW")]).", 1) diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 7ddeb62dada..579641bef1e 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -35,7 +35,7 @@ /obj/machinery/computer/extinguish_light(force = FALSE) set_light(0) underlays.Cut() - visible_message("[src] grows dim, its screen barely readable.") + visible_message(SPAN_DANGER("[src] grows dim, its screen barely readable.")) /* * Reimp, flash the screen on and off repeatedly. @@ -157,7 +157,7 @@ A.anchored = TRUE if(stat & BROKEN) if(user) - to_chat(user, "The broken glass falls out.") + to_chat(user, SPAN_NOTICE("The broken glass falls out.")) else playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE) new /obj/item/shard(drop_location()) @@ -165,7 +165,7 @@ A.state = 4 else if(user) - to_chat(user, "You disconnect the monitor.") + to_chat(user, SPAN_NOTICE("You disconnect the monitor.")) A.state = 5 A.update_icon() for(var/obj/C in src) @@ -203,7 +203,7 @@ for(var/datum/objective/download/download_obj in flayer_datum.get_antag_objectives()) if(download_obj.target_console == src) var/old_icon_screen = icon_screen - to_chat(user, "You insert your power cable into the data port on the console and begin the transfer...") + to_chat(user, SPAN_BOLDNOTICE("You insert your power cable into the data port on the console and begin the transfer...")) active_download_effect = new /obj/effect/temp_visual/computer_download(get_turf(src), src) if(do_after(user, 18 SECONDS, target = src)) download_obj.complete_objective() @@ -213,7 +213,7 @@ icon_screen = old_icon_screen return TRUE else - to_chat(user, "Your power cable is ejected, interrupting the transfer.") + to_chat(user, SPAN_WARNING("Your power cable is ejected, interrupting the transfer.")) if(active_download_effect) qdel(active_download_effect) active_download_effect = null @@ -221,17 +221,17 @@ return TRUE // Not a flayer, or wrong download console. - to_chat(user, "You insert your power cable into the data port on the console, hoping to find something interesting.") + to_chat(user, SPAN_BOLDNOTICE("You insert your power cable into the data port on the console, hoping to find something interesting.")) if(do_after(user, 18 SECONDS, target = src)) show_random_download_message(user) return TRUE else - to_chat(user, "Your power cable is ejected, interrupting the transfer.") + to_chat(user, SPAN_WARNING("Your power cable is ejected, interrupting the transfer.")) return TRUE /obj/machinery/computer/proc/show_random_download_message(mob/user) var/list/download_messages = list( - "A message flashes on the screen: \"[user.name] is not in the sudoers file. This incident will be reported.\"" + SPAN_NOTICE("A message flashes on the screen: \"[user.name] is not in the sudoers file. This incident will be reported.\"") ) var/message = pick(download_messages) to_chat(user, message) diff --git a/code/game/machinery/computer/depot_consoles.dm b/code/game/machinery/computer/depot_consoles.dm index 444b53d87ae..8581bce8b08 100644 --- a/code/game/machinery/computer/depot_consoles.dm +++ b/code/game/machinery/computer/depot_consoles.dm @@ -28,7 +28,7 @@ /obj/machinery/computer/syndicate_depot/attack_ai(mob/user) if(length(req_access) && !("syndicate" in user.faction)) - to_chat(user, "A firewall blocks your access.") + to_chat(user, SPAN_WARNING("A firewall blocks your access.")) return TRUE return ..() @@ -36,7 +36,7 @@ return /obj/machinery/computer/syndicate_depot/emag_act(mob/user) - to_chat(user, "The electronic systems in this console are far too advanced for your primitive hacking peripherals.") + to_chat(user, SPAN_NOTICE("The electronic systems in this console are far too advanced for your primitive hacking peripherals.")) return /obj/machinery/computer/syndicate_depot/allowed(mob/user) @@ -110,7 +110,7 @@ return . = FALSE if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_WARNING("Access denied.")) return switch(action) if("primary") @@ -173,16 +173,16 @@ pub_access = !pub_access if(pub_access) depotarea.set_emergency_access(TRUE) - to_chat(user, "Emergency Access enabled.") + to_chat(user, SPAN_NOTICE("Emergency Access enabled.")) else depotarea.set_emergency_access(FALSE) - to_chat(user, "Emergency Access disabled.") + to_chat(user, SPAN_NOTICE("Emergency Access disabled.")) playsound(user, sound_yes, 50, 0) /obj/machinery/computer/syndicate_depot/doors/secondary(mob/user, subcommand) if(depotarea) depotarea.toggle_falsewalls(src) - to_chat(user, "False walls toggled.") + to_chat(user, SPAN_NOTICE("False walls toggled.")) playsound(user, sound_yes, 50, 0) @@ -323,7 +323,7 @@ return if(message_sent) playsound(user, 'sound/machines/buzz-sigh.ogg', 50, 0) - to_chat(user, "[src] has already been used to transmit a message to the Syndicate.") + to_chat(user, SPAN_WARNING("[src] has already been used to transmit a message to the Syndicate.")) return message_sent = TRUE var/input = tgui_input_text(user, "Please choose a message to transmit to Syndicate HQ via quantum entanglement. Transmission does not guarantee a response. This function may only be used ONCE.", "Send Message") @@ -337,22 +337,22 @@ /obj/machinery/computer/syndicate_depot/syndiecomms/secondary(mob/user) if(!istype(depotarea)) - to_chat(user, "ERROR: [src] is unable to uplink to depot network.") + to_chat(user, SPAN_WARNING("ERROR: [src] is unable to uplink to depot network.")) return if(depotarea.local_alarm || depotarea.called_backup || depotarea.used_self_destruct) - to_chat(user, "Visitor sign-in is not possible while the depot is on security alert.") + to_chat(user, SPAN_WARNING("Visitor sign-in is not possible while the depot is on security alert.")) return if(depotarea.something_looted) - to_chat(user, "Visitor sign-in is not possible after supplies have been taken from a locker in the depot.") + to_chat(user, SPAN_WARNING("Visitor sign-in is not possible after supplies have been taken from a locker in the depot.")) return if("syndicate" in user.faction) - to_chat(user, "You are already recognized as a member of the Syndicate, and do not need to sign in.") + to_chat(user, SPAN_WARNING("You are already recognized as a member of the Syndicate, and do not need to sign in.")) return if(!user.mind || user.mind.special_role != SPECIAL_ROLE_TRAITOR) - to_chat(user, "Only verified agents of the Syndicate may sign in as visitors. Everyone else will be shot on sight.") + to_chat(user, SPAN_WARNING("Only verified agents of the Syndicate may sign in as visitors. Everyone else will be shot on sight.")) return if(depotarea.list_includes(user, depotarea.peaceful_list)) - to_chat(user, "[user] is already signed in as a visiting agent.") + to_chat(user, SPAN_WARNING("[user] is already signed in as a visiting agent.")) return if(!depotarea.on_peaceful) depotarea.peaceful_mode(TRUE, TRUE) @@ -363,7 +363,7 @@ user.faction += "syndicate" depotarea.alert_log += "[user.name] signed in as a visitor." depotarea.list_add(user, depotarea.peaceful_list) - to_chat(user, {"
Welcome, Agent. + to_chat(user, {"
[SPAN_USERDANGER("Welcome, Agent.")] You are now signed-in as a depot visitor. Any other agents with you MUST sign in themselves. You may explore all rooms here, except for bolted ones. @@ -489,15 +489,15 @@ /obj/machinery/computer/syndicate_depot/teleporter/primary(mob/user) if(!mybeacon && user) - to_chat(user, "Unable to connect to teleport beacon.") + to_chat(user, SPAN_NOTICE("Unable to connect to teleport beacon.")) return var/bresult = mybeacon.toggle() - to_chat(user, "Syndicate Teleporter Beacon: [bresult ? "ON" : "OFF"]") + to_chat(user, SPAN_NOTICE("Syndicate Teleporter Beacon: [bresult ? SPAN_GREEN("ON") : SPAN_RED("OFF")]")) playsound(user, sound_yes, 50, 0) /obj/machinery/computer/syndicate_depot/teleporter/secondary(mob/user) if(!portal_enabled && myportal) - to_chat(user, "Outgoing Teleport Portal: deactivating... please wait...") + to_chat(user, SPAN_NOTICE("Outgoing Teleport Portal: deactivating... please wait...")) return var/turf/tele_target = null @@ -509,7 +509,7 @@ portal_enabled = !portal_enabled update_portal(tele_target) - to_chat(user, "Outgoing Teleport Portal: [portal_enabled ? "ON" : "OFF"]") + to_chat(user, SPAN_NOTICE("Outgoing Teleport Portal: [portal_enabled ? SPAN_GREEN("ON") : SPAN_RED("OFF")]")) playsound(user, sound_yes, 50, 0) diff --git a/code/game/machinery/computer/id_card_console.dm b/code/game/machinery/computer/id_card_console.dm index 6f324e23eec..8efabc008e1 100644 --- a/code/game/machinery/computer/id_card_console.dm +++ b/code/game/machinery/computer/id_card_console.dm @@ -75,7 +75,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) /obj/machinery/computer/card/examine(mob/user) . = ..() - . += "You can Alt-Click [src] to remove the ID cards in it." + . += SPAN_NOTICE("You can Alt-Click [src] to remove the ID cards in it.") /obj/machinery/computer/card/proc/is_centcom() return FALSE @@ -131,7 +131,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) return if(scan) - to_chat(user, "You remove \the [scan] from \the [src].") + to_chat(user, SPAN_NOTICE("You remove \the [scan] from \the [src].")) if(!user.get_active_hand()) user.put_in_hands(scan) else if(!user.put_in_inactive_hand(scan)) @@ -141,7 +141,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) SStgui.update_uis(src) return else if(modify) - to_chat(user, "You remove \the [modify] from \the [src].") + to_chat(user, SPAN_NOTICE("You remove \the [modify] from \the [src].")) if(!user.get_active_hand()) user.put_in_hands(modify) else if(!user.put_in_inactive_hand(modify)) @@ -417,7 +417,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) if(istype(I, /obj/item/card/id)) if(istype(I, /obj/item/card/id/nct_data_chip)) playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, FALSE) - to_chat(usr, "The data chip doesn't fit!") + to_chat(usr, SPAN_WARNING("The data chip doesn't fit!")) return FALSE usr.drop_item() I.forceMove(src) @@ -433,11 +433,11 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) if(istype(I, /obj/item/card/id)) if(istype(I, /obj/item/card/id/nct_data_chip)) playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, FALSE) - to_chat(usr, "The data chip doesn't fit!") + to_chat(usr, SPAN_WARNING("The data chip doesn't fit!")) return FALSE if(!check_access(I)) playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, FALSE) - to_chat(usr, "This card does not have access.") + to_chat(usr, SPAN_WARNING("This card does not have access.")) return FALSE usr.drop_item() I.forceMove(src) @@ -464,7 +464,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) // Everything below HERE requires auth if(!is_authenticated(usr)) playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) - to_chat(usr, "This function is not available unless you are logged in.") + to_chat(usr, SPAN_WARNING("This function is not available unless you are logged in.")) return FALSE // 2nd, handle the functions that are available to head-level consoles (department consoles) @@ -476,11 +476,11 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) if(target_dept) if(modify.assignment == "Demoted" || modify.assignment == "Terminated") playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) - visible_message("[src]: Reassigning a demoted or terminated individual requires a full ID computer.") + visible_message(SPAN_WARNING("[src]: Reassigning a demoted or terminated individual requires a full ID computer.")) return FALSE if(!job_in_department(SSjobs.GetJob(modify.rank), FALSE)) playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) - visible_message("[src]: Reassigning someone outside your department requires a full ID computer.") + visible_message(SPAN_WARNING("[src]: Reassigning someone outside your department requires a full ID computer.")) return FALSE if(!job_in_department(SSjobs.GetJob(t1))) return FALSE @@ -506,7 +506,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) jobdatum = J break if(!jobdatum) - to_chat(usr, "No log exists for this job: [t1]") + to_chat(usr, SPAN_WARNING("No log exists for this job: [t1]")) return access = jobdatum.get_access() @@ -541,11 +541,11 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) if("demote") if(modify.assignment == "Demoted") playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) - visible_message("[src]: Demoted crew cannot be demoted any further. If further action is warranted, ask the Captain about Termination.") + visible_message(SPAN_WARNING("[src]: Demoted crew cannot be demoted any further. If further action is warranted, ask the Captain about Termination.")) return FALSE if(!job_in_department(SSjobs.GetJob(modify.rank), FALSE)) playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) - visible_message("[src]: Heads may only demote members of their own department.") + visible_message(SPAN_WARNING("[src]: Heads may only demote members of their own department.")) return FALSE var/reason = sanitize(copytext_char(input("Enter legal reason for demotion. Enter nothing to cancel.","Legal Demotion"), 1, MAX_MESSAGE_LEN)) if(!reason || !is_authenticated(usr) || !modify) @@ -576,7 +576,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) if("terminate") if(!has_idchange_access()) // because captain/HOP can use this even on dept consoles playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) - visible_message("[src]: Only the Captain or HOP may completely terminate the employment of a crew member.") + visible_message(SPAN_WARNING("[src]: Only the Captain or HOP may completely terminate the employment of a crew member.")) return FALSE var/jobnamedata = modify.getRankAndAssignment() var/reason = sanitize(copytext_char(input("Enter legal reason for termination. Enter nothing to cancel.", "Employment Termination"), 1, MAX_MESSAGE_LEN)) @@ -650,10 +650,10 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) var/tempname = params["remote_demote"] var/temprank = E.fields["real_rank"] if(!j) - visible_message("[src]: This employee has either no job, or a customized job ([temprank]).") + visible_message(SPAN_WARNING("[src]: This employee has either no job, or a customized job ([temprank]).")) return FALSE if(!job_in_department(j, FALSE)) - visible_message("[src]: Only the head of this employee may demote them.") + visible_message(SPAN_WARNING("[src]: Only the head of this employee may demote them.")) return FALSE for(var/datum/data/record/R in GLOB.data_core.security) if(R.fields["id"] == E.fields["id"]) @@ -665,7 +665,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) SSjobs.notify_by_name(tempname, "[scan.registered_name] ([scan.assignment]) has ordered your demotion. Report to their office, or the HOP. Reason given: \"[reason]\"") else playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) - to_chat(usr, "[src]: Cannot demote, due to their current security status.") + to_chat(usr, SPAN_WARNING("[src]: Cannot demote, due to their current security status.")) return FALSE return return @@ -673,7 +673,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) // Everything below here requires a full ID computer (dept consoles do not qualify) if(target_dept) playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) - to_chat(usr, "This function is not available on department-level consoles.") + to_chat(usr, SPAN_WARNING("This function is not available on department-level consoles.")) return // 3rd, handle the functions that require a full ID computer @@ -683,7 +683,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) var/temp_name = reject_bad_name(input(usr, "Who is this ID for?", "ID Card Renaming", modify.registered_name), TRUE) if(!modify || !temp_name) playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) - visible_message("[src] buzzes rudely.") + visible_message(SPAN_WARNING("[src] buzzes rudely.")) return FALSE modify.registered_name = temp_name regenerate_id_name() diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index 7a053ba1936..35079312630 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -20,8 +20,8 @@ return emagged = TRUE if(user) - user.visible_message("Sparks fly out of [src]!", - "You emag [src], scrambling the computer's law encoding system.") + user.visible_message(SPAN_WARNING("Sparks fly out of [src]!"), + SPAN_NOTICE("You emag [src], scrambling the computer's law encoding system.")) playsound(loc, 'sound/effects/sparks4.ogg', 50, TRUE) do_sparks(5, TRUE, src) circuit = /obj/item/circuitboard/aiupload_broken @@ -44,18 +44,18 @@ /// checks to ensure there is a selected AI, and that it is on the same Z level /obj/machinery/computer/aiupload/proc/check_valid_selection(mob/user) if(!current)//no AI selected - to_chat(user, "No AI selected. Please choose a target before proceeding with upload.") + to_chat(user, SPAN_DANGER("No AI selected. Please choose a target before proceeding with upload.")) return FALSE var/turf/T = get_turf(current) if(!atoms_share_level(T, get_turf(src))) // off Z level - to_chat(user, "Unable to establish a connection: You're too far away from the target silicon!") + to_chat(user, SPAN_DANGER("Unable to establish a connection: You're too far away from the target silicon!")) return FALSE return TRUE /// applies ion-like laws into either the inherent law or true ion law positions due to an emag'd AI upload being used /obj/machinery/computer/aiupload/proc/apply_emag_laws(mob/user) if(world.time < cooldown) //if the cooldown isnt over - to_chat(user, "The program seems to have frozen. It will need some time to process.") + to_chat(user, SPAN_DANGER("The program seems to have frozen. It will need some time to process.")) return do_sparks(5, TRUE, src) found_laws = length(current.laws.inherent_laws) @@ -102,18 +102,18 @@ /obj/machinery/computer/aiupload/attack_hand(mob/user) if(stat & NOPOWER) - to_chat(user, "The upload computer has no power!") + to_chat(user, SPAN_WARNING("The upload computer has no power!")) return if(stat & BROKEN) - to_chat(user, "The upload computer is broken!") + to_chat(user, SPAN_WARNING("The upload computer is broken!")) return current = select_active_ai(user) if(!current) - to_chat(user, "No active AIs detected.") + to_chat(user, SPAN_WARNING("No active AIs detected.")) return - to_chat(user, "[current.name] selected for law changes.") + to_chat(user, SPAN_NOTICE("[current.name] selected for law changes.")) /obj/machinery/computer/aiupload/attack_ghost(user) return TRUE @@ -133,11 +133,11 @@ var/obj/item/ai_module/module = used if(istype(module)) if(!current)//no borg selected - to_chat(user, "No borg selected. Please chose a target before proceeding with upload.") + to_chat(user, SPAN_DANGER("No borg selected. Please chose a target before proceeding with upload.")) return ITEM_INTERACT_COMPLETE var/turf/T = get_turf(current) if(!atoms_share_level(T, src)) - to_chat(user, "Unable to establish a connection: You're too far away from the target silicon!") + to_chat(user, "[SPAN_DANGER("Unable to establish a connection")]: You're too far away from the target silicon!") return ITEM_INTERACT_COMPLETE module.install(src) return ITEM_INTERACT_COMPLETE @@ -146,18 +146,18 @@ /obj/machinery/computer/borgupload/attack_hand(mob/user) if(stat & NOPOWER) - to_chat(user, "The upload computer has no power!") + to_chat(user, SPAN_WARNING("The upload computer has no power!")) return if(stat & BROKEN) - to_chat(user, "The upload computer is broken!") + to_chat(user, SPAN_WARNING("The upload computer is broken!")) return current = freeborg(user) if(!current) - to_chat(user, "No free cyborgs detected.") + to_chat(user, SPAN_WARNING("No free cyborgs detected.")) return - to_chat(user, "[current.name] selected for law changes.") + to_chat(user, SPAN_NOTICE("[current.name] selected for law changes.")) /obj/machinery/computer/borgupload/attack_ghost(user) return TRUE diff --git a/code/game/machinery/computer/medical_records.dm b/code/game/machinery/computer/medical_records.dm index b9361cc63c5..ff0f67b6f97 100644 --- a/code/game/machinery/computer/medical_records.dm +++ b/code/game/machinery/computer/medical_records.dm @@ -73,7 +73,7 @@ if(..()) return if(is_away_level(z)) - to_chat(user, "Unable to establish a connection: You're too far away from the station!") + to_chat(user, "[SPAN_DANGER("Unable to establish a connection")]: You're too far away from the station!") return add_fingerprint(user) ui_interact(user) diff --git a/code/game/machinery/computer/message_monitor.dm b/code/game/machinery/computer/message_monitor.dm index d89bd4eba62..d00af3e923d 100644 --- a/code/game/machinery/computer/message_monitor.dm +++ b/code/game/machinery/computer/message_monitor.dm @@ -10,15 +10,15 @@ //Server linked to. var/obj/machinery/message_server/linkedServer = null //Messages - Saves me time if I want to change something. - var/noserver = "ALERT: No server detected." - var/incorrectkey = "ALERT: Incorrect decryption key!" - var/defaultmsg = "Welcome. Please select an option." - var/rebootmsg = "%$&(�: Critical %$$@ Error // !RestArting! - ?pLeaSe wAit!" + var/noserver = SPAN_ALERT("ALERT: No server detected.") + var/incorrectkey = SPAN_WARNING("ALERT: Incorrect decryption key!") + var/defaultmsg = SPAN_NOTICE("Welcome. Please select an option.") + var/rebootmsg = SPAN_WARNING("%$&(�: Critical %$$@ Error // !RestArting! - ?pLeaSe wAit!") //Computer properties var/screen = 0 // 0 = Main menu, 1 = Message Logs, 2 = Hacked screen, 3 = Custom Message var/hacking = 0 // Is it being hacked into by the AI/Cyborg var/emag = 0 // When it is emagged. - var/message = "System bootup complete. Please select an option." // The message that shows on the main menu. + var/message = SPAN_NOTICE("System bootup complete. Please select an option.") // The message that shows on the main menu. var/auth = 0 // Are they authenticated? var/optioncount = 8 // Custom Message Properties @@ -50,7 +50,7 @@ /obj/machinery/computer/message_monitor/screwdriver_act(mob/user, obj/item/I) if(emag) //Stops people from just unscrewing the monitor and putting it back to get the console working again. - to_chat(user, "It is too hot to mess with!") + to_chat(user, SPAN_WARNING("It is too hot to mess with!")) return return ..() @@ -75,7 +75,7 @@ message = rebootmsg return TRUE else - to_chat(user, "A no server error appears on the screen.") + to_chat(user, SPAN_NOTICE("A no server error appears on the screen.")) /obj/machinery/computer/message_monitor/update_icon_state() if(emag || hacking) @@ -137,9 +137,9 @@ //Bottom message if(!auth) - dat += "

Please authenticate with the server in order to show additional options." + dat += "

[SPAN_NOTICE("Please authenticate with the server in order to show additional options.")]" else - dat += "

Reg, #514 forbids sending messages containing Erotic Rendering Properties." + dat += "

[SPAN_WARNING("Reg, #514 forbids sending messages containing Erotic Rendering Properties.")]" //Message Logs if(1) @@ -254,10 +254,10 @@ /obj/machinery/computer/message_monitor/proc/BruteForce(mob/user as mob) if(isnull(linkedServer)) - to_chat(user, "Could not complete brute-force: Linked Server Disconnected!") + to_chat(user, SPAN_WARNING("Could not complete brute-force: Linked Server Disconnected!")) else var/currentKey = src.linkedServer.decryptkey - to_chat(user, "Brute-force completed! The key is '[currentKey]'.") + to_chat(user, SPAN_WARNING("Brute-force completed! The key is '[currentKey]'.")) src.hacking = 0 src.icon_screen = normal_icon src.screen = 0 // Return the screen back to normal @@ -296,10 +296,10 @@ if(href_list["find"]) if(GLOB.message_servers && length(GLOB.message_servers) > 1) linkedServer = input(usr, "Please select a server.", "Select a server.", GLOB.message_servers) - message = "NOTICE: Server selected." + message = SPAN_ALERT("NOTICE: Server selected.") else if(GLOB.message_servers && length(GLOB.message_servers) > 0) linkedServer = GLOB.message_servers[1] - message = "NOTICE: Only Single Server Detected - Server selected." + message = SPAN_NOTICE("NOTICE: Only Single Server Detected - Server selected.") else message = noserver @@ -318,7 +318,7 @@ else if(auth) src.linkedServer.pda_msgs = list() - message = "NOTICE: Logs cleared." + message = SPAN_NOTICE("NOTICE: Logs cleared.") //Clears the request console logs - KEY REQUIRED if(href_list["clearr"]) if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) @@ -326,7 +326,7 @@ else if(auth) src.linkedServer.rc_msgs = list() - message = "NOTICE: Logs cleared." + message = SPAN_NOTICE("NOTICE: Logs cleared.") //Change the password - KEY REQUIRED if(href_list["pass"]) if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN))) @@ -338,12 +338,12 @@ if(src.linkedServer.decryptkey == dkey) var/newkey = trim(input(usr,"Please enter the new key (3 - 16 characters max):")) if(length(newkey) <= 3) - message = "NOTICE: Decryption key too short!" + message = SPAN_NOTICE("NOTICE: Decryption key too short!") else if(length(newkey) > 16) - message = "NOTICE: Decryption key too long!" + message = SPAN_NOTICE("NOTICE: Decryption key too long!") else if(newkey && newkey != "") src.linkedServer.decryptkey = newkey - message = "NOTICE: Decryption key set." + message = SPAN_NOTICE("NOTICE: Decryption key set.") else message = incorrectkey @@ -365,7 +365,7 @@ message = noserver else //if(istype(href_list["delete"], /datum/data_pda_msg)) src.linkedServer.pda_msgs -= locate(href_list["delete"]) - message = "NOTICE: Log Deleted!" + message = SPAN_NOTICE("NOTICE: Log Deleted!") //Delete the request console log. if(href_list["deleter"]) //Are they on the view logs screen? @@ -374,7 +374,7 @@ message = noserver else //if(istype(href_list["delete"], /datum/data_pda_msg)) src.linkedServer.rc_msgs -= locate(href_list["deleter"]) - message = "NOTICE: Log Deleted!" + message = SPAN_NOTICE("NOTICE: Log Deleted!") //Create a custom message if(href_list["msg"]) if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN))) @@ -427,17 +427,17 @@ customsender = "UNKNOWN" if(isnull(customrecepient)) - message = "NOTICE: No recepient selected!" + message = SPAN_NOTICE("NOTICE: No recepient selected!") return src.attack_hand(usr) if(isnull(custommessage) || custommessage == "") - message = "NOTICE: No message entered!" + message = SPAN_NOTICE("NOTICE: No message entered!") return src.attack_hand(usr) var/datum/data/pda/app/messenger/recipient_messenger = customrecepient.find_program(/datum/data/pda/app/messenger) if(!recipient_messenger) - message = "ERROR: Message could not be transmitted!" + message = SPAN_WARNING("ERROR: Message could not be transmitted!") return src.attack_hand(usr) var/obj/item/pda/PDARec = null diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index a4fc2777935..27cfe3db2b8 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -133,7 +133,7 @@ I.forceMove(src) inserted_id_uid = I.UID() else - to_chat(user, "No valid ID.") + to_chat(user, SPAN_WARNING("No valid ID.")) if("inject") var/obj/item/bio_chip/chem/implant = locateUID(params["uid"]) if(!implant) @@ -169,13 +169,13 @@ if(!implant) return if(implant.warn_cooldown >= world.time) - to_chat(user, "The warning system for that bio-chip is still cooling down.") + to_chat(user, SPAN_WARNING("The warning system for that bio-chip is still cooling down.")) return implant.warn_cooldown = world.time + IMPLANT_WARN_COOLDOWN if(implant.imp_in) var/mob/living/carbon/implantee = implant.imp_in var/warning = copytext(sanitize(answer), 1, MAX_MESSAGE_LEN) - to_chat(implantee, "Your skull vibrates violently as a loud announcement is broadcasted to you: '[warning]'") + to_chat(implantee, SPAN_BOLDNOTICE("Your skull vibrates violently as a loud announcement is broadcasted to you: '[warning]'")) if("set_points") if(isnull(text2num(answer))) diff --git a/code/game/machinery/computer/robot_control.dm b/code/game/machinery/computer/robot_control.dm index 23403c0b86b..26b18d089fd 100644 --- a/code/game/machinery/computer/robot_control.dm +++ b/code/game/machinery/computer/robot_control.dm @@ -68,12 +68,12 @@ if(is_ai(user)) if(R.connected_ai != user) if(telluserwhy) - to_chat(user, "AIs can only control cyborgs which are linked to them.") + to_chat(user, SPAN_WARNING("AIs can only control cyborgs which are linked to them.")) return FALSE if(isrobot(user)) if(R != user) if(telluserwhy) - to_chat(user, "Cyborgs cannot control other cyborgs.") + to_chat(user, SPAN_WARNING("Cyborgs cannot control other cyborgs.")) return FALSE return TRUE @@ -81,7 +81,7 @@ /obj/machinery/computer/robotics/proc/can_detonate_any(mob/user, telluserwhy = FALSE) if(ispulsedemon(user)) if(telluserwhy) - to_chat(user, "The console's authentication circuits reject your control!") + to_chat(user, SPAN_WARNING("The console's authentication circuits reject your control!")) return FALSE return TRUE @@ -174,75 +174,75 @@ return . = FALSE if(!is_authenticated(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_WARNING("Access denied.")) return if(SSticker.current_state == GAME_STATE_FINISHED) - to_chat(usr, "Access denied, borgs are no longer your station's property.") + to_chat(usr, SPAN_WARNING("Access denied, borgs are no longer your station's property.")) return switch(action) if("arm") // Arms the muli-lock system if(issilicon(usr)) - to_chat(usr, "Access Denied (silicon detected)") + to_chat(usr, SPAN_DANGER("Access Denied (silicon detected)")) return safety = !safety - to_chat(usr, "You [safety ? "disarm" : "arm"] the emergency lockdown system.") + to_chat(usr, SPAN_NOTICE("You [safety ? "disarm" : "arm"] the emergency lockdown system.")) . = TRUE if("masslock") // Locks down all accessible cyborgs if safety is disabled if(issilicon(usr)) - to_chat(usr, "Access Denied (silicon detected)") + to_chat(usr, SPAN_DANGER("Access Denied (silicon detected)")) return if(!can_detonate_any(usr, TRUE)) // Uses the same permissions as detonate. return if(safety) - to_chat(usr, "Emergency lockdown aborted - safety active") + to_chat(usr, SPAN_DANGER("Emergency lockdown aborted - safety active")) return - message_admins("[key_name_admin(usr)] locked all cyborgs!") - log_game("\[key_name(usr)] locked all cyborgs!") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] locked all cyborgs!")) + log_game(SPAN_NOTICE("[key_name(usr)] locked all cyborgs!")) for(var/mob/living/silicon/robot/R in GLOB.mob_list) if(isdrone(R)) continue // Ignore antagonistic cyborgs if(R.scrambledcodes) continue - to_chat(R, "Emergency lockdown received.") + to_chat(R, SPAN_DANGER("Emergency lockdown received.")) if(R.connected_ai) - to_chat(R.connected_ai, "

ALERT - Cyborg lockdown detected: [R.name]
") + to_chat(R.connected_ai, "

[SPAN_ALERT("ALERT - Cyborg lockdown detected: [R.name]")]
") R.SetLockdown(!R.lockcharge) . = TRUE if("killbot") // destroys one specific cyborg if(!COOLDOWN_FINISHED(src, detonate_cooldown)) - to_chat(usr, "Detonation Safety Cooldown Active. Please Stand By!") + to_chat(usr, SPAN_DANGER("Detonation Safety Cooldown Active. Please Stand By!")) return var/mob/living/silicon/robot/R = locateUID(params["uid"]) if(!can_detonate(usr, R, TRUE)) return if(R.mind && R.mmi.syndiemmi && !R.emagged) // Emagging removes your syndie MMI protections. - to_chat(R, "Detonation code received. Self destructing... HARDWARE_OVERRIDE_SYNDICATE: Detonation aborted. Connection to NT systems severed.") + to_chat(R, SPAN_DANGER("Detonation code received. Self destructing... HARDWARE_OVERRIDE_SYNDICATE: Detonation aborted. Connection to NT systems severed.")) R.UnlinkSelf() . = TRUE return var/turf/T = get_turf(R) - message_admins("[key_name_admin(usr)] detonated [key_name_admin(R)] ([ADMIN_COORDJMP(T)])!") - log_game("\[key_name(usr)] detonated [key_name(R)]!") - to_chat(R, "Self-destruct command received.") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] detonated [key_name_admin(R)] ([ADMIN_COORDJMP(T)])!")) + log_game(SPAN_NOTICE("[key_name(usr)] detonated [key_name(R)]!")) + to_chat(R, SPAN_DANGER("Self-destruct command received.")) if(R.connected_ai) - to_chat(R.connected_ai, "

ALERT - Cyborg detonation detected: [R.name]
") + to_chat(R.connected_ai, "

[SPAN_ALERT("ALERT - Cyborg detonation detected: [R.name]")]
") R.self_destruct() COOLDOWN_START(src, detonate_cooldown, 60 SECONDS) . = TRUE if("stopbot") // lock or unlock the borg if(isrobot(usr)) - to_chat(usr, "Access Denied.") + to_chat(usr, SPAN_DANGER("Access Denied.")) return var/mob/living/silicon/robot/R = locateUID(params["uid"]) if(!can_control(usr, R, TRUE)) return - message_admins("[ADMIN_LOOKUPFLW(usr)] [!R.lockcharge ? "locked down" : "released"] [ADMIN_LOOKUPFLW(R)]!") + message_admins(SPAN_NOTICE("[ADMIN_LOOKUPFLW(usr)] [!R.lockcharge ? "locked down" : "released"] [ADMIN_LOOKUPFLW(R)]!")) log_game("[key_name(usr)] [!R.lockcharge ? "locked down" : "released"] [key_name(R)]!") R.SetLockdown(!R.lockcharge) - to_chat(R, "[!R.lockcharge ? "Your lockdown has been lifted!" : "You have been locked down!"]") + to_chat(R, "[!R.lockcharge ? SPAN_NOTICE("Your lockdown has been lifted!") : SPAN_ALERT("You have been locked down!")]") if(R.connected_ai) - to_chat(R.connected_ai, "[!R.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [R.name]
") + to_chat(R.connected_ai, "[!R.lockcharge ? SPAN_NOTICE("NOTICE - Cyborg lockdown lifted") : SPAN_ALERT("ALERT - Cyborg lockdown detected")]: [R.name]
") . = TRUE if("hackbot") // AIs hacking/emagging a borg var/mob/living/silicon/robot/R = locateUID(params["uid"]) @@ -252,11 +252,11 @@ if(choice != "Yes") return log_game("[key_name(usr)] emagged [key_name(R)] using robotic console!") - message_admins("[key_name_admin(usr)] emagged [key_name_admin(R)] using robotic console!") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] emagged [key_name_admin(R)] using robotic console!")) R.emagged = TRUE R.module.emag_act(usr) R.module.module_type = "Malf" R.update_module_icon() R.module.rebuild_modules() - to_chat(R, "Failsafe protocols overridden. New tools available.") + to_chat(R, SPAN_NOTICE("Failsafe protocols overridden. New tools available.")) . = TRUE diff --git a/code/game/machinery/computer/security_records.dm b/code/game/machinery/computer/security_records.dm index e4248433196..8dfcab361de 100644 --- a/code/game/machinery/computer/security_records.dm +++ b/code/game/machinery/computer/security_records.dm @@ -67,7 +67,7 @@ if(..()) return if(is_away_level(z)) - to_chat(user, "Unable to establish a connection: You're too far away from the station!") + to_chat(user, "[SPAN_DANGER("Unable to establish a connection")]: You're too far away from the station!") return add_fingerprint(user) ui_interact(user) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index aa5e4f6253f..87afcbf2d09 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -102,7 +102,7 @@ add_fingerprint(user) if(!allowed(user)) - to_chat(user, "Access Denied.") + to_chat(user, SPAN_WARNING("Access Denied.")) return if(!allow_items) @@ -115,14 +115,14 @@ var/obj/item/item = locateUID(params["item"]) if(!item || item.loc != src) - to_chat(user, "[item] is no longer in storage.") + to_chat(user, SPAN_NOTICE("[item] is no longer in storage.")) return - visible_message("[src] beeps happily as it dispenses [item].") + visible_message(SPAN_NOTICE("[src] beeps happily as it dispenses [item].")) dispense_item(item) if("all_items") - visible_message("[src] beeps happily as it dispenses the desired objects.") + visible_message(SPAN_NOTICE("[src] beeps happily as it dispenses the desired objects.")) for(var/list/frozen_item in frozen_items) var/obj/item/item = locateUID(frozen_item["uid"]) @@ -155,10 +155,10 @@ /obj/machinery/computer/cryopod/emag_act(mob/user) user.changeNext_move(CLICK_CD_MELEE) if(!length(objective_items)) - visible_message("The console buzzes in an annoyed manner.") + visible_message(SPAN_WARNING("The console buzzes in an annoyed manner.")) playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1) return - visible_message("The console sparks, and some items fall out!") + visible_message(SPAN_WARNING("The console sparks, and some items fall out!")) do_sparks(5, TRUE, src) for(var/obj/item/I in objective_items) dispense_item(I) @@ -441,7 +441,7 @@ announce.autosay("[occupant.real_name] ([announce_rank]) [on_store_message]", "[on_store_name]") else announce.autosay("[occupant.real_name] [on_store_message]", "[on_store_name]") - visible_message("[src] hums and hisses as it moves [occupant.real_name] into storage.") + visible_message(SPAN_NOTICE("[src] hums and hisses as it moves [occupant.real_name] into storage.")) // Ghost and delete the mob. if(!occupant.get_ghost(TRUE)) @@ -461,7 +461,7 @@ return ..() if(occupant) - to_chat(user, "[src] is in use.") + to_chat(user, SPAN_NOTICE("[src] is in use.")) return ITEM_INTERACT_COMPLETE if(!ismob(G.affecting)) @@ -475,7 +475,7 @@ time_till_despawn = initial(time_till_despawn) if(!istype(M) || M.stat == DEAD) - to_chat(user, "Dead people can not be put into cryo.") + to_chat(user, SPAN_NOTICE("Dead people can not be put into cryo.")) return ITEM_INTERACT_COMPLETE if(M.client) @@ -495,20 +495,20 @@ return ITEM_INTERACT_COMPLETE if(occupant) - to_chat(user, "[src] is in use.") + to_chat(user, SPAN_BOLDNOTICE("[src] is in use.")) return ITEM_INTERACT_COMPLETE take_occupant(M, willing) else //because why the fuck would you keep going if the mob isn't in the pod - to_chat(user, "You stop putting [M] into the cryopod.") + to_chat(user, SPAN_NOTICE("You stop putting [M] into the cryopod.")) return ITEM_INTERACT_COMPLETE icon_state = occupied_icon_state M.throw_alert("cryopod", /atom/movable/screen/alert/ghost/cryo) - to_chat(M, "[on_enter_occupant_message]") - to_chat(M, "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.") + to_chat(M, SPAN_NOTICE("[on_enter_occupant_message]")) + to_chat(M, SPAN_BOLDNOTICE("If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.")) take_occupant(M, willing) @@ -533,7 +533,7 @@ if(!isturf(user.loc) || !isturf(O.loc)) // are you in a container/closet/pod/etc? return if(occupant) - to_chat(user, "The cryo pod is already occupied!") + to_chat(user, SPAN_BOLDNOTICE("The cryo pod is already occupied!")) return TRUE @@ -542,11 +542,11 @@ return if(L.stat == DEAD) - to_chat(user, "Dead people can not be put into cryo.") + to_chat(user, SPAN_NOTICE("Dead people can not be put into cryo.")) return TRUE if(L.has_buckled_mobs()) //mob attached to us - to_chat(user, "[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.") + to_chat(user, SPAN_WARNING("[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.")) INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/machinery/cryopod, put_in), user, L) return TRUE @@ -564,7 +564,7 @@ if(willing) if(!Adjacent(L) && !Adjacent(user)) - to_chat(user, "You're not close enough to [src].") + to_chat(user, SPAN_BOLDNOTICE("You're not close enough to [src].")) return TRUE if(L == user) visible_message("[user] starts climbing into the cryo pod.") @@ -573,11 +573,11 @@ if(do_after(user, 20, target = L)) if(!L) return TRUE if(occupant) - to_chat(user, "\The [src] is in use.") + to_chat(user, SPAN_BOLDNOTICE("\The [src] is in use.")) return TRUE take_occupant(L, willing) else - to_chat(user, "You stop [L == user ? "climbing into the cryo pod." : "putting [L] into the cryo pod."]") + to_chat(user, SPAN_NOTICE("You stop [L == user ? "climbing into the cryo pod." : "putting [L] into the cryo pod."]")) /obj/machinery/cryopod/proc/take_occupant(mob/living/carbon/E, willing_factor = 1) if(occupant) @@ -588,8 +588,8 @@ E.forceMove(src) time_till_despawn = initial(time_till_despawn) / willing_factor icon_state = occupied_icon_state - to_chat(E, "[on_enter_occupant_message]") - to_chat(E, "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.") + to_chat(E, SPAN_NOTICE("[on_enter_occupant_message]")) + to_chat(E, SPAN_BOLDNOTICE("If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.")) E.throw_alert("cryopod", /atom/movable/screen/alert/ghost/cryo) occupant = E name = "[name] ([occupant.name])" diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 5d7faf3c9c4..c1fe53860f3 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -92,7 +92,7 @@ /obj/machinery/disco/interact(mob/user) if(!anchored) - to_chat(user,"This device must be anchored by a wrench!") + to_chat(user,SPAN_WARNING("This device must be anchored by a wrench!")) return if(!Adjacent(user) && !is_ai(user)) return @@ -129,7 +129,7 @@ return if(!active) if(stop > world.time) - to_chat(usr, "Error: The device is still resetting from the last activation, it will be ready again in [DisplayTimeText(stop-world.time)].") + to_chat(usr, SPAN_WARNING("Error: The device is still resetting from the last activation, it will be ready again in [DisplayTimeText(stop-world.time)].")) playsound(src, 'sound/misc/compiler-failure.ogg', 50, 1) return breakitdown() @@ -139,7 +139,7 @@ updateUsrDialog() if("select") if(active) - to_chat(usr, "Error: You cannot change the song until the current one is over.") + to_chat(usr, SPAN_WARNING("Error: You cannot change the song until the current one is over.")) return var/list/available = list() @@ -180,7 +180,7 @@ /obj/machinery/disco/proc/deejay(S) if(QDELETED(src) || !active || charge < 5) - to_chat(usr, "The device is not able to play more DJ sounds at this time.") + to_chat(usr, SPAN_WARNING("The device is not able to play more DJ sounds at this time.")) return charge -= 5 playsound(src, S, 300, 1) diff --git a/code/game/machinery/defib_mount.dm b/code/game/machinery/defib_mount.dm index 8e4af54bc76..0c6e0d55d10 100644 --- a/code/game/machinery/defib_mount.dm +++ b/code/game/machinery/defib_mount.dm @@ -48,9 +48,9 @@ if(defib) . += "There is a defib unit hooked up. Alt-click to remove it." if(SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED) - . += "Due to a security situation, its locking clamps can be toggled by swiping any ID." + . += SPAN_NOTICE("Due to a security situation, its locking clamps can be toggled by swiping any ID.") else - . += "Its locking clamps can be [clamps_locked ? "dis" : ""]engaged by swiping an ID with access." + . += SPAN_NOTICE("Its locking clamps can be [clamps_locked ? "dis" : ""]engaged by swiping an ID with access.") else . += "There are a pair of bolts in the defibrillator unit housing, securing [src] to the wall." @@ -75,10 +75,10 @@ //defib interaction /obj/machinery/defibrillator_mount/attack_hand(mob/living/user) if(!defib) - to_chat(user, "There's no defibrillator unit loaded!") + to_chat(user, SPAN_WARNING("There's no defibrillator unit loaded!")) return if(defib.paddles.loc != defib) - to_chat(user, "[defib.paddles.loc == user ? "You are already" : "Someone else is"] holding [defib]'s paddles!") + to_chat(user, SPAN_WARNING("[defib.paddles.loc == user ? "You are already" : "Someone else is"] holding [defib]'s paddles!")) return defib.paddles_on_defib = FALSE user.put_in_hands(defib.paddles) @@ -86,13 +86,13 @@ /obj/machinery/defibrillator_mount/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/defibrillator)) if(defib) - to_chat(user, "There's already a defibrillator in [src]!") + to_chat(user, SPAN_WARNING("There's already a defibrillator in [src]!")) return ITEM_INTERACT_COMPLETE if(used.flags & NODROP || !user.drop_item() || !used.forceMove(src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] hooks up [used] to [src]!", \ - "You press [used] into the mount, and it clicks into place.") + user.visible_message(SPAN_NOTICE("[user] hooks up [used] to [src]!"), \ + SPAN_NOTICE("You press [used] into the mount, and it clicks into place.")) playsound(src, 'sound/machines/click.ogg', 50, TRUE) defib = used update_icon(UPDATE_OVERLAYS) @@ -104,13 +104,13 @@ if(id) if(check_access(id) || SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED) //anyone can toggle the clamps in red alert! if(!defib) - to_chat(user, "You can't engage the clamps on a defibrillator that isn't there.") + to_chat(user, SPAN_WARNING("You can't engage the clamps on a defibrillator that isn't there.")) return ITEM_INTERACT_COMPLETE clamps_locked = !clamps_locked - to_chat(user, "Clamps [clamps_locked ? "" : "dis"]engaged.") + to_chat(user, SPAN_NOTICE("Clamps [clamps_locked ? "" : "dis"]engaged.")) update_icon(UPDATE_OVERLAYS) else - to_chat(user, "Insufficient access.") + to_chat(user, SPAN_WARNING("Insufficient access.")) return ITEM_INTERACT_COMPLETE return ..() @@ -118,7 +118,7 @@ /obj/machinery/defibrillator_mount/wrench_act(mob/user, obj/item/I) . = TRUE if(defib) - to_chat(user, "[defib] is blocking access to the bolts!") + to_chat(user, SPAN_WARNING("[defib] is blocking access to the bolts!")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -134,14 +134,14 @@ if(!Adjacent(user)) return if(!defib) - to_chat(user, "It'd be hard to remove a defib unit from a mount that has none.") + to_chat(user, SPAN_WARNING("It'd be hard to remove a defib unit from a mount that has none.")) return if(clamps_locked) - to_chat(user, "You try to tug out [defib], but the mount's clamps are locked tight!") + to_chat(user, SPAN_WARNING("You try to tug out [defib], but the mount's clamps are locked tight!")) return user.put_in_hands(defib) - user.visible_message("[user] unhooks [defib] from [src].", \ - "You slide out [defib] from [src] and unhook the charging cables.") + user.visible_message(SPAN_NOTICE("[user] unhooks [defib] from [src]."), \ + SPAN_NOTICE("You slide out [defib] from [src] and unhook the charging cables.")) playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) defib = null update_icon(UPDATE_OVERLAYS) diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 01954660639..816ca918e21 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -44,7 +44,7 @@ if(bar_material != METAL) return if(obj_integrity >= max_integrity) - to_chat(user, "[src] does not need repairs.") + to_chat(user, SPAN_NOTICE("[src] does not need repairs.")) return if(user.a_intent == INTENT_HARM) return @@ -96,10 +96,10 @@ if(istype(I,/obj/item/stack/sheet/wood)) var/obj/item/stack/sheet/wood/W = I if(W.get_amount() < 5) - to_chat(user, "You need at least five wooden planks to make a wall!") + to_chat(user, SPAN_WARNING("You need at least five wooden planks to make a wall!")) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You start adding [I] to [src]...") + to_chat(user, SPAN_NOTICE("You start adding [I] to [src]...")) if(do_after(user, 50, target = src)) if(!W.use(5)) return ITEM_INTERACT_COMPLETE @@ -113,7 +113,7 @@ . = TRUE if(!I.tool_use_check(user, 0)) return - user.visible_message("[user] starts ripping [src] down!", "You struggle to pull [src] apart...", "You hear wood splintering...") + user.visible_message(SPAN_NOTICE("[user] starts ripping [src] down!"), SPAN_NOTICE("You struggle to pull [src] apart..."), SPAN_WARNING("You hear wood splintering...")) if(!I.use_tool(src, user, 6 SECONDS, volume = I.tool_volume)) return new /obj/item/stack/sheet/wood(get_turf(src), 5) @@ -171,7 +171,7 @@ density = TRUE anchored = TRUE if(deploy_message) - visible_message("[src] deploys!") + visible_message(SPAN_WARNING("[src] deploys!")) /obj/item/grenade/barrier @@ -185,7 +185,7 @@ /obj/item/grenade/barrier/examine(mob/user) . = ..() - . += "Alt-click to toggle modes." + . += SPAN_NOTICE("Alt-click to toggle modes.") /obj/item/grenade/barrier/AltClick(mob/living/carbon/user) if(!istype(user) || !user.Adjacent(src) || user.incapacitated()) @@ -376,7 +376,7 @@ /obj/structure/dropwall_generator/attacked_by(obj/item/I, mob/living/user) if(protected) - visible_message("[src]'s shield absorbs the blow!") + visible_message(SPAN_WARNING("[src]'s shield absorbs the blow!")) core_shield.take_damage(I.force, I.damtype, MELEE, TRUE) else return ..() @@ -385,7 +385,7 @@ if(!protected) return ..() else - visible_message("[src]'s shield absorbs the blow!") + visible_message(SPAN_WARNING("[src]'s shield absorbs the blow!")) core_shield.take_damage(P.damage, P.damage_type, P.flag) /obj/structure/dropwall_generator/emp_act(severity) @@ -402,7 +402,7 @@ qdel(src) /obj/structure/dropwall_generator/proc/power_out() - visible_message("[src] runs out of power, causing its shields to fail!") + visible_message(SPAN_WARNING("[src] runs out of power, causing its shields to fail!")) new /obj/item/used_dropwall(get_turf(src)) qdel(src) diff --git a/code/game/machinery/dish_drive.dm b/code/game/machinery/dish_drive.dm index 8585dd29496..97bbc1dd4b2 100644 --- a/code/game/machinery/dish_drive.dm +++ b/code/game/machinery/dish_drive.dm @@ -39,16 +39,16 @@ /obj/machinery/dish_drive/examine(mob/user) . = ..() if(user.Adjacent(src)) - . += "Alt-click it to beam its waste storage contents to any nearby disposal bins." + . += SPAN_NOTICE("Alt-click it to beam its waste storage contents to any nearby disposal bins.") /obj/machinery/dish_drive/attack_hand(mob/living/user) if(!LAZYLEN(dish_drive_contents)) - to_chat(user, "There's nothing in [src]!") + to_chat(user, SPAN_WARNING("There's nothing in [src]!")) return var/obj/item/I = LAZYACCESS(dish_drive_contents, LAZYLEN(dish_drive_contents)) //the most recently-added item LAZYREMOVE(dish_drive_contents, I) user.put_in_hands(I) - to_chat(user, "You take out [I] from [src].") + to_chat(user, SPAN_NOTICE("You take out [I] from [src].")) playsound(src, 'sound/items/pshoom.ogg', 15, TRUE) flick("synthesizer_beam", src) @@ -87,7 +87,7 @@ if(is_type_in_list(I, collectable_items) && I.loc != src && (!I.reagents || !I.reagents.total_volume)) if(I.Adjacent(src)) LAZYADD(dish_drive_contents, I) - visible_message("[src] beams up [I]!") + visible_message(SPAN_NOTICE("[src] beams up [I]!")) I.forceMove(src) SEND_SIGNAL(src, COMSIG_ATOM_DISINFECTED) playsound(src, 'sound/items/pshoom.ogg', 15, TRUE) @@ -98,7 +98,7 @@ /obj/machinery/dish_drive/attack_ai(mob/living/user) if(stat) return - to_chat(user, "You send a disposal transmission signal to [src].") + to_chat(user, SPAN_NOTICE("You send a disposal transmission signal to [src].")) do_the_dishes(TRUE) /obj/machinery/dish_drive/AltClick(mob/living/user) @@ -108,12 +108,12 @@ /obj/machinery/dish_drive/proc/do_the_dishes(manual) if(!LAZYLEN(dish_drive_contents)) if(manual) - visible_message("[src] is empty!") + visible_message(SPAN_NOTICE("[src] is empty!")) return var/obj/machinery/disposal/bin = locate() in view(7, src) if(!bin) if(manual) - visible_message("[src] buzzes. There are no disposal bins in range!") + visible_message(SPAN_WARNING("[src] buzzes. There are no disposal bins in range!")) playsound(src, 'sound/machines/buzz-sigh.ogg', 15, TRUE) return var/disposed = 0 @@ -124,12 +124,12 @@ use_power(active_power_consumption) disposed++ if(disposed) - visible_message("[src] [pick("whooshes", "bwooms", "fwooms", "pshooms")] and beams [disposed] stored item\s into the nearby [bin.name].") + visible_message(SPAN_NOTICE("[src] [pick("whooshes", "bwooms", "fwooms", "pshooms")] and beams [disposed] stored item\s into the nearby [bin.name].")) playsound(src, 'sound/items/pshoom.ogg', 15, TRUE) playsound(bin, 'sound/items/pshoom.ogg', 15, TRUE) Beam(bin, icon_state = "rped_upgrade", icon = 'icons/effects/effects.dmi', time = 5) bin.update_icon() flick("synthesizer_beam", src) else if(manual) - to_chat(usr, "There are no disposable items to be beamed.") + to_chat(usr, SPAN_NOTICE("There are no disposable items to be beamed.")) time_since_dishes = world.time + 60 SECONDS diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index 7e56826416c..625b12ca7e3 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -57,7 +57,7 @@ return if(!allowed(user) && (wires & 1) && !user.can_advanced_admin_interact()) - to_chat(user, "Access Denied.") + to_chat(user, SPAN_WARNING("Access Denied.")) flick("doorctrl-denied",src) return @@ -130,12 +130,12 @@ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF /obj/machinery/door_control/no_emag/emag_act(user as mob) - to_chat(user, "The electronic systems in this button are far too advanced for your primitive hacking peripherals.") + to_chat(user, SPAN_NOTICE("The electronic systems in this button are far too advanced for your primitive hacking peripherals.")) return /obj/machinery/door_control/no_emag/no_cyborg desc = "A remote control-switch for a door. Looks strangely analog in design." /obj/machinery/door_control/no_emag/no_cyborg/attack_ai(mob/user) - to_chat(user, "Error, no route to host.") + to_chat(user, SPAN_WARNING("Error, no route to host.")) return diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 195b1b761ff..1399013f6db 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -651,16 +651,16 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) /obj/machinery/door/airlock/examine(mob/user) . = ..() if(emagged) - . += "Its access panel is smoking slightly." + . += SPAN_WARNING("Its access panel is smoking slightly.") if(HAS_TRAIT(src, TRAIT_CMAGGED)) - . += "The access panel is coated in yellow ooze..." + . += SPAN_WARNING("The access panel is coated in yellow ooze...") if(note) if(!in_range(user, src)) . += "There's a [note.name] pinned to the front. You can't [note_type() == "note" ? "read" : "see"] it from here." else . += "There's a [note.name] pinned to the front..." note.examine(user) - . += "Use an empty hand on the airlock on grab mode to remove [note.name]." + . += SPAN_NOTICE("Use an empty hand on the airlock on grab mode to remove [note.name].") if(panel_open) switch(security_level) @@ -837,13 +837,13 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(H.getBrainLoss() >= 60 && Adjacent(user)) playsound(loc, 'sound/effects/bang.ogg', 25, 1) if(!istype(H.head, /obj/item/clothing/head/helmet)) - visible_message("[user] headbutts the airlock.") + visible_message(SPAN_WARNING("[user] headbutts the airlock.")) var/obj/item/organ/external/affecting = H.get_organ("head") H.Weaken(10 SECONDS) if(istype(affecting) && affecting.receive_damage(10, 0)) H.UpdateDamageIcon() else - visible_message("[user] headbutts the airlock. Good thing [user.p_theyre()] wearing a helmet.") + visible_message(SPAN_WARNING("[user] headbutts the airlock. Good thing [user.p_theyre()] wearing a helmet.")) return TRUE return FALSE @@ -856,7 +856,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(panel_open) if(security_level) - to_chat(user, "Wires are protected!") + to_chat(user, SPAN_WARNING("Wires are protected!")) return wires.Interact(user) else @@ -868,16 +868,16 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(ispulsedemon(user)) return TRUE if(emagged || HAS_TRAIT(src, TRAIT_CMAGGED)) - to_chat(user, "Unable to interface: Internal error.") + to_chat(user, SPAN_WARNING("Unable to interface: Internal error.")) return FALSE if(!canAIControl()) if(canAIHack(user)) hack(user) else if(isAllPowerLoss()) - to_chat(user, "Unable to interface: Connection timed out.") + to_chat(user, SPAN_WARNING("Unable to interface: Connection timed out.")) else - to_chat(user, "Unable to interface: Connection refused.") + to_chat(user, SPAN_WARNING("Unable to interface: Connection refused.")) return FALSE return TRUE @@ -885,7 +885,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(..()) return if(!issilicon(usr) && !usr.can_admin_interact() && !usr.has_unlimited_silicon_privilege) - to_chat(usr, "Access denied. Only silicons may use this interface.") + to_chat(usr, SPAN_WARNING("Access denied. Only silicons may use this interface.")) return if(!ai_control_check(usr)) return @@ -896,39 +896,39 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) loseMainPower() update_icon() else - to_chat(usr, "Main power is already offline.") + to_chat(usr, SPAN_WARNING("Main power is already offline.")) . = FALSE if("disrupt-backup") if(!backup_power_lost_until) loseBackupPower() update_icon() else - to_chat(usr, "Backup power is already offline.") + to_chat(usr, SPAN_WARNING("Backup power is already offline.")) if("shock-restore") electrify(0, usr, TRUE) if("shock-temp") if(wires.is_cut(WIRE_ELECTRIFY)) - to_chat(usr, "The electrification wire is cut - Door permanently electrified.") + to_chat(usr, SPAN_WARNING("The electrification wire is cut - Door permanently electrified.")) . = FALSE else //electrify door for 30 seconds electrify(30, usr, TRUE) if("shock-perm") if(wires.is_cut(WIRE_ELECTRIFY)) - to_chat(usr, "The electrification wire is cut - Cannot electrify the door.") + to_chat(usr, SPAN_WARNING("The electrification wire is cut - Cannot electrify the door.")) . = FALSE else electrify(-1, usr, TRUE) if("idscan-toggle") if(wires.is_cut(WIRE_IDSCAN)) - to_chat(usr, "The IdScan wire has been cut - IdScan feature permanently disabled.") + to_chat(usr, SPAN_WARNING("The IdScan wire has been cut - IdScan feature permanently disabled.")) . = FALSE else if(aiDisabledIdScanner) aiDisabledIdScanner = FALSE - to_chat(usr, "IdScan feature has been enabled.") + to_chat(usr, SPAN_NOTICE("IdScan feature has been enabled.")) else aiDisabledIdScanner = TRUE - to_chat(usr, "IdScan feature has been disabled.") + to_chat(usr, SPAN_NOTICE("IdScan feature has been disabled.")) if("emergency-toggle") toggle_emergency_status(usr) if("bolt-toggle") @@ -937,13 +937,13 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) toggle_light(usr) if("safe-toggle") if(wires.is_cut(WIRE_SAFETY)) - to_chat(usr, "The safety wire is cut - Cannot secure the door.") + to_chat(usr, SPAN_WARNING("The safety wire is cut - Cannot secure the door.")) else if(safe) safe = 0 - to_chat(usr, "The door safeties have been disabled.") + to_chat(usr, SPAN_NOTICE("The door safeties have been disabled.")) else safe = 1 - to_chat(usr, "The door safeties have been enabled.") + to_chat(usr, SPAN_NOTICE("The door safeties have been enabled.")) if("speed-toggle") toggle_speed(usr) if("open-close") @@ -953,10 +953,10 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) /obj/machinery/door/airlock/proc/open_close(mob/user) if(welded) - to_chat(user, "The airlock has been welded shut!") + to_chat(user, SPAN_WARNING("The airlock has been welded shut!")) return FALSE else if(locked) - to_chat(user, "The door bolts are down!") + to_chat(user, SPAN_WARNING("The door bolts are down!")) return FALSE else if(density) return open() @@ -965,47 +965,47 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) /obj/machinery/door/airlock/proc/toggle_light(mob/user) if(wires.is_cut(WIRE_BOLT_LIGHT)) - to_chat(user, "The bolt lights wire has been cut - The door bolt lights are permanently disabled.") + to_chat(user, SPAN_WARNING("The bolt lights wire has been cut - The door bolt lights are permanently disabled.")) else if(lights) lights = FALSE - to_chat(user, "The door bolt lights have been disabled.") + to_chat(user, SPAN_NOTICE("The door bolt lights have been disabled.")) else if(!lights) lights = TRUE - to_chat(user, "The door bolt lights have been enabled.") + to_chat(user, SPAN_NOTICE("The door bolt lights have been enabled.")) update_icon() /obj/machinery/door/airlock/proc/toggle_bolt(mob/user) if(wires.is_cut(WIRE_DOOR_BOLTS)) - to_chat(user, "The door bolt control wire has been cut - Door bolts permanently dropped.") + to_chat(user, SPAN_WARNING("The door bolt control wire has been cut - Door bolts permanently dropped.")) return if(unlock()) // Trying to unbolt - to_chat(user, "The door bolts have been raised.") + to_chat(user, SPAN_NOTICE("The door bolts have been raised.")) return if(lock()) // Trying to bolt - to_chat(user, "The door bolts have been dropped.") + to_chat(user, SPAN_NOTICE("The door bolts have been dropped.")) user.create_log(MISC_LOG, "Bolted", src) add_hiddenprint(user) /obj/machinery/door/airlock/proc/toggle_emergency_status(mob/user) emergency = !emergency if(emergency) - to_chat(user, "Emergency access has been enabled.") + to_chat(user, SPAN_NOTICE("Emergency access has been enabled.")) else - to_chat(user, "Emergency access has been disabled.") + to_chat(user, SPAN_NOTICE("Emergency access has been disabled.")) update_icon() /obj/machinery/door/airlock/proc/toggle_speed(mob/user) if(wires.is_cut(WIRE_SPEED)) - to_chat(user, "The timing wire has been cut - Cannot alter timing.") + to_chat(user, SPAN_WARNING("The timing wire has been cut - Cannot alter timing.")) return normalspeed = !normalspeed if(normalspeed) - to_chat(user, "The door is now in normal mode.") + to_chat(user, SPAN_NOTICE("The door is now in normal mode.")) else - to_chat(user, "The door is now in fast mode.") + to_chat(user, SPAN_NOTICE("The door is now in fast mode.")) /obj/machinery/door/airlock/item_interaction(mob/living/user, obj/item/used, list/modifiers) add_fingerprint(user) @@ -1017,28 +1017,28 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(istype(used, /obj/item/stack/sheet/metal)) var/obj/item/stack/sheet/metal/S = used if(S.get_amount() < 2) - to_chat(user, "You need at least 2 metal sheets to reinforce [src].") + to_chat(user, SPAN_WARNING("You need at least 2 metal sheets to reinforce [src].")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start reinforcing [src]...") + to_chat(user, SPAN_NOTICE("You start reinforcing [src]...")) if(do_after(user, 20, 1, target = src)) if(!panel_open || !S.use(2)) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] reinforces \the [src] with metal.", - "You reinforce \the [src] with metal.") + user.visible_message(SPAN_NOTICE("[user] reinforces \the [src] with metal."), + SPAN_NOTICE("You reinforce \the [src] with metal.")) security_level = AIRLOCK_SECURITY_METAL update_icon() return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/stack/sheet/plasteel)) var/obj/item/stack/sheet/plasteel/S = used if(S.get_amount() < 2) - to_chat(user, "You need at least 2 plasteel sheets to reinforce [src].") + to_chat(user, SPAN_WARNING("You need at least 2 plasteel sheets to reinforce [src].")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start reinforcing [src]...") + to_chat(user, SPAN_NOTICE("You start reinforcing [src]...")) if(do_after(user, 20, 1, target = src)) if(!panel_open || !S.use(2)) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] reinforces \the [src] with plasteel.", - "You reinforce \the [src] with plasteel.") + user.visible_message(SPAN_NOTICE("[user] reinforces \the [src] with plasteel."), + SPAN_NOTICE("You reinforce \the [src] with plasteel.")) security_level = AIRLOCK_SECURITY_PLASTEEL modify_max_integrity(normal_integrity * AIRLOCK_INTEGRITY_MULTIPLIER) damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_R @@ -1054,14 +1054,14 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/paper) || istype(used, /obj/item/photo)) if(note) - to_chat(user, "There's already something pinned to this airlock! Use wirecutters or your hands to remove it.") + to_chat(user, SPAN_WARNING("There's already something pinned to this airlock! Use wirecutters or your hands to remove it.")) return ITEM_INTERACT_COMPLETE if(!user.transfer_item_to(used, src)) - to_chat(user, "For some reason, you can't attach [used]!") + to_chat(user, SPAN_WARNING("For some reason, you can't attach [used]!")) return ITEM_INTERACT_COMPLETE used.add_fingerprint(user) user.create_log(MISC_LOG, "put [used] on", src) - user.visible_message("[user] pins [used] to [src].", "You pin [used] to [src].") + user.visible_message(SPAN_NOTICE("[user] pins [used] to [src]."), SPAN_NOTICE("You pin [used] to [src].")) note = used update_icon() @@ -1078,7 +1078,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return panel_open = !panel_open - to_chat(user, "You [panel_open ? "open":"close"] [src]'s maintenance panel.") + to_chat(user, SPAN_NOTICE("You [panel_open ? "open":"close"] [src]'s maintenance panel.")) update_icon() /obj/machinery/door/airlock/crowbar_act(mob/user, obj/item/I) @@ -1090,24 +1090,24 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(!I.use_tool(src, user, 0, volume = 0)) return if(panel_open && security_level == AIRLOCK_SECURITY_PLASTEEL_I_S) - to_chat(user, "You start removing the inner layer of shielding...") + to_chat(user, SPAN_NOTICE("You start removing the inner layer of shielding...")) if(I.use_tool(src, user, 40, volume = I.tool_volume)) if(!panel_open || security_level != AIRLOCK_SECURITY_PLASTEEL_I_S) return - user.visible_message("[user] removes \the [src]'s shielding.", - "You remove \the [src]'s inner shielding.") + user.visible_message(SPAN_NOTICE("[user] removes \the [src]'s shielding."), + SPAN_NOTICE("You remove \the [src]'s inner shielding.")) security_level = AIRLOCK_SECURITY_NONE modify_max_integrity(normal_integrity) damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_N new /obj/item/stack/sheet/plasteel(get_turf(user)) update_icon() else if(panel_open && security_level == AIRLOCK_SECURITY_PLASTEEL_O_S) - to_chat(user, "You start removing outer layer of shielding...") + to_chat(user, SPAN_NOTICE("You start removing outer layer of shielding...")) if(I.use_tool(src, user, 40, volume = I.tool_volume)) if(!panel_open || security_level != AIRLOCK_SECURITY_PLASTEEL_O_S) return - user.visible_message("[user] removes \the [src]'s shielding.", - "You remove \the [src]'s shielding.") + user.visible_message(SPAN_NOTICE("[user] removes \the [src]'s shielding."), + SPAN_NOTICE("You remove \the [src]'s shielding.")) security_level = AIRLOCK_SECURITY_PLASTEEL_I new /obj/item/stack/sheet/plasteel(get_turf(user)) else @@ -1129,12 +1129,12 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(security_level == AIRLOCK_SECURITY_PLASTEEL) if(arePowerSystemsOn() && shock(user, 60)) // Protective grille of wiring is electrified return - to_chat(user, "You start cutting through the outer grille.") + to_chat(user, SPAN_NOTICE("You start cutting through the outer grille.")) if(I.use_tool(src, user, 10, volume = I.tool_volume)) if(!panel_open || security_level != AIRLOCK_SECURITY_PLASTEEL) return - user.visible_message("[user] cut through \the [src]'s outer grille.", - "You cut through \the [src]'s outer grille.") + user.visible_message(SPAN_NOTICE("[user] cut through \the [src]'s outer grille."), + SPAN_NOTICE("You cut through \the [src]'s outer grille.")) security_level = AIRLOCK_SECURITY_PLASTEEL_O return interact_with_panel(user) @@ -1156,59 +1156,59 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(panel_open) // panel should be open before we try to slice out any shielding. switch(security_level) if(AIRLOCK_SECURITY_METAL) - to_chat(user, "You begin cutting the panel's shielding...") + to_chat(user, SPAN_NOTICE("You begin cutting the panel's shielding...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume)) return - visible_message("[user] cuts through \the [src]'s shielding.", - "You cut through \the [src]'s shielding.", - "You hear welding.") + visible_message(SPAN_NOTICE("[user] cuts through \the [src]'s shielding."), + SPAN_NOTICE("You cut through \the [src]'s shielding."), + SPAN_ITALICS("You hear welding.")) security_level = AIRLOCK_SECURITY_NONE new /obj/item/stack/sheet/metal(get_turf(user), 2) if(AIRLOCK_SECURITY_PLASTEEL_O) - to_chat(user, "You begin cutting the outer layer of shielding...") + to_chat(user, SPAN_NOTICE("You begin cutting the outer layer of shielding...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume)) return - visible_message("[user] cuts through \the [src]'s shielding.", - "You cut through \the [src]'s shielding.", - "You hear welding.") + visible_message(SPAN_NOTICE("[user] cuts through \the [src]'s shielding."), + SPAN_NOTICE("You cut through \the [src]'s shielding."), + SPAN_ITALICS("You hear welding.")) security_level = AIRLOCK_SECURITY_PLASTEEL_O_S if(AIRLOCK_SECURITY_PLASTEEL_I) - to_chat(user, "You begin cutting the inner layer of shielding...") + to_chat(user, SPAN_NOTICE("You begin cutting the inner layer of shielding...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume)) return - user.visible_message("[user] cuts through \the [src]'s shielding.", - "You cut through \the [src]'s shielding.", - "You hear welding.") + user.visible_message(SPAN_NOTICE("[user] cuts through \the [src]'s shielding."), + SPAN_NOTICE("You cut through \the [src]'s shielding."), + SPAN_ITALICS("You hear welding.")) security_level = AIRLOCK_SECURITY_PLASTEEL_I_S else if(user.a_intent != INTENT_HELP) - user.visible_message("[user] is [welded ? "unwelding":"welding"] the airlock.", \ - "You begin [welded ? "unwelding":"welding"] the airlock...", \ - "You hear welding.") + user.visible_message(SPAN_NOTICE("[user] is [welded ? "unwelding":"welding"] the airlock."), \ + SPAN_NOTICE("You begin [welded ? "unwelding":"welding"] the airlock..."), \ + SPAN_ITALICS("You hear welding.")) if(I.use_tool(src, user, 40, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(weld_checks), I, user))) if(!density && !welded) return welded = !welded - user.visible_message("[user.name] has [welded? "welded shut":"unwelded"] [src].", \ - "You [welded ? "weld the airlock shut":"unweld the airlock"].") + user.visible_message(SPAN_NOTICE("[user.name] has [welded? "welded shut":"unwelded"] [src]."), \ + SPAN_NOTICE("You [welded ? "weld the airlock shut":"unweld the airlock"].")) update_icon() else if(obj_integrity < max_integrity) // Only attempt repairs if the door is solid (albeit closed) if(!density) - to_chat(user, "The airlock must be closed for repairs.") + to_chat(user, SPAN_WARNING("The airlock must be closed for repairs.")) return - user.visible_message("[user] is welding the airlock.", \ - "You begin repairing the airlock...", \ - "You hear welding.") + user.visible_message(SPAN_NOTICE("[user] is welding the airlock."), \ + SPAN_NOTICE("You begin repairing the airlock..."), \ + SPAN_ITALICS("You hear welding.")) if(I.use_tool(src, user, 40, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(weld_checks), I, user))) obj_integrity = max_integrity stat &= ~BROKEN - user.visible_message("[user.name] has repaired [src].", \ - "You finish repairing the airlock.") + user.visible_message(SPAN_NOTICE("[user.name] has repaired [src]."), \ + SPAN_NOTICE("You finish repairing the airlock.")) update_icon() else - to_chat(user, "The airlock doesn't need repairing.") + to_chat(user, SPAN_NOTICE("The airlock doesn't need repairing.")) update_icon() /obj/machinery/door/airlock/proc/weld_checks(obj/item/I, mob/user) @@ -1229,15 +1229,15 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) beingcrowbarred = TRUE if(beingcrowbarred && panel_open && (emagged || (density && welded && !operating && !arePowerSystemsOn() && !locked))) user.visible_message("[user] removes the electronics from the airlock assembly.", \ - "You start to remove electronics from the airlock assembly...") + SPAN_NOTICE("You start to remove electronics from the airlock assembly...")) if(I.use_tool(src, user, 40, volume = I.tool_volume)) deconstruct(TRUE, user) return if(welded) - to_chat(user, "[src] is welded shut!") + to_chat(user, SPAN_WARNING("[src] is welded shut!")) return if(locked) - to_chat(user, "The airlock's bolts prevent it from being forced!") + to_chat(user, SPAN_WARNING("The airlock's bolts prevent it from being forced!")) return else if(!arePowerSystemsOn()) spawn(0) @@ -1247,7 +1247,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) close(1) return else if(!ispowertool(I)) - to_chat(user, "The airlock's motors resist your efforts to force it!") + to_chat(user, SPAN_WARNING("The airlock's motors resist your efforts to force it!")) return if(isElectrified()) shock(user, 100)//it's like sticking a forck in a power socket @@ -1266,7 +1266,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(result) open(1) if(density && !open(1)) - to_chat(user, "Despite your attempts, [src] refuses to open.") + to_chat(user, SPAN_WARNING("Despite your attempts, [src] refuses to open.")) /obj/machinery/door/airlock/open(forced=0) if(operating || welded || locked || emagged) @@ -1452,7 +1452,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) return return if(locked || welded) //Extremely generic, as aliens only understand the basics of how airlocks work. - to_chat(user, "[src] refuses to budge!") + to_chat(user, SPAN_WARNING("[src] refuses to budge!")) return if(prying_so_hard) return @@ -1461,22 +1461,22 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(arePowerSystemsOn()) if(HAS_TRAIT_FROM(user, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT)) open(TRUE) - visible_message("[user] forces the door!") + visible_message(SPAN_DANGER("[user] forces the door!")) playsound(loc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) prying_so_hard = FALSE return - user.visible_message("[user] begins prying open [src].",\ - "You begin digging your claws into [src] with all your might!",\ - "You hear groaning metal...") + user.visible_message(SPAN_WARNING("[user] begins prying open [src]."),\ + SPAN_NOTICEALIEN("You begin digging your claws into [src] with all your might!"),\ + SPAN_WARNING("You hear groaning metal...")) time_to_open = 50 //Powered airlocks take longer to open, and are loud. playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) else - visible_message("[user] forces the door!") + visible_message(SPAN_DANGER("[user] forces the door!")) playsound(loc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) if(do_after(user, time_to_open, TRUE, src)) if(density && !open(2)) //The airlock is still closed, but something prevented it opening. (Another player noticed and bolted/welded the airlock in time!) - to_chat(user, "Despite your efforts, [src] managed to resist your attempts to open it!") + to_chat(user, SPAN_WARNING("Despite your efforts, [src] managed to resist your attempts to open it!")) prying_so_hard = FALSE /obj/machinery/door/airlock/power_change() //putting this is obj/machinery/door itself makes non-airlock doors turn invisible for some reason @@ -1548,7 +1548,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(DA) DA.obj_integrity = DA.max_integrity * 0.5 if(user) - to_chat(user, "You remove the airlock electronics.") + to_chat(user, SPAN_NOTICE("You remove the airlock electronics.")) var/obj/item/airlock_electronics/ae if(!electronics) ae = new/obj/item/airlock_electronics(loc) @@ -1587,12 +1587,12 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(!wirecutters_used) if(ishuman(user) && (user.a_intent == INTENT_GRAB)) //grab that note - user.visible_message("[user] removes [note] from [src].", "You remove [note] from [src].") + user.visible_message(SPAN_NOTICE("[user] removes [note] from [src]."), SPAN_NOTICE("You remove [note] from [src].")) playsound(src, 'sound/items/poster_ripped.ogg', 50, 1) else return FALSE else - user.visible_message("[user] cuts down [note] from [src].", "You remove [note] from [src].") + user.visible_message(SPAN_NOTICE("[user] cuts down [note] from [src]."), SPAN_NOTICE("You remove [note] from [src].")) playsound(src, 'sound/items/wirecutter.ogg', 50, 1) note.add_fingerprint(user) user.create_log(MISC_LOG, "removed [note] from", src) @@ -1724,13 +1724,13 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) if(!locked) return TRUE if(!panel_open) - to_chat(user, "You do not have access to [src]'s bolts, open the panel first!") + to_chat(user, SPAN_NOTICE("You do not have access to [src]'s bolts, open the panel first!")) return TRUE if(security_level != AIRLOCK_SECURITY_NONE) - to_chat(user, "You do not have access to [src]'s bolts, remove the reinforcements first!") + to_chat(user, SPAN_NOTICE("You do not have access to [src]'s bolts, remove the reinforcements first!")) return TRUE - user.visible_message("[user] has stuck a wrench into [src] and is struggling to raise the bolts!", "You struggle to raise the bolts of [src].") + user.visible_message(SPAN_ALERT("[user] has stuck a wrench into [src] and is struggling to raise the bolts!"), SPAN_ALERT("You struggle to raise the bolts of [src].")) if(!do_after(user, 5 SECONDS, target = src)) return TRUE locked = FALSE diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index 7f366936767..780c3372727 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -37,7 +37,7 @@ if(ishuman(user)) var/mob/living/carbon/human/H = user if(H.getBrainLoss() >= max_brain_damage) - to_chat(user, "You forget how to use [src].") + to_chat(user, SPAN_WARNING("You forget how to use [src].")) return ui_interact(user) diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 3719fa35d8f..cc0ed1ed065 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -374,7 +374,7 @@ security_level = 6 /obj/machinery/door/airlock/hatch/syndicate/command/emag_act(mob/user) - to_chat(user, "The electronic systems in this door are far too advanced for your primitive hacking peripherals.") + to_chat(user, SPAN_NOTICE("The electronic systems in this door are far too advanced for your primitive hacking peripherals.")) return /// This door is used in the malf AI telecomms ruin. This door starts early access, and will try to crush someone to death who enters it's turf like how an AI door crushes. @@ -466,9 +466,9 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return welded = !welded - visible_message("[user] [welded ? null : "un"]welds [src]!",\ - "You [welded ? null : "un"]weld [src]!",\ - "You hear welding.") + visible_message(SPAN_NOTICE("[user] [welded ? null : "un"]welds [src]!"),\ + SPAN_NOTICE("You [welded ? null : "un"]weld [src]!"),\ + SPAN_WARNING("You hear welding.")) update_icon() /obj/machinery/door/airlock/abductor diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 4334e86045f..2fb3136520a 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -329,7 +329,7 @@ if(..()) return if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_WARNING("Access denied.")) return . = TRUE switch(action) @@ -373,7 +373,7 @@ if(timing) var/reset_reason = tgui_input_text(usr, "Reason for resetting timer:", name) if(!reset_reason) - to_chat(usr, "Cancelled reset: reason field is required.") + to_chat(usr, SPAN_WARNING("Cancelled reset: reason field is required.")) return FALSE releasetime = world.timeofday + timetoset var/resettext = isobserver(usr) ? "for: [reset_reason]." : "by [usr.name] for: [reset_reason]." @@ -394,7 +394,7 @@ if("flash") for(var/obj/machinery/flasher/F in targets) if(F.last_flash && (F.last_flash + 150) > world.time) - to_chat(usr, "Flash still charging.") + to_chat(usr, SPAN_WARNING("Flash still charging.")) else F.flash() else diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 1b991677215..8aadb793b5b 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -204,13 +204,13 @@ REMOVE_TRAIT(user, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT) return FALSE if(welded) - to_chat(user, "The door is welded.") + to_chat(user, SPAN_WARNING("The door is welded.")) return FALSE if(locked) - to_chat(user, "The door is bolted.") + to_chat(user, SPAN_WARNING("The door is bolted.")) return FALSE if(density) - visible_message("[user] forces the door open!") + visible_message(SPAN_DANGER("[user] forces the door open!")) playsound(loc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) open(TRUE) if(V && HAS_TRAIT_FROM(user, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT)) @@ -338,7 +338,7 @@ if(!density) return do_animate("deny") - to_chat(H, "The airlock speaker chuckles: 'What's wrong, pal? Lost your ID? Nyuk nyuk nyuk!'") + to_chat(H, SPAN_WARNING("The airlock speaker chuckles: 'What's wrong, pal? Lost your ID? Nyuk nyuk nyuk!'")) if(sound_ready) playsound(loc, 'sound/machines/honkbot_evil_laugh.ogg', 25, TRUE, ignore_walls = FALSE) soundcooldown() //Thanks, mechs @@ -458,7 +458,7 @@ /obj/machinery/door/proc/crush() for(var/turf/T in get_airlock_turfs()) for(var/mob/living/L in T) - L.visible_message("[src] closes on [L], crushing [L.p_them()]!", "[src] closes on you and crushes you!") + L.visible_message(SPAN_WARNING("[src] closes on [L], crushing [L.p_them()]!"), SPAN_USERDANGER("[src] closes on you and crushes you!")) if(isalien(L)) //For xenos L.adjustBruteLoss(DOOR_CRUSH_DAMAGE * 1.5) //Xenos go into crit after aproximately the same amount of crushes as humans. L.emote("roar") diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index eb4e9d408e8..7cf74b76657 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -41,13 +41,13 @@ /obj/machinery/door/firedoor/examine(mob/user) . = ..() if(!density) - . += "It is open, but could be pried closed." + . += SPAN_NOTICE("It is open, but could be pried closed.") else if(!welded) - . += "It is closed, but could be pried open. Deconstruction would require it to be welded shut." + . += SPAN_NOTICE("It is closed, but could be pried open. Deconstruction would require it to be welded shut.") else if(boltslocked) - . += "It is welded shut. The floor bolts have been locked by screws." + . += SPAN_NOTICE("It is welded shut. The floor bolts have been locked by screws.") else - . += "The bolt locks have been unscrewed, but the bolts themselves are still wrenched to the floor." + . += SPAN_NOTICE("The bolt locks have been unscrewed, but the bolts themselves are still wrenched to the floor.") /obj/machinery/door/firedoor/proc/CalculateAffectingAreas() remove_from_areas() @@ -108,20 +108,20 @@ return if(welded) - to_chat(user, "[src] is welded shut!") + to_chat(user, SPAN_WARNING("[src] is welded shut!")) return add_fingerprint(user) user.changeNext_move(CLICK_CD_MELEE) user.visible_message( - "[user] tries to open [src] manually.", - "You operate the manual lever on [src].") + SPAN_NOTICE("[user] tries to open [src] manually."), + SPAN_NOTICE("You operate the manual lever on [src].")) if(do_after(user, manual_open_time, target = src)) user.visible_message( - "[user] opens [src].", - "You open [src].") + SPAN_NOTICE("[user] opens [src]."), + SPAN_NOTICE("You open [src].")) open() /obj/machinery/door/firedoor/item_interaction(mob/living/user, obj/item/used, list/modifiers) @@ -143,8 +143,8 @@ . = TRUE if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return - user.visible_message("[user] [boltslocked ? "unlocks" : "locks"] [src]'s bolts.", \ - "You [boltslocked ? "unlock" : "lock"] [src]'s floor bolts.") + user.visible_message(SPAN_NOTICE("[user] [boltslocked ? "unlocks" : "locks"] [src]'s bolts."), \ + SPAN_NOTICE("You [boltslocked ? "unlock" : "lock"] [src]'s floor bolts.")) boltslocked = !boltslocked /obj/machinery/door/firedoor/wrench_act(mob/user, obj/item/I) @@ -156,14 +156,14 @@ if(!I.tool_use_check(user, 0)) return if(boltslocked) - to_chat(user, "There are screws locking the bolts in place!") + to_chat(user, SPAN_NOTICE("There are screws locking the bolts in place!")) return - user.visible_message("[user] starts undoing [src]'s bolts...", \ - "You start unfastening [src]'s floor bolts...") + user.visible_message(SPAN_NOTICE("[user] starts undoing [src]'s bolts..."), \ + SPAN_NOTICE("You start unfastening [src]'s floor bolts...")) if(!I.use_tool(src, user, 50, volume = I.tool_volume) || boltslocked) return - user.visible_message("[user] unfastens [src]'s bolts.", \ - "You undo [src]'s floor bolts.") + user.visible_message(SPAN_NOTICE("[user] unfastens [src]'s bolts."), \ + SPAN_NOTICE("You undo [src]'s floor bolts.")) deconstruct(TRUE) /obj/machinery/door/firedoor/welder_act(mob/user, obj/item/I) @@ -211,7 +211,7 @@ /obj/machinery/door/firedoor/attack_alien(mob/user) add_fingerprint(user) if(welded) - to_chat(user, "[src] refuses to budge!") + to_chat(user, SPAN_WARNING("[src] refuses to budge!")) return open() @@ -389,15 +389,15 @@ . = ..() switch(constructionStep) if(CONSTRUCTION_PANEL_OPEN) - . += "It is unbolted from the floor. A small loosely connected metal plate is covering the wires." + . += SPAN_NOTICE("It is unbolted from the floor. A small loosely connected metal plate is covering the wires.") if(!reinforced) - . += "It could be reinforced with plasteel." + . += SPAN_NOTICE("It could be reinforced with plasteel.") if(CONSTRUCTION_WIRES_EXPOSED) - . += "The maintenance plate has been pried away, and wires are trailing." + . += SPAN_NOTICE("The maintenance plate has been pried away, and wires are trailing.") if(CONSTRUCTION_GUTTED) - . += "The maintenance panel is missing wires and the circuit board is loosely connected." + . += SPAN_NOTICE("The maintenance panel is missing wires and the circuit board is loosely connected.") if(CONSTRUCTION_NOCIRCUIT) - . += "There are no firelock electronics in the frame. The frame could be cut apart." + . += SPAN_NOTICE("There are no firelock electronics in the frame. The frame could be cut apart.") /obj/structure/firelock_frame/update_icon_state() icon_state = "frame[constructionStep]" @@ -408,19 +408,19 @@ if(istype(C, /obj/item/stack/sheet/plasteel)) var/obj/item/stack/sheet/plasteel/P = C if(reinforced) - to_chat(user, "[src] is already reinforced.") + to_chat(user, SPAN_WARNING("[src] is already reinforced.")) return ITEM_INTERACT_COMPLETE if(P.get_amount() < 2) - to_chat(user, "You need more plasteel to reinforce [src].") + to_chat(user, SPAN_WARNING("You need more plasteel to reinforce [src].")) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] begins reinforcing [src]...", \ - "You begin reinforcing [src]...") + user.visible_message(SPAN_NOTICE("[user] begins reinforcing [src]..."), \ + SPAN_NOTICE("You begin reinforcing [src]...")) playsound(get_turf(src), C.usesound, 50, 1) if(do_after(user, 60 * C.toolspeed, target = src)) if(constructionStep != CONSTRUCTION_PANEL_OPEN || reinforced || P.get_amount() < 2 || !P) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] reinforces [src].", \ - "You reinforce [src].") + user.visible_message(SPAN_NOTICE("[user] reinforces [src]."), \ + SPAN_NOTICE("You reinforce [src].")) playsound(get_turf(src), C.usesound, 50, 1) P.use(2) reinforced = 1 @@ -429,16 +429,16 @@ if(iscoil(C)) var/obj/item/stack/cable_coil/B = C if(B.get_amount() < 5) - to_chat(user, "You need more wires to add wiring to [src].") + to_chat(user, SPAN_WARNING("You need more wires to add wiring to [src].")) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] begins wiring [src]...", \ - "You begin adding wires to [src]...") + user.visible_message(SPAN_NOTICE("[user] begins wiring [src]..."), \ + SPAN_NOTICE("You begin adding wires to [src]...")) playsound(get_turf(src), B.usesound, 50, 1) if(do_after(user, 60 * B.toolspeed, target = src)) if(constructionStep != CONSTRUCTION_GUTTED || B.get_amount() < 5 || !B) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] adds wires to [src].", \ - "You wire [src].") + user.visible_message(SPAN_NOTICE("[user] adds wires to [src]."), \ + SPAN_NOTICE("You wire [src].")) playsound(get_turf(src), B.usesound, 50, 1) B.use(5) constructionStep = CONSTRUCTION_WIRES_EXPOSED @@ -446,8 +446,8 @@ return ITEM_INTERACT_COMPLETE if(CONSTRUCTION_NOCIRCUIT) if(istype(C, /obj/item/firelock_electronics)) - user.visible_message("[user] starts adding [C] to [src]...", \ - "You begin adding a circuit board to [src]...") + user.visible_message(SPAN_NOTICE("[user] starts adding [C] to [src]..."), \ + SPAN_NOTICE("You begin adding a circuit board to [src]...")) playsound(get_turf(src), C.usesound, 50, 1) if(!do_after(user, 40 * C.toolspeed, target = src)) return ITEM_INTERACT_COMPLETE @@ -455,8 +455,8 @@ return ITEM_INTERACT_COMPLETE user.drop_item() qdel(C) - user.visible_message("[user] adds a circuit to [src].", \ - "You insert and secure [C].") + user.visible_message(SPAN_NOTICE("[user] adds a circuit to [src]."), \ + SPAN_NOTICE("You insert and secure [C].")) playsound(get_turf(src), C.usesound, 50, 1) constructionStep = CONSTRUCTION_GUTTED update_icon() @@ -470,34 +470,34 @@ if(!I.tool_use_check(user, 0)) return if(constructionStep == CONSTRUCTION_WIRES_EXPOSED) - user.visible_message("[user] starts prying a metal plate into [src]...", \ - "You begin prying the cover plate back onto [src]...") + user.visible_message(SPAN_NOTICE("[user] starts prying a metal plate into [src]..."), \ + SPAN_NOTICE("You begin prying the cover plate back onto [src]...")) if(!I.use_tool(src, user, 50, volume = I.tool_volume)) return if(constructionStep != CONSTRUCTION_WIRES_EXPOSED) return - user.visible_message("[user] pries the metal plate into [src].", \ - "You pry [src]'s cover plate into place, hiding the wires.") + user.visible_message(SPAN_NOTICE("[user] pries the metal plate into [src]."), \ + SPAN_NOTICE("You pry [src]'s cover plate into place, hiding the wires.")) constructionStep = CONSTRUCTION_PANEL_OPEN else if(constructionStep == CONSTRUCTION_PANEL_OPEN) - user.visible_message("[user] starts prying something out from [src]...", \ - "You begin prying out the wire cover...") + user.visible_message(SPAN_NOTICE("[user] starts prying something out from [src]..."), \ + SPAN_NOTICE("You begin prying out the wire cover...")) if(!I.use_tool(src, user, 50, volume = I.tool_volume)) return if(constructionStep != CONSTRUCTION_PANEL_OPEN) return - user.visible_message("[user] pries out a metal plate from [src], exposing the wires.", \ - "You remove the cover plate from [src], exposing the wires.") + user.visible_message(SPAN_NOTICE("[user] pries out a metal plate from [src], exposing the wires."), \ + SPAN_NOTICE("You remove the cover plate from [src], exposing the wires.")) constructionStep = CONSTRUCTION_WIRES_EXPOSED else if(constructionStep == CONSTRUCTION_GUTTED) - user.visible_message("[user] begins removing the circuit board from [src]...", \ - "You begin prying out the circuit board from [src]...") + user.visible_message(SPAN_NOTICE("[user] begins removing the circuit board from [src]..."), \ + SPAN_NOTICE("You begin prying out the circuit board from [src]...")) if(!I.use_tool(src, user, 50, volume = I.tool_volume)) return if(constructionStep != CONSTRUCTION_GUTTED) return - user.visible_message("[user] removes [src]'s circuit board.", \ - "You remove the circuit board from [src].") + user.visible_message(SPAN_NOTICE("[user] removes [src]'s circuit board."), \ + SPAN_NOTICE("You remove the circuit board from [src].")) new /obj/item/firelock_electronics(get_turf(src)) constructionStep = CONSTRUCTION_NOCIRCUIT update_icon() @@ -509,14 +509,14 @@ if(!I.tool_start_check(src, user, 0)) return - user.visible_message("[user] starts cutting the wires from [src]...", \ - "You begin removing [src]'s wires...") + user.visible_message(SPAN_NOTICE("[user] starts cutting the wires from [src]..."), \ + SPAN_NOTICE("You begin removing [src]'s wires...")) if(!I.use_tool(src, user, 50, volume = I.tool_volume)) return if(constructionStep != CONSTRUCTION_WIRES_EXPOSED) return - user.visible_message("[user] removes the wires from [src].", \ - "You remove the wiring from [src], exposing the circuit board.") + user.visible_message(SPAN_NOTICE("[user] removes the wires from [src]."), \ + SPAN_NOTICE("You remove the wiring from [src], exposing the circuit board.")) var/obj/item/stack/cable_coil/B = new(get_turf(src)) B.amount = 5 constructionStep = CONSTRUCTION_GUTTED @@ -527,18 +527,18 @@ return . = TRUE if(locate(/obj/machinery/door/firedoor) in get_turf(src)) - to_chat(user, "There's already a firelock there.") + to_chat(user, SPAN_WARNING("There's already a firelock there.")) return if(!I.tool_start_check(src, user, 0)) return - user.visible_message("[user] starts bolting down [src]...", \ - "You begin bolting [src]...") + user.visible_message(SPAN_NOTICE("[user] starts bolting down [src]..."), \ + SPAN_NOTICE("You begin bolting [src]...")) if(!I.use_tool(src, user, 50, volume = I.tool_volume)) return if(locate(/obj/machinery/door/firedoor) in get_turf(src)) return - user.visible_message("[user] finishes the firelock.", \ - "You finish the firelock.") + user.visible_message(SPAN_NOTICE("[user] finishes the firelock."), \ + SPAN_NOTICE("You finish the firelock.")) if(reinforced) new /obj/machinery/door/firedoor/heavy(get_turf(src)) else diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index ecd705f3b6c..656c26014f2 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -39,7 +39,7 @@ return /obj/machinery/door/poddoor/impassable/emag_act(mob/user) - to_chat(user, "The electronic systems in this door are far too advanced for your primitive hacking peripherals.") + to_chat(user, SPAN_NOTICE("The electronic systems in this door are far too advanced for your primitive hacking peripherals.")) return /obj/machinery/door/poddoor/Bumped(atom/AM) @@ -76,14 +76,14 @@ if(!density) return if(!hasPower() && !(resistance_flags & INDESTRUCTIBLE)) - to_chat(user, "You start forcing [src] open...") + to_chat(user, SPAN_NOTICE("You start forcing [src] open...")) if(do_after(user, 50 * I.toolspeed, target = src)) if(!hasPower()) open() else - to_chat(user, "[src] resists your efforts to force it!") + to_chat(user, SPAN_WARNING("[src] resists your efforts to force it!")) else - to_chat(user, "[src] resists your efforts to force it!") + to_chat(user, SPAN_WARNING("[src] resists your efforts to force it!")) // Whoever wrote the old code for multi-tile spesspod doors needs to burn in hell. - Unknown // Wise words. - Bxil @@ -113,7 +113,7 @@ return /obj/machinery/door/poddoor/multi_tile/impassable/emag_act(mob/user) - to_chat(user, "The electronic systems in this door are far too advanced for your primitive hacking peripherals.") + to_chat(user, SPAN_NOTICE("The electronic systems in this door are far too advanced for your primitive hacking peripherals.")) return /obj/machinery/door/poddoor/multi_tile/impassable/triple diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 8e508053e33..68feaf7444b 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -74,9 +74,9 @@ /obj/machinery/door/window/examine(mob/user) . = ..() if(emagged) - . += "Its access panel is smoking slightly." + . += SPAN_WARNING("Its access panel is smoking slightly.") if(HAS_TRAIT(src, TRAIT_CMAGGED)) - . += "The access panel is coated in yellow ooze..." + . += SPAN_WARNING("The access panel is coated in yellow ooze...") /obj/machinery/door/window/emp_act(severity) . = ..() @@ -281,7 +281,7 @@ if(. && M.environment_smash >= ENVIRONMENT_SMASH_WALLS) playsound(src, 'sound/effects/grillehit.ogg', 80, TRUE) deconstruct(FALSE) - M.visible_message("[M] smashes through [src]!", "You smash through [src].") + M.visible_message(SPAN_DANGER("[M] smashes through [src]!"), SPAN_NOTICE("You smash through [src].")) /obj/machinery/door/window/attack_ghost(mob/user) if(user.can_advanced_admin_interact()) @@ -326,12 +326,12 @@ return . = TRUE if(density || operating) - to_chat(user, "You need to open the door to access the maintenance panel!") + to_chat(user, SPAN_WARNING("You need to open the door to access the maintenance panel!")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return panel_open = !panel_open - to_chat(user, "You [panel_open ? "open":"close"] the maintenance panel of the [src.name].") + to_chat(user, SPAN_NOTICE("You [panel_open ? "open":"close"] the maintenance panel of the [src.name].")) /obj/machinery/door/window/crowbar_act(mob/user, obj/item/I) @@ -343,7 +343,7 @@ if(!I.tool_use_check(user, 0)) return if(panel_open && !density && !operating) - user.visible_message("[user] removes the electronics from the [name].", \ + user.visible_message(SPAN_WARNING("[user] removes the electronics from the [name]."), \ "You start to remove electronics from the [name]...") if(I.use_tool(src, user, 40, volume = I.tool_volume)) if(panel_open && !density && !operating && loc) @@ -370,7 +370,7 @@ else WA.name = "wired windoor assembly" - to_chat(user, "You remove the airlock electronics.") + to_chat(user, SPAN_NOTICE("You remove the airlock electronics.")) var/obj/item/airlock_electronics/ae if(!electronics) @@ -399,7 +399,7 @@ else close(2) else - to_chat(user, "The door's motors resist your efforts to force it!") + to_chat(user, SPAN_WARNING("The door's motors resist your efforts to force it!")) /obj/machinery/door/window/do_animate(animation) switch(animation) diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index 37e66ca974a..318cfad1561 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -41,7 +41,7 @@ if(istype(used, /obj/item/disk/tech_disk)) var/obj/item/disk/tech_disk/disk = used disk.load_tech(toxins_tech) - to_chat(user, "You swipe the disk into [src].") + to_chat(user, SPAN_NOTICE("You swipe the disk into [src].")) return ITEM_INTERACT_COMPLETE return ..() @@ -59,7 +59,7 @@ return var/obj/item/multitool/multi = I multi.set_multitool_buffer(user, src) - to_chat(user, "You save [src]'s linking data to the buffer.") + to_chat(user, SPAN_NOTICE("You save [src]'s linking data to the buffer.")) /obj/machinery/doppler_array/attack_hand(mob/user) if(..()) @@ -77,23 +77,23 @@ if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) return if(!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do that!") + to_chat(user, SPAN_WARNING("You don't have the dexterity to do that!")) return dir = turn(dir, 90) - to_chat(user, "You rotate [src].") + to_chat(user, SPAN_NOTICE("You rotate [src].")) /obj/machinery/doppler_array/proc/print_explosive_logs(mob/user) if(!length(logged_explosions)) atom_say("No logs currently stored in internal database.") return if(active_timers) - to_chat(user, "[src] is already printing something, please wait.") + to_chat(user, SPAN_NOTICE("[src] is already printing something, please wait.")) return atom_say("Printing explosive log. Standby...") addtimer(CALLBACK(src, PROC_REF(print)), 50) /obj/machinery/doppler_array/proc/print() - visible_message("[src] prints a piece of paper!") + visible_message(SPAN_NOTICE("[src] prints a piece of paper!")) playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1) var/obj/item/paper/explosive_log/P = new(get_turf(src)) for(var/D in logged_explosions) @@ -208,7 +208,7 @@ switch(action) if("delete_logs") QDEL_LIST_CONTENTS(logged_explosions) - to_chat(usr, "All logs deleted successfully.") + to_chat(usr, SPAN_NOTICE("All logs deleted successfully.")) if("delete_record") var/index = text2num(params["index"]) if(index < 0 || index > length(logged_explosions)) @@ -217,7 +217,7 @@ var/datum/explosion_log/E = logged_explosions[index] logged_explosions -= E qdel(E) - to_chat(usr, "Log deletion successful.") + to_chat(usr, SPAN_NOTICE("Log deletion successful.")) if("print_logs") print_explosive_logs(usr) else diff --git a/code/game/machinery/dye_generator.dm b/code/game/machinery/dye_generator.dm index 69478a0298f..fce6f789497 100644 --- a/code/game/machinery/dye_generator.dm +++ b/code/game/machinery/dye_generator.dm @@ -56,7 +56,7 @@ if(istype(used, /obj/item/hair_dye_bottle)) var/obj/item/hair_dye_bottle/HD = used - user.visible_message("[user] fills [HD] up with some dye.","You fill [HD] up with some hair dye.") + user.visible_message(SPAN_NOTICE("[user] fills [HD] up with some dye."),SPAN_NOTICE("You fill [HD] up with some hair dye.")) HD.dye_color = dye_color HD.update_icon() return ITEM_INTERACT_COMPLETE @@ -110,7 +110,7 @@ if(!user.Adjacent(M)) to_chat(user, "You are too far away!") return - user.visible_message("[user] starts dying [M]'s [what_to_dye]!", "You start dying [M]'s [what_to_dye]!") + user.visible_message(SPAN_NOTICE("[user] starts dying [M]'s [what_to_dye]!"), SPAN_NOTICE("You start dying [M]'s [what_to_dye]!")) if(do_after(user, 50, target = H)) switch(what_to_dye) if("hair") @@ -124,4 +124,4 @@ if("body") H.change_skin_color(dye_color) H.update_dna() - user.visible_message("[user] finishes dying [M]'s [what_to_dye]!", "You finish dying [M]'s [what_to_dye]!") + user.visible_message(SPAN_NOTICE("[user] finishes dying [M]'s [what_to_dye]!"), SPAN_NOTICE("You finish dying [M]'s [what_to_dye]!")) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 6bffbb9443f..ffe3b384a7c 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -103,8 +103,8 @@ FIRE ALARM if(!emagged) emagged = TRUE if(user) - user.visible_message("Sparks fly out of [src]!", - "You emag [src], disabling its thermal sensors.") + user.visible_message(SPAN_WARNING("Sparks fly out of [src]!"), + SPAN_NOTICE("You emag [src], disabling its thermal sensors.")) playsound(loc, 'sound/effects/sparks4.ogg', 50, TRUE) return TRUE @@ -134,17 +134,17 @@ FIRE ALARM if(buildstage == FIRE_ALARM_UNWIRED && istype(used, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/coil = used if(!coil.use(5)) - to_chat(user, "You need a total of five cables to wire [src]!") + to_chat(user, SPAN_WARNING("You need a total of five cables to wire [src]!")) return ITEM_INTERACT_COMPLETE buildstage = FIRE_ALARM_READY playsound(get_turf(src), used.usesound, 50, TRUE) - to_chat(user, "You wire [src]!") + to_chat(user, SPAN_NOTICE("You wire [src]!")) update_icon() return ITEM_INTERACT_COMPLETE if(buildstage == FIRE_ALARM_FRAME && istype(used, /obj/item/firealarm_electronics)) - to_chat(user, "You insert the circuit!") + to_chat(user, SPAN_NOTICE("You insert the circuit!")) qdel(used) buildstage = FIRE_ALARM_UNWIRED update_icon() @@ -171,15 +171,15 @@ FIRE ALARM return . = TRUE if(!wiresexposed) - to_chat(user, "You need to expose the wires first!") + to_chat(user, SPAN_WARNING("You need to expose the wires first!")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return detecting = !detecting if(detecting) - user.visible_message("[user] has reconnected [src]'s detecting unit!", "You have reconnected [src]'s detecting unit.") + user.visible_message(SPAN_WARNING("[user] has reconnected [src]'s detecting unit!"), "You have reconnected [src]'s detecting unit.") else - user.visible_message("[user] has disconnected [src]'s detecting unit!", "You have disconnected [src]'s detecting unit.") + user.visible_message(SPAN_WARNING("[user] has disconnected [src]'s detecting unit!"), "You have disconnected [src]'s detecting unit.") /obj/machinery/firealarm/screwdriver_act(mob/user, obj/item/I) if(buildstage != FIRE_ALARM_READY) @@ -199,7 +199,7 @@ FIRE ALARM return . = TRUE if(!wiresexposed) - to_chat(user, "You need to expose the wires first!") + to_chat(user, SPAN_WARNING("You need to expose the wires first!")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -292,7 +292,7 @@ FIRE ALARM return 1 if(fingerprintslast == user.ckey && world.time < last_time_pulled + 2 SECONDS) //no spamming >:C - to_chat(user, "[src] is still processing your earlier command.") + to_chat(user, SPAN_WARNING("[src] is still processing your earlier command.")) return toggle_alarm(user) @@ -312,13 +312,13 @@ FIRE ALARM . = ..() switch(buildstage) if(FIRE_ALARM_FRAME) - . += "It's missing a circuit board and the bolts are exposed." + . += SPAN_NOTICE("It's missing a circuit board and the bolts are exposed.") if(FIRE_ALARM_UNWIRED) - . += "The control board needs wiring and can be pried out." + . += SPAN_NOTICE("The control board needs wiring and can be pried out.") if(FIRE_ALARM_READY) if(wiresexposed) - . += "The fire alarm's wires are exposed by the unscrewed panel." - . += "The detection circuitry can be turned [detecting ? "off" : "on"] by pulsing the board." + . += SPAN_NOTICE("The fire alarm's wires are exposed by the unscrewed panel.") + . += SPAN_NOTICE("The detection circuitry can be turned [detecting ? "off" : "on"] by pulsing the board.") . += "It shows the alert level as: [capitalize(SSsecurity_level.get_current_level_as_text())]." diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 9de96a3d86d..470aaf46d91 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -116,9 +116,9 @@ return disable = !disable if(disable) - user.visible_message("[user] has disconnected [src]'s flashbulb!", "You disconnect [src]'s flashbulb!") + user.visible_message(SPAN_WARNING("[user] has disconnected [src]'s flashbulb!"), SPAN_WARNING("You disconnect [src]'s flashbulb!")) if(!disable) - user.visible_message("[user] has connected [src]'s flashbulb!", "You connect [src]'s flashbulb!") + user.visible_message(SPAN_WARNING("[user] has connected [src]'s flashbulb!"), SPAN_WARNING("You connect [src]'s flashbulb!")) /obj/machinery/flasher/portable/wrench_act(mob/user, obj/item/I) . = TRUE diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm index bb6024b8d50..4390e187872 100644 --- a/code/game/machinery/floodlight.dm +++ b/code/game/machinery/floodlight.dm @@ -35,7 +35,7 @@ on = FALSE update_icon(UPDATE_ICON_STATE) set_light(0) - visible_message("[src] shuts down due to lack of power!") + visible_message(SPAN_WARNING("[src] shuts down due to lack of power!")) /obj/machinery/floodlight/attack_ai() return @@ -52,30 +52,30 @@ cell.update_icon(UPDATE_ICON_STATE) cell = null - to_chat(user, "You remove the power cell.") + to_chat(user, SPAN_WARNING("You remove the power cell.")) if(on) on = FALSE - visible_message("[src] shuts down due to lack of power!") + visible_message(SPAN_WARNING("[src] shuts down due to lack of power!")) set_light(0) update_icon(UPDATE_ICON_STATE) return if(on) on = FALSE - to_chat(user, "You turn off the light.") + to_chat(user, SPAN_NOTICE("You turn off the light.")) set_light(0) else if(!cell) - to_chat(user, "You try to turn on [src] but nothing happens! Seems like it lacks a power cell.") + to_chat(user, SPAN_WARNING("You try to turn on [src] but nothing happens! Seems like it lacks a power cell.")) return if(cell.charge <= 0) - to_chat(user, "[src] hardly glows at all! Seems like the power cell is empty.") + to_chat(user, SPAN_WARNING("[src] hardly glows at all! Seems like the power cell is empty.")) return if(!anchored) - to_chat(user, "[src] must be anchored first!") + to_chat(user, SPAN_WARNING("[src] must be anchored first!")) return on = TRUE - to_chat(user, "You turn on the light.") + to_chat(user, SPAN_NOTICE("You turn on the light.")) set_light(brightness_on) update_icon(UPDATE_ICON_STATE) @@ -93,13 +93,13 @@ if(istype(used, /obj/item/stock_parts/cell)) if(open) if(cell) - to_chat(user, "There is a power cell already installed.") + to_chat(user, SPAN_WARNING("There is a power cell already installed.")) else playsound(loc, used.usesound, 50, TRUE) user.drop_item() used.loc = src cell = used - to_chat(user, "You insert the power cell.") + to_chat(user, SPAN_NOTICE("You insert the power cell.")) update_icon(UPDATE_ICON_STATE) return ITEM_INTERACT_COMPLETE @@ -108,7 +108,7 @@ /obj/machinery/floodlight/screwdriver_act(mob/living/user, obj/item/I) if(open) - to_chat(user, "The screws can't reach while its open.") + to_chat(user, SPAN_WARNING("The screws can't reach while its open.")) return TRUE if(!I.use_tool(src, user, volume = I.tool_volume)) @@ -118,25 +118,25 @@ return if(unlocked) - to_chat(user, "You screw the battery panel in place.") + to_chat(user, SPAN_NOTICE("You screw the battery panel in place.")) else - to_chat(user, "You unscrew the battery panel.") + to_chat(user, SPAN_NOTICE("You unscrew the battery panel.")) unlocked = !unlocked update_icon(UPDATE_ICON_STATE) return TRUE /obj/machinery/floodlight/crowbar_act(mob/living/user, obj/item/I) if(!unlocked) - to_chat(user, "The cover is screwed tightly down.") + to_chat(user, SPAN_NOTICE("The cover is screwed tightly down.")) return TRUE if(!I.use_tool(src, user, volume = I.tool_volume)) return if(open) - to_chat(user, "You pry the panel closed.") + to_chat(user, SPAN_NOTICE("You pry the panel closed.")) else - to_chat(user, "You pry the panel open.") + to_chat(user, SPAN_NOTICE("You pry the panel open.")) open = !open update_icon(UPDATE_ICON_STATE) return TRUE @@ -157,12 +157,12 @@ /obj/machinery/floodlight/examine(mob/user) . = ..() if(!unlocked) - . +="The panel is screwed shut." + . +=SPAN_NOTICE("The panel is screwed shut.") else if(open) - . +="The panel is pried open, looks like you could fit a cell in there." + . +=SPAN_NOTICE("The panel is pried open, looks like you could fit a cell in there.") else - . +="The panel looks like it could be pried open, or screwed shut." + . +=SPAN_NOTICE("The panel looks like it could be pried open, or screwed shut.") /obj/machinery/floodlight/anchored anchored = TRUE diff --git a/code/game/machinery/floor_igniter.dm b/code/game/machinery/floor_igniter.dm index 127b37fe941..97bbd4dac18 100644 --- a/code/game/machinery/floor_igniter.dm +++ b/code/game/machinery/floor_igniter.dm @@ -102,10 +102,10 @@ disable = !disable if(disable) - user.visible_message("[user] has disabled [src]!", "You disable the connection to [src].") + user.visible_message(SPAN_WARNING("[user] has disabled [src]!"), SPAN_WARNING("You disable the connection to [src].")) icon_state = "[base_state]-d" else - user.visible_message("[user] has reconnected [src]!", "You fix the connection to [src].") + user.visible_message(SPAN_WARNING("[user] has reconnected [src]!"), SPAN_WARNING("You fix the connection to [src].")) if(has_power()) icon_state = "[base_state]" else diff --git a/code/game/machinery/gameboard.dm b/code/game/machinery/gameboard.dm index d5c86c8d078..0e73d11cdfc 100644 --- a/code/game/machinery/gameboard.dm +++ b/code/game/machinery/gameboard.dm @@ -81,7 +81,7 @@ if(cooling_down) message_admins("Too many checkmates on chessboard, possible HREF exploits: [key_name_admin(usr)] on [src] (JMP)") return - visible_message("[src.name] beeps, \"WINNER!\"") + visible_message(SPAN_NOTICE("[SPAN_NAME("[src.name]")] beeps, \"WINNER!\"")) new prize(get_turf(src), 80) close_game() cooling_down = 1 diff --git a/code/game/machinery/guestpass.dm b/code/game/machinery/guestpass.dm index 7a51b67bf8d..a3bc3b779c0 100644 --- a/code/game/machinery/guestpass.dm +++ b/code/game/machinery/guestpass.dm @@ -22,13 +22,13 @@ /obj/item/card/id/guest/examine(mob/user) . = ..() if(world.time < expiration_time) - . += "This pass expires at [station_time_timestamp("hh:mm:ss", expiration_time)]." + . += SPAN_NOTICE("This pass expires at [station_time_timestamp("hh:mm:ss", expiration_time)].") else - . += "It expired at [station_time_timestamp("hh:mm:ss", expiration_time)]." - . += "It grants access to following areas:" + . += SPAN_WARNING("It expired at [station_time_timestamp("hh:mm:ss", expiration_time)].") + . += SPAN_NOTICE("It grants access to following areas:") for(var/A in temp_access) - . += "[get_access_desc(A)]." - . += "Issuing reason: [reason]." + . += SPAN_NOTICE("[get_access_desc(A)].") + . += SPAN_NOTICE("Issuing reason: [reason].") ///////////////////////////////////////////// //Guest pass terminal//////////////////////// @@ -62,7 +62,7 @@ /obj/machinery/computer/guestpass/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/card/id/nct_data_chip)) - to_chat(user, "[used] does not seem compatible with this terminal!") + to_chat(user, SPAN_WARNING("[used] does not seem compatible with this terminal!")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/card/id)) if(!scan) @@ -71,7 +71,7 @@ scan = used SStgui.update_uis(src) else - to_chat(user, "There is already ID card inside.") + to_chat(user, SPAN_WARNING("There is already ID card inside.")) return ITEM_INTERACT_COMPLETE return ..() @@ -168,7 +168,7 @@ if(dur > 0 && dur <= 30) duration = dur else - to_chat(usr, "Invalid duration.") + to_chat(usr, SPAN_WARNING("Invalid duration.")) if("print") var/dat = "

Activity log of guest pass terminal #[global_terminal_id]


" for(var/entry in internal_log) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 9256a6b7b92..24503594918 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -155,7 +155,7 @@ GLOBAL_LIST_EMPTY(holopads) if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return public_mode = !public_mode - to_chat(user, "You [public_mode ? "enable" : "disable"] the holopad's public mode setting.") + to_chat(user, SPAN_NOTICE("You [public_mode ? "enable" : "disable"] the holopad's public mode setting.")) /obj/machinery/hologram/holopad/screwdriver_act(mob/user, obj/item/I) . = TRUE @@ -185,8 +185,8 @@ GLOBAL_LIST_EMPTY(holopads) /obj/machinery/hologram/holopad/examine(mob/user) . = ..() - . += "Its maintenance panel can be screwed [panel_open ? "closed" : "open"]." - . += "Its public mode indicator reads [public_mode ? "on" : "off"]. It can be turned [public_mode ? "off" : "on"] by using a multitool while the maintenance panel is open." + . += SPAN_NOTICE("Its maintenance panel can be screwed [panel_open ? "closed" : "open"].") + . += SPAN_NOTICE("Its public mode indicator reads [public_mode ? "on" : "off"]. It can be turned [public_mode ? "off" : "on"] by using a multitool while the maintenance panel is open.") /obj/machinery/hologram/holopad/AltClick(mob/living/carbon/human/user) if(..()) @@ -255,7 +255,7 @@ GLOBAL_LIST_EMPTY(holopads) for(var/mob/living/silicon/ai/AI in GLOB.ai_list) if(!AI.client) continue - to_chat(AI, "Your presence is requested at \the [area].") + to_chat(AI, SPAN_NOTICE("Your presence is requested at \the [area].")) else temp = "A request for AI presence was already sent recently.
" temp += "Main Menu" @@ -264,7 +264,7 @@ GLOBAL_LIST_EMPTY(holopads) if(outgoing_call) return if(dialling_input) - to_chat(usr, "Finish dialling first!") + to_chat(usr, SPAN_NOTICE("Finish dialling first!")) return temp = "You must stand on the holopad to make a call!
" temp += "Main Menu" @@ -419,7 +419,7 @@ GLOBAL_LIST_EMPTY(holopads) to_chat(user, "ERROR: Unable to project hologram.") if(!(stat & NOPOWER) && (!AI || force)) if(AI && (istype(AI.current, /obj/machinery/hologram/holopad))) - to_chat(user, "ERROR: Image feed in progress.") + to_chat(user, "[SPAN_DANGER("ERROR:")] Image feed in progress.") return var/obj/effect/overlay/holo_pad_hologram/hologram = new(loc)//Spawn a blank effect at the location. @@ -452,7 +452,7 @@ GLOBAL_LIST_EMPTY(holopads) return hologram - to_chat(user, "ERROR: Hologram Projection Malfunction.") + to_chat(user, "[SPAN_DANGER("ERROR:")] Hologram Projection Malfunction.") clear_holo(user)//safety check /*This is the proc for special two-way communication between AI and holopad/people talking near holopad. diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index f1b6581b361..5432c348aee 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -49,7 +49,7 @@ if(Adjacent(target) && user.Adjacent(target)) if(!bag) - to_chat(user, "There's no IV bag connected to [src]!") + to_chat(user, SPAN_WARNING("There's no IV bag connected to [src]!")) return bag.mob_act(target, user) START_PROCESSING(SSmachines, src) @@ -65,7 +65,7 @@ /obj/machinery/iv_drip/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/reagent_containers/iv_bag)) if(bag) - to_chat(user, "[src] already has an IV bag!") + to_chat(user, SPAN_WARNING("[src] already has an IV bag!")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) return ITEM_INTERACT_COMPLETE @@ -73,7 +73,7 @@ used.forceMove(src) bag = used bag.update_iv_type() - to_chat(user, "You attach [used] to [src].") + to_chat(user, SPAN_NOTICE("You attach [used] to [src].")) update_icon(UPDATE_OVERLAYS) START_PROCESSING(SSmachines, src) return ITEM_INTERACT_COMPLETE diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 1a20ec70efe..2936a5c2cb2 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -64,7 +64,7 @@ /obj/machinery/light_switch/examine(mob/user) . = ..() var/area/our_area = get_area(src) - . += "It is [our_area.lightswitch ? "on" : "off"]." + . += SPAN_NOTICE("It is [our_area.lightswitch ? "on" : "off"].") /obj/machinery/light_switch/attack_ghost(mob/user) if(user.can_advanced_admin_interact()) @@ -99,7 +99,7 @@ if(!I.tool_use_check(user, 0)) return - user.visible_message("[user] starts unwrenching [src] from the wall...", "You are unwrenching [src] from the wall...", "You hear ratcheting.") + user.visible_message(SPAN_NOTICE("[user] starts unwrenching [src] from the wall..."), SPAN_NOTICE("You are unwrenching [src] from the wall..."), SPAN_WARNING("You hear ratcheting.")) if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume)) return diff --git a/code/game/machinery/machine_frame.dm b/code/game/machinery/machine_frame.dm index 670b7cbb54a..e94ac7406e3 100644 --- a/code/game/machinery/machine_frame.dm +++ b/code/game/machinery/machine_frame.dm @@ -47,7 +47,7 @@ /obj/structure/machine_frame/examine(mob/user) . = ..() if(extra_desc) - . += "[extra_desc]" + . += SPAN_NOTICE("[extra_desc]") /obj/structure/machine_frame/update_name(updates) . = ..() @@ -100,22 +100,22 @@ var/obj/item/stack/cable_coil/C = P if(C.get_amount() >= 5) playsound(src.loc, C.usesound, 50, 1) - to_chat(user, "You start to add cables to the frame.") + to_chat(user, SPAN_NOTICE("You start to add cables to the frame.")) if(do_after(user, 20 * C.toolspeed, target = src)) if(state == MACHINE_FRAME_EMPTY && C.get_amount() >= 5 && C.use(5)) - to_chat(user, "You add cables to the frame.") + to_chat(user, SPAN_NOTICE("You add cables to the frame.")) state = MACHINE_FRAME_WIRED update_icon(UPDATE_ICON_STATE) else - to_chat(user, "At some point during construction you lost some cable. Make sure you have five lengths before trying again.") + to_chat(user, SPAN_WARNING("At some point during construction you lost some cable. Make sure you have five lengths before trying again.")) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You need five lengths of cable to wire the frame.") + to_chat(user, SPAN_WARNING("You need five lengths of cable to wire the frame.")) return ITEM_INTERACT_COMPLETE if(iswrench(P)) P.play_tool_sound(src) - to_chat(user, "You dismantle the frame.") + to_chat(user, SPAN_NOTICE("You dismantle the frame.")) deconstruct(TRUE) return ITEM_INTERACT_COMPLETE if(MACHINE_FRAME_WIRED) @@ -125,10 +125,10 @@ var/obj/item/circuitboard/B = P if(B.board_type == frame_type) if(!B.build_path) - to_chat(user, "This is not a functional machine board!") + to_chat(user, SPAN_WARNING("This is not a functional machine board!")) return ITEM_INTERACT_COMPLETE playsound(src.loc, B.usesound, 50, 1) - to_chat(user, "You add the circuit board to the frame.") + to_chat(user, SPAN_NOTICE("You add the circuit board to the frame.")) circuit = P user.drop_item() P.forceMove(src) @@ -137,7 +137,7 @@ req_components = circuit.req_components?.Copy() update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_ICON_STATE) else - to_chat(user, "This frame does not accept circuit boards of this type!") + to_chat(user, SPAN_DANGER("This frame does not accept circuit boards of this type!")) return ITEM_INTERACT_COMPLETE if(MACHINE_FRAME_CIRCUITBOARD) @@ -165,7 +165,7 @@ for(var/obj/item/part in added_components) components += part - to_chat(user, "[part.name] applied.") + to_chat(user, SPAN_NOTICE("[part.name] applied.")) replacer.play_rped_sound() update_appearance(UPDATE_DESC) @@ -195,7 +195,7 @@ update_appearance(UPDATE_DESC) return ITEM_INTERACT_COMPLETE if(!success) - to_chat(user, "You cannot add that to the machine!") + to_chat(user, SPAN_DANGER("You cannot add that to the machine!")) return ITEM_INTERACT_COMPLETE return ITEM_INTERACT_COMPLETE if(user.a_intent == INTENT_HARM) @@ -208,7 +208,7 @@ . = TRUE if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return - to_chat(user, "You remove the cables.") + to_chat(user, SPAN_NOTICE("You remove the cables.")) state = MACHINE_FRAME_EMPTY new /obj/item/stack/cable_coil(loc, 5) update_appearance(UPDATE_ICON_STATE) @@ -224,9 +224,9 @@ circuit.forceMove(loc) circuit = null if(length(components) == 0) - to_chat(user, "You remove the circuit board.") + to_chat(user, SPAN_NOTICE("You remove the circuit board.")) else - to_chat(user, "You remove the circuit board and other components.") + to_chat(user, SPAN_NOTICE("You remove the circuit board and other components.")) for(var/obj/item/comp in components) comp.forceMove(loc) @@ -628,7 +628,7 @@ to destroy them and players will be able to make replacements. build_path = type format_board_name() if(user) - to_chat(user, "You set the board to [board_name].") + to_chat(user, SPAN_NOTICE("You set the board to [board_name].")) /obj/item/circuitboard/monkey_recycler board_name = "Monkey Recycler" @@ -687,7 +687,7 @@ to destroy them and players will be able to make replacements. build_path = new_path name = "circuit board ([new_name] 3000)" - to_chat(user, "You change the circuit board setting to \"[new_name]\".") + to_chat(user, SPAN_NOTICE("You change the circuit board setting to \"[new_name]\".")) /obj/item/circuitboard/chem_master/condi_master board_name = "CondiMaster 3000" @@ -769,18 +769,18 @@ to destroy them and players will be able to make replacements. /obj/item/circuitboard/dish_drive/examine(mob/user) . = ..() - . += "Its suction function is [suction ? "enabled" : "disabled"]. Use it in-hand to switch." - . += "Its disposal auto-transmit function is [transmit ? "enabled" : "disabled"]. Alt-click it to switch." + . += SPAN_NOTICE("Its suction function is [suction ? "enabled" : "disabled"]. Use it in-hand to switch.") + . += SPAN_NOTICE("Its disposal auto-transmit function is [transmit ? "enabled" : "disabled"]. Alt-click it to switch.") /obj/item/circuitboard/dish_drive/attack_self__legacy__attackchain(mob/living/user) suction = !suction - to_chat(user, "You [suction ? "enable" : "disable"] the board's suction function.") + to_chat(user, SPAN_NOTICE("You [suction ? "enable" : "disable"] the board's suction function.")) /obj/item/circuitboard/dish_drive/AltClick(mob/living/user) if(!user.Adjacent(src)) return transmit = !transmit - to_chat(user, "You [transmit ? "enable" : "disable"] the board's automatic disposal transmission.") + to_chat(user, SPAN_NOTICE("You [transmit ? "enable" : "disable"] the board's automatic disposal transmission.")) /obj/item/circuitboard/chem_dispenser/soda board_name = "Soda Machine" @@ -931,7 +931,7 @@ to destroy them and players will be able to make replacements. var/obj/item/gps/L = I if(L.locked_location) target = get_turf(L.locked_location) - to_chat(user, "You upload the data from [L]") + to_chat(user, SPAN_CAUTION("You upload the data from [L]")) return return ..() diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 01dd6277162..f835b488e03 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -253,16 +253,16 @@ return TRUE if(!user.IsAdvancedToolUser() && !isobserver(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!")) return TRUE if(ishuman(user)) var/mob/living/carbon/human/H = user if(H.getBrainLoss() >= 60) - visible_message("[H] stares cluelessly at [src].") + visible_message(SPAN_WARNING("[H] stares cluelessly at [src].")) return TRUE else if(prob(H.getBrainLoss())) - to_chat(user, "You momentarily forget how to use [src].") + to_chat(user, SPAN_WARNING("You momentarily forget how to use [src].")) return TRUE if(panel_open) @@ -316,7 +316,7 @@ return FALSE if((panel_open || ignore_panel) && !(flags & NODECONSTRUCT)) deconstruct(TRUE) - to_chat(user, "You disassemble [src].") + to_chat(user, SPAN_NOTICE("You disassemble [src].")) I.play_tool_sound(user, I.tool_volume) return TRUE return FALSE @@ -330,11 +330,11 @@ if(!panel_open) panel_open = TRUE icon_state = icon_state_open - to_chat(user, "You open the maintenance hatch of [src].") + to_chat(user, SPAN_NOTICE("You open the maintenance hatch of [src].")) else panel_open = FALSE icon_state = icon_state_closed - to_chat(user, "You close the maintenance hatch of [src].") + to_chat(user, SPAN_NOTICE("You close the maintenance hatch of [src].")) I.play_tool_sound(user, I.tool_volume) return 1 return 0 @@ -346,7 +346,7 @@ return FALSE if(panel_open) dir = turn(dir,-90) - to_chat(user, "You rotate [src].") + to_chat(user, SPAN_NOTICE("You rotate [src].")) I.play_tool_sound(user, I.tool_volume) return TRUE return FALSE @@ -364,21 +364,21 @@ if(istype(used, /obj/item/stack/nanopaste)) var/obj/item/stack/nanopaste/N = used if(stat & BROKEN) - to_chat(user, "[src] is too damaged to be fixed with nanopaste!") + to_chat(user, SPAN_NOTICE("[src] is too damaged to be fixed with nanopaste!")) return ITEM_INTERACT_COMPLETE if(obj_integrity == max_integrity) - to_chat(user, "[src] is fully intact.") + to_chat(user, SPAN_NOTICE("[src] is fully intact.")) return ITEM_INTERACT_COMPLETE if(being_repaired) return ITEM_INTERACT_COMPLETE if(N.get_amount() < 1) - to_chat(user, "You don't have enough to complete this task!") + to_chat(user, SPAN_WARNING("You don't have enough to complete this task!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start applying [used] to [src].") + to_chat(user, SPAN_NOTICE("You start applying [used] to [src].")) being_repaired = TRUE var/result = do_after(user, 3 SECONDS, target = src) being_repaired = FALSE @@ -386,12 +386,12 @@ return ITEM_INTERACT_COMPLETE if(!N.use(1)) - to_chat(user, "You don't have enough to complete this task!") // this is here, as we don't want to use nanopaste until you finish applying + to_chat(user, SPAN_WARNING("You don't have enough to complete this task!")) // this is here, as we don't want to use nanopaste until you finish applying return ITEM_INTERACT_COMPLETE obj_integrity = min(obj_integrity + 50, max_integrity) - user.visible_message("[user] applied some [used] at [src]'s damaged areas.",\ - "You apply some [used] at [src]'s damaged areas.") + user.visible_message(SPAN_NOTICE("[user] applied some [used] at [src]'s damaged areas."),\ + SPAN_NOTICE("You apply some [used] at [src]'s damaged areas.")) return ITEM_INTERACT_COMPLETE @@ -431,7 +431,7 @@ component_parts -= A component_parts += B B.loc = null - to_chat(user, "[A.name] replaced with [B.name].") + to_chat(user, SPAN_NOTICE("[A.name] replaced with [B.name].")) shouldplaysound = TRUE break for(var/obj/item/reagent_containers/glass/beaker/A in component_parts) @@ -444,7 +444,7 @@ component_parts -= A component_parts += B B.loc = null - to_chat(user, "[A.name] replaced with [B.name].") + to_chat(user, SPAN_NOTICE("[A.name] replaced with [B.name].")) shouldplaysound = TRUE break RefreshParts() @@ -455,18 +455,18 @@ return TRUE /obj/machinery/proc/display_parts(mob/user) - . = list("Following parts detected in the machine:") + . = list(SPAN_NOTICE("Following parts detected in the machine:")) for(var/obj/item/C in component_parts) - . += "[bicon(C)] [C.name]" + . += SPAN_NOTICE("[bicon(C)] [C.name]") . = jointext(., "\n") /obj/machinery/examine(mob/user) . = ..() if(stat & BROKEN) - . += "It looks broken and non-functional." + . += SPAN_NOTICE("It looks broken and non-functional.") if(!(resistance_flags & INDESTRUCTIBLE)) if(resistance_flags & ON_FIRE) - . += "It's on fire!" + . += SPAN_WARNING("It's on fire!") var/healthpercent = (obj_integrity/max_integrity) * 100 switch(healthpercent) if(50 to 99) @@ -474,7 +474,7 @@ if(25 to 50) . += "It appears heavily damaged." if(0 to 25) - . += "It's falling apart!" + . += SPAN_WARNING("It's falling apart!") if(user.research_scanner && component_parts) . += display_parts(user) @@ -579,7 +579,7 @@ */ /obj/machinery/proc/can_use_shortcut(mob/living/user) if(user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return FALSE if(ishuman(user) && in_range(src, user)) return TRUE diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm index e3984a6e482..d8125cb71fe 100644 --- a/code/game/machinery/mass_driver.dm +++ b/code/game/machinery/mass_driver.dm @@ -85,39 +85,39 @@ switch(build) if(0) // Loose frame if(iswrench(used)) - to_chat(user, "You begin to anchor [src] on the floor.") + to_chat(user, SPAN_NOTICE("You begin to anchor [src] on the floor.")) playsound(get_turf(src), used.usesound, 50, TRUE) if(do_after(user, 1 SECONDS * used.toolspeed, target = src) && (build == 0)) - to_chat(user, "You anchor \the [src]!") + to_chat(user, SPAN_NOTICE("You anchor \the [src]!")) anchored = TRUE build++ return ITEM_INTERACT_COMPLETE if(1) // Fixed to the floor if(iswrench(used)) - to_chat(user, "You begin to de-anchor [src] from the floor.") + to_chat(user, SPAN_NOTICE("You begin to de-anchor [src] from the floor.")) playsound(get_turf(src), used.usesound, 50, TRUE) if(do_after(user, 1 SECONDS * used.toolspeed, target = src) && (build == 1)) build-- anchored = FALSE - to_chat(user, "You de-anchored \the [src]!") + to_chat(user, SPAN_NOTICE("You de-anchored \the [src]!")) return ITEM_INTERACT_COMPLETE if(2) // Welded to the floor if(iscoil(used)) var/obj/item/stack/cable_coil/C = used - to_chat(user, "You start adding cables to [src]...") + to_chat(user, SPAN_NOTICE("You start adding cables to [src]...")) playsound(get_turf(src), C.usesound, 50, TRUE) if(do_after(user, 20 * C.toolspeed, target = src) && (C.get_amount() >= 2) && (build == 2)) C.use(2) - to_chat(user, "You've added cables to \the [src].") + to_chat(user, SPAN_NOTICE("You've added cables to \the [src].")) build++ return ITEM_INTERACT_COMPLETE if(3) // Wired if(iswirecutter(used)) - to_chat(user, "You begin to remove the wiring from [src].") + to_chat(user, SPAN_NOTICE("You begin to remove the wiring from [src].")) if(do_after(user, 1 SECONDS * used.toolspeed, target = src) && (build == 3)) new /obj/item/stack/cable_coil(loc, 2) playsound(get_turf(src), used.usesound, 50, 1) - to_chat(user, "You've removed the cables from \the [src].") + to_chat(user, SPAN_NOTICE("You've removed the cables from \the [src].")) build-- return ITEM_INTERACT_COMPLETE @@ -127,12 +127,12 @@ playsound(get_turf(src), R.usesound, 50, 1) if(do_after(user, 20 * R.toolspeed, target = src) && (R.get_amount() >= 2) && (build == 3)) R.use(2) - to_chat(user, "You've added the grille to \the [src].") + to_chat(user, SPAN_NOTICE("You've added the grille to \the [src].")) build++ return ITEM_INTERACT_COMPLETE if(4) // Grille in place if(iscrowbar(used)) - to_chat(user, "You begin to pry off the grille from [src]...") + to_chat(user, SPAN_NOTICE("You begin to pry off the grille from [src]...")) playsound(get_turf(src), used.usesound, 50, TRUE) if(do_after(user, 3 SECONDS * used.toolspeed, target = src) && (build == 4)) new /obj/item/stack/rods(loc,2) @@ -145,7 +145,7 @@ if(build != 4) return - to_chat(user, "You finalize the Mass Driver.") + to_chat(user, SPAN_NOTICE("You finalize the Mass Driver.")) I.play_tool_sound(src) var/obj/machinery/mass_driver/M = new(get_turf(src)) M.dir = dir diff --git a/code/game/machinery/merch_vendor.dm b/code/game/machinery/merch_vendor.dm index 853078c9251..df66ba25b4f 100644 --- a/code/game/machinery/merch_vendor.dm +++ b/code/game/machinery/merch_vendor.dm @@ -70,7 +70,7 @@ if(!C || !pay_with_card(C, merch.cost, "Purchase of [merch.name]", "NAS Trurl Merchandising", user, account_database.vendor_account)) return FALSE else - to_chat(user, "Payment failure: you have no ID or other method of payment.") + to_chat(user, SPAN_WARNING("Payment failure: you have no ID or other method of payment.")) return FALSE return TRUE @@ -135,7 +135,7 @@ for(var/datum/merch_item/merch in merchandise[params["category"]]) if(merch.name == params["name"]) if(do_purchase(merch, user)) //null checking done in proc - to_chat(user, "You've successfully purchased the item. It should be in your hands or on the floor.") + to_chat(user, SPAN_NOTICE("You've successfully purchased the item. It should be in your hands or on the floor.")) break if("change") . = TRUE diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 84c7a4896dc..76d4d0d9dbe 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -91,12 +91,12 @@ if(open) if(allowed(user)) locked = !locked - to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") + to_chat(user, SPAN_NOTICE("Controls are now [locked ? "locked" : "unlocked"].")) else - to_chat(user, "Access denied.") + to_chat(user, SPAN_DANGER("Access denied.")) updateDialog() else - to_chat(user, "You must open the cover first!") + to_chat(user, SPAN_WARNING("You must open the cover first!")) return ITEM_INTERACT_COMPLETE @@ -104,7 +104,7 @@ /obj/machinery/navbeacon/screwdriver_act(mob/living/user, obj/item/I) open = !open - user.visible_message("[user] [open ? "opens" : "closes"] the beacon's cover.", "You [open ? "open" : "close"] the beacon's cover.") + user.visible_message("[user] [open ? "opens" : "closes"] the beacon's cover.", SPAN_NOTICE("You [open ? "open" : "close"] the beacon's cover.")) update_icon(UPDATE_ICON_STATE) return TRUE @@ -120,7 +120,7 @@ return // prevent intraction when T-scanner revealed if(!open && !ai) // can't alter controls if not open, unless you're an AI - to_chat(user, "The beacon's control cover is closed!") + to_chat(user, SPAN_WARNING("The beacon's control cover is closed!")) return diff --git a/code/game/machinery/pipe/pipe_construction.dm b/code/game/machinery/pipe/pipe_construction.dm index b198f30a748..e5eda32fd7f 100644 --- a/code/game/machinery/pipe/pipe_construction.dm +++ b/code/game/machinery/pipe/pipe_construction.dm @@ -173,7 +173,7 @@ GLOBAL_LIST_INIT(pipe_path2type, list( /obj/item/pipe/examine(mob/user) . = ..() - . += "Alt-click it to rotate, Alt-Shift-click it to flip!" + . += SPAN_NOTICE("Alt-click it to rotate, Alt-Shift-click it to flip!") /obj/item/pipe/proc/update(obj/machinery/atmospherics/make_from) name = "[get_pipe_name(pipe_type, PIPETYPE_ATMOS)] fitting" @@ -315,12 +315,12 @@ GLOBAL_LIST_INIT(pipe_path2type, list( for(var/obj/machinery/atmospherics/M in loc) if((M.initialize_directions & pipe_dir) && M.check_connect_types_construction(M, src)) // matches at least one direction on either type of pipe - to_chat(user, "There is already a pipe of the same type at this location.") + to_chat(user, SPAN_WARNING("There is already a pipe of the same type at this location.")) return if(pipe_type in list(PIPE_SUPPLY_STRAIGHT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT, PIPE_HE_STRAIGHT, PIPE_HE_BENT, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_UVENT, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP, PIPE_PASV_VENT, PIPE_DP_VENT, PIPE_PASSIVE_GATE, PIPE_TEMPERATURE_GATE)) if(T.transparent_floor) //stops jank with transparent floors and pipes - to_chat(user, "You can only fix simple pipes and devices over glass floors!") + to_chat(user, SPAN_WARNING("You can only fix simple pipes and devices over glass floors!")) return switch(pipe_type) //What kind of heartless person thought of doing this? @@ -371,9 +371,9 @@ GLOBAL_LIST_INIT(pipe_path2type, list( P.AddComponent(/datum/component/label, label) user.visible_message( \ - "[user] fastens [src].", - "You fasten [src].", - "You hear a ratchet.") + SPAN_NOTICE("[user] fastens [src]."), + SPAN_NOTICE("You fasten [src]."), + SPAN_NOTICE("You hear a ratchet.")) qdel(src) // remove the pipe item . |= RPD_TOOL_SUCCESS @@ -388,14 +388,14 @@ GLOBAL_LIST_INIT(pipe_path2type, list( /obj/item/pipe_meter/wrench_act(mob/living/user, obj/item/I) if(!locate(/obj/machinery/atmospherics/pipe, loc)) - to_chat(user, "You need to fasten it to a pipe.") + to_chat(user, SPAN_WARNING("You need to fasten it to a pipe.")) return TRUE var/obj/machinery/atmospherics/meter/P = new(loc) if(label) P.AddComponent(/datum/component/label, label) I.play_tool_sound(src) - to_chat(user, "You have fastened the meter to the pipe.") + to_chat(user, SPAN_NOTICE("You have fastened the meter to the pipe.")) qdel(src) return TRUE @@ -421,7 +421,7 @@ GLOBAL_LIST_INIT(pipe_path2type, list( if(label) AS.AddComponent(/datum/component/label, label) I.play_tool_sound(src, 50) - to_chat(user, "You have fastened the gas sensor.") + to_chat(user, SPAN_NOTICE("You have fastened the gas sensor.")) qdel(src) return TRUE diff --git a/code/game/machinery/poolcontroller.dm b/code/game/machinery/poolcontroller.dm index 71cc230dba3..50b0243c84b 100644 --- a/code/game/machinery/poolcontroller.dm +++ b/code/game/machinery/poolcontroller.dm @@ -63,7 +63,7 @@ /obj/machinery/poolcontroller/emag_act(user as mob) //Emag_act, this is called when it is hit with a cryptographic sequencer. if(!emagged) //If it is not already emagged, emag it. - to_chat(user, "You disable \the [src]'s temperature safeguards.")//Inform the mob of what emagging does. + to_chat(user, SPAN_WARNING("You disable \the [src]'s temperature safeguards."))//Inform the mob of what emagging does. emagged = TRUE //Set the emag var to true. return TRUE @@ -73,10 +73,10 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(emagged) //Check the emag status - to_chat(user, "You re-enable [src]'s temperature safeguards.")//Inform the user that they have just fixed the safeguards. + to_chat(user, SPAN_WARNING("You re-enable [src]'s temperature safeguards."))//Inform the user that they have just fixed the safeguards. emagged = FALSE //Set the emagged var to false. else - to_chat(user, "Nothing happens.")//If not emagged, don't do anything, and don't tell the user that it can be emagged. + to_chat(user, SPAN_WARNING("Nothing happens."))//If not emagged, don't do anything, and don't tell the user that it can be emagged. /obj/machinery/poolcontroller/attack_hand(mob/user) ui_interact(user) @@ -107,18 +107,18 @@ M.water_act(100, temperature, src)//leave temp at 0, we handle it in the switch. oh wait switch(temperature) //Apply different effects based on what the temperature is set to. if(SCALDING) //Burn the mob. - to_chat(M, "The water is searing hot!") + to_chat(M, SPAN_DANGER("The water is searing hot!")) if(WARM) //Warm the mob. if(prob(5)) //inform the mob of warm water occasionally - to_chat(M, "The water is quite warm.")//Inform the mob it's warm water. + to_chat(M, SPAN_WARNING("The water is quite warm."))//Inform the mob it's warm water. if(COOL) //Cool the mob. if(prob(5)) //inform the mob of cold water occasionally - to_chat(M, "The water is chilly.")//Inform the mob it's chilly water. + to_chat(M, SPAN_WARNING("The water is chilly."))//Inform the mob it's chilly water. if(FRIGID) //YOU'RE AS COLD AS ICE - to_chat(M, "The water is freezing!") + to_chat(M, SPAN_DANGER("The water is freezing!")) /obj/machinery/poolcontroller/proc/handleDrowning(mob/living/carbon/human/drownee) if(!drownee) @@ -140,11 +140,11 @@ add_attack_logs(src, drownee, "Drowned", isLivingSSD(drownee) ? null : ATKLOG_ALL) if(drownee.stat) //Mob is in critical. drownee.AdjustLoseBreath(6 SECONDS, bound_lower = 0, bound_upper = 40 SECONDS) - drownee.visible_message("\The [drownee] appears to be drowning!","You're quickly drowning!") //inform them that they are fucked. + drownee.visible_message(SPAN_DANGER("\The [drownee] appears to be drowning!"),SPAN_USERDANGER("You're quickly drowning!")) //inform them that they are fucked. else drownee.AdjustLoseBreath(4 SECONDS, bound_lower = 0, bound_upper = 40 SECONDS) //For every time you drown, you miss 2 breath attempts. Hope you catch on quick! if(prob(35)) //35% chance to tell them what is going on. They should probably figure it out before then. - drownee.visible_message("\The [drownee] flails, almost like [drownee.p_they()] [drownee.p_are()] drowning!","You're lacking air!") //*gasp* *gasp* *gasp* *gasp* *gasp* + drownee.visible_message(SPAN_DANGER("\The [drownee] flails, almost like [drownee.p_they()] [drownee.p_are()] drowning!"),SPAN_USERDANGER("You're lacking air!")) //*gasp* *gasp* *gasp* *gasp* *gasp* diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 2600b0fddb0..c1007ad5597 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -215,7 +215,7 @@ return TRUE if(isrobot(user) || is_ai(user)) if(ailock) - to_chat(user, "There seems to be a firewall preventing you from accessing this device.") + to_chat(user, SPAN_NOTICE("There seems to be a firewall preventing you from accessing this device.")) return TRUE else return FALSE @@ -242,10 +242,10 @@ /obj/machinery/porta_turret/ui_interact(mob/user, datum/tgui/ui = null) if(HasController()) - to_chat(user, "[src] can only be controlled using the assigned turret controller.") + to_chat(user, SPAN_NOTICE("[src] can only be controlled using the assigned turret controller.")) return if(!anchored) - to_chat(user, "[src] has to be secured first!") + to_chat(user, SPAN_NOTICE("[src] has to be secured first!")) return ui = SStgui.try_update_ui(user, src, ui) if(!ui) @@ -359,18 +359,18 @@ /obj/machinery/porta_turret/wrench_act(mob/living/user, obj/item/I) if(enabled || raised) - to_chat(user, "You cannot unsecure an active turret!") + to_chat(user, SPAN_WARNING("You cannot unsecure an active turret!")) return if(wrenching) - to_chat(user, "Someone is already [anchored ? "un" : ""]securing the turret!") + to_chat(user, SPAN_WARNING("Someone is already [anchored ? "un" : ""]securing the turret!")) return if(!anchored && isinspace()) - to_chat(user, "Cannot secure turrets in space!") + to_chat(user, SPAN_WARNING("Cannot secure turrets in space!")) return user.visible_message( \ - "[user] begins [anchored ? "un" : ""]securing the turret.", \ - "You begin [anchored ? "un" : ""]securing the turret." \ + SPAN_WARNING("[user] begins [anchored ? "un" : ""]securing the turret."), \ + SPAN_NOTICE("You begin [anchored ? "un" : ""]securing the turret.") \ ) wrenching = TRUE @@ -378,7 +378,7 @@ //This code handles moving the turret around. After all, it's a portable turret! playsound(loc, I.usesound, 100, 1) anchored = !anchored - to_chat(user, "You [anchored ? "" : "un"]secure the exterior bolts on the turret.") + to_chat(user, SPAN_NOTICE("You [anchored ? "" : "un"]secure the exterior bolts on the turret.")) wrenching = FALSE return TRUE @@ -390,17 +390,17 @@ return FALSE if(syndicate) - to_chat(user, "[src] is sealed tightly, tools won't help here.") + to_chat(user, SPAN_DANGER("[src] is sealed tightly, tools won't help here.")) return if(!(stat & BROKEN)) - to_chat(user, "[src] is in fine condition, you'd need to rough it up a bit if you wanted to disassemble it.") + to_chat(user, SPAN_NOTICE("[src] is in fine condition, you'd need to rough it up a bit if you wanted to disassemble it.")) return - to_chat(user, "You begin prying the metal coverings off.") + to_chat(user, SPAN_NOTICE("You begin prying the metal coverings off.")) if(!I.use_tool(src, user, 2 SECONDS, 0, 50)) return if(prob(70)) - to_chat(user, "You remove the turret and salvage some components.") + to_chat(user, SPAN_NOTICE("You remove the turret and salvage some components.")) if(installation) var/obj/item/gun/energy/Gun = new installation(loc) Gun.cell.charge = gun_charge @@ -414,7 +414,7 @@ if(prob(50)) new /obj/item/assembly/prox_sensor(loc) else - to_chat(user, "You remove the turret but did not manage to salvage anything.") + to_chat(user, SPAN_NOTICE("You remove the turret but did not manage to salvage anything.")) qdel(src) // qdel /obj/machinery/porta_turret/screwdriver_act(mob/living/user, obj/item/I) @@ -422,9 +422,9 @@ return FALSE if(!fitted_lens) - to_chat(user, "[src] has no attached lenses.") + to_chat(user, SPAN_NOTICE("[src] has no attached lenses.")) return - to_chat(user, "You remove the lens from [src]") + to_chat(user, SPAN_NOTICE("You remove the lens from [src]")) user.put_in_hands(fitted_lens) fitted_lens = null return TRUE @@ -435,23 +435,23 @@ else if(istype(used, /obj/item/card/id) || istype(used, /obj/item/pda)) if(HasController()) - to_chat(user, "Turrets regulated by a nearby turret controller are not unlockable.") + to_chat(user, SPAN_NOTICE("Turrets regulated by a nearby turret controller are not unlockable.")) else if(allowed(user)) locked = !locked - to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") + to_chat(user, SPAN_NOTICE("Controls are now [locked ? "locked" : "unlocked"].")) SStgui.update_uis(src) else - to_chat(user, "Access denied.") + to_chat(user, SPAN_NOTICE("Access denied.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/smithed_item/lens)) if(used.flags & NODROP || !user.drop_item() || !used.forceMove(src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE var/obj/item/smithed_item/lens/new_lens = used if(fitted_lens) - to_chat(user, "You swap the fitted lens in [src].") + to_chat(user, SPAN_NOTICE("You swap the fitted lens in [src].")) user.put_in_hands(fitted_lens) fitted_lens = new_lens return ITEM_INTERACT_COMPLETE @@ -476,10 +476,10 @@ if(M.melee_damage_upper == 0 || (M.melee_damage_type != BRUTE && M.melee_damage_type != BURN)) return if(!(stat & BROKEN)) - visible_message("[M] [M.attacktext] [src]!") + visible_message(SPAN_DANGER("[M] [M.attacktext] [src]!")) ..() else - to_chat(M, "That object is useless to you.") + to_chat(M, SPAN_DANGER("That object is useless to you.")) return /obj/machinery/porta_turret/handle_basic_attack(mob/living/basic/attacker, modifiers) @@ -488,10 +488,10 @@ if(attacker.melee_damage_upper == 0 || (attacker.melee_damage_type != BRUTE && attacker.melee_damage_type != BURN)) return FALSE if(!(stat & BROKEN)) - visible_message("[attacker] [attacker.attack_verb_continuous] [src]!") + visible_message(SPAN_DANGER("[attacker] [attacker.attack_verb_continuous] [src]!")) ..() else - to_chat(attacker, "That object is useless to you.") + to_chat(attacker, SPAN_DANGER("That object is useless to you.")) return TRUE /obj/machinery/porta_turret/attack_alien(mob/living/carbon/alien/humanoid/M) @@ -499,10 +499,10 @@ M.do_attack_animation(src) if(!(stat & BROKEN)) playsound(src.loc, 'sound/weapons/slash.ogg', 25, TRUE, -1) - visible_message("[M] has slashed at [src]!") + visible_message(SPAN_DANGER("[M] has slashed at [src]!")) take_damage(15) else - to_chat(M, "That object is useless to you.") + to_chat(M, SPAN_NOTICEALIEN("That object is useless to you.")) return /obj/machinery/porta_turret/emag_act(user as mob) @@ -510,7 +510,7 @@ //Emagging the turret makes it go bonkers and stun everyone. It also makes //the turret shoot much, much faster. if(user) - to_chat(user, "You short out [src]'s threat assessment circuits.") + to_chat(user, SPAN_WARNING("You short out [src]'s threat assessment circuits.")) visible_message("[src] hums oddly...") emagged = TRUE iconholder = 1 @@ -945,14 +945,14 @@ if(0) //first step if(iswrench(used) && !anchored) playsound(loc, used.usesound, 100, 1) - to_chat(user, "You secure the external bolts.") + to_chat(user, SPAN_NOTICE("You secure the external bolts.")) anchored = TRUE build_step = 1 return ITEM_INTERACT_COMPLETE else if(used.tool_behaviour == TOOL_CROWBAR && !anchored) playsound(loc, used.usesound, 75, 1) - to_chat(user, "You dismantle the turret construction.") + to_chat(user, SPAN_NOTICE("You dismantle the turret construction.")) new /obj/item/stack/sheet/metal( loc, 5) qdel(src) // qdel return ITEM_INTERACT_COMPLETE @@ -961,16 +961,16 @@ if(istype(used, /obj/item/stack/sheet/metal)) var/obj/item/stack/sheet/metal/M = used if(M.use(2)) - to_chat(user, "You add some metal armor to the interior frame.") + to_chat(user, SPAN_NOTICE("You add some metal armor to the interior frame.")) build_step = 2 icon_state = "turret_frame2" else - to_chat(user, "You need two sheets of metal to continue construction.") + to_chat(user, SPAN_WARNING("You need two sheets of metal to continue construction.")) return ITEM_INTERACT_COMPLETE else if(iswrench(used)) playsound(loc, used.usesound, 75, 1) - to_chat(user, "You unfasten the external bolts.") + to_chat(user, SPAN_NOTICE("You unfasten the external bolts.")) anchored = FALSE build_step = 0 return ITEM_INTERACT_COMPLETE @@ -978,7 +978,7 @@ if(2) if(iswrench(used)) playsound(loc, used.usesound, 100, 1) - to_chat(user, "You bolt the metal armor into place.") + to_chat(user, SPAN_NOTICE("You bolt the metal armor into place.")) build_step = 3 return ITEM_INTERACT_COMPLETE @@ -988,15 +988,15 @@ return ITEM_INTERACT_COMPLETE var/obj/item/gun/energy/E = used //typecasts the item to an energy gun if(!user.unequip(used)) - to_chat(user, "\the [used] is stuck to your hand, you cannot put it in \the [src]") + to_chat(user, SPAN_NOTICE("\the [used] is stuck to your hand, you cannot put it in \the [src]")) return ITEM_INTERACT_COMPLETE if(!E.can_fit_in_turrets) - to_chat(user, "[used] will not operate correctly in [src].") + to_chat(user, SPAN_NOTICE("[used] will not operate correctly in [src].")) return ITEM_INTERACT_COMPLETE installation = used.type //installation becomes used.type gun_charge = E.cell.charge //the gun's charge is stored in gun_charge gun_lens = E.current_lens - to_chat(user, "You add [used] to the turret.") + to_chat(user, SPAN_NOTICE("You add [used] to the turret.")) if(istype(E, /obj/item/gun/energy/laser/tag/blue)) target_type = /obj/machinery/porta_turret/tag/blue @@ -1011,18 +1011,18 @@ else if(iswrench(used)) playsound(loc, used.usesound, 100, 1) - to_chat(user, "You remove the turret's metal armor bolts.") + to_chat(user, SPAN_NOTICE("You remove the turret's metal armor bolts.")) build_step = 2 return ITEM_INTERACT_COMPLETE if(4) if(isprox(used)) if(!user.unequip(used, src)) - to_chat(user, "\the [used] is stuck to your hand, you cannot put it in \the [src]") + to_chat(user, SPAN_NOTICE("\the [used] is stuck to your hand, you cannot put it in \the [src]")) return ITEM_INTERACT_COMPLETE build_step = 5 qdel(used) - to_chat(user, "You add the prox sensor to the turret.") + to_chat(user, SPAN_NOTICE("You add the prox sensor to the turret.")) return ITEM_INTERACT_COMPLETE //attack_hand() removes the gun @@ -1036,16 +1036,16 @@ if(istype(used, /obj/item/stack/sheet/metal)) var/obj/item/stack/sheet/metal/M = used if(M.use(2)) - to_chat(user, "You add some metal armor to the exterior frame.") + to_chat(user, SPAN_NOTICE("You add some metal armor to the exterior frame.")) build_step = 7 else - to_chat(user, "You need two sheets of metal to continue construction.") + to_chat(user, SPAN_WARNING("You need two sheets of metal to continue construction.")) return ITEM_INTERACT_COMPLETE if(7) if(used.tool_behaviour == TOOL_CROWBAR) playsound(loc, used.usesound, 75, 1) - to_chat(user, "You pry off the turret's exterior armor.") + to_chat(user, SPAN_NOTICE("You pry off the turret's exterior armor.")) new /obj/item/stack/sheet/metal(loc, 2) build_step = 6 return ITEM_INTERACT_COMPLETE @@ -1058,10 +1058,10 @@ if(build_step == 5) build_step = 6 - to_chat(user, "You close the internal access hatch.") + to_chat(user, SPAN_NOTICE("You close the internal access hatch.")) else build_step = 5 - to_chat(user, "You open the internal access hatch.") + to_chat(user, SPAN_NOTICE("You open the internal access hatch.")) I.play_tool_sound(src) return TRUE @@ -1074,7 +1074,7 @@ if(build_step != 2) return build_step = 1 - to_chat(user, "You remove the turret's interior metal armor.") + to_chat(user, SPAN_NOTICE("You remove the turret's interior metal armor.")) new /obj/item/stack/sheet/metal(drop_location(), 2) else if(build_step == 7) if(!I.use_tool(src, user, 50, amount = 5, volume = I.tool_volume)) @@ -1082,7 +1082,7 @@ if(build_step != 7) return build_step = 8 - to_chat(user, "You weld the turret's armor down.") + to_chat(user, SPAN_NOTICE("You weld the turret's armor down.")) //The final step: create a full turret var/obj/machinery/porta_turret/Turret = new target_type(loc) @@ -1109,10 +1109,10 @@ Gun.update_icon() installation = null gun_charge = 0 - to_chat(user, "You remove [Gun] from the turret frame.") + to_chat(user, SPAN_NOTICE("You remove [Gun] from the turret frame.")) if(5) - to_chat(user, "You remove the prox sensor from the turret frame.") + to_chat(user, SPAN_NOTICE("You remove the prox sensor from the turret frame.")) new /obj/item/assembly/prox_sensor(loc) build_step = 4 diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm index f85877f0698..23766ec3a7f 100644 --- a/code/game/machinery/quantum_pad.dm +++ b/code/game/machinery/quantum_pad.dm @@ -69,9 +69,9 @@ M.set_multitool_buffer(user, src) else linked_pad = M.buffer - to_chat(user, "You link [src] to the one in [I]'s buffer.") + to_chat(user, SPAN_NOTICE("You link [src] to the one in [I]'s buffer.")) else - to_chat(user, "[src]'s target cannot be modified!") + to_chat(user, SPAN_NOTICE("[src]'s target cannot be modified!")) /obj/machinery/quantumpad/screwdriver_act(mob/user, obj/item/I) . = TRUE @@ -82,27 +82,27 @@ /obj/machinery/quantumpad/proc/check_usable(mob/user) . = FALSE if(panel_open) - to_chat(user, "The panel must be closed before operating this machine!") + to_chat(user, SPAN_WARNING("The panel must be closed before operating this machine!")) return if(!linked_pad || QDELETED(linked_pad)) - to_chat(user, "There is no linked pad!") + to_chat(user, SPAN_WARNING("There is no linked pad!")) return if(world.time < last_teleport + teleport_cooldown) - to_chat(user, "[src] is recharging power. Please wait [round((last_teleport + teleport_cooldown - world.time) / 10)] seconds.") + to_chat(user, SPAN_WARNING("[src] is recharging power. Please wait [round((last_teleport + teleport_cooldown - world.time) / 10)] seconds.")) return if(teleporting) - to_chat(user, "[src] is charging up. Please wait.") + to_chat(user, SPAN_WARNING("[src] is charging up. Please wait.")) return if(linked_pad.teleporting) - to_chat(user, "Linked pad is busy. Please wait.") + to_chat(user, SPAN_WARNING("Linked pad is busy. Please wait.")) return if(linked_pad.stat & NOPOWER) - to_chat(user, "Linked pad is not responding to ping.") + to_chat(user, SPAN_WARNING("Linked pad is not responding to ping.")) return return TRUE @@ -129,7 +129,7 @@ if(GLOB.cameranet && GLOB.cameranet.check_turf_vis(T)) AI.eyeobj.set_loc(T) else - to_chat(user, "Linked pad is not on or near any active cameras on the station.") + to_chat(user, SPAN_WARNING("Linked pad is not on or near any active cameras on the station.")) /obj/machinery/quantumpad/attack_ghost(mob/dead/observer/ghost) if(!QDELETED(linked_pad)) @@ -161,11 +161,11 @@ teleporting = FALSE return if(stat & NOPOWER) - to_chat(user, "[src] is unpowered!") + to_chat(user, SPAN_WARNING("[src] is unpowered!")) teleporting = FALSE return if(!linked_pad || QDELETED(linked_pad) || linked_pad.stat & NOPOWER) - to_chat(user, "Linked pad is not responding to ping. Teleport aborted.") + to_chat(user, SPAN_WARNING("Linked pad is not responding to ping. Teleport aborted.")) teleporting = FALSE return @@ -192,7 +192,7 @@ continue tele_success = do_teleport(ROI, get_turf(linked_pad), do_effect = FALSE) if(!tele_success) - to_chat(user, "Teleport failed due to bluespace interference.") + to_chat(user, SPAN_WARNING("Teleport failed due to bluespace interference.")) src.icon_state = "qpad-idle" linked_pad.icon_state = "qpad-idle" diff --git a/code/game/machinery/radar.dm b/code/game/machinery/radar.dm index 086d25d7a61..d113acbb881 100644 --- a/code/game/machinery/radar.dm +++ b/code/game/machinery/radar.dm @@ -141,13 +141,13 @@ switch(construction_state) if(RADAR_NEEDS_WELDING) - . += "The framework is damaged, and needs welding." + . += SPAN_NOTICE("The framework is damaged, and needs welding.") if(RADAR_NEEDS_PLASTEEL) - . += "The framework needs new plasteel plating." + . += SPAN_NOTICE("The framework needs new plasteel plating.") if(RADAR_NEEDS_WRENCH) - . += "The plating needs wrenching into place." + . += SPAN_NOTICE("The plating needs wrenching into place.") if(RADAR_NEEDS_SCREWDRIVER) - . += "The cover screws are loose." + . += SPAN_NOTICE("The cover screws are loose.") // Interaction @@ -160,7 +160,7 @@ . = TRUE if(!I.use_tool(src, user, null, 1, I.tool_volume)) return - to_chat(user, "You mend the damaged framework.") + to_chat(user, SPAN_NOTICE("You mend the damaged framework.")) construction_state = RADAR_NEEDS_PLASTEEL // Step 2 @@ -171,10 +171,10 @@ if(istype(used, /obj/item/stack/sheet/plasteel)) var/obj/item/stack/sheet/plasteel/PS = used if(PS.amount < 10) - to_chat(user, "You need 10 sheets of plasteel.") + to_chat(user, SPAN_WARNING("You need 10 sheets of plasteel.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You add new plating to the framework.") + to_chat(user, SPAN_NOTICE("You add new plating to the framework.")) construction_state = RADAR_NEEDS_WRENCH update_icon() return ITEM_INTERACT_COMPLETE @@ -188,7 +188,7 @@ . = TRUE if(!I.use_tool(src, user, volume = I.tool_volume)) return - to_chat(user, "You secure the plating to the framework.") + to_chat(user, SPAN_NOTICE("You secure the plating to the framework.")) construction_state = RADAR_NEEDS_SCREWDRIVER @@ -201,7 +201,7 @@ . = TRUE if(!I.use_tool(src, user, volume = I.tool_volume)) return - to_chat(user, "You screw the covers back into place.") + to_chat(user, SPAN_NOTICE("You screw the covers back into place.")) set_fixed() /obj/machinery/radar/RefreshParts() diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 8fc1238ac8f..263a60b3789 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -18,16 +18,16 @@ /obj/machinery/recharger/examine(mob/user) . = ..() if(charging && (!in_range(user, src) && !issilicon(user) && !isobserver(user))) - . += "You're too far away to examine [src]'s contents and display!" + . += SPAN_WARNING("You're too far away to examine [src]'s contents and display!") return if(charging) . += "There's [charging ? "\a [charging.name]" : "nothing"] in [src]." if(!(stat & (NOPOWER|BROKEN))) var/obj/item/stock_parts/cell/C = charging.get_cell() - . += "Current charge: [round(C.percent(), 1)]%." + . += SPAN_NOTICE("Current charge: [round(C.percent(), 1)]%.") if(using_power) - . += "- Recharging [((C.chargerate * recharge_coeff) / C.maxcharge) * 100]% cell charge per cycle." + . += SPAN_NOTICE("- Recharging [((C.chargerate * recharge_coeff) / C.maxcharge) * 100]% cell charge per cycle.") /obj/machinery/recharger/Initialize(mapload) @@ -48,25 +48,25 @@ return ..() if(!anchored) - to_chat(user, "[src] isn't connected to anything!") + to_chat(user, SPAN_NOTICE("[src] isn't connected to anything!")) return ITEM_INTERACT_COMPLETE if(panel_open) - to_chat(user, "Close the maintenance panel first!") + to_chat(user, SPAN_WARNING("Close the maintenance panel first!")) return ITEM_INTERACT_COMPLETE if(charging) - to_chat(user, "There's \a [charging] inserted in [src] already!") + to_chat(user, SPAN_WARNING("There's \a [charging] inserted in [src] already!")) return ITEM_INTERACT_COMPLETE //Checks to make sure he's not in space doing it, and that the area got proper power. var/area/A = get_area(src) if(!istype(A) || !A.powernet.has_power(PW_CHANNEL_EQUIPMENT)) - to_chat(user, "[src] blinks red as you try to insert [used].") + to_chat(user, SPAN_WARNING("[src] blinks red as you try to insert [used].")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/gun/energy)) var/obj/item/gun/energy/E = used if(!E.can_charge) - to_chat(user, "Your gun has no external power connector.") + to_chat(user, SPAN_NOTICE("Your gun has no external power connector.")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) @@ -87,10 +87,10 @@ /obj/machinery/recharger/screwdriver_act(mob/user, obj/item/I) . = TRUE if(!anchored) - to_chat(user, "[src] needs to be secured down first!") + to_chat(user, SPAN_WARNING("[src] needs to be secured down first!")) return if(charging) - to_chat(user, "Remove the charging item first!") + to_chat(user, SPAN_WARNING("Remove the charging item first!")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -106,10 +106,10 @@ if(!anchor_toggleable) // Unwrenching wall rechargers and dragging them off all kinds of cursed. return if(panel_open) - to_chat(user, "Close the maintenance panel first!") + to_chat(user, SPAN_WARNING("Close the maintenance panel first!")) return if(charging) - to_chat(user, "Remove the charging item first!") + to_chat(user, SPAN_WARNING("Remove the charging item first!")) return default_unfasten_wrench(user, I, 0) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index d07d7a946c6..5c02f5617e1 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -130,7 +130,7 @@ /obj/machinery/recharge_station/screwdriver_act(mob/user, obj/item/I) if(occupant) - to_chat(user, "The maintenance panel is locked.") + to_chat(user, SPAN_NOTICE("The maintenance panel is locked.")) return TRUE if(default_deconstruction_screwdriver(user, "borgdecon2", "borgcharger0", I)) return TRUE @@ -183,18 +183,18 @@ return if(get_dist(src, user) > 2 || get_dist(target, user) > 1) - to_chat(user, "[target] is too far away to put inside [src].") + to_chat(user, SPAN_NOTICE("[target] is too far away to put inside [src].")) return if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_WARNING("Close the maintenance panel first.")) return var/can_accept_user if(isrobot(target)) var/mob/living/silicon/robot/R = target if(occupant) - to_chat(R, "The cell is already occupied!") + to_chat(R, SPAN_WARNING("The cell is already occupied!")) return can_accept_user = TRUE @@ -204,13 +204,13 @@ if(H.stat == DEAD) return if(occupant) - to_chat(H, "The cell is already occupied!") + to_chat(H, SPAN_WARNING("The cell is already occupied!")) return if(ismodcontrol(H.back) || ismachineperson(H)) can_accept_user = TRUE if(!can_accept_user) - to_chat(user, "Only non-organics and people wearing modsuits may enter the recharger!") + to_chat(user, SPAN_NOTICE("Only non-organics and people wearing modsuits may enter the recharger!")) return target.stop_pulling() diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 0d7c47d3048..5cd6ddcebaf 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -82,7 +82,7 @@ /obj/machinery/recycler/cmag_act(mob/user) if(emagged) - to_chat(user, "The board is completely fried.") + to_chat(user, SPAN_WARNING("The board is completely fried.")) return FALSE if(!HAS_TRAIT(src, TRAIT_CMAGGED)) ADD_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG) @@ -90,12 +90,12 @@ emergency_mode = FALSE update_icon(UPDATE_ICON_STATE) playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - to_chat(user, "You use the jestographic sequencer on [src].") + to_chat(user, SPAN_NOTICE("You use the jestographic sequencer on [src].")) return TRUE /obj/machinery/recycler/emag_act(mob/user) if(HAS_TRAIT(src, TRAIT_CMAGGED)) - to_chat(user, "The access panel is coated in yellow ooze...") + to_chat(user, SPAN_WARNING("The access panel is coated in yellow ooze...")) return FALSE if(!emagged) emagged = TRUE @@ -103,7 +103,7 @@ emergency_mode = FALSE update_icon(UPDATE_ICON_STATE) playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - to_chat(user, "You use the cryptographic sequencer on [src].") + to_chat(user, SPAN_NOTICE("You use the cryptographic sequencer on [src].")) return TRUE /obj/machinery/recycler/update_icon_state() @@ -234,7 +234,7 @@ return eat_dir = turn(eat_dir, 90) - to_chat(user, "[src] will now accept items from [dir2text(eat_dir)].") + to_chat(user, SPAN_NOTICE("[src] will now accept items from [dir2text(eat_dir)].")) /obj/machinery/recycler/deathtrap name = "dangerous old crusher" diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index af21cc1f03b..4b581b7d914 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -316,7 +316,7 @@ GLOBAL_LIST_EMPTY(allRequestConsoles) announcer.author = id_card.assignment ? "[id_card.assignment] [id_card.registered_name]" : id_card.registered_name else reset_message() - to_chat(user, "You are not authorized to send announcements.") + to_chat(user, SPAN_WARNING("You are not authorized to send announcements.")) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE if(screen == RCS_SECONDARY) diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 6ef847ec2b8..31f90ea5914 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -214,14 +214,14 @@ return if(active) - user.visible_message("[bicon(src)] [user] deactivated the shield generator.", \ - "[bicon(src)] You deactivate the shield generator.", \ + user.visible_message(SPAN_NOTICE("[bicon(src)] [user] deactivated the shield generator."), \ + SPAN_NOTICE("[bicon(src)] You deactivate the shield generator."), \ "You hear heavy droning fade out.") shields_down() else if(anchored) - user.visible_message("[bicon(src)] [user] activated the shield generator.", \ - "[bicon(src)] You activate the shield generator.", \ + user.visible_message(SPAN_NOTICE("[bicon(src)] [user] activated the shield generator."), \ + SPAN_NOTICE("[bicon(src)] You activate the shield generator."), \ "You hear heavy droning.") shields_up() else @@ -235,7 +235,7 @@ return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/stack/cable_coil) && malfunction && is_open) var/obj/item/stack/cable_coil/coil = used - to_chat(user, "You begin to replace the wires.") + to_chat(user, SPAN_NOTICE("You begin to replace the wires.")) if(do_after(user, 30 * coil.toolspeed, target = src)) if(!src || !coil) return ITEM_INTERACT_COMPLETE @@ -243,7 +243,7 @@ health = max_health malfunction = FALSE playsound(loc, coil.usesound, 50, 1) - to_chat(user, "You repair [src]!") + to_chat(user, SPAN_NOTICE("You repair [src]!")) update_icon(UPDATE_ICON_STATE) return ITEM_INTERACT_COMPLETE @@ -252,7 +252,7 @@ locked = !locked to_chat(user, "The controls are now [locked ? "locked." : "unlocked."]") else - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ITEM_INTERACT_COMPLETE @@ -278,7 +278,7 @@ if(anchored) WRENCH_UNANCHOR_MESSAGE if(active) - visible_message("[src] shuts off!") + visible_message(SPAN_WARNING("[src] shuts off!")) shields_down() else if(isspaceturf(get_turf(src))) @@ -350,14 +350,14 @@ /obj/machinery/shieldwallgen/attack_hand(mob/user) if(!anchored) - to_chat(user, "The shield generator needs to be firmly secured to the floor first.") + to_chat(user, SPAN_WARNING("The shield generator needs to be firmly secured to the floor first.")) return TRUE if(locked && !issilicon(user)) - to_chat(user, "The controls are locked!") + to_chat(user, SPAN_WARNING("The controls are locked!")) return TRUE var/turf/T = loc if(!T.get_cable_node()) - to_chat(user, "The shield generator needs to be powered by wire underneath.") + to_chat(user, SPAN_WARNING("The shield generator needs to be powered by wire underneath.")) return TRUE if(!activated) @@ -365,8 +365,8 @@ else deactivate() - user.visible_message("[user] turned the shield generator [activated ? "on" : "off"].", \ - "You turn [activated ? "on" : "off"] the shield generator.", \ + user.visible_message(SPAN_NOTICE("[user] turned the shield generator [activated ? "on" : "off"]."), \ + SPAN_NOTICE("You turn [activated ? "on" : "off"] the shield generator."), \ "You hear heavy droning [activated ? "" : "fade out"].") update_icon(UPDATE_ICON_STATE) @@ -374,7 +374,7 @@ /obj/machinery/shieldwallgen/process() if(!try_charge_shields_power()) - visible_message("[name] shuts down due to lack of power!", \ + visible_message(SPAN_WARNING("[name] shuts down due to lack of power!"), \ "You hear heavy droning fade out") deactivate() update_icon(UPDATE_ICON_STATE) @@ -433,7 +433,7 @@ locked = !locked to_chat(user, "Controls are now [locked ? "locked." : "unlocked."]") else - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ITEM_INTERACT_COMPLETE @@ -443,7 +443,7 @@ /obj/machinery/shieldwallgen/wrench_act(mob/user, obj/item/I) . = TRUE if(activated) - to_chat(user, "Turn off the field generator first.") + to_chat(user, SPAN_WARNING("Turn off the field generator first.")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index 4b3391b7685..6200023c47b 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -138,17 +138,17 @@ */ /obj/machinery/economy/slot_machine/emag_act(user) if(emagged) - to_chat(user, "[src] is unresponsive. It is probably already modified.") + to_chat(user, SPAN_NOTICE("[src] is unresponsive. It is probably already modified.")) return playsound(loc, 'sound/effects/sparks4.ogg', 75, 1) emagged = TRUE - to_chat(user, "You engage the reverse-gripping mechanism on the machine's handle.") + to_chat(user, SPAN_NOTICE("You engage the reverse-gripping mechanism on the machine's handle.")) log_game("[key_name(user)] emagged [src]") return TRUE /// The spinning and throwing away is handled here, with a possible call to winning /obj/machinery/economy/slot_machine/proc/emagged_spinning(mob/living/user) - to_chat(user, "As you grip the handle of the machine, it grips back at you, and starts to wildly spin you around!") + to_chat(user, SPAN_DANGER("As you grip the handle of the machine, it grips back at you, and starts to wildly spin you around!")) user.SpinAnimation(speed = 2, loops = 6) emagged_game_in_progress = TRUE @@ -172,7 +172,7 @@ return // Find the right direction and throw the user away from the machine - to_chat(user, "The handle suddenly lets you go!") + to_chat(user, SPAN_USERDANGER("The handle suddenly lets you go!")) user.anchored = FALSE var/user_direction = get_dir(src, user) var/turf/throw_direction = get_edge_target_turf(user, user_direction) diff --git a/code/game/machinery/snow_machine.dm b/code/game/machinery/snow_machine.dm index f63b7dd26d5..7b5d9229e7f 100644 --- a/code/game/machinery/snow_machine.dm +++ b/code/game/machinery/snow_machine.dm @@ -25,7 +25,7 @@ /obj/machinery/snow_machine/examine(mob/user) . = ..() - . += "The internal reservoir indicates it is [infinite_snow ? "100" : round(reagents.total_volume / reagents.maximum_volume * 100)]% full." + . += SPAN_NOTICE("The internal reservoir indicates it is [infinite_snow ? "100" : round(reagents.total_volume / reagents.maximum_volume * 100)]% full.") /obj/machinery/snow_machine/RefreshParts() power_efficiency = 0 @@ -39,7 +39,7 @@ if(!has_power() || !anchored) return if(turn_on_or_off(!active)) - to_chat(user, "You [active ? "turn on" : "turn off"] [src].") + to_chat(user, SPAN_NOTICE("You [active ? "turn on" : "turn off"] [src].")) return ..() /obj/machinery/snow_machine/crowbar_act(mob/user, obj/item/I) @@ -129,7 +129,7 @@ /obj/machinery/snow_machine/proc/turn_on_or_off(activate, give_message = FALSE) active = activate ? TRUE : FALSE if(!active && give_message) - visible_message("[src] switches off!") + visible_message(SPAN_WARNING("[src] switches off!")) playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, FALSE) update_icon(UPDATE_ICON_STATE) return TRUE diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index b89b46785c4..7f6d10703d0 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -80,7 +80,7 @@ // insert cell var/obj/item/stock_parts/cell/C = used if(!user.drop_item()) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE component_parts += C @@ -88,8 +88,8 @@ cell.forceMove(src) C.add_fingerprint(user) user.visible_message( - "[user] inserts a power cell into [src].", - "You insert the power cell into [src]." + SPAN_NOTICE("[user] inserts a power cell into [src]."), + SPAN_NOTICE("You insert the power cell into [src].") ) return ITEM_INTERACT_COMPLETE @@ -115,7 +115,7 @@ /obj/machinery/space_heater/wrench_act(mob/living/user, obj/item/I) default_unfasten_wrench(user, I, 0) - return TRUE + return TRUE /obj/machinery/space_heater/attack_hand(mob/user as mob) src.add_fingerprint(user) @@ -145,7 +145,7 @@ else on = !on - user.visible_message("[user] switches [on ? "on" : "off"] [src].","You switch [on ? "on" : "off"] [src].") + user.visible_message(SPAN_NOTICE("[user] switches [on ? "on" : "off"] [src]."),SPAN_NOTICE("You switch [on ? "on" : "off"] [src].")) update_icon() return @@ -176,8 +176,8 @@ cell = null RefreshParts() usr.visible_message( - "[usr] removes the power cell from [src].", - "You remove the power cell from [src]." + SPAN_NOTICE("[usr] removes the power cell from [src]."), + SPAN_NOTICE("You remove the power cell from [src].") ) if("cellinstall") @@ -191,11 +191,11 @@ C.add_fingerprint(usr) usr.visible_message( - "[usr] inserts a power cell into [src].", - "You insert the power cell into [src]." + SPAN_NOTICE("[usr] inserts a power cell into [src]."), + SPAN_NOTICE("You insert the power cell into [src].") ) else - to_chat(usr, "[C] is stuck to your hand!") + to_chat(usr, SPAN_WARNING("[C] is stuck to your hand!")) updateDialog() else diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 29bc5bc119b..2f4008bb755 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -328,9 +328,9 @@ if(user.a_intent != INTENT_HELP) return ..() if(panel_open) - to_chat(usr, "Close the maintenance panel first.") + to_chat(usr, SPAN_WARNING("Close the maintenance panel first.")) else - to_chat(usr, "The unit is not operational.") + to_chat(usr, SPAN_WARNING("The unit is not operational.")) return ITEM_INTERACT_COMPLETE if(panel_open) wires.Interact(user) @@ -339,9 +339,9 @@ if(store_item(used, user)) update_icon(UPDATE_OVERLAYS) SStgui.update_uis(src) - to_chat(user, "You load [used] into the storage compartment.") + to_chat(user, SPAN_NOTICE("You load [used] into the storage compartment.")) else - to_chat(user, "You can't fit [used] into [src]!") + to_chat(user, SPAN_WARNING("You can't fit [used] into [src]!")) return ITEM_INTERACT_COMPLETE return ..() @@ -353,10 +353,10 @@ if(!I.use_tool(src, user, volume = I.tool_volume)) return if(occupant || helmet || suit || storage || boots) - to_chat(user, "There are contents that prevent you from deconstructing [src]!") + to_chat(user, SPAN_WARNING("There are contents that prevent you from deconstructing [src]!")) return if(locked) - to_chat(user, "The security system prevents you from deconstructing [src]!") + to_chat(user, SPAN_WARNING("The security system prevents you from deconstructing [src]!")) return dump_contents() // probably still a good idea for just incase? default_deconstruction_crowbar(user, I) @@ -431,19 +431,19 @@ return var/mob/living/target = A if(!state_open) - to_chat(user, "[src]'s doors are shut!") + to_chat(user, SPAN_WARNING("[src]'s doors are shut!")) return TRUE if(!is_operational()) - to_chat(user, "[src] is not operational!") + to_chat(user, SPAN_WARNING("[src] is not operational!")) return TRUE if(occupant || helmet || suit || storage) - to_chat(user, "It's too cluttered inside to fit in!") + to_chat(user, SPAN_WARNING("It's too cluttered inside to fit in!")) return TRUE if(target == user) - user.visible_message("[user] starts squeezing into [src]!", "You start working your way into [src]...") + user.visible_message(SPAN_WARNING("[user] starts squeezing into [src]!"), SPAN_NOTICE("You start working your way into [src]...")) else - target.visible_message("[user] starts shoving [target] into [src]!", "[user] starts shoving you into [src]!") + target.visible_message(SPAN_WARNING("[user] starts shoving [target] into [src]!"), SPAN_USERDANGER("[user] starts shoving you into [src]!")) INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/machinery/suit_storage_unit, put_in), user, target) return TRUE @@ -453,9 +453,9 @@ if(occupant || helmet || suit || storage) return if(target == user) - user.visible_message("[user] slips into [src] and closes the door behind [user.p_them()]!", "You slip into [src]'s cramped space and shut its door.") + user.visible_message(SPAN_WARNING("[user] slips into [src] and closes the door behind [user.p_them()]!"), SPAN_NOTICE("You slip into [src]'s cramped space and shut its door.")) else - target.visible_message("[user] pushes [target] into [src] and shuts its door!", "[user] shoves you into [src] and shuts the door!") + target.visible_message(SPAN_WARNING("[user] pushes [target] into [src] and shuts its door!"), SPAN_USERDANGER("[user] shoves you into [src] and shuts the door!")) close_machine(target) if(occupant == target) QDEL_LIST_CONTENTS(target.grabbed_by) @@ -480,7 +480,7 @@ A.clean_blood(radiation_clean = FALSE) // we invoke the radiation cleaning proc directly A.clean_radiation(12) // instead of letting clean_blood do it if(uv_super) - visible_message("[src]'s door creaks open with a loud whining noise. A cloud of foul black smoke escapes from its chamber.") + visible_message(SPAN_WARNING("[src]'s door creaks open with a loud whining noise. A cloud of foul black smoke escapes from its chamber.")) playsound(src, 'sound/machines/airlock_alien_prying.ogg', 50, 1) if(suit && !(suit.resistance_flags & LAVA_PROOF)) qdel(suit) @@ -500,9 +500,9 @@ else if(!occupant) - visible_message("[src]'s door slides open. The glowing yellow lights dim to a gentle green.") + visible_message(SPAN_NOTICE("[src]'s door slides open. The glowing yellow lights dim to a gentle green.")) else - visible_message("[src]'s door slides open, barraging you with the nauseating smell of charred flesh.") + visible_message(SPAN_WARNING("[src]'s door slides open, barraging you with the nauseating smell of charred flesh.")) playsound(src, 'sound/machines/airlock_close.ogg', 25, 1) if(occupant) dump_contents() @@ -513,7 +513,7 @@ if(locked) if(message_cooldown <= world.time) message_cooldown = world.time + 50 - to_chat(user, "[src]'s door won't budge!") + to_chat(user, SPAN_WARNING("[src]'s door won't budge!")) return open_machine() dump_contents() @@ -523,21 +523,21 @@ open_machine() dump_contents() return - user.visible_message("You see [user] kicking against the doors of [src]!", \ - "You start kicking against the doors... (this will take about [DisplayTimeText(breakout_time)].)", \ - "You hear a thump from [src].") + user.visible_message(SPAN_NOTICE("You see [user] kicking against the doors of [src]!"), \ + SPAN_NOTICE("You start kicking against the doors... (this will take about [DisplayTimeText(breakout_time)].)"), \ + SPAN_ITALICS("You hear a thump from [src].")) if(do_after(user,(breakout_time), target = src)) if(!user || user.stat != CONSCIOUS || user.loc != src) return - user.visible_message("[user] successfully broke out of [src]!", \ - "You successfully break out of [src]!") + user.visible_message(SPAN_WARNING("[user] successfully broke out of [src]!"), \ + SPAN_NOTICE("You successfully break out of [src]!")) open_machine() dump_contents() add_fingerprint(user) if(locked) - visible_message("You see [user] kicking against the doors of [src]!", \ - "You start kicking against the doors...") + visible_message(SPAN_NOTICE("You see [user] kicking against the doors of [src]!"), \ + SPAN_NOTICE("You start kicking against the doors...")) addtimer(CALLBACK(src, PROC_REF(resist_open), user), 300) else open_machine() @@ -545,8 +545,8 @@ /obj/machinery/suit_storage_unit/proc/resist_open(mob/user) if(!state_open && occupant && (user in src) && !user.stat) // Check they're still here. - visible_message("You see [user] burst out of [src]!", \ - "You escape the cramped confines of [src]!") + visible_message(SPAN_NOTICE("You see [user] burst out of [src]!"), \ + SPAN_NOTICE("You escape the cramped confines of [src]!")) open_machine() //eventually move these onto the parent.... @@ -591,7 +591,7 @@ /obj/machinery/suit_storage_unit/proc/check_allowed(user) if(!(allowed(user) || !secure)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return FALSE return TRUE @@ -714,7 +714,7 @@ /obj/machinery/suit_storage_unit/proc/toggle_open(mob/user as mob) if(locked || uv) - to_chat(user, "Unable to open unit.") + to_chat(user, SPAN_DANGER("Unable to open unit.")) return if(occupant) eject_occupant(user) @@ -723,7 +723,7 @@ /obj/machinery/suit_storage_unit/proc/toggle_lock(mob/user as mob) if(occupant && safeties) - to_chat(user, "The unit's safety protocols disallow locking when a biological form is detected inside its compartments.") + to_chat(user, SPAN_WARNING("The unit's safety protocols disallow locking when a biological form is detected inside its compartments.")) return if(state_open) return @@ -738,9 +738,9 @@ if(user) if(user != occupant) - to_chat(occupant, "The machine kicks you out!") + to_chat(occupant, SPAN_WARNING("The machine kicks you out!")) if(user.loc != loc) - to_chat(occupant, "You leave the not-so-cozy confines of [src].") + to_chat(occupant, SPAN_WARNING("You leave the not-so-cozy confines of [src].")) occupant.forceMove(loc) occupant = null if(!state_open) @@ -760,10 +760,10 @@ /obj/machinery/suit_storage_unit/emag_act(mob/user) if(uv) - to_chat(user, "[src] is currently undergoing a disinfection cycle, it wont open.") + to_chat(user, SPAN_WARNING("[src] is currently undergoing a disinfection cycle, it wont open.")) return playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - to_chat(user, "You short out [src]'s internal circuitry, causing its safeties to fail, and dumping its contents.") + to_chat(user, SPAN_WARNING("You short out [src]'s internal circuitry, causing its safeties to fail, and dumping its contents.")) open_machine() dump_contents() eject_occupant() diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index c7084198f57..d457a7e3505 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -18,7 +18,7 @@ /obj/machinery/power/singularity_beacon/proc/Activate(mob/user = null) if(get_surplus() < 1500) if(user) - to_chat(user, "The connected wire doesn't have enough current.") + to_chat(user, SPAN_NOTICE("The connected wire doesn't have enough current.")) return for(var/thing in GLOB.singularities) var/obj/singularity/singulo = thing @@ -28,7 +28,7 @@ active = TRUE START_PROCESSING(SSmachines, src) if(user) - to_chat(user, "You activate the beacon.") + to_chat(user, SPAN_NOTICE("You activate the beacon.")) /obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null) @@ -39,7 +39,7 @@ icon_state = "[icontype]0" active = FALSE if(user) - to_chat(user, "You deactivate the beacon.") + to_chat(user, SPAN_NOTICE("You deactivate the beacon.")) /obj/machinery/power/singularity_beacon/attack_ai(mob/user as mob) return @@ -48,19 +48,19 @@ if(anchored) return active ? Deactivate(user) : Activate(user) else - to_chat(user, "You need to screw the beacon to the floor first!") + to_chat(user, SPAN_WARNING("You need to screw the beacon to the floor first!")) return /obj/machinery/power/singularity_beacon/screwdriver_act(mob/user, obj/item/I) . = TRUE if(active) - to_chat(user, "You need to deactivate the beacon first!") + to_chat(user, SPAN_WARNING("You need to deactivate the beacon first!")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(anchored) anchored = FALSE - to_chat(user, "You unscrew the beacon from the floor.") + to_chat(user, SPAN_NOTICE("You unscrew the beacon from the floor.")) disconnect_from_network() return else @@ -68,7 +68,7 @@ to_chat(user, "This device must be placed over an exposed cable.") return anchored = TRUE - to_chat(user, "You screw the beacon to the floor and attach the cable.") + to_chat(user, SPAN_NOTICE("You screw the beacon to the floor and attach the cable.")) /obj/machinery/power/singularity_beacon/Destroy() if(active) diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index d990838727c..f04aae68a48 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -123,10 +123,10 @@ if(!user.drop_item()) return ITEM_INTERACT_COMPLETE payload = used - to_chat(user, "You place [payload] into [src].") + to_chat(user, SPAN_NOTICE("You place [payload] into [src].")) payload.forceMove(src) else - to_chat(user, "[payload] is already loaded into [src], you'll have to remove it first.") + to_chat(user, SPAN_NOTICE("[payload] is already loaded into [src], you'll have to remove it first.")) return ITEM_INTERACT_COMPLETE return ..() @@ -139,18 +139,18 @@ return if(!anchored) if(!isturf(loc) || isspaceturf(loc)) - to_chat(user, "The bomb must be placed on solid ground to attach it.") + to_chat(user, SPAN_NOTICE("The bomb must be placed on solid ground to attach it.")) else WRENCH_ANCHOR_MESSAGE anchored = TRUE if(active) - to_chat(user, "The bolts lock in place.") + to_chat(user, SPAN_NOTICE("The bolts lock in place.")) else if(!active) WRENCH_UNANCHOR_MESSAGE anchored = FALSE else - to_chat(user, "The bolts are locked down!") + to_chat(user, SPAN_WARNING("The bolts are locked down!")) /obj/machinery/syndicatebomb/screwdriver_act(mob/user, obj/item/I) . = TRUE @@ -158,7 +158,7 @@ return open_panel = !open_panel update_icon(UPDATE_ICON_STATE) - to_chat(user, "You [open_panel ? "open" : "close"] the wire panel.") + to_chat(user, SPAN_NOTICE("You [open_panel ? "open" : "close"] the wire panel.")) /obj/machinery/syndicatebomb/wirecutter_act(mob/user, obj/item/I) if(!open_panel) @@ -182,15 +182,15 @@ return if(open_panel && wires.is_all_cut()) if(payload) - to_chat(user, "You carefully pry out [payload].") + to_chat(user, SPAN_NOTICE("You carefully pry out [payload].")) payload.loc = user.loc payload = null else - to_chat(user, "There isn't anything in here to remove!") + to_chat(user, SPAN_WARNING("There isn't anything in here to remove!")) else if(open_panel) - to_chat(user, "The wires connecting the shell to the explosives are holding it down!") + to_chat(user, SPAN_WARNING("The wires connecting the shell to the explosives are holding it down!")) else - to_chat(user, "The cover is screwed on, it won't pry off!") + to_chat(user, SPAN_WARNING("The cover is screwed on, it won't pry off!")) /obj/machinery/syndicatebomb/welder_act(mob/user, obj/item/I) . = TRUE @@ -222,7 +222,7 @@ settings(user) return else if(anchored) - to_chat(user, "The bomb is bolted to the floor!") + to_chat(user, SPAN_NOTICE("The bomb is bolted to the floor!")) /obj/machinery/syndicatebomb/proc/can_interact(mob/user) if(user.can_advanced_admin_interact()) @@ -234,7 +234,7 @@ if(!Adjacent(user)) return FALSE if(!allowed(user)) - to_chat(user, "Access denied!") + to_chat(user, SPAN_WARNING("Access denied!")) return FALSE return TRUE @@ -250,14 +250,14 @@ var/new_timer = input(user, "Please set the timer.", "Timer", "[timer_set]") as num if(can_interact(user)) //No running off and setting bombs from across the station timer_set = clamp(new_timer, minimum_timer, maximum_timer) - loc.visible_message("[bicon(src)] timer set for [timer_set] seconds.") + loc.visible_message(SPAN_NOTICE("[bicon(src)] timer set for [timer_set] seconds.")) if(tgui_alert(user, "Would you like to start the countdown now?", "Countdown", list("Yes", "No")) == "Yes" && can_interact(user)) if(defused || active) if(defused) - loc.visible_message("[bicon(src)] Device error: User intervention required.") + loc.visible_message(SPAN_NOTICE("[bicon(src)] Device error: User intervention required.")) return else - loc.visible_message("[bicon(src)] [timer_set] seconds until detonation, please clear the area.") + loc.visible_message(SPAN_DANGER("[bicon(src)] [timer_set] seconds until detonation, please clear the area.")) activate() update_icon(UPDATE_ICON_STATE) add_fingerprint(user) @@ -394,7 +394,7 @@ var/obj/machinery/syndicatebomb/holder = loc if(istype(holder)) attempts++ - holder.loc.visible_message("[bicon(holder)] Alert: Bomb has detonated. Your score is now [defusals] for [attempts]. Resetting wires...") + holder.loc.visible_message(SPAN_DANGER("[bicon(holder)] Alert: Bomb has detonated. Your score is now [defusals] for [attempts]. Resetting wires...")) reset() else qdel(src) @@ -404,7 +404,7 @@ if(istype(holder)) attempts++ defusals++ - holder.loc.visible_message("[bicon(holder)] Alert: Bomb has been defused. Your score is now [defusals] for [attempts]! Resetting wires in 5 seconds...") + holder.loc.visible_message(SPAN_NOTICE("[bicon(holder)] Alert: Bomb has been defused. Your score is now [defusals] for [attempts]! Resetting wires in 5 seconds...")) sleep(50) //Just in case someone is trying to remove the bomb core this gives them a little window to crowbar it out if(istype(holder)) reset() @@ -479,7 +479,7 @@ adminlogged = TRUE empulse(src, heavy_emp, light_emp, 1) if(pulse_number <= 1) - src.visible_message("The bomb's core burns out, and the bomb disintegrates into ash.") + src.visible_message(SPAN_WARNING("The bomb's core burns out, and the bomb disintegrates into ash.")) new /obj/effect/decal/cleanable/ash(get_turf(src)) if(loc && istype(loc, /obj/machinery/syndicatebomb)) qdel(loc) @@ -557,10 +557,10 @@ if(!user.drop_item()) return beakers += I - to_chat(user, "You load [src] with [I].") + to_chat(user, SPAN_NOTICE("You load [src] with [I].")) I.loc = src else - to_chat(user, "[I] won't fit! [src] can only hold up to [max_beakers] containers.") + to_chat(user, SPAN_WARNING("[I] won't fit! [src] can only hold up to [max_beakers] containers.")) return else return ..() @@ -627,13 +627,13 @@ if(!ttv && !check_attached(I)) if(!user.drop_item()) return - to_chat(user, "You load [src] with [I].") + to_chat(user, SPAN_NOTICE("You load [src] with [I].")) ttv = I I.forceMove(src) else if(ttv) - to_chat(user, "Another tank transfer valve is already loaded.") + to_chat(user, SPAN_WARNING("Another tank transfer valve is already loaded.")) else - to_chat(user, "Remove the attached assembly component first.") + to_chat(user, SPAN_WARNING("Remove the attached assembly component first.")) else return ..() @@ -680,7 +680,7 @@ /obj/item/syndicatedetonator/attack_self__legacy__attackchain(mob/user) if(timer >= world.time) - to_chat(user, "Nothing happens.") + to_chat(user, SPAN_ALERT("Nothing happens.")) return for(var/obj/machinery/syndicatebomb/B in SSmachines.get_by_type(/obj/machinery/syndicatebomb)) @@ -691,7 +691,7 @@ playsound(user, 'sound/machines/click.ogg', 20, TRUE) flick("bigred_press", src) - to_chat(user, "[existant] found, [detonated] triggered.") + to_chat(user, SPAN_NOTICE("[existant] found, [detonated] triggered.")) if(detonated) var/turf/T = get_turf(src) var/area/A = get_area(T) diff --git a/code/game/machinery/tcomms/nttc.dm b/code/game/machinery/tcomms/nttc.dm index 30423ec42b2..0894f788e38 100644 --- a/code/game/machinery/tcomms/nttc.dm +++ b/code/game/machinery/tcomms/nttc.dm @@ -220,7 +220,7 @@ // Fucking broken as shit, someone help me fix this. /datum/nttc_configuration/proc/nttc_deserialize(text, ckey) if(word_blacklist.Find(text)) //uh oh, they tried to be naughty - message_admins("EXPLOIT WARNING: [ckey] attempted to upload an NTTC configuration containing JS abusable tags!") + message_admins("[SPAN_DANGER("EXPLOIT WARNING: ")] [ckey] attempted to upload an NTTC configuration containing JS abusable tags!") log_admin("EXPLOIT WARNING: [ckey] attempted to upload an NTTC configuration containing JS abusable tags") return FALSE var/list/var_list = json_decode(text) diff --git a/code/game/machinery/tcomms/relay.dm b/code/game/machinery/tcomms/relay.dm index 4a9aee89a9e..8e366273a64 100644 --- a/code/game/machinery/tcomms/relay.dm +++ b/code/game/machinery/tcomms/relay.dm @@ -33,7 +33,7 @@ if(check_power_on()) active = TRUE else - visible_message("Error: Another relay is already active in this sector. Power-up cancelled due to radio interference.") + visible_message(SPAN_WARNING("Error: Another relay is already active in this sector. Power-up cancelled due to radio interference.")) update_icon() if(mapload && autolink_id) return INITIALIZE_HINT_LATELOAD @@ -191,13 +191,13 @@ if(linked_core) linked_core.refresh_zlevels() else - to_chat(usr, "Error: Another relay is already active in this sector. Power-up cancelled due to radio interference.") + to_chat(usr, SPAN_WARNING("Error: Another relay is already active in this sector. Power-up cancelled due to radio interference.")) // Set network ID if("network_id") var/new_id = input(usr, "Please enter a new network ID", "Network ID", network_id) log_action(usr, "renamed core with ID [network_id] to [new_id]") - to_chat(usr, "Device ID changed from [network_id] to [new_id].") + to_chat(usr, SPAN_NOTICE("Device ID changed from [network_id] to [new_id].")) network_id = new_id // Only do these hrefs if we are linked to prevent bugs/exploits @@ -223,16 +223,16 @@ if(istype(C, /obj/machinery/tcomms/core)) if(password_bypass) AddLink(C) - to_chat(usr, "Successfully linked to [C.network_id].") + to_chat(usr, SPAN_NOTICE("Successfully linked to [C.network_id].")) return var/user_pass = input(usr, "Please enter core password","Password Entry") // Check the password if(user_pass == C.link_password) AddLink(C) - to_chat(usr, "Successfully linked to [C.network_id].") + to_chat(usr, SPAN_NOTICE("Successfully linked to [C.network_id].")) else - to_chat(usr, "ERROR: Password incorrect.") + to_chat(usr, SPAN_ALERT("ERROR: Password incorrect.")) else - to_chat(usr, "ERROR: Core not found. Please file an issue report.") + to_chat(usr, SPAN_ALERT("ERROR: Core not found. Please file an issue report.")) diff --git a/code/game/machinery/tcomms/tcomms_base.dm b/code/game/machinery/tcomms/tcomms_base.dm index 166b3c86aed..0c66555ac18 100644 --- a/code/game/machinery/tcomms/tcomms_base.dm +++ b/code/game/machinery/tcomms/tcomms_base.dm @@ -133,7 +133,7 @@ GLOBAL_LIST_EMPTY(tcomms_machines) if(active) active = FALSE // This needs a timer because otherwise its on the shuttle Z and the message is missed - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, visible_message), "Radio equipment on [src] has suffered an unidentified malfunction. Please restart the machine."), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, visible_message), SPAN_WARNING("Radio equipment on [src] has suffered an unidentified malfunction. Please restart the machine.")), 5) update_icon(UPDATE_ICON_STATE) diff --git a/code/game/machinery/tcomms/tcomms_core.dm b/code/game/machinery/tcomms/tcomms_core.dm index cbca3e92714..1717fdc06e3 100644 --- a/code/game/machinery/tcomms/tcomms_core.dm +++ b/code/game/machinery/tcomms/tcomms_core.dm @@ -40,7 +40,7 @@ if(check_power_on()) active = TRUE else - visible_message("Error: Another core is already active in this sector. Power-up cancelled due to radio interference.") + visible_message(SPAN_WARNING("Error: Another core is already active in this sector. Power-up cancelled due to radio interference.")) update_icon() RegisterSignal(SSdcs, COMSIG_GLOB_NEW_Z, PROC_REF(on_new_z)) @@ -248,7 +248,7 @@ active = !active update_icon() else - to_chat(usr, "Error: Another core is already active in this sector. Power-up cancelled due to radio interference.") + to_chat(usr, SPAN_WARNING("Error: Another core is already active in this sector. Power-up cancelled due to radio interference.")) // NTTC Toggles if("nttc_toggle_jobs") @@ -271,7 +271,7 @@ if(!card_style) return nttc.job_indicator_type = card_style - to_chat(usr, "Jobs will now have the style of [card_style].") + to_chat(usr, SPAN_NOTICE("Jobs will now have the style of [card_style].")) log_action(usr, "has set NTTC job card format to [card_style]") // Language Settings @@ -281,10 +281,10 @@ return if(new_language == "--DISABLE--") nttc.setting_language = null - to_chat(usr, "Language conversion disabled.") + to_chat(usr, SPAN_NOTICE("Language conversion disabled.")) else nttc.setting_language = new_language - to_chat(usr, "Messages will now be converted to [new_language].") + to_chat(usr, SPAN_NOTICE("Messages will now be converted to [new_language].")) log_action(usr, new_language == "--DISABLE--" ? "disabled NTTC language conversion" : "set NTTC language conversion to [new_language]", TRUE) @@ -305,7 +305,7 @@ if(!new_id) return log_action(usr, "renamed core with ID [network_id] to [new_id]") - to_chat(usr, "Device ID changed from [network_id] to [new_id].") + to_chat(usr, SPAN_NOTICE("Device ID changed from [network_id] to [new_id].")) network_id = new_id if("unlink") @@ -316,14 +316,14 @@ log_action(usr, "has unlinked tcomms relay with ID [R.network_id] from tcomms core with ID [network_id]", TRUE) R.Reset() else - to_chat(usr, "ERROR: Relay not found. Please file an issue report.") + to_chat(usr, SPAN_ALERT("ERROR: Relay not found. Please file an issue report.")) if("change_password") var/new_password = tgui_input_text(usr, "Please enter a new password", "New Password", link_password) if(!new_password) return log_action(usr, "has changed the password on core with ID [network_id] from [link_password] to [new_password]") - to_chat(usr, "Successfully changed password from [link_password] to [new_password].") + to_chat(usr, SPAN_NOTICE("Successfully changed password from [link_password] to [new_password].")) link_password = new_password if("add_filter") @@ -332,22 +332,22 @@ if(!name_to_add) return if(name_to_add in nttc.filtering) - to_chat(usr, "ERROR: User already in filtering list.") + to_chat(usr, SPAN_ALERT("ERROR: User already in filtering list.")) else nttc.filtering |= name_to_add log_action(usr, "has added [name_to_add] to the NTTC filter list on core with ID [network_id]", TRUE) - to_chat(usr, "Successfully added [name_to_add] to the NTTC filtering list.") + to_chat(usr, SPAN_NOTICE("Successfully added [name_to_add] to the NTTC filtering list.")) if("remove_filter") var/name_to_remove = params["user"] if(!(name_to_remove in nttc.filtering)) - to_chat(usr, "ERROR: Name does not exist in filter list. Please file an issue report.") + to_chat(usr, SPAN_ALERT("ERROR: Name does not exist in filter list. Please file an issue report.")) else var/confirm = tgui_alert(usr, "Are you sure you want to remove [name_to_remove] from the filtering list?", "Confirm Removal", list("Yes", "No")) if(confirm == "Yes") nttc.filtering -= name_to_remove log_action(usr, "has removed [name_to_remove] from the NTTC filter list on core with ID [network_id]", TRUE) - to_chat(usr, "Successfully removed [name_to_remove] from the NTTC filtering list.") + to_chat(usr, SPAN_NOTICE("Successfully removed [name_to_remove] from the NTTC filtering list.")) /obj/machinery/tcomms/core/proc/on_new_z(datum/source, name, linkage, list/traits, transition_tag, level_type, z_level) SIGNAL_HANDLER // COMSIG_GLOB_NEW_Z diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index f368aeb144f..3ce19bdc2b8 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -52,10 +52,10 @@ var/obj/item/gps/L = used if(L.locked_location && !(stat & (NOPOWER|BROKEN))) if(!user.transfer_item_to(L, src)) - to_chat(user, "[used] is stuck to your hand, you cannot put it in [src]") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand, you cannot put it in [src]")) return ITEM_INTERACT_COMPLETE locked = L - to_chat(user, "You insert the GPS device into [src]'s slot.") + to_chat(user, SPAN_CAUTION("You insert the GPS device into [src]'s slot.")) return ITEM_INTERACT_COMPLETE return ..() @@ -63,7 +63,7 @@ /obj/machinery/computer/teleporter/emag_act(mob/user) if(!emagged) emagged = TRUE - to_chat(user, "The teleporter can now lock on to Syndicate beacons!") + to_chat(user, SPAN_NOTICE("The teleporter can now lock on to Syndicate beacons!")) return TRUE else ui_interact(user) @@ -342,13 +342,13 @@ var/mob/living/silicon/ai/T = A if(T.allow_teleporter) return FALSE - var/list/TPError = list("Firmware instructions dictate you must remain on your assigned station!", - "You cannot interface with this technology and get rejected!", - "External firewalls prevent you from utilizing this machine!", - "Your AI core's anti-bluespace failsafes trigger and prevent teleportation!") + var/list/TPError = list(SPAN_WARNING("Firmware instructions dictate you must remain on your assigned station!"), + SPAN_WARNING("You cannot interface with this technology and get rejected!"), + SPAN_WARNING("External firewalls prevent you from utilizing this machine!"), + SPAN_WARNING("Your AI core's anti-bluespace failsafes trigger and prevent teleportation!")) to_chat(T, "[pick(TPError)]") - visible_message("The teleporter rejects the AI unit.") + visible_message(SPAN_WARNING("The teleporter rejects the AI unit.")) return TRUE return FALSE @@ -425,7 +425,7 @@ return if(power_station && power_station.engaged && !panel_open && !blockAI(entered) && !iseffect(entered)) if(!teleport(entered) && isliving(entered)) // the isliving(M) is needed to avoid triggering errors if a spark bumps the telehub - visible_message("[src] emits a loud buzz, as its teleport portal flickers and fails!") + visible_message(SPAN_WARNING("[src] emits a loud buzz, as its teleport portal flickers and fails!")) playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, FALSE) power_station.toggle() // turn off the portal. use_power(5000) @@ -447,11 +447,11 @@ if(MAX_ALLOWED_TELEPORTS_PER_PROCESS <= teleports_this_cycle) return if(!com.target) - visible_message("Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.") + visible_message(SPAN_ALERT("Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.")) return if(istype(M, /atom/movable)) if(!calibrated && com.cc_beacon) - visible_message("Cannot lock on target. Please calibrate the teleporter before attempting long range teleportation.") + visible_message(SPAN_ALERT("Cannot lock on target. Please calibrate the teleporter before attempting long range teleportation.")) else if(!calibrated && prob(25 - ((accurate) * 10)) && !com.cc_beacon) //oh dear a problem var/list/target_z = levels_by_trait(SPAWN_RUINS) target_z -= M.z //Where to sir? Anywhere but here. @@ -718,12 +718,12 @@ /obj/machinery/teleport/station/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(panel_open && istype(used, /obj/item/circuitboard/teleporter_perma)) if(!teleporter_console) - to_chat(user, "[src] is not linked to a teleporter console.") + to_chat(user, SPAN_CAUTION("[src] is not linked to a teleporter console.")) return ITEM_INTERACT_COMPLETE var/obj/item/circuitboard/teleporter_perma/C = used C.target = teleporter_console.target - to_chat(user, "You copy the targeting information from [src] to [C].") + to_chat(user, SPAN_CAUTION("You copy the targeting information from [src] to [C].")) return ITEM_INTERACT_COMPLETE return ..() @@ -744,9 +744,9 @@ if(length(linked_stations) < efficiency) linked_stations.Add(M.buffer) M.buffer = null - to_chat(user, "You upload the data from [M]'s buffer.") + to_chat(user, SPAN_CAUTION("You upload the data from [M]'s buffer.")) else - to_chat(user, "This station can't hold more information, try to use better parts.") + to_chat(user, SPAN_ALERT("This station can't hold more information, try to use better parts.")) return M.set_multitool_buffer(user, src) @@ -761,7 +761,7 @@ return if(panel_open) link_console_and_hub() - to_chat(user, "You reconnect the station to nearby machinery.") + to_chat(user, SPAN_CAUTION("You reconnect the station to nearby machinery.")) /obj/machinery/teleport/station/attack_ai() @@ -771,20 +771,20 @@ if(!panel_open) toggle(user) else - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_NOTICE("Close the maintenance panel first.")) /obj/machinery/teleport/station/proc/toggle(mob/user) if(stat & (BROKEN|NOPOWER) || !teleporter_hub || !teleporter_console) return if(teleporter_hub.panel_open) - to_chat(user, "Close the hub's maintenance panel first.") + to_chat(user, SPAN_NOTICE("Close the hub's maintenance panel first.")) return if(teleporter_console.target) engaged = !engaged use_power(5000) - visible_message("Teleporter [engaged ? "" : "dis"]engaged!") + visible_message(SPAN_NOTICE("Teleporter [engaged ? "" : "dis"]engaged!")) else - visible_message("No target detected.") + visible_message(SPAN_ALERT("No target detected.")) engaged = FALSE teleporter_hub.update_icon(UPDATE_ICON_STATE | UPDATE_OVERLAYS) teleporter_hub.update_lighting() diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index a31ee0140c2..2695d1ec536 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -248,7 +248,7 @@ if(!istype(H)) return if(!ispath(selected_outfit, /datum/outfit)) - to_chat(H, "This equipper is not properly configured! 'selected_outfit': '[selected_outfit]'") + to_chat(H, SPAN_WARNING("This equipper is not properly configured! 'selected_outfit': '[selected_outfit]'")) return if(prestrip) @@ -270,7 +270,7 @@ if(!istype(H)) return if(!ispath(target_species)) - to_chat(H, "'[target_species]' is not a valid species!") + to_chat(H, SPAN_WARNING("'[target_species]' is not a valid species!")) return H.set_species(target_species) @@ -302,7 +302,7 @@ if(!istype(H)) return if(!istype(template)) - to_chat(H, "No genetic template configured!") + to_chat(H, SPAN_WARNING("No genetic template configured!")) return var/prev_ue = H.dna.unique_enzymes H.set_species(template.species.type) @@ -316,14 +316,14 @@ /obj/machinery/transformer/gene_applier/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/disk/data)) if(locked) - to_chat(user, "Access Denied.") + to_chat(user, SPAN_WARNING("Access Denied.")) return ITEM_INTERACT_COMPLETE var/obj/item/disk/data/D = used if(!D.buf) - to_chat(user, "Error: No data found.") + to_chat(user, SPAN_WARNING("Error: No data found.")) return ITEM_INTERACT_COMPLETE template = D.buf.dna.Clone() - to_chat(user, "Upload of gene template for '[template.real_name]' complete!") + to_chat(user, SPAN_NOTICE("Upload of gene template for '[template.real_name]' complete!")) return ITEM_INTERACT_COMPLETE return ..() diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index 708e7efc987..ce291ae9bc6 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -86,7 +86,7 @@ /obj/machinery/turretid/proc/isLocked(mob/user) if(isrobot(user) || is_ai(user)) if(ailock) - to_chat(user, "There seems to be a firewall preventing you from accessing this device.") + to_chat(user, SPAN_NOTICE("There seems to be a firewall preventing you from accessing this device.")) return TRUE else return FALSE @@ -109,17 +109,17 @@ if(istype(used, /obj/item/card/id)||istype(used, /obj/item/pda)) if(src.allowed(usr)) if(emagged) - to_chat(user, "The turret control is unresponsive.") + to_chat(user, SPAN_NOTICE("The turret control is unresponsive.")) else locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] the panel.") + to_chat(user, SPAN_NOTICE("You [ locked ? "lock" : "unlock"] the panel.")) return ITEM_INTERACT_COMPLETE return ..() /obj/machinery/turretid/emag_act(user as mob) if(!emagged) - to_chat(user, "You short out the turret controls' access analysis module.") + to_chat(user, SPAN_DANGER("You short out the turret controls' access analysis module.")) emagged = TRUE locked = FALSE ailock = FALSE diff --git a/code/game/machinery/vendors/contraband_vendors.dm b/code/game/machinery/vendors/contraband_vendors.dm index b3e19cb7f5e..e77e481a303 100644 --- a/code/game/machinery/vendors/contraband_vendors.dm +++ b/code/game/machinery/vendors/contraband_vendors.dm @@ -187,16 +187,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/vending/wallmed/syndicate, 32 /obj/machinery/economy/vending/toyliberationstation/secured/crowbar_act(mob/user, obj/item/I) if(tilted) - to_chat(user, "The fastening bolts aren't on the ground, you'll need to right it first!") + to_chat(user, SPAN_WARNING("The fastening bolts aren't on the ground, you'll need to right it first!")) return if(!I.use_tool(src, user, 0, volume = 0)) return - to_chat(user, "You are unable to remove the electronics from the vendor!") + to_chat(user, SPAN_WARNING("You are unable to remove the electronics from the vendor!")) /obj/machinery/economy/vending/toyliberationstation/secured/wrench_act(mob/user, obj/item/I) if(tilted) - to_chat(user, "The fastening bolts aren't on the ground, you'll need to right it first!") + to_chat(user, SPAN_WARNING("The fastening bolts aren't on the ground, you'll need to right it first!")) return if(!I.use_tool(src, user, 0, volume = 0)) return - to_chat(user, "You are unable to loosen the bolts!") + to_chat(user, SPAN_WARNING("You are unable to loosen the bolts!")) diff --git a/code/game/machinery/vendors/custom_vendors.dm b/code/game/machinery/vendors/custom_vendors.dm index 6060fb1e9f8..04e20ac3cae 100644 --- a/code/game/machinery/vendors/custom_vendors.dm +++ b/code/game/machinery/vendors/custom_vendors.dm @@ -32,7 +32,7 @@ return ..() if((isnull(linked_pos) || locked(user) != VENDOR_LOCKED) && istype(used, /obj/item/eftpos)) - visible_message("[src] beeps as [user] links it to [used].", "You hear something beep.") + visible_message(SPAN_NOTICE("[src] beeps as [user] links it to [used]."), SPAN_NOTICE("You hear something beep.")) if(!isnull(linked_pos)) linked_pos.linked_vendors -= src linked_pos = used @@ -40,7 +40,7 @@ pos.linked_vendors += src return ITEM_INTERACT_COMPLETE else if(isnull(linked_pos)) - to_chat(user, "You need to link a point of sale device first!") + to_chat(user, SPAN_WARNING("You need to link a point of sale device first!")) return ITEM_INTERACT_COMPLETE else if(locked(user) == VENDOR_LOCKED) return ..() @@ -51,21 +51,21 @@ /// Tries to add something to the vendor. can_wait returns INSERT_NEEDS_INPUT if it would wait for user input, quiet suppresses success messages, and bag is used when the item is being transferred from a storage item. /obj/machinery/economy/vending/custom/proc/try_add_stock(mob/living/user, obj/item/used, can_wait = TRUE, quiet = FALSE, obj/item/storage/bag = null) if(istype(used, /obj/item/holder)) - to_chat(user, "[used] wriggles out of your hands!") + to_chat(user, SPAN_WARNING("[used] wriggles out of your hands!")) user.drop_item_to_ground(used) return INSERT_FAIL if(isnull(bag) && !user.canUnEquip(used, FALSE)) - to_chat(user, "\The [used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("\The [used] is stuck to your hand!")) return INSERT_FAIL else if(bag) if(!Adjacent(user)) - to_chat(user, "You can't reach [src] from here!") + to_chat(user, SPAN_WARNING("You can't reach [src] from here!")) return INSERT_FAIL if(!user.is_holding(bag)) - to_chat(user, "\The [bag] isn't in your hand anymore!") + to_chat(user, SPAN_WARNING("\The [bag] isn't in your hand anymore!")) return INSERT_FAIL if(used.loc != bag) - to_chat(user, "\The [used] isn't in [bag] anymore!") + to_chat(user, SPAN_WARNING("\The [used] isn't in [bag] anymore!")) return INSERT_FAIL for(var/datum/data/vending_product/physical/record in physical_product_records) @@ -82,7 +82,7 @@ bag.remove_from_storage(used) used.forceMove(src) if(!quiet) - user.visible_message("[user] puts [used] into [src].", "") + user.visible_message(SPAN_NOTICE("[user] puts [used] into [src]."), "") return INSERT_DONE if(!can_wait) @@ -92,21 +92,21 @@ if(!isnum(price)) return INSERT_FAIL if(!Adjacent(user)) - to_chat(user, "You can't reach [src] from here!") + to_chat(user, SPAN_WARNING("You can't reach [src] from here!")) return INSERT_FAIL if(isnull(bag)) if(!user.is_holding(used)) - to_chat(user, "\The [used] isn't in your hand anymore!") + to_chat(user, SPAN_WARNING("\The [used] isn't in your hand anymore!")) return INSERT_FAIL if(!user.canUnEquip(used, FALSE)) - to_chat(user, "\The [used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("\The [used] is stuck to your hand!")) return INSERT_FAIL else if(!user.is_holding(bag)) - to_chat(user, "\The [bag] isn't in your hand anymore!") + to_chat(user, SPAN_WARNING("\The [bag] isn't in your hand anymore!")) return INSERT_FAIL if(used.loc != bag) - to_chat(user, "\The [used] isn't in [bag] anymore!") + to_chat(user, SPAN_WARNING("\The [used] isn't in [bag] anymore!")) return INSERT_FAIL var/datum/data/vending_product/physical/record = new(used.name, used.icon, used.icon_state) @@ -120,7 +120,7 @@ bag.remove_from_storage(used) used.forceMove(src) if(!quiet) - user.visible_message("[user] puts [used] into [src].", "You put [used] into [src].") + user.visible_message(SPAN_NOTICE("[user] puts [used] into [src]."), SPAN_NOTICE("You put [used] into [src].")) return INSERT_DONE /obj/machinery/economy/vending/custom/MouseDrop_T(atom/dragged, mob/user, params) @@ -141,7 +141,7 @@ // result == INSERT_NEEDS_INPUT if(inserted) - user.visible_message("[user] transfers some things from [bag] into [src].", "You transfer some things from [bag] into [src].") + user.visible_message(SPAN_NOTICE("[user] transfers some things from [bag] into [src]."), SPAN_NOTICE("You transfer some things from [bag] into [src].")) // We've reported on our insertions so far, don't repeat it. inserted = FALSE @@ -151,19 +151,19 @@ break if(inserted) - user.visible_message("[user] transfers everything from [bag] into [src].", "You transfer everything from [bag] into [src].") + user.visible_message(SPAN_NOTICE("[user] transfers everything from [bag] into [src]."), SPAN_NOTICE("You transfer everything from [bag] into [src].")) return TRUE /obj/machinery/economy/vending/custom/crowbar_act(mob/user, obj/item/I) if(!isnull(linked_pos) && locked(user) == VENDOR_LOCKED) - user.visible_message("[user] tries to pry [src] apart, but fails.", "The lock on [src] resists your efforts to pry it apart.") + user.visible_message(SPAN_NOTICE("[user] tries to pry [src] apart, but fails."), SPAN_WARNING("The lock on [src] resists your efforts to pry it apart.")) return TRUE return ..() /obj/machinery/economy/vending/custom/wrench_act(mob/user, obj/item/I) if(!isnull(linked_pos) && locked(user) == VENDOR_LOCKED) - user.visible_message("[user] tries to loosen the bolts on [src], but fails.", "The lock on [src] is covering its bolts.") + user.visible_message(SPAN_NOTICE("[user] tries to loosen the bolts on [src], but fails."), SPAN_WARNING("The lock on [src] is covering its bolts.")) return TRUE return ..() diff --git a/code/game/machinery/vendors/generic_vendors.dm b/code/game/machinery/vendors/generic_vendors.dm index 5a44b31aaef..7e54425f65e 100644 --- a/code/game/machinery/vendors/generic_vendors.dm +++ b/code/game/machinery/vendors/generic_vendors.dm @@ -153,7 +153,7 @@ if(!..()) return FALSE if(!I.is_open_container()) - to_chat(user, "You need to open [I] before inserting it.") + to_chat(user, SPAN_WARNING("You need to open [I] before inserting it.")) return FALSE return TRUE diff --git a/code/game/machinery/vendors/tilt_crits.dm b/code/game/machinery/vendors/tilt_crits.dm index f2eaf0a9bef..fabd7036bb9 100644 --- a/code/game/machinery/vendors/tilt_crits.dm +++ b/code/game/machinery/vendors/tilt_crits.dm @@ -53,9 +53,9 @@ if(left || right) victim.visible_message( - "[victim]'s legs shatter with a sickening crunch!", - "Your legs shatter with a sickening crunch!", - "You hear a sickening crunch!" + SPAN_DANGER("[victim]'s legs shatter with a sickening crunch!"), + SPAN_USERDANGER("Your legs shatter with a sickening crunch!"), + SPAN_DANGER("You hear a sickening crunch!") ) // that's a LOT of damage, let's rebate most of it. @@ -72,8 +72,8 @@ tilter.forceMove(get_turf(victim)) tilter.buckle_mob(victim, force=TRUE) victim.visible_message( - "[victim] gets pinned underneath [tilter]!", - "You are pinned down by [tilter]!" + SPAN_DANGER("[victim] gets pinned underneath [tilter]!"), + SPAN_USERDANGER("You are pinned down by [tilter]!") ) return 0 @@ -95,8 +95,8 @@ /datum/tilt_crit/vendor/embed/tip_crit_effect(obj/machinery/economy/vending/machine, mob/living/carbon/victim, incoming_damage) victim.visible_message( - "[machine]'s panel shatters against [victim]!", - "[machine] lands on you, its panel shattering!" + SPAN_DANGER("[machine]'s panel shatters against [victim]!"), + SPAN_USERDANGER("[machine] lands on you, its panel shattering!") ) for(var/i in 1 to machine.num_shards) @@ -128,7 +128,7 @@ var/obj/item/organ/external/head/H = victim.get_organ("head") var/obj/item/organ/internal/brain/B = victim.get_int_organ_tag("brain") if(H) - victim.visible_message("[H] gets crushed under [tilter], and explodes in a shower of gore!", "Oh f-") + victim.visible_message(SPAN_DANGER("[H] gets crushed under [tilter], and explodes in a shower of gore!"), SPAN_USERDANGER("Oh f-")) var/gibspawner = /obj/effect/gibspawner/human if(ismachineperson(victim)) gibspawner = /obj/effect/gibspawner/robot @@ -141,7 +141,7 @@ H.disfigure() victim.apply_damage(50, BRUTE, BODY_ZONE_HEAD) else - H.visible_message("[victim]'s head seems to be crushed under [tilter]...but wait, they had none in the first place!") + H.visible_message(SPAN_DANGER("[victim]'s head seems to be crushed under [tilter]...but wait, they had none in the first place!")) if(B in H) victim.adjustBrainLoss(80) @@ -153,8 +153,8 @@ /datum/tilt_crit/lucky/tip_crit_effect(obj/machinery/economy/vending/machine, mob/living/carbon/victim, incoming_damage) victim.visible_message( - "[machine] crashes around [victim], but doesn't seem to crush them!", - "[machine] crashes around you, but only around you! You're fine!" + SPAN_DANGER("[machine] crashes around [victim], but doesn't seem to crush them!"), + SPAN_USERDANGER("[machine] crashes around you, but only around you! You're fine!") ) return 1000 diff --git a/code/game/machinery/vendors/vending.dm b/code/game/machinery/vendors/vending.dm index 9be50fab4df..4bc22b8c748 100644 --- a/code/game/machinery/vendors/vending.dm +++ b/code/game/machinery/vendors/vending.dm @@ -269,7 +269,7 @@ /obj/machinery/economy/vending/examine(mob/user) . = ..() if(aggressive) - . += "Its product lights seem to be blinking ominously..." + . += SPAN_WARNING("Its product lights seem to be blinking ominously...") /obj/machinery/economy/vending/RefreshParts() //Better would be to make constructable child if(!component_parts) @@ -424,7 +424,7 @@ /obj/machinery/economy/vending/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(tilted) if(user.a_intent == INTENT_HELP) - to_chat(user, "[src] is tipped over and non-functional! You'll need to right it first.") + to_chat(user, SPAN_WARNING("[src] is tipped over and non-functional! You'll need to right it first.")) return ITEM_INTERACT_COMPLETE return ..() @@ -432,21 +432,21 @@ insert_cash(used, user) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/coin)) - to_chat(user, "[src] does not accept coins.") + to_chat(user, SPAN_WARNING("[src] does not accept coins.")) return ITEM_INTERACT_COMPLETE if(refill_canister && istype(used, refill_canister)) if(stat & (BROKEN|NOPOWER)) - to_chat(user, "[src] does not respond.") + to_chat(user, SPAN_NOTICE("[src] does not respond.")) return ITEM_INTERACT_COMPLETE var/obj/item/vending_refill/canister = used var/transferred = restock(canister) if(!transferred && !canister.get_part_rating()) // It transferred no products and has no products left, thus it is empty - to_chat(user, "[canister] is empty!") + to_chat(user, SPAN_WARNING("[canister] is empty!")) else if(transferred) // We transferred some items - to_chat(user, "You loaded [transferred] items in [src].") + to_chat(user, SPAN_NOTICE("You loaded [transferred] items in [src].")) else // Nothing transferred, parts are still left, nothing to restock! - to_chat(user, "There's nothing to restock!") + to_chat(user, SPAN_WARNING("There's nothing to restock!")) return ITEM_INTERACT_COMPLETE if(item_slot_check(user, used)) @@ -461,8 +461,8 @@ var/should_warn = world.time > last_hit_time + hit_warning_cooldown_length last_hit_time = world.time if(should_warn) - visible_message("[src] seems to sway a bit!") - to_chat(user, "You might want to think twice about doing that again, [src] looks like it could come crashing down!") + visible_message(SPAN_WARNING("[src] seems to sway a bit!")) + to_chat(user, SPAN_DANGER("You might want to think twice about doing that again, [src] looks like it could come crashing down!")) return switch(rand(1, 100)) @@ -481,7 +481,7 @@ /obj/machinery/economy/vending/proc/freebie(mob/user, num_freebies) - visible_message("[num_freebies] free goodie\s tumble[num_freebies > 1 ? "" : "s"] out of [src]!") + visible_message(SPAN_NOTICE("[num_freebies] free goodie\s tumble[num_freebies > 1 ? "" : "s"] out of [src]!")) for(var/i in 1 to num_freebies) for(var/datum/data/vending_product/R in shuffle(product_records + physical_product_records)) @@ -501,8 +501,8 @@ if(to_be_tipped.incorporeal_move) // OooOooOoo spooky ghosts return AM.visible_message( - "[src] suddenly topples over onto [AM]!", - "[src] topples over onto you without warning!" + SPAN_DANGER("[src] suddenly topples over onto [AM]!"), + SPAN_USERDANGER("[src] topples over onto you without warning!") ) tilt(AM, prob(5), FALSE) aggressive = FALSE @@ -514,7 +514,7 @@ return . = TRUE if(tilted) - to_chat(user, "You'll need to right it first!") + to_chat(user, SPAN_WARNING("You'll need to right it first!")) return if(seconds_electrified != 0 && shock(user, 100)) return @@ -523,7 +523,7 @@ /obj/machinery/economy/vending/multitool_act(mob/user, obj/item/I) . = TRUE if(tilted) - to_chat(user, "You'll need to right it first!") + to_chat(user, SPAN_WARNING("You'll need to right it first!")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -532,7 +532,7 @@ /obj/machinery/economy/vending/screwdriver_act(mob/user, obj/item/I) . = TRUE if(tilted) - to_chat(user, "You'll need to right it first!") + to_chat(user, SPAN_WARNING("You'll need to right it first!")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -551,7 +551,7 @@ /obj/machinery/economy/vending/wirecutter_act(mob/user, obj/item/I) . = TRUE if(tilted) - to_chat(user, "You'll need to right it first!") + to_chat(user, SPAN_WARNING("You'll need to right it first!")) return if(I.use_tool(src, user, 0, volume = 0)) wires.Interact(user) @@ -559,7 +559,7 @@ /obj/machinery/economy/vending/wrench_act(mob/user, obj/item/I) . = TRUE if(tilted) - to_chat(user, "The fastening bolts aren't on the ground, you'll need to right it first!") + to_chat(user, SPAN_WARNING("The fastening bolts aren't on the ground, you'll need to right it first!")) return if(!I.use_tool(src, user, 0, volume = 0)) return @@ -570,7 +570,7 @@ if(!item_slot) return FALSE if(inserted_item) - to_chat(user, "There is something already inserted!") + to_chat(user, SPAN_WARNING("There is something already inserted!")) return FALSE return TRUE @@ -579,7 +579,7 @@ if(!..()) return FALSE if(!istype(I, /obj/item/toy)) - to_chat(user, "[I] isn't compatible with this machine's slot.") + to_chat(user, SPAN_WARNING("[I] isn't compatible with this machine's slot.")) return FALSE return TRUE */ @@ -614,11 +614,11 @@ if(!item_slot || inserted_item) return if(!user.drop_item()) - to_chat(user, "[I] is stuck to your hand, you can't seem to put it down!") + to_chat(user, SPAN_WARNING("[I] is stuck to your hand, you can't seem to put it down!")) return inserted_item = I I.forceMove(src) - to_chat(user, "You insert [I] into [src].") + to_chat(user, SPAN_NOTICE("You insert [I] into [src].")) SStgui.update_uis(src) /obj/machinery/economy/vending/proc/eject_item(mob/user) @@ -666,7 +666,7 @@ return if(tilted) - to_chat(user, "[src] is tipped over and non-functional! Alt-Click to right it first.") + to_chat(user, SPAN_WARNING("[src] is tipped over and non-functional! Alt-Click to right it first.")) return if(seconds_electrified != 0 && shock(user, 100)) @@ -758,7 +758,7 @@ var/mob/living/user = ui.user if(issilicon(user) && !isrobot(user)) - to_chat(user, "The vending machine refuses to interface with you, as you are not in its target demographic!") + to_chat(user, SPAN_WARNING("The vending machine refuses to interface with you, as you are not in its target demographic!")) return switch(action) if("toggle_voice") @@ -800,10 +800,10 @@ /obj/machinery/economy/vending/proc/try_vend(key, mob/user) if(!vend_ready) - to_chat(user, "The vending machine is busy!") + to_chat(user, SPAN_WARNING("The vending machine is busy!")) return if(panel_open) - to_chat(user, "The vending machine cannot dispense products while its service panel is open!") + to_chat(user, SPAN_WARNING("The vending machine cannot dispense products while its service panel is open!")) return var/list/display_records = product_records + physical_product_records @@ -849,7 +849,7 @@ var/datum/money_account/vendor_account = get_vendor_account() if(cash_transaction < currently_vending.price && (isnull(vendor_account) || vendor_account.suspended)) - to_chat(user, "Vendor account offline. Unable to process transaction.") + to_chat(user, SPAN_WARNING("Vendor account offline. Unable to process transaction.")) flick(icon_deny, src) return @@ -861,7 +861,7 @@ // this is important because it lets people buy stuff with someone else's ID by holding it while using the vendor paid = pay_with_card(C, currently_vending.price, "Vendor transaction", name, user, vendor_account) else if(user.can_advanced_admin_interact()) - to_chat(user, "Vending object due to admin interaction.") + to_chat(user, SPAN_NOTICE("Vending object due to admin interaction.")) paid = TRUE else to_chat(user, "Payment failure: you have no ID or other method of payment.") @@ -877,7 +877,7 @@ /obj/machinery/economy/vending/proc/vend(datum/data/vending_product/R, mob/user, has_delay = TRUE) if(!allowed(user) && !user.can_admin_interact() && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH - to_chat(user, "Access denied.")//Unless emagged of course + to_chat(user, SPAN_WARNING("Access denied."))//Unless emagged of course flick(icon_deny, src) return @@ -1011,7 +1011,7 @@ if(!throw_item) return throw_item.throw_at(target, 16, 3) - visible_message("[src] launches [throw_item.name] at [target.name]!") + visible_message(SPAN_DANGER("[src] launches [throw_item.name] at [target.name]!")) /obj/machinery/economy/vending/on_changed_z_level(turf/old_turf, turf/new_turf, notify_contents = FALSE) // Don't bother notifying contents (for some reason (probably historical reasons (probably for no reason))) @@ -1063,17 +1063,17 @@ if(!HAS_TRAIT(attacker, TRAIT_PACIFISM)) add_attack_logs(attacker, target, "shoved into a vending machine ([src])") tilt(target, from_combat = TRUE) - target.visible_message("[attacker] slams [target] into [src]!", \ - "You get slammed into [src] by [attacker]!", \ - "You hear a loud crunch.") + target.visible_message(SPAN_DANGER("[attacker] slams [target] into [src]!"), \ + SPAN_USERDANGER("You get slammed into [src] by [attacker]!"), \ + SPAN_DANGER("You hear a loud crunch.")) else if(HAS_TRAIT_FROM(attacker, TRAIT_PACIFISM, GHOST_ROLE)) // should only apply to the ghost bar add_attack_logs(attacker, target, "shoved into a vending machine ([src]), but flattened themselves.") tilt(attacker, crit = TRUE, from_anywhere = TRUE) // get fucked - target.visible_message("[attacker] tries to slam [target] into [src], but falls face first into [src]!", \ - "You get pushed into [src] by [attacker], but narrowly move out of the way as it tips over on top of [attacker]!", \ - "You hear a loud crunch.") + target.visible_message(SPAN_WARNING("[attacker] tries to slam [target] into [src], but falls face first into [src]!"), \ + SPAN_USERDANGER("You get pushed into [src] by [attacker], but narrowly move out of the way as it tips over on top of [attacker]!"), \ + SPAN_DANGER("You hear a loud crunch.")) else - attacker.visible_message("[attacker] lightly presses [target] against [src].", "You lightly press [target] against [src], you don't want to hurt [target.p_them()]!") + attacker.visible_message(SPAN_NOTICE("[attacker] lightly presses [target] against [src]."), SPAN_WARNING("You lightly press [target] against [src], you don't want to hurt [target.p_them()]!")) return TRUE /obj/machinery/economy/vending/hit_by_thrown_mob(mob/living/C, datum/thrownthing/throwingdatum, damage, mob_hurt, self_hurt) diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 534800a8d10..f42a919fc97 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -58,16 +58,16 @@ /obj/machinery/washing_machine/examine(mob/user) . = ..() - . += "Its door is currently [door_open ? "open" : "closed"]." + . += SPAN_NOTICE("Its door is currently [door_open ? "open" : "closed"].") if(washing) - . += "It is currently in its wash cycle." + . += SPAN_NOTICE("It is currently in its wash cycle.") else - . += "You can Alt-Click [src] to start its washing cycle." + . += SPAN_NOTICE("You can Alt-Click [src] to start its washing cycle.") if(bloody_mess) - . += "The inside is covered in blood and gibs, you will need to clean it out with soap first." + . += SPAN_WARNING("The inside is covered in blood and gibs, you will need to clean it out with soap first.") else var/total_contents = LAZYLEN(inserted_items) + LAZYLEN(inserted_mobs) - . += "It has [total_contents] item\s inside." + . += SPAN_NOTICE("It has [total_contents] item\s inside.") /obj/machinery/washing_machine/AltClick(mob/user) if(user.stat != CONSCIOUS || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) @@ -79,7 +79,7 @@ /obj/machinery/washing_machine/attack_hand(mob/user) if(washing && !door_open) - to_chat(user, "[src]'s door is shut, you will need to wait until the end of the cycle.") + to_chat(user, SPAN_WARNING("[src]'s door is shut, you will need to wait until the end of the cycle.")) return toggle_door() @@ -119,22 +119,22 @@ if(!anchored || (stat & BROKEN) || (stat & NOPOWER)) return FALSE if(!door_open) - to_chat(user, "[src]'s door is closed!") + to_chat(user, SPAN_WARNING("[src]'s door is closed!")) return FALSE // simply not possible (or is it?) if(!istype(atom_to_insert) || !istype(user)) return FALSE if(user.stat != CONSCIOUS || !Adjacent(user) || !atom_to_insert.Adjacent(user)) return FALSE if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - to_chat(user, "You try to insert [atom_to_insert] into [src] but your hands are blocked!") + to_chat(user, SPAN_NOTICE("You try to insert [atom_to_insert] into [src] but your hands are blocked!")) return FALSE if(isliving(atom_to_insert)) // not ismob() b/c we only want living creatures, ghosts could just float out of the washing machine whenever they wanted var/mob/living/sacrifice = atom_to_insert if(sacrifice.mob_size >= MOB_SIZE_HUMAN) // prevents some most mobs from being washed even if it would be really really funny - to_chat(user, "You try to insert [sacrifice] into [src] but [sacrifice.p_theyre()] too large to fit inside!") + to_chat(user, SPAN_NOTICE("You try to insert [sacrifice] into [src] but [sacrifice.p_theyre()] too large to fit inside!")) return FALSE if(sacrifice.buckled) - to_chat(user, "You try to insert [sacrifice] into [src] but [sacrifice.p_theyre()] still buckled to something!") + to_chat(user, SPAN_NOTICE("You try to insert [sacrifice] into [src] but [sacrifice.p_theyre()] still buckled to something!")) return FALSE return insert_mob_into_tub(user, sacrifice) if(isitem(atom_to_insert)) // Restricting this to only item types prevents a lot of issues, you really only wanna shove items in here anyway... @@ -142,7 +142,7 @@ if(item_to_insert.anchored) return FALSE if(item_to_insert.w_class >= WEIGHT_CLASS_HUGE) - to_chat(user, "You try to insert [item_to_insert] into [src] but [item_to_insert.p_them()] is too large to fit inside!") + to_chat(user, SPAN_NOTICE("You try to insert [item_to_insert] into [src] but [item_to_insert.p_them()] is too large to fit inside!")) return FALSE return insert_item_into_tub(user, item_to_insert) @@ -150,9 +150,9 @@ /obj/machinery/washing_machine/proc/insert_mob_into_tub(mob/user, mob/living/mob_to_insert) var/mob_content_size = mob_to_insert.mob_size if(max_tub_capacity < (mob_content_size * 2) + current_tub_capacity) - to_chat(user, "You try to insert [mob_to_insert] into [src] but it is too full for [mob_to_insert.p_them()]!") + to_chat(user, SPAN_WARNING("You try to insert [mob_to_insert] into [src] but it is too full for [mob_to_insert.p_them()]!")) return FALSE - mob_to_insert.visible_message("[user] starts shoving [mob_to_insert] into [src]!", "[user] starts shoving you into [src]!") + mob_to_insert.visible_message(SPAN_WARNING("[user] starts shoving [mob_to_insert] into [src]!"), SPAN_USERDANGER("[user] starts shoving you into [src]!")) if(!do_after_once(user, (3 SECONDS * mob_content_size), target = src, attempt_cancel_message = "You stop inserting [mob_to_insert] into [src].")) return FALSE mob_to_insert.forceMove(src) @@ -162,20 +162,20 @@ calculate_tub_capacity() update_washing_state() add_attack_logs(user, mob_to_insert, "Shoved into washing machine.") - to_chat(mob_to_insert, "[user] shoves you into [src]. Oh shit!") - mob_to_insert.visible_message("[user] shoves [mob_to_insert] into [src].", "You shove [mob_to_insert] into [src].") + to_chat(mob_to_insert, SPAN_USERDANGER("[user] shoves you into [src]. Oh shit!")) + mob_to_insert.visible_message(SPAN_DANGER("[user] shoves [mob_to_insert] into [src]."), SPAN_DANGER("You shove [mob_to_insert] into [src].")) return TRUE /// Handles inserting obj/items into the washing machines, checks machines capacity, does a do_after, and then applys appropriate signals and updates machines state /obj/machinery/washing_machine/proc/insert_item_into_tub(mob/user, obj/item/item_to_insert) var/item_content_size = item_to_insert.w_class if(max_tub_capacity < (item_content_size + current_tub_capacity)) - to_chat(user, "You try to insert [item_to_insert] into [src] but [src] is too full for [item_to_insert.p_them()]!") + to_chat(user, SPAN_WARNING("You try to insert [item_to_insert] into [src] but [src] is too full for [item_to_insert.p_them()]!")) return FALSE if(!do_after_once(user, (1 SECONDS * (item_to_insert.w_class / 3)), target = src, attempt_cancel_message = "You stop inserting [item_to_insert] into [src].")) return FALSE if(!user.drop_item()) - to_chat(user, "[item_to_insert] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[item_to_insert] is stuck to your hand!")) return FALSE item_to_insert.forceMove(src) RegisterSignal(item_to_insert, COMSIG_PARENT_QDELETING, PROC_REF(check_tub_contents)) @@ -183,7 +183,7 @@ LAZYADD(inserted_items, item_to_insert) calculate_tub_capacity() update_washing_state() - to_chat(user, "You insert [item_to_insert] into [src].") + to_chat(user, SPAN_NOTICE("You insert [item_to_insert] into [src].")) return TRUE /* @@ -337,7 +337,7 @@ /obj/machinery/washing_machine/cleaning_act(mob/user, atom/cleaner, cleanspeed, text_verb, text_description, text_targetname) if(washing) - to_chat(user, "[src]'s door is shut, you will need to wait until the end of the cycle to clean it out.") + to_chat(user, SPAN_WARNING("[src]'s door is shut, you will need to wait until the end of the cycle to clean it out.")) return . = ..() if(. && !washing) diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index de9c478a294..c078a91435c 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -30,7 +30,7 @@ /obj/item/mecha_parts/mecha_equipment/Destroy()//missiles detonating, teleporter creating singularity? if(chassis) - chassis.occupant_message("[src] is destroyed!") + chassis.occupant_message(SPAN_DANGER("[src] is destroyed!")) chassis.log_append_to_last("[src] is destroyed.",1) SEND_SOUND(chassis.occupant, sound(get_destroy_sound(), volume = 50)) detach(chassis) diff --git a/code/game/mecha/equipment/tools/janitor_tools.dm b/code/game/mecha/equipment/tools/janitor_tools.dm index ba3b3143d64..38dce03e8af 100644 --- a/code/game/mecha/equipment/tools/janitor_tools.dm +++ b/code/game/mecha/equipment/tools/janitor_tools.dm @@ -43,7 +43,7 @@ /obj/item/mecha_parts/mecha_equipment/janitor/mega_mop/emag_act(mob/user) . = ..() emagged = TRUE - to_chat(user, "You short out the automatic watering system on [src].") + to_chat(user, SPAN_WARNING("You short out the automatic watering system on [src].")) reagents.clear_reagents() refill_reagent = "lube" refill_cost = 50 @@ -54,7 +54,7 @@ if(istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1) var/obj/structure/reagent_dispensers/watertank/WT = target WT.reagents.trans_to(src, 1000) - occupant_message("Mop refilled.") + occupant_message(SPAN_NOTICE("Mop refilled.")) playsound(chassis, 'sound/effects/refill.ogg', 50, TRUE, -6) return if(reagents.total_volume > 0) @@ -65,7 +65,7 @@ var/turf/target_turf = get_turf(target) if(!istype(target_turf) || iswallturf(target_turf)) return - chassis.occupant.visible_message("[chassis] begins to mop \the [target_turf] with \the [src].", "You begin to mop \the [target_turf] with \the [src].") + chassis.occupant.visible_message(SPAN_WARNING("[chassis] begins to mop \the [target_turf] with \the [src]."), SPAN_WARNING("You begin to mop \the [target_turf] with \the [src].")) if(do_after(chassis.occupant, mop_speed, target = target, allow_moving = 0)) for(var/turf/current_target_turf in view(1, target)) current_target_turf.cleaning_act(chassis.occupant, src, mop_speed, "mop", ".", skip_do_after = TRUE) @@ -127,7 +127,7 @@ /obj/item/mecha_parts/mecha_equipment/janitor/light_replacer/emag_act(mob/user) . = ..() emagged = TRUE - to_chat(user, "You short out the safeties on [src].") + to_chat(user, SPAN_NOTICE("You short out the safeties on [src].")) /obj/item/mecha_parts/mecha_equipment/janitor/light_replacer/action(atom/target) if(istype(target, /obj/machinery/light)) @@ -170,7 +170,7 @@ /obj/item/mecha_parts/mecha_equipment/janitor/mega_spray/emag_act(mob/user) . = ..() emagged = TRUE - to_chat(user, "You short out the automatic watering system on [src].") + to_chat(user, SPAN_WARNING("You short out the automatic watering system on [src].")) spray_controller.reagents.clear_reagents() refill_reagent = "lube" refill_cost = 50 @@ -178,7 +178,7 @@ /obj/item/mecha_parts/mecha_equipment/janitor/mega_spray/action(atom/target) if(spray_controller.reagents.total_volume < 15) // Needs at least enough reagents to apply the full spray - to_chat(chassis.occupant, "*click*") + to_chat(chassis.occupant, SPAN_DANGER("*click*")) playsound(src, 'sound/weapons/empty.ogg', 100, 1) return var/direction = get_dir(chassis, target) @@ -278,14 +278,14 @@ for(var/turf/tested_turf in get_line(chassis, target)) // Check if the path is blocked if(iswallturf(tested_turf) || locate(/obj/structure/window) in tested_turf || locate(/obj/machinery/door) in tested_turf) // walls, windows, and doors - chassis.occupant_message("The target is out of reach of the magnet!") + chassis.occupant_message(SPAN_WARNING("The target is out of reach of the magnet!")) return if(istype(target, /obj/machinery/disposal)) // Emptying stuff into disposals chassis.occupant.visible_message( - "[chassis.occupant] empties [src] into the disposal unit.", - "You empty [src] into disposal unit.", - "You hear someone emptying something into a disposal unit." + SPAN_NOTICE("[chassis.occupant] empties [src] into the disposal unit."), + SPAN_NOTICE("You empty [src] into disposal unit."), + SPAN_NOTICE("You hear someone emptying something into a disposal unit.") ) chassis.Beam(target, icon_state = "rped_upgrade", icon = 'icons/effects/effects.dmi', time = 5) playsound(src, 'sound/items/pshoom.ogg', 40, 1) diff --git a/code/game/mecha/equipment/tools/mecha_mining_tools.dm b/code/game/mecha/equipment/tools/mecha_mining_tools.dm index 7b52fc70f01..dd637cf71f5 100644 --- a/code/game/mecha/equipment/tools/mecha_mining_tools.dm +++ b/code/game/mecha/equipment/tools/mecha_mining_tools.dm @@ -26,12 +26,12 @@ if(target_obj.resistance_flags & UNACIDABLE) return if(is_ancient_rock(target)) - visible_message("This rock appears to be resistant to all mining tools except pickaxes!") + visible_message(SPAN_NOTICE("This rock appears to be resistant to all mining tools except pickaxes!")) return - target.visible_message("[chassis] starts to drill [target].", - "[chassis] starts to drill [target]...", - "You hear drilling.") + target.visible_message(SPAN_WARNING("[chassis] starts to drill [target]."), + SPAN_USERDANGER("[chassis] starts to drill [target]..."), + SPAN_ITALICS("You hear drilling.")) if(do_after_cooldown(target)) set_ready_state(FALSE) @@ -68,7 +68,7 @@ drill.log_message("Drilled through [src]") dismantle_wall(TRUE, FALSE) else - drill.occupant_message("[src] is too durable to drill through.") + drill.occupant_message(SPAN_DANGER("[src] is too durable to drill through.")) /turf/simulated/mineral/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill) for(var/turf/simulated/mineral/M in range(drill.chassis, 1)) @@ -96,8 +96,8 @@ return FALSE /obj/item/mecha_parts/mecha_equipment/drill/proc/drill_mob(mob/living/target, mob/user) - target.visible_message("[chassis] is drilling [target] with [src]!", - "[chassis] is drilling you with [src]!") + target.visible_message(SPAN_DANGER("[chassis] is drilling [target] with [src]!"), + SPAN_USERDANGER("[chassis] is drilling you with [src]!")) add_attack_logs(user, target, "DRILLED with [src] ([uppertext(user.a_intent)]) ([uppertext(damtype)])") if(target.stat == DEAD && target.getBruteLoss() >= 200) add_attack_logs(user, target, "gibbed") diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 554790534ee..72493d7e64d 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -57,8 +57,8 @@ return if(!patient_insertion_check(target)) return - occupant_message("You start putting [target] into [src]...") - chassis.visible_message("[chassis] starts putting [target] into \the [src].") + occupant_message(SPAN_NOTICE("You start putting [target] into [src]...")) + chassis.visible_message(SPAN_WARNING("[chassis] starts putting [target] into \the [src].")) if(do_after_cooldown(target)) if(!patient_insertion_check(target)) return @@ -66,19 +66,19 @@ patient = target START_PROCESSING(SSobj, src) update_equip_info() - occupant_message("[target] successfully loaded into [src]. Life support functions engaged.") - chassis.visible_message("[chassis] loads [target] into [src].") + occupant_message(SPAN_NOTICE("[target] successfully loaded into [src]. Life support functions engaged.")) + chassis.visible_message(SPAN_WARNING("[chassis] loads [target] into [src].")) log_message("[target] loaded. Life support functions engaged.") /obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/patient_insertion_check(mob/living/carbon/target) if(target.buckled) - occupant_message("[target] will not fit into the sleeper because [target.p_they()] [target.p_are()] buckled to [target.buckled]!") + occupant_message(SPAN_WARNING("[target] will not fit into the sleeper because [target.p_they()] [target.p_are()] buckled to [target.buckled]!")) return FALSE if(target.has_buckled_mobs()) - occupant_message("[target] will not fit into the sleeper because of the creatures attached to it!") + occupant_message(SPAN_WARNING("[target] will not fit into the sleeper because of the creatures attached to it!")) return FALSE if(patient) - occupant_message("The sleeper is already occupied!") + occupant_message(SPAN_WARNING("The sleeper is already occupied!")) return FALSE return TRUE @@ -94,7 +94,7 @@ /obj/item/mecha_parts/mecha_equipment/medical/sleeper/detach() if(patient) - occupant_message("Unable to detach [src] - equipment occupied!") + occupant_message(SPAN_WARNING("Unable to detach [src] - equipment occupied!")) return STOP_PROCESSING(SSobj, src) return ..() @@ -292,10 +292,10 @@ if(mode) return analyze_reagents(target) if(!length(syringes)) - occupant_message("No syringes loaded.") + occupant_message(SPAN_ALERT("No syringes loaded.")) return if(reagents.total_volume<=0) - occupant_message("No available reagents to load syringe with.") + occupant_message(SPAN_ALERT("No available reagents to load syringe with.")) return var/turf/trg = get_turf(target) var/obj/item/reagent_containers/syringe/mechsyringe = syringes[1] @@ -324,7 +324,7 @@ var/mob/living/carbon/M = safepick(mobs) if(M) var/R - mechsyringe.visible_message(" [M] was hit by the syringe!") + mechsyringe.visible_message(SPAN_ATTACK(" [M] was hit by the syringe!")) if(M.can_inject(originaloccupant, TRUE, original_target_zone)) if(mechsyringe.reagents) for(var/datum/reagent/A in mechsyringe.reagents.reagent_list) @@ -471,7 +471,7 @@ occupant_message("The object is too far away.") return FALSE if(!A.reagents || ismob(A)) - occupant_message("No reagent info gained from [A].") + occupant_message(SPAN_ALERT("No reagent info gained from [A].")) return FALSE occupant_message("Analyzing reagents...") for(var/datum/reagent/R as anything in A.reagents.reagent_list) @@ -534,12 +534,12 @@ if(isliving(target)) //interact with living beings var/mob/living/M = target if(chassis.occupant.a_intent == INTENT_HARM)//the patented, medical rescue claw is incapable of doing harm. Worry not. - target.visible_message("[chassis] gently boops [target] on the nose, its hydraulics hissing as safety overrides slow a brutal punch down at the last second.", \ + target.visible_message(SPAN_NOTICE("[chassis] gently boops [target] on the nose, its hydraulics hissing as safety overrides slow a brutal punch down at the last second."), \ "") else push_aside(chassis, M)//out of the way, I have people to save! - occupant_message("You gently push [target] out of the way.") - chassis.visible_message("[chassis] gently pushes [target] out of the way.") + occupant_message(SPAN_NOTICE("You gently push [target] out of the way.")) + chassis.visible_message(SPAN_NOTICE("[chassis] gently pushes [target] out of the way.")) /obj/item/mecha_parts/mecha_equipment/medical/rescue_jaw/proc/push_aside(obj/mecha/M, mob/living/L) switch(get_dir(M, L)) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 2b99b334a3b..6fab25787f4 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -49,7 +49,7 @@ if(!action_checks(target)) return if(cooldown_timer > world.time) - occupant_message("[src] is still recharging.") + occupant_message(SPAN_WARNING("[src] is still recharging.")) return switch(mode) if(MECH_GRAVCAT_MODE_GRAVSLING) @@ -411,7 +411,7 @@ return fuel_added else - occupant_message("[fuel_name] traces in target minimal! [I] cannot be used as fuel.") + occupant_message(SPAN_WARNING("[fuel_name] traces in target minimal! [I] cannot be used as fuel.")) return 0 /obj/item/mecha_parts/mecha_equipment/generator/attackby__legacy__attackchain(weapon,mob/user, params) diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 727ac2b662e..9e00f6ba8bb 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -39,17 +39,17 @@ if(istype(target, /obj/machinery/atmospherics/supermatter_crystal)) //No, you can't pick up the SM with this you moron, did you think you were clever? var/obj/mecha/working/ripley/R = chassis QDEL_LIST_CONTENTS(R.cargo) //We don't want to drop cargo that just spam hits the SM, let's delete it - occupant_message("You realise in horror what you have done as [chassis] starts warping around you!") + occupant_message(SPAN_USERDANGER("You realise in horror what you have done as [chassis] starts warping around you!")) chassis.occupant.dust() target.Bumped(chassis) return if(O.anchored) - occupant_message("[target] is firmly secured!") + occupant_message(SPAN_WARNING("[target] is firmly secured!")) return if(length(cargo_holder.cargo) >= cargo_holder.cargo_capacity) - occupant_message("Not enough room in cargo compartment!") + occupant_message(SPAN_WARNING("Not enough room in cargo compartment!")) return - chassis.visible_message("[chassis] lifts [target] and starts to load it into cargo compartment.") + chassis.visible_message(SPAN_NOTICE("[chassis] lifts [target] and starts to load it into cargo compartment.")) var/anchor_state_before_load = O.anchored O.anchored = TRUE if(!do_after_cooldown(target)) @@ -58,7 +58,7 @@ cargo_holder.cargo += O O.forceMove(chassis) O.anchored = FALSE - occupant_message("[target] was successfully loaded.") + occupant_message(SPAN_NOTICE("[target] was successfully loaded.")) log_message("Loaded [O]. Cargo compartment capacity: [cargo_holder.cargo_capacity - length(cargo_holder.cargo)]") return @@ -71,15 +71,15 @@ if(!M) return M.adjustOxyLoss(round(dam_force/2)) - target.visible_message("[chassis] squeezes [target].", \ - "[chassis] squeezes [target].",\ - "You hear something crack.") + target.visible_message(SPAN_DANGER("[chassis] squeezes [target]."), \ + SPAN_USERDANGER("[chassis] squeezes [target]."),\ + SPAN_ITALICS("You hear something crack.")) add_attack_logs(chassis.occupant, M, "Squeezed with [src] ([uppertext(chassis.occupant.a_intent)]) ([uppertext(damtype)])") start_cooldown() return step_away(M, chassis) - occupant_message("You push [target] out of the way.") - chassis.visible_message("[chassis] pushes [target] out of the way.") + occupant_message(SPAN_NOTICE("You push [target] out of the way.")) + chassis.visible_message(SPAN_NOTICE("[chassis] pushes [target] out of the way.")) //This is pretty much just for the death-ripley @@ -101,25 +101,25 @@ cargo_holder.cargo += O O.forceMove(chassis) O.anchored = FALSE - occupant_message("[target] successfully loaded.") + occupant_message(SPAN_NOTICE("[target] successfully loaded.")) log_message("Loaded [O]. Cargo compartment capacity: [cargo_holder.cargo_capacity - length(cargo_holder.cargo)]") else O.anchored = initial(O.anchored) else - occupant_message("Not enough room in cargo compartment!") + occupant_message(SPAN_WARNING("Not enough room in cargo compartment!")) else - occupant_message("[target] is firmly secured!") + occupant_message(SPAN_WARNING("[target] is firmly secured!")) else if(isliving(target)) var/mob/living/M = target if(M.stat == DEAD) return if(chassis.occupant.a_intent == INTENT_HARM) - target.visible_message("[chassis] destroys [target] in an unholy fury.", - "[chassis] destroys [target] in an unholy fury.") + target.visible_message(SPAN_DANGER("[chassis] destroys [target] in an unholy fury."), + SPAN_USERDANGER("[chassis] destroys [target] in an unholy fury.")) M.gib() /*if(chassis.occupant.a_intent == INTENT_DISARM) - target.visible_message("[chassis] rips [target]'s arms off.", - "[chassis] rips [target]'s arms off.")*/ + target.visible_message(SPAN_DANGER("[chassis] rips [target]'s arms off."), + SPAN_USERDANGER("[chassis] rips [target]'s arms off."))*/ else step_away(M,chassis) target.visible_message("[chassis] tosses [target] like a piece of paper.") @@ -145,7 +145,7 @@ if(istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1) var/obj/structure/reagent_dispensers/watertank/WT = target WT.reagents.trans_to(src, 1000) - occupant_message("Extinguisher refilled.") + occupant_message(SPAN_NOTICE("Extinguisher refilled.")) playsound(chassis, 'sound/effects/refill.ogg', 50, TRUE, -6) else if(reagents.total_volume > 0) @@ -365,12 +365,12 @@ cable.amount = 0 cable.amount += to_load target.use(to_load) - occupant_message("[to_load] meters of cable successfully loaded.") + occupant_message(SPAN_NOTICE("[to_load] meters of cable successfully loaded.")) send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) else - occupant_message("Reel is full.") + occupant_message(SPAN_WARNING("Reel is full.")) else - occupant_message("Unable to load [target] - no cable found.") + occupant_message(SPAN_WARNING("Unable to load [target] - no cable found.")) /obj/item/mecha_parts/mecha_equipment/cable_layer/Topic(href,href_list) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 05467ae7e6c..01ec8ec765a 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -586,7 +586,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/energy/mining_grenade/action() if(!lavaland_equipment_pressure_check(get_turf(chassis))) - to_chat(chassis.occupant, "ERROR, OVER PRESSURE!") // no station terror(yet) + to_chat(chassis.occupant, SPAN_WARNING("ERROR, OVER PRESSURE!")) // no station terror(yet) playsound(chassis.occupant, 'sound/weapons/gun_interactions/dry_fire.ogg', 25, TRUE) return FALSE return ..() diff --git a/code/game/mecha/janitor/nkarrdem.dm b/code/game/mecha/janitor/nkarrdem.dm index 44272453c47..5c9842c7d02 100644 --- a/code/game/mecha/janitor/nkarrdem.dm +++ b/code/game/mecha/janitor/nkarrdem.dm @@ -31,7 +31,7 @@ . = ..() if(. && ishuman(H)) if(istype(H.glasses, /obj/item/clothing/glasses/hud)) - occupant_message("[H.glasses] prevent you from using [src]'s built-in janitorial HUD.") + occupant_message(SPAN_WARNING("[H.glasses] prevent you from using [src]'s built-in janitorial HUD.")) else var/datum/atom_hud/data/janitor/jani_hud = GLOB.huds[DATA_HUD_JANITOR] jani_hud.add_hud_to(H) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 7c61fe020e6..6bdd0369a25 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -124,7 +124,7 @@ if(!I.tool_start_check(src, user, 0)) return output_dir = turn(output_dir, -90) - to_chat(user, "You change [src] to output to the [dir2text(output_dir)].") + to_chat(user, SPAN_NOTICE("You change [src] to output to the [dir2text(output_dir)].")) /obj/machinery/mecha_part_fabricator/RefreshParts() var/coef_mats = 0 @@ -305,10 +305,10 @@ */ /obj/machinery/mecha_part_fabricator/proc/can_insert_materials(mob/user) if(panel_open) - to_chat(user, "[src] cannot be loaded with new materials while opened!") + to_chat(user, SPAN_WARNING("[src] cannot be loaded with new materials while opened!")) return FALSE if(being_built) - to_chat(user, "[src] is currently building a part! Please wait until completion.") + to_chat(user, SPAN_WARNING("[src] is currently building a part! Please wait until completion.")) return FALSE return TRUE @@ -328,7 +328,7 @@ if(..()) return if(!allowed(user) && !isobserver(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ui_interact(user) @@ -460,18 +460,18 @@ if(user_pass == C.network_password) C.mechfabs += UID() network_manager_uid = C.UID() - to_chat(usr, "Successfully linked to [C.network_name].") + to_chat(usr, SPAN_NOTICE("Successfully linked to [C.network_name].")) else - to_chat(usr, "ERROR: Password incorrect.") + to_chat(usr, SPAN_ALERT("ERROR: Password incorrect.")) else - to_chat(usr, "ERROR: Controller not found. Please file an issue report.") + to_chat(usr, SPAN_ALERT("ERROR: Controller not found. Please file an issue report.")) return TRUE var/datum/research/files = get_files() if(!files) - to_chat(usr, "Error - No research network linked.") + to_chat(usr, SPAN_DANGER("Error - No research network linked.")) return . = TRUE diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 43306b36d00..e18b78f271e 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -233,10 +233,10 @@ if(user.incapacitated()) return if(phasing) - occupant_message("Unable to interact with objects while phasing.") + occupant_message(SPAN_WARNING("Unable to interact with objects while phasing.")) return if(state) - occupant_message("Maintenance protocols in effect.") + occupant_message(SPAN_WARNING("Maintenance protocols in effect.")) return if(!get_charge()) return @@ -256,15 +256,15 @@ if(!target.Adjacent(src)) if(selected && selected.is_ranged()) if(HAS_TRAIT(L, TRAIT_PACIFISM) && selected.harmful) - to_chat(L, "You don't want to harm other living beings!") + to_chat(L, SPAN_WARNING("You don't want to harm other living beings!")) return if(user.mind?.martial_art?.no_guns) - to_chat(L, "[L.mind.martial_art.no_guns_message]") + to_chat(L, SPAN_WARNING("[L.mind.martial_art.no_guns_message]")) return selected.action(target, params) else if(selected && selected.is_melee()) if(isliving(target) && selected.harmful && HAS_TRAIT(L, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm other living beings!") + to_chat(user, SPAN_WARNING("You don't want to harm other living beings!")) return selected.action(target, params) else @@ -307,7 +307,7 @@ if(istype(backup) && movement_dir && !backup.anchored) if(backup.newtonian_move(turn(movement_dir, 180))) if(occupant) - to_chat(occupant, "You push off of [backup] to propel yourself.") + to_chat(occupant, SPAN_NOTICE("You push off of [backup] to propel yourself.")) return TRUE /obj/mecha/relaymove(mob/user, direction) @@ -315,15 +315,15 @@ return if(user != occupant) //While not "realistic", this piece is player friendly. user.forceMove(get_turf(src)) - to_chat(user, "You climb out from [src].") + to_chat(user, SPAN_NOTICE("You climb out from [src].")) return FALSE if(connected_port) if(world.time - last_message > 20) - occupant_message("Unable to move while connected to the air system port!") + occupant_message(SPAN_WARNING("Unable to move while connected to the air system port!")) last_message = world.time return FALSE if(state) - occupant_message("Maintenance protocols in effect.") + occupant_message(SPAN_DANGER("Maintenance protocols in effect.")) return return domove(direction) @@ -336,18 +336,18 @@ return FALSE if(defence_mode) if(world.time - last_message > 20) - occupant_message("Unable to move while in defence mode.") + occupant_message(SPAN_DANGER("Unable to move while in defence mode.")) last_message = world.time return FALSE if(zoom_mode) if(world.time - last_message > 20) - occupant_message("Unable to move while in zoom mode.") + occupant_message(SPAN_DANGER("Unable to move while in zoom mode.")) last_message = world.time return FALSE if(thrusters_active && has_gravity(src)) thrusters_active = FALSE - to_chat(occupant, "Thrusters automatically disabled.") + to_chat(occupant, SPAN_NOTICE("Thrusters automatically disabled.")) step_in = initial(step_in) var/move_result = 0 var/move_type = 0 @@ -511,11 +511,11 @@ internal_damage &= ~int_dam_flag switch(int_dam_flag) if(MECHA_INT_TEMP_CONTROL) - occupant_message("Life support system reactivated.") + occupant_message(SPAN_NOTICE("Life support system reactivated.")) if(MECHA_INT_FIRE) - occupant_message("Internal fire extinquished.") + occupant_message(SPAN_NOTICE("Internal fire extinquished.")) if(MECHA_INT_TANK_BREACH) - occupant_message("Damaged internal tank has been sealed.") + occupant_message(SPAN_NOTICE("Damaged internal tank has been sealed.")) diag_hud_set_mechstat() @@ -540,7 +540,7 @@ damage_amount = 0 spark_system.start() else - occupant_message("Shield breached!") + occupant_message(SPAN_USERDANGER("Shield breached!")) shield.on_unequip() . = ..() if(. && obj_integrity > 0) @@ -553,7 +553,7 @@ else check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT)) if((. >= 5 || prob(33)) && !(. == 1 && leg_overload_mode)) //If it takes 1 damage and leg_overload_mode is true, do not say TAKING DAMAGE! to the user several times a second. - occupant_message("Taking damage!") + occupant_message(SPAN_USERDANGER("Taking damage!")) log_message("Took [damage_amount] points of damage. Damage type: [damage_type]") /obj/mecha/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) @@ -580,7 +580,7 @@ booster_damage_modifier /= facing_modifier booster_deflection_modifier *= facing_modifier if(prob(deflect_chance * booster_deflection_modifier)) - visible_message("[src]'s armour deflects the attack!") + visible_message(SPAN_DANGER("[src]'s armour deflects the attack!")) log_message("Armor saved.") return FALSE if(.) @@ -590,7 +590,7 @@ user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) playsound(loc, 'sound/weapons/tap.ogg', 40, TRUE, -1) - user.visible_message("[user] hits [name]. Nothing happens", "You hit [name] with no visible effect.") + user.visible_message(SPAN_NOTICE("[user] hits [name]. Nothing happens"), SPAN_NOTICE("You hit [name] with no visible effect.")) log_message("Attack by hand/paw. Attacker - [user].") @@ -667,7 +667,7 @@ log_message("Hit by projectile. Type: [Proj.name]([Proj.flag]).") add_attack_logs(Proj.firer, OCCUPANT_LOGGING, "shot [Proj.name]([Proj.flag]) at mech [src]") if(Proj.shield_buster && istype(selected, /obj/item/mecha_parts/mecha_equipment/pulse_shield)) - occupant_message("Shield breached!") + occupant_message(SPAN_USERDANGER("Shield breached!")) selected.on_unequip() ..() @@ -735,7 +735,7 @@ if(emp_proof) return if(istype(selected, /obj/item/mecha_parts/mecha_equipment/pulse_shield)) - occupant_message("Shield breached!") + occupant_message(SPAN_USERDANGER("Shield breached!")) selected.on_unequip() if(get_charge()) use_power((cell.charge/3)/(severity*2)) @@ -769,9 +769,9 @@ if(!user.drop_item()) return E.attach(src) - user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src].") + user.visible_message("[user] attaches [W] to [src].", SPAN_NOTICE("You attach [W] to [src].")) else - to_chat(user, "You were unable to attach [W] to [src]!") + to_chat(user, SPAN_WARNING("You were unable to attach [W] to [src]!")) return if(W.GetID()) @@ -786,9 +786,9 @@ output_maintenance_dialog(id_card, user) return else - to_chat(user, "Invalid ID: Access denied.") + to_chat(user, SPAN_WARNING("Invalid ID: Access denied.")) else - to_chat(user, "Maintenance protocols disabled by operator.") + to_chat(user, SPAN_WARNING("Maintenance protocols disabled by operator.")) else if(istype(W, /obj/item/stack/cable_coil)) if(state == MECHA_OPEN_HATCH && hasInternalDamage(MECHA_INT_SHORT_CIRCUIT)) @@ -806,38 +806,38 @@ if(!cell) if(!user.drop_item()) return - to_chat(user, "You install the powercell.") + to_chat(user, SPAN_NOTICE("You install the powercell.")) W.forceMove(src) cell = W log_message("Powercell installed") if(istype(selected, /obj/item/mecha_parts/mecha_equipment/pulse_shield) && istype(cell, /obj/item/stock_parts/cell/infinite)) - occupant_message("The immense power of the cell overloads the shields.") + occupant_message(SPAN_DANGER("The immense power of the cell overloads the shields.")) selected.on_unequip() else - to_chat(user, "There's already a powercell installed.") + to_chat(user, SPAN_NOTICE("There's already a powercell installed.")) return else if(istype(W, /obj/item/mecha_parts/mecha_tracking)) if(!user.drop_item_to_ground(W)) - to_chat(user, "\the [W] is stuck to your hand, you cannot put it in \the [src]") + to_chat(user, SPAN_NOTICE("\the [W] is stuck to your hand, you cannot put it in \the [src]")) return // Check if a tracker exists var/obj/item/mecha_parts/mecha_tracking/new_tracker = W for(var/obj/item/mecha_parts/mecha_tracking/current_tracker in trackers) if(new_tracker.type == current_tracker.type) - to_chat(user, "This exosuit already has a [current_tracker].") + to_chat(user, SPAN_WARNING("This exosuit already has a [current_tracker].")) user.put_in_hands(new_tracker) return trackers -= current_tracker - to_chat(user, "You remove [current_tracker].") + to_chat(user, SPAN_NOTICE("You remove [current_tracker].")) var/obj/item/mecha_parts/mecha_tracking/duplicate_tracker = new current_tracker.type user.put_in_hands(duplicate_tracker) qdel(current_tracker) new_tracker.forceMove(src) trackers += W - user.visible_message("[user] attaches [new_tracker] to [src].", "You attach [new_tracker] to [src].") + user.visible_message("[user] attaches [new_tracker] to [src].", SPAN_NOTICE("You attach [new_tracker] to [src].")) diag_hud_set_mechtracking() return @@ -869,13 +869,13 @@ else if(istype(W, /obj/item/mecha_modkit)) if(occupant) - to_chat(user, "You can't access the mech's modification port while it is occupied.") + to_chat(user, SPAN_NOTICE("You can't access the mech's modification port while it is occupied.")) return var/obj/item/mecha_modkit/M = W if(do_after_once(user, M.install_time, target = src)) M.install(src, user) else - to_chat(user, "You stop installing [M].") + to_chat(user, SPAN_NOTICE("You stop installing [M].")) else if(W.force) @@ -896,17 +896,17 @@ state = MECHA_BOLTS_UP to_chat(user, "You close the hatch to the power unit") else if(ishuman(occupant)) - user.visible_message("[user] begins levering out the driver from the [src].", "You begin to lever out the driver from the [src].") - to_chat(occupant, "[user] is prying you out of the exosuit!") + user.visible_message(SPAN_NOTICE("[user] begins levering out the driver from the [src]."), SPAN_NOTICE("You begin to lever out the driver from the [src].")) + to_chat(occupant, SPAN_WARNING("[user] is prying you out of the exosuit!")) if(I.use_tool(src, user, 8 SECONDS, volume = I.tool_volume)) - user.visible_message("[user] pries the driver out of the [src]!", "You finish removing the driver from the [src]!") + user.visible_message(SPAN_NOTICE("[user] pries the driver out of the [src]!"), SPAN_NOTICE("You finish removing the driver from the [src]!")) go_out() else // Since having maint protocols available is controllable by the MMI, I see this as a consensual way to remove an MMI without destroying the mech - user.visible_message("[user] begins levering out the MMI from [src].", "You begin to lever out the MMI from [src].") - to_chat(occupant, "[user] is prying you out of the exosuit!") + user.visible_message(SPAN_NOTICE("[user] begins levering out the MMI from [src]."), SPAN_NOTICE("You begin to lever out the MMI from [src].")) + to_chat(occupant, SPAN_WARNING("[user] is prying you out of the exosuit!")) if(I.use_tool(src, user, 8 SECONDS, volume = I.tool_volume) && pilot_is_mmi()) - user.visible_message("[user] pries the MMI out of [src]!", "You finish removing the MMI from [src]!") + user.visible_message(SPAN_NOTICE("[user] pries the MMI out of [src]!"), SPAN_NOTICE("You finish removing the MMI from [src]!")) go_out() /obj/mecha/screwdriver_act(mob/user, obj/item/I) @@ -919,16 +919,16 @@ return if(hasInternalDamage(MECHA_INT_TEMP_CONTROL)) clearInternalDamage(MECHA_INT_TEMP_CONTROL) - to_chat(user, "You repair the damaged temperature controller.") + to_chat(user, SPAN_NOTICE("You repair the damaged temperature controller.")) else if(state == MECHA_OPEN_HATCH && cell) cell.forceMove(loc) cell = null state = MECHA_BATTERY_UNSCREW - to_chat(user, "You unscrew and pry out the powercell.") + to_chat(user, SPAN_NOTICE("You unscrew and pry out the powercell.")) log_message("Powercell removed") else if(state == MECHA_BATTERY_UNSCREW && cell) state = MECHA_OPEN_HATCH - to_chat(user, "You screw the cell in place.") + to_chat(user, SPAN_NOTICE("You screw the cell in place.")) /obj/mecha/wrench_act(mob/user, obj/item/I) if(state != MECHA_MAINT_ON && state != MECHA_BOLTS_UP) @@ -950,25 +950,25 @@ if(!I.tool_use_check(user, 0)) return if((obj_integrity >= max_integrity) && !internal_damage) - to_chat(user, "[src] is at full integrity!") + to_chat(user, SPAN_NOTICE("[src] is at full integrity!")) return if(repairing) - to_chat(user, "[src] is currently being repaired!") + to_chat(user, SPAN_NOTICE("[src] is currently being repaired!")) return if(state == MECHA_MAINT_OFF) // If maint protocols are not active, the state is zero - to_chat(user, "[src] can not be repaired without maintenance protocols active!") + to_chat(user, SPAN_WARNING("[src] can not be repaired without maintenance protocols active!")) return WELDER_ATTEMPT_REPAIR_MESSAGE repairing = TRUE if(I.use_tool(src, user, 15, volume = I.tool_volume)) if(internal_damage & MECHA_INT_TANK_BREACH) clearInternalDamage(MECHA_INT_TANK_BREACH) - user.visible_message("[user] repairs the damaged gas tank.", "You repair the damaged gas tank.") + user.visible_message(SPAN_NOTICE("[user] repairs the damaged gas tank."), SPAN_NOTICE("You repair the damaged gas tank.")) else if(obj_integrity < max_integrity) - user.visible_message("[user] repairs some damage to [name].", "You repair some damage to [name].") + user.visible_message(SPAN_NOTICE("[user] repairs some damage to [name]."), SPAN_NOTICE("You repair some damage to [name].")) obj_integrity += min(10, max_integrity - obj_integrity) else - to_chat(user, "[src] is at full integrity!") + to_chat(user, SPAN_NOTICE("[src] is at full integrity!")) repairing = FALSE /obj/mecha/mech_melee_attack(obj/mecha/M) @@ -981,9 +981,9 @@ /obj/mecha/emag_act(mob/user) if(emag_proof) - to_chat(user, "[src]'s ID slot rejects the card.") + to_chat(user, SPAN_WARNING("[src]'s ID slot rejects the card.")) return - user.visible_message("[user] slides a card through [src]'s id slot.", "You slide the card through [src]'s ID slot, resetting the DNA and access locks.") + user.visible_message(SPAN_NOTICE("[user] slides a card through [src]'s id slot."), SPAN_NOTICE("You slide the card through [src]'s ID slot, resetting the DNA and access locks.")) playsound(loc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) dna = null operation_req_access = list() @@ -1006,22 +1006,22 @@ to_chat(user, "[B.get_mecha_info_text()]") break //Nothing like a big, red link to make the player feel powerful! - to_chat(user, "ASSUME DIRECT CONTROL?
") + to_chat(user, "[SPAN_USERDANGER("ASSUME DIRECT CONTROL?")]
") else examine(user) if(occupant) - to_chat(user, "This exosuit has a pilot and cannot be controlled.") + to_chat(user, SPAN_WARNING("This exosuit has a pilot and cannot be controlled.")) return var/can_control_mech = FALSE for(var/obj/item/mecha_parts/mecha_tracking/ai_control/A in trackers) can_control_mech = TRUE - to_chat(user, "[bicon(src)] Status of [name]:\n\ + to_chat(user, "[SPAN_NOTICE("[bicon(src)] Status of [name]:")]\n\ [A.get_mecha_info_text()]") break if(!can_control_mech) - to_chat(user, "You cannot control exosuits without AI control beacons installed.") + to_chat(user, SPAN_WARNING("You cannot control exosuits without AI control beacons installed.")) return - to_chat(user, "Take control of exosuit?
") + to_chat(user, "[SPAN_BOLDNOTICE("Take control of exosuit?")]
") /obj/mecha/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) if(!..()) @@ -1031,14 +1031,14 @@ switch(interaction) if(AI_TRANS_TO_CARD) //Upload AI from mech to AI card. if(!maint_access) //Mech must be in maint mode to allow carding. - to_chat(user, "[name] must have maintenance protocols active in order to allow a transfer.") + to_chat(user, SPAN_WARNING("[name] must have maintenance protocols active in order to allow a transfer.")) return AI = occupant if(!AI || !is_ai(occupant)) //Mech does not have an AI for a pilot - to_chat(user, "No AI detected in the [name] onboard computer.") + to_chat(user, SPAN_WARNING("No AI detected in the [name] onboard computer.")) return if(AI.mind.special_role) //Malf AIs cannot leave mechs. Except through death. - to_chat(user, "ACCESS DENIED.") + to_chat(user, SPAN_BOLDANNOUNCEIC("ACCESS DENIED.")) return AI.aiRestorePowerRoutine = 0//So the AI initially has power. AI.control_disabled = TRUE @@ -1049,31 +1049,31 @@ AI.remote_control = null icon_state = reset_icon(icon_state)+"-open" to_chat(AI, "You have been downloaded to a mobile storage device. Wireless connection offline.") - to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory.") + to_chat(user, "[SPAN_BOLDNOTICE("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory.") if(AI_MECH_HACK) //Called by AIs on the mech AI.linked_core = new /obj/structure/ai_core/deactivated(AI.loc) if(AI.can_dominate_mechs) if(occupant) //Oh, I am sorry, were you using that? to_chat(AI, "Pilot detected! Forced ejection initiated!") - to_chat(occupant, "You have been forcibly ejected!") + to_chat(occupant, SPAN_DANGER("You have been forcibly ejected!")) go_out(1) //IT IS MINE, NOW. SUCK IT, RD! ai_enter_mech(AI, interaction) if(AI_TRANS_FROM_CARD) //Using an AI card to upload to a mech. AI = locate(/mob/living/silicon/ai) in card if(!AI) - to_chat(user, "There is no AI currently installed on this device.") + to_chat(user, SPAN_WARNING("There is no AI currently installed on this device.")) return else if(AI.stat || !AI.client) - to_chat(user, "[AI.name] is currently unresponsive, and cannot be uploaded.") + to_chat(user, SPAN_WARNING("[AI.name] is currently unresponsive, and cannot be uploaded.")) return else if(occupant || dna) //Normal AIs cannot steal mechs! to_chat(user, "Access denied. [name] is [occupant ? "currently occupied" : "secured with a DNA lock"].") return AI.control_disabled = FALSE AI.aiRadio.disabledAi = FALSE - to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") + to_chat(user, "[SPAN_BOLDNOTICE("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.") ai_enter_mech(AI, interaction) //Hack and From Card interactions share some code, so leave that here for both to use. @@ -1095,9 +1095,9 @@ AI.remote_control = src AI.reset_perspective(src) AI.can_shunt = FALSE //ONE AI ENTERS. NO AI LEAVES. - to_chat(AI, "[AI.can_dominate_mechs ? "Takeover of [name] complete! You are now permanently loaded onto the onboard computer. Do not attempt to leave the station sector!" \ + to_chat(AI, "[AI.can_dominate_mechs ? SPAN_BOLDNOTICE("Takeover of [name] complete! You are now permanently loaded onto the onboard computer. Do not attempt to leave the station sector!") \ : "You have been uploaded to a mech's onboard computer."]") - to_chat(AI, "Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions.") + to_chat(AI, SPAN_BOLDNOTICE("Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions.")) if(interaction == AI_TRANS_FROM_CARD) GrantActions(AI, FALSE) else @@ -1175,7 +1175,7 @@ /obj/mecha/MouseDrop_T(mob/M, mob/user) if(frozen) - to_chat(user, "Do not enter Admin-Frozen mechs.") + to_chat(user, SPAN_WARNING("Do not enter Admin-Frozen mechs.")) return TRUE if(user.incapacitated()) return @@ -1183,7 +1183,7 @@ return log_message("[user] tries to move in.") if(occupant) - to_chat(user, "[src] is already occupied!") + to_chat(user, SPAN_WARNING("[src] is already occupied!")) log_append_to_last("Permission denied.") return TRUE var/passed @@ -1194,15 +1194,15 @@ else if(operation_allowed(user)) passed = TRUE if(!passed) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) log_append_to_last("Permission denied.") return TRUE if(user.buckled) - to_chat(user, "You are currently buckled and cannot move.") + to_chat(user, SPAN_WARNING("You are currently buckled and cannot move.")) log_append_to_last("Permission denied.") return TRUE if(user.has_buckled_mobs()) //mob attached to us - to_chat(user, "You can't enter the exosuit with other creatures attached to you!") + to_chat(user, SPAN_WARNING("You can't enter the exosuit with other creatures attached to you!")) return TRUE visible_message("[user] starts to climb into [src]") @@ -1212,17 +1212,17 @@ /obj/mecha/proc/put_in(mob/user) // need this proc to use INVOKE_ASYNC in other proc. You're not recommended to use that one if(do_after(user, mech_enter_time, target = src)) if(obj_integrity <= 0) - to_chat(user, "You cannot get in the [name], it has been destroyed!") + to_chat(user, SPAN_WARNING("You cannot get in the [name], it has been destroyed!")) else if(occupant) - to_chat(user, "[occupant] was faster! Try better next time, loser.") + to_chat(user, SPAN_DANGER("[occupant] was faster! Try better next time, loser.")) else if(user.buckled) - to_chat(user, "You can't enter the exosuit while buckled.") + to_chat(user, SPAN_WARNING("You can't enter the exosuit while buckled.")) else if(user.has_buckled_mobs()) - to_chat(user, "You can't enter the exosuit with other creatures attached to you!") + to_chat(user, SPAN_WARNING("You can't enter the exosuit with other creatures attached to you!")) else moved_inside(user) else - to_chat(user, "You stop entering the exosuit!") + to_chat(user, SPAN_WARNING("You stop entering the exosuit!")) /obj/mecha/proc/moved_inside(mob/living/carbon/human/H as mob) if(H && H.client && (H in range(1))) @@ -1252,28 +1252,28 @@ /obj/mecha/proc/mmi_move_inside(obj/item/mmi/mmi_as_oc as obj,mob/user as mob) if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client) - to_chat(user, "Consciousness matrix not detected!") + to_chat(user, SPAN_WARNING("Consciousness matrix not detected!")) return FALSE else if(mmi_as_oc.brainmob.stat) - to_chat(user, "Beta-rhythm below acceptable level!") + to_chat(user, SPAN_WARNING("Beta-rhythm below acceptable level!")) return FALSE else if(occupant) - to_chat(user, "Occupant detected!") + to_chat(user, SPAN_WARNING("Occupant detected!")) return FALSE else if(dna && dna != mmi_as_oc.brainmob.dna.unique_enzymes) - to_chat(user, "Access denied. [name] is secured with a DNA lock.") + to_chat(user, SPAN_WARNING("Access denied. [name] is secured with a DNA lock.")) return FALSE else if(!operation_allowed(user)) - to_chat(user, "Access denied. [name] is secured with an ID lock.") + to_chat(user, SPAN_WARNING("Access denied. [name] is secured with an ID lock.")) return FALSE if(do_after(user, 4 SECONDS, target = src)) if(!occupant) return mmi_moved_inside(mmi_as_oc,user) else - to_chat(user, "Occupant detected!") + to_chat(user, SPAN_WARNING("Occupant detected!")) else - to_chat(user, "You stop inserting the MMI.") + to_chat(user, SPAN_NOTICE("You stop inserting the MMI.")) return FALSE /obj/mecha/proc/mmi_moved_inside(obj/item/mmi/mmi_as_oc, mob/user) @@ -1285,7 +1285,7 @@ to_chat(user, "Beta-rhythm below acceptable level.") return FALSE if(!user.drop_item_to_ground(mmi_as_oc)) - to_chat(user, "\the [mmi_as_oc] is stuck to your hand, you cannot put it in \the [src]") + to_chat(user, SPAN_NOTICE("\the [mmi_as_oc] is stuck to your hand, you cannot put it in \the [src]")) return FALSE var/mob/living/brain/brainmob = mmi_as_oc.brainmob brainmob.reset_perspective(src) @@ -1294,7 +1294,7 @@ if(istype(mmi_as_oc, /obj/item/mmi/robotic_brain)) var/obj/item/mmi/robotic_brain/R = mmi_as_oc if(R.imprinted_master) - to_chat(brainmob, "Your imprint to [R.imprinted_master] has been temporarily disabled. You should help the crew and not commit harm.") + to_chat(brainmob, SPAN_BIGGERDANGER("Your imprint to [R.imprinted_master] has been temporarily disabled. You should help the crew and not commit harm.")) mmi_as_oc.loc = src mmi_as_oc.mecha = src Entered(mmi_as_oc) @@ -1353,10 +1353,10 @@ return else if(!AI.linked_core || QDELETED(AI.linked_core)) - to_chat(AI, "Inactive core destroyed. Unable to return.") + to_chat(AI, SPAN_USERDANGER("Inactive core destroyed. Unable to return.")) AI.linked_core = null return - to_chat(AI, "Returning to core...") + to_chat(AI, SPAN_NOTICE("Returning to core...")) AI.controlled_mech = null if(istype(AI.eyeobj)) AI.remote_control = AI.eyeobj @@ -1386,7 +1386,7 @@ if(istype(mmi, /obj/item/mmi/robotic_brain)) var/obj/item/mmi/robotic_brain/R = mmi if(R.imprinted_master) - to_chat(L, "Imprint re-enabled, you are once again bound to [R.imprinted_master]'s commands.") + to_chat(L, SPAN_NOTICE("Imprint re-enabled, you are once again bound to [R.imprinted_master]'s commands.")) icon_state = reset_icon(icon_state)+"-open" dir = dir_in @@ -1406,8 +1406,8 @@ /obj/mecha/proc/get_out_and_die() var/mob/living/pilot = occupant pilot.visible_message( - "[src] is hit by a hyperspace ripple!", - "You feel an immense crushing pressure as the space around you ripples." + SPAN_WARNING("[src] is hit by a hyperspace ripple!"), + SPAN_USERDANGER("You feel an immense crushing pressure as the space around you ripples.") ) go_out(TRUE) if(iscarbon(pilot)) @@ -1683,7 +1683,7 @@ var/obj/item/mecha_parts/mecha_equipment/new_sel = LAZYACCESS(choices_to_refs, choice) if(istype(new_sel)) selected = new_sel - occupant_message("You switch to [selected].") + occupant_message(SPAN_NOTICE("You switch to [selected].")) visible_message("[src] raises [selected]") send_byjax(occupant, "exosuit.browser", "eq_list", get_equipment_list()) diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm index 6f4cdbe1002..c6b307ebfc4 100644 --- a/code/game/mecha/mecha_actions.dm +++ b/code/game/mecha/mecha_actions.dm @@ -98,10 +98,10 @@ button_icon_state = "mech_defense_mode_[chassis.defence_mode ? "on" : "off"]" if(chassis.defence_mode) chassis.deflect_chance = chassis.defence_mode_deflect_chance - chassis.occupant_message("You enable [chassis] defence mode.") + chassis.occupant_message(SPAN_NOTICE("You enable [chassis] defence mode.")) else chassis.deflect_chance = initial(chassis.deflect_chance) - chassis.occupant_message("You disable [chassis] defence mode.") + chassis.occupant_message(SPAN_DANGER("You disable [chassis] defence mode.")) chassis.log_message("Toggled defence mode.") build_all_button_icons() @@ -113,7 +113,7 @@ if(!owner || !chassis || chassis.occupant != owner) return if(chassis.obj_integrity < chassis.max_integrity - chassis.max_integrity / 3) - chassis.occupant_message("The leg actuators are too damaged to overload!") + chassis.occupant_message(SPAN_DANGER("The leg actuators are too damaged to overload!")) return // Can't activate them if the mech is too damaged if(!isnull(forced_state)) chassis.leg_overload_mode = forced_state @@ -126,15 +126,15 @@ // chassis.bumpsmash = 1 chassis.step_in = min(1, round(chassis.step_in / 2)) chassis.step_energy_drain = max(chassis.overload_step_energy_drain_min, chassis.step_energy_drain * chassis.leg_overload_coeff) - chassis.occupant_message("You enable leg actuators overload.") + chassis.occupant_message(SPAN_DANGER("You enable leg actuators overload.")) if(istype(chassis.selected, /obj/item/mecha_parts/mecha_equipment/pulse_shield)) - chassis.occupant_message("Your shields turn off as your actuators overload.") + chassis.occupant_message(SPAN_DANGER("Your shields turn off as your actuators overload.")) else chassis.leg_overload_mode = 0 // chassis.bumpsmash = 0 chassis.step_in = initial(chassis.step_in) chassis.step_energy_drain = chassis.normal_step_energy_drain - chassis.occupant_message("You disable leg actuators overload.") + chassis.occupant_message(SPAN_NOTICE("You disable leg actuators overload.")) build_all_button_icons() chassis.update_icon(UPDATE_OVERLAYS) @@ -167,7 +167,7 @@ spawn(chassis.smoke_cooldown) chassis.smoke_ready = 1 else - chassis.occupant_message("You are either out of smoke, or the smoke isn't ready yet.") + chassis.occupant_message(SPAN_WARNING("You are either out of smoke, or the smoke isn't ready yet.")) /datum/action/innate/mecha/mech_zoom name = "Zoom" @@ -238,7 +238,7 @@ else chassis.floor_buffer = FALSE chassis.step_in -= chassis.buffer_delay - to_chat(usr, "The floor buffer is now [chassis.floor_buffer ? "active" : "deactivated"].") + to_chat(usr, SPAN_NOTICE("The floor buffer is now [chassis.floor_buffer ? "active" : "deactivated"].")) /datum/action/innate/mecha/select_module name = "Hey, you shouldn't see this please make a bug report" @@ -260,6 +260,6 @@ chassis.selected.on_unequip() chassis.selected = equipment chassis.selected.on_equip() - chassis.occupant_message("You switch to [equipment.name].") + chassis.occupant_message(SPAN_NOTICE("You switch to [equipment.name].")) chassis.visible_message("[chassis] raises [equipment.name]") send_byjax(chassis.occupant, "exosuit.browser", "eq_list", chassis.get_equipment_list()) diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 4475574cab6..c5b781da7d1 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -411,93 +411,93 @@ //TODO: better messages. switch(index) if(20) - user.visible_message("[user] connects the [holder] hydraulic systems", "You connect the [holder] hydraulic systems.") + user.visible_message(SPAN_NOTICE("[user] connects the [holder] hydraulic systems"), SPAN_NOTICE("You connect the [holder] hydraulic systems.")) holder.icon_state = "gygax1" if(19) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] activates the [holder] hydraulic systems.", "You activate the [holder] hydraulic systems.") + user.visible_message(SPAN_NOTICE("[user] activates the [holder] hydraulic systems."), SPAN_NOTICE("You activate the [holder] hydraulic systems.")) holder.icon_state = "gygax2" else - user.visible_message("[user] disconnects the [holder] hydraulic systems.", "You disconnect the [holder] hydraulic systems.") + user.visible_message(SPAN_NOTICE("[user] disconnects the [holder] hydraulic systems."), SPAN_NOTICE("You disconnect the [holder] hydraulic systems.")) holder.icon_state = "gygax0" if(18) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] adds the wiring to the [holder].", "You add the wiring to the [holder].") + user.visible_message(SPAN_NOTICE("[user] adds the wiring to the [holder]."), SPAN_NOTICE("You add the wiring to the [holder].")) holder.icon_state = "gygax3" else - user.visible_message("[user] deactivates the [holder] hydraulic systems.", "You deactivate the [holder] hydraulic systems.") + user.visible_message(SPAN_NOTICE("[user] deactivates the [holder] hydraulic systems."), SPAN_NOTICE("You deactivate the [holder] hydraulic systems.")) holder.icon_state = "gygax1" if(17) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] adjusts the wiring of the [holder].", "You adjust the wiring of the [holder].") + user.visible_message(SPAN_NOTICE("[user] adjusts the wiring of the [holder]."), SPAN_NOTICE("You adjust the wiring of the [holder].")) holder.icon_state = "gygax4" else - user.visible_message("[user] removes the wiring from the [holder].", "You remove the wiring from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the wiring from the [holder]."), SPAN_NOTICE("You remove the wiring from the [holder].")) var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder)) coil.amount = 4 holder.icon_state = "gygax2" if(16) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs the central control module into the [holder].", "You install the central computer mainboard into the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs the central control module into the [holder]."), SPAN_NOTICE("You install the central computer mainboard into the [holder].")) qdel(used_atom) holder.icon_state = "gygax5" else - user.visible_message("[user] disconnects the wiring of the [holder].", "You disconnect the wiring of the [holder].") + user.visible_message(SPAN_NOTICE("[user] disconnects the wiring of the [holder]."), SPAN_NOTICE("You disconnect the wiring of the [holder].")) holder.icon_state = "gygax3" if(15) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + user.visible_message(SPAN_NOTICE("[user] secures the mainboard."), SPAN_NOTICE("You secure the mainboard.")) holder.icon_state = "gygax6" else - user.visible_message("[user] removes the central control module from the [holder].", "You remove the central computer mainboard from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the central control module from the [holder]."), SPAN_NOTICE("You remove the central computer mainboard from the [holder].")) new /obj/item/circuitboard/mecha/gygax/main(get_turf(holder)) holder.icon_state = "gygax4" if(14) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs the peripherals control module into the [holder].", "You install the peripherals control module into the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs the peripherals control module into the [holder]."), SPAN_NOTICE("You install the peripherals control module into the [holder].")) qdel(used_atom) holder.icon_state = "gygax7" else - user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + user.visible_message(SPAN_NOTICE("[user] unfastens the mainboard."), SPAN_NOTICE("You unfasten the mainboard.")) holder.icon_state = "gygax5" if(13) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + user.visible_message(SPAN_NOTICE("[user] secures the peripherals control module."), SPAN_NOTICE("You secure the peripherals control module.")) holder.icon_state = "gygax8" else - user.visible_message("[user] removes the peripherals control module from the [holder].", "You remove the peripherals control module from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the peripherals control module from the [holder]."), SPAN_NOTICE("You remove the peripherals control module from the [holder].")) new /obj/item/circuitboard/mecha/gygax/peripherals(get_turf(holder)) holder.icon_state = "gygax6" if(12) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs the weapon control module into the [holder].", "You install the weapon control module into the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs the weapon control module into the [holder]."), SPAN_NOTICE("You install the weapon control module into the [holder].")) qdel(used_atom) holder.icon_state = "gygax9" else - user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + user.visible_message(SPAN_NOTICE("[user] unfastens the peripherals control module."), SPAN_NOTICE("You unfasten the peripherals control module.")) holder.icon_state = "gygax7" if(11) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.") + user.visible_message(SPAN_NOTICE("[user] secures the weapon control module."), SPAN_NOTICE("You secure the weapon control module.")) holder.icon_state = "gygax10" else - user.visible_message("[user] removes the weapon control module from the [holder].", "You remove the weapon control module from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the weapon control module from the [holder]."), SPAN_NOTICE("You remove the weapon control module from the [holder].")) new /obj/item/circuitboard/mecha/gygax/targeting(get_turf(holder)) holder.icon_state = "gygax8" if(10) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs advanced scanner module to the [holder].", "You install advanced scanner module to the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs advanced scanner module to the [holder]."), SPAN_NOTICE("You install advanced scanner module to the [holder].")) qdel(used_atom) holder.icon_state = "gygax11" else - user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.") + user.visible_message(SPAN_NOTICE("[user] unfastens the weapon control module."), SPAN_NOTICE("You unfasten the weapon control module.")) holder.icon_state = "gygax9" if(9) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the advanced scanner module.", "You secure the advanced scanner module.") + user.visible_message(SPAN_NOTICE("[user] secures the advanced scanner module."), SPAN_NOTICE("You secure the advanced scanner module.")) holder.icon_state = "gygax12" else - user.visible_message("[user] removes the advanced scanner module from the [holder].", "You remove the advanced scanner module from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the advanced scanner module from the [holder]."), SPAN_NOTICE("You remove the advanced scanner module from the [holder].")) new /obj/item/stock_parts/scanning_module/adv(get_turf(holder)) holder.icon_state = "gygax10" if(8) @@ -506,60 +506,60 @@ qdel(used_atom) holder.icon_state = "gygax13" else - user.visible_message("[user] unfastens the advanced scanner module.", "You unfasten the advanced scanner module.") + user.visible_message(SPAN_NOTICE("[user] unfastens the advanced scanner module."), SPAN_NOTICE("You unfasten the advanced scanner module.")) holder.icon_state = "gygax11" if(7) if(diff == CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the mech power core.", "You secure the mech power core.") + user.visible_message(SPAN_NOTICE("[user] secures the mech power core."), SPAN_NOTICE("You secure the mech power core.")) holder.icon_state = "gygax14" else - user.visible_message("[user] removes the mech power core from the [holder].", "You remove the mech power core from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the mech power core from the [holder]."), SPAN_NOTICE("You remove the mech power core from the [holder].")) new /obj/item/mecha_parts/core(get_turf(holder)) holder.icon_state = "gygax12" if(6) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs the internal armor layer to the [holder].", "You install the internal armor layer to the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs the internal armor layer to the [holder]."), SPAN_NOTICE("You install the internal armor layer to the [holder].")) holder.icon_state = "gygax15" else - user.visible_message("[user] unfastens the advanced capacitor.", "You unfasten the advanced capacitor.") + user.visible_message(SPAN_NOTICE("[user] unfastens the advanced capacitor."), SPAN_NOTICE("You unfasten the advanced capacitor.")) holder.icon_state = "gygax13" if(5) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") + user.visible_message(SPAN_NOTICE("[user] secures the internal armor layer."), SPAN_NOTICE("You secure the internal armor layer.")) holder.icon_state = "gygax16" else - user.visible_message("[user] pries the internal armor layer from the [holder].", "You pry the internal armor layer from the [holder].") + user.visible_message(SPAN_NOTICE("[user] pries the internal armor layer from the [holder]."), SPAN_NOTICE("You pry the internal armor layer from the [holder].")) var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder)) MS.amount = 5 holder.icon_state = "gygax14" if(4) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] welds the internal armor layer to the [holder].", "You weld the internal armor layer to the [holder].") + user.visible_message(SPAN_NOTICE("[user] welds the internal armor layer to the [holder]."), SPAN_NOTICE("You weld the internal armor layer to the [holder].")) holder.icon_state = "gygax17" else - user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + user.visible_message(SPAN_NOTICE("[user] unfastens the internal armor layer."), SPAN_NOTICE("You unfasten the internal armor layer.")) holder.icon_state = "gygax15" if(3) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs the Gygax Armor Plates to the [holder].", "You install the Gygax Armor Plates to the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs the Gygax Armor Plates to the [holder]."), SPAN_NOTICE("You install the Gygax Armor Plates to the [holder].")) qdel(used_atom) holder.icon_state = "gygax18" else - user.visible_message("[user] cuts the internal armor layer from the [holder].", "You cut the internal armor layer from the [holder].") + user.visible_message(SPAN_NOTICE("[user] cuts the internal armor layer from the [holder]."), SPAN_NOTICE("You cut the internal armor layer from the [holder].")) holder.icon_state = "gygax16" if(2) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the Gygax Armor Plates.", "You secure the Gygax Armor Plates.") + user.visible_message(SPAN_NOTICE("[user] secures the Gygax Armor Plates."), SPAN_NOTICE("You secure the Gygax Armor Plates.")) holder.icon_state = "gygax19" else - user.visible_message("[user] pries the Gygax Armor Plates from the [holder].", "You pry the Gygax Armor Plates from the [holder].") + user.visible_message(SPAN_NOTICE("[user] pries the Gygax Armor Plates from the [holder]."), SPAN_NOTICE("You pry the Gygax Armor Plates from the [holder].")) new /obj/item/mecha_parts/part/gygax_armour(get_turf(holder)) holder.icon_state = "gygax17" if(1) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] welds the Gygax Armor Plates to the [holder].", "You weld the Gygax Armor Plates to the [holder].") + user.visible_message(SPAN_NOTICE("[user] welds the Gygax Armor Plates to the [holder]."), SPAN_NOTICE("You weld the Gygax Armor Plates to the [holder].")) else - user.visible_message("[user] unfastens the Gygax Armor Plates.", "You unfasten the Gygax Armor Plates.") + user.visible_message(SPAN_NOTICE("[user] unfastens the Gygax Armor Plates."), SPAN_NOTICE("You unfasten the Gygax Armor Plates.")) holder.icon_state = "gygax18" return 1 @@ -922,28 +922,28 @@ if(istype(used_atom, /obj/effect/dummy/mecha_emote_step)) var/obj/effect/dummy/mecha_emote_step/E = used_atom - holder.visible_message("[holder] likewise [E.emote]") + holder.visible_message("[SPAN_NAME("[holder]")] likewise [E.emote]") qdel(used_atom) //TODO: better messages. switch(index) if(9) - user.visible_message("[user] installs the central control module into the [holder].", "You install the central control module into the [holder].") + user.visible_message("[user] installs the central control module into the [holder].", SPAN_NOTICE("You install the central control module into the [holder].")) qdel(used_atom) if(8) - user.visible_message("[user] installs the peripherals control module into the [holder].", "You install the peripherals control module into the [holder].") + user.visible_message("[user] installs the peripherals control module into the [holder].", SPAN_NOTICE("You install the peripherals control module into the [holder].")) qdel(used_atom) if(7) - user.visible_message("[user] installs the weapon control module into the [holder].", "You install the weapon control module into the [holder].") + user.visible_message("[user] installs the weapon control module into the [holder].", SPAN_NOTICE("You install the weapon control module into the [holder].")) qdel(used_atom) if(6) - user.visible_message("[user] puts beret on the [holder].", "You put beret on the [holder].") + user.visible_message("[user] puts beret on the [holder].", SPAN_NOTICE("You put beret on the [holder].")) qdel(used_atom) if(4) - user.visible_message("[user] puts mime mask on the [holder].", "You put mime mask on the [holder].") + user.visible_message("[user] puts mime mask on the [holder].", SPAN_NOTICE("You put mime mask on the [holder].")) qdel(used_atom) if(2) - user.visible_message("[user] puts suspenders on the [holder].", "You put suspenders on the [holder].") + user.visible_message("[user] puts suspenders on the [holder].", SPAN_NOTICE("You put suspenders on the [holder].")) qdel(used_atom) return 1 @@ -1092,155 +1092,155 @@ //TODO: better messages. switch(index) if(20) - user.visible_message("[user] connects the [holder] hydraulic systems.", "You connect the [holder] hydraulic systems.") + user.visible_message(SPAN_NOTICE("[user] connects the [holder] hydraulic systems."), SPAN_NOTICE("You connect the [holder] hydraulic systems.")) holder.icon_state = "durand1" if(19) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] activates the [holder] hydraulic systems.", "You activate the [holder] hydraulic systems.") + user.visible_message(SPAN_NOTICE("[user] activates the [holder] hydraulic systems."), SPAN_NOTICE("You activate the [holder] hydraulic systems.")) holder.icon_state = "durand2" else - user.visible_message("[user] disconnects the [holder] hydraulic systems.", "You disconnect the [holder] hydraulic systems.") + user.visible_message(SPAN_NOTICE("[user] disconnects the [holder] hydraulic systems."), SPAN_NOTICE("You disconnect the [holder] hydraulic systems.")) holder.icon_state = "durand0" if(18) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] adds the wiring to the [holder].", "You add the wiring to the [holder].") + user.visible_message(SPAN_NOTICE("[user] adds the wiring to the [holder]."), SPAN_NOTICE("You add the wiring to the [holder].")) holder.icon_state = "durand3" else - user.visible_message("[user] deactivates the [holder] hydraulic systems.", "You deactivate the [holder] hydraulic systems.") + user.visible_message(SPAN_NOTICE("[user] deactivates the [holder] hydraulic systems."), SPAN_NOTICE("You deactivate the [holder] hydraulic systems.")) holder.icon_state = "durand1" if(17) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] adjusts the wiring of the [holder].", "You adjust the wiring of the [holder].") + user.visible_message(SPAN_NOTICE("[user] adjusts the wiring of the [holder]."), SPAN_NOTICE("You adjust the wiring of the [holder].")) holder.icon_state = "durand4" else - user.visible_message("[user] removes the wiring from the [holder].", "You remove the wiring from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the wiring from the [holder]."), SPAN_NOTICE("You remove the wiring from the [holder].")) var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder)) coil.amount = 4 holder.icon_state = "durand2" if(16) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs the central control module into the [holder].", "You install the central computer mainboard into the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs the central control module into the [holder]."), SPAN_NOTICE("You install the central computer mainboard into the [holder].")) qdel(used_atom) holder.icon_state = "durand5" else - user.visible_message("[user] disconnects the wiring of the [holder].", "You disconnect the wiring of the [holder].") + user.visible_message(SPAN_NOTICE("[user] disconnects the wiring of the [holder]."), SPAN_NOTICE("You disconnect the wiring of the [holder].")) holder.icon_state = "durand3" if(15) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + user.visible_message(SPAN_NOTICE("[user] secures the mainboard."), SPAN_NOTICE("You secure the mainboard.")) holder.icon_state = "durand6" else - user.visible_message("[user] removes the central control module from the [holder].", "You remove the central computer mainboard from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the central control module from the [holder]."), SPAN_NOTICE("You remove the central computer mainboard from the [holder].")) new /obj/item/circuitboard/mecha/durand/main(get_turf(holder)) holder.icon_state = "durand4" if(14) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs the peripherals control module into the [holder].", "You install the peripherals control module into the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs the peripherals control module into the [holder]."), SPAN_NOTICE("You install the peripherals control module into the [holder].")) qdel(used_atom) holder.icon_state = "durand7" else - user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + user.visible_message(SPAN_NOTICE("[user] unfastens the mainboard."), SPAN_NOTICE("You unfasten the mainboard.")) holder.icon_state = "durand5" if(13) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + user.visible_message(SPAN_NOTICE("[user] secures the peripherals control module."), SPAN_NOTICE("You secure the peripherals control module.")) holder.icon_state = "durand8" else - user.visible_message("[user] removes the peripherals control module from the [holder].", "You remove the peripherals control module from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the peripherals control module from the [holder]."), SPAN_NOTICE("You remove the peripherals control module from the [holder].")) new /obj/item/circuitboard/mecha/durand/peripherals(get_turf(holder)) holder.icon_state = "durand6" if(12) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs the weapon control module into the [holder].", "You install the weapon control module into the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs the weapon control module into the [holder]."), SPAN_NOTICE("You install the weapon control module into the [holder].")) qdel(used_atom) holder.icon_state = "durand9" else - user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + user.visible_message(SPAN_NOTICE("[user] unfastens the peripherals control module."), SPAN_NOTICE("You unfasten the peripherals control module.")) holder.icon_state = "durand7" if(11) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.") + user.visible_message(SPAN_NOTICE("[user] secures the weapon control module."), SPAN_NOTICE("You secure the weapon control module.")) holder.icon_state = "durand10" else - user.visible_message("[user] removes the weapon control module from the [holder].", "You remove the weapon control module from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the weapon control module from the [holder]."), SPAN_NOTICE("You remove the weapon control module from the [holder].")) new /obj/item/circuitboard/mecha/durand/targeting(get_turf(holder)) holder.icon_state = "durand8" if(10) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs phasic scanner module to the [holder].", "You install phasic scanner module to the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs phasic scanner module to the [holder]."), SPAN_NOTICE("You install phasic scanner module to the [holder].")) qdel(used_atom) holder.icon_state = "durand11" else - user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.") + user.visible_message(SPAN_NOTICE("[user] unfastens the weapon control module."), SPAN_NOTICE("You unfasten the weapon control module.")) holder.icon_state = "durand9" if(9) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the phasic scanner module.", "You secure the phasic scanner module.") + user.visible_message(SPAN_NOTICE("[user] secures the phasic scanner module."), SPAN_NOTICE("You secure the phasic scanner module.")) holder.icon_state = "durand12" else - user.visible_message("[user] removes the phasic scanner module from the [holder].", "You remove the phasic scanner module from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the phasic scanner module from the [holder]."), SPAN_NOTICE("You remove the phasic scanner module from the [holder].")) new /obj/item/stock_parts/scanning_module/phasic(get_turf(holder)) holder.icon_state = "durand10" if(8) if(diff == CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs the mech power core to the [holder].", "You install the mech power core to the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs the mech power core to the [holder]."), SPAN_NOTICE("You install the mech power core to the [holder].")) qdel(used_atom) holder.icon_state = "durand13" else - user.visible_message("[user] unfastens the phasic scanner module.", "You unfasten the phasic scanner module.") + user.visible_message(SPAN_NOTICE("[user] unfastens the phasic scanner module."), SPAN_NOTICE("You unfasten the phasic scanner module.")) holder.icon_state = "durand11" if(7) if(diff == CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the mech power core.", "You secure the mech power core.") + user.visible_message(SPAN_NOTICE("[user] secures the mech power core."), SPAN_NOTICE("You secure the mech power core.")) holder.icon_state = "durand14" else - user.visible_message("[user] removes the mech power core from the [holder].", "You remove the mech power core from the [holder].") + user.visible_message(SPAN_NOTICE("[user] removes the mech power core from the [holder]."), SPAN_NOTICE("You remove the mech power core from the [holder].")) new /obj/item/mecha_parts/core(get_turf(holder)) holder.icon_state = "durand12" if(6) if(diff == CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs the internal armor layer to the [holder].", "You install the internal armor layer to the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs the internal armor layer to the [holder]."), SPAN_NOTICE("You install the internal armor layer to the [holder].")) holder.icon_state = "durand15" else - user.visible_message("[user] unfastens the mech power core.", "You unfasten the mech power core.") + user.visible_message(SPAN_NOTICE("[user] unfastens the mech power core."), SPAN_NOTICE("You unfasten the mech power core.")) holder.icon_state = "durand13" if(5) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") + user.visible_message(SPAN_NOTICE("[user] secures the internal armor layer."), SPAN_NOTICE("You secure the internal armor layer.")) holder.icon_state = "durand16" else - user.visible_message("[user] pries the internal armor layer from the [holder].", "You pry the internal armor layer from the [holder].") + user.visible_message(SPAN_NOTICE("[user] pries the internal armor layer from the [holder]."), SPAN_NOTICE("You pry the internal armor layer from the [holder].")) var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder)) MS.amount = 5 holder.icon_state = "durand14" if(4) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] welds the internal armor layer to the [holder].", "You weld the internal armor layer to the [holder].") + user.visible_message(SPAN_NOTICE("[user] welds the internal armor layer to the [holder]."), SPAN_NOTICE("You weld the internal armor layer to the [holder].")) holder.icon_state = "durand17" else - user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + user.visible_message(SPAN_NOTICE("[user] unfastens the internal armor layer."), SPAN_NOTICE("You unfasten the internal armor layer.")) holder.icon_state = "durand15" if(3) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] installs the Durand Armor Plates to the [holder].", "You install the Durand Armor Plates to the [holder].") + user.visible_message(SPAN_NOTICE("[user] installs the Durand Armor Plates to the [holder]."), SPAN_NOTICE("You install the Durand Armor Plates to the [holder].")) qdel(used_atom) holder.icon_state = "durand18" else - user.visible_message("[user] cuts the internal armor layer from the [holder].", "You cut the internal armor layer from the [holder].") + user.visible_message(SPAN_NOTICE("[user] cuts the internal armor layer from the [holder]."), SPAN_NOTICE("You cut the internal armor layer from the [holder].")) holder.icon_state = "durand16" if(2) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] secures the Durand Armor Plates.", "You secure the Durand Armor Plates.") + user.visible_message(SPAN_NOTICE("[user] secures the Durand Armor Plates."), SPAN_NOTICE("You secure the Durand Armor Plates.")) holder.icon_state = "durand19" else - user.visible_message("[user] pries the Durand Armor Plates from the [holder].", "You pry the Durand Armor Plates from the [holder].") + user.visible_message(SPAN_NOTICE("[user] pries the Durand Armor Plates from the [holder]."), SPAN_NOTICE("You pry the Durand Armor Plates from the [holder].")) new /obj/item/mecha_parts/part/durand_armor(get_turf(holder)) holder.icon_state = "durand17" if(1) if(diff==CONSTRUCTION_PATH_FORWARDS) - user.visible_message("[user] welds the Durand Armor Plates to the [holder].", "You weld the Durand Armor Plates to the [holder].") + user.visible_message(SPAN_NOTICE("[user] welds the Durand Armor Plates to the [holder]."), SPAN_NOTICE("You weld the Durand Armor Plates to the [holder].")) else - user.visible_message("[user] unfastens the Durand Armor Plates.", "You unfasten the Durand Armor Plates.") + user.visible_message(SPAN_NOTICE("[user] unfastens the Durand Armor Plates."), SPAN_NOTICE("You unfasten the Durand Armor Plates.")) holder.icon_state = "durand18" return 1 diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index 33f92351020..debaf0460b9 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -178,7 +178,7 @@ mech.setInternalDamage(MECHA_INT_CONTROL_LOST) if(mech.occupant) - mech.occupant_message("Coordination system calibration failure. Manual restart required.") + mech.occupant_message(SPAN_DANGER("Coordination system calibration failure. Manual restart required.")) SEND_SOUND(mech.occupant, sound('sound/machines/warning-buzzer.ogg')) do_sparks(3, FALSE, mech.loc) diff --git a/code/game/mecha/mecha_modkit.dm b/code/game/mecha/mecha_modkit.dm index a1379ebe003..d73f15541cb 100644 --- a/code/game/mecha/mecha_modkit.dm +++ b/code/game/mecha/mecha_modkit.dm @@ -7,7 +7,7 @@ /obj/item/mecha_modkit/proc/install(obj/mecha/mech, mob/user) if(user) - to_chat(user, "You install [src] into [mech].") + to_chat(user, SPAN_NOTICE("You install [src] into [mech].")) return TRUE /obj/item/mecha_modkit/voice @@ -22,10 +22,10 @@ /obj/item/mecha_modkit/voice/install(obj/mecha/mech, mob/living/carbon/user) if(istype(mech, /obj/mecha/combat/reticence) && user) - to_chat(user, "You attempt to install [src] into [mech], but an invisible barrier prevents you from doing so!") + to_chat(user, SPAN_WARNING("You attempt to install [src] into [mech], but an invisible barrier prevents you from doing so!")) return FALSE if(istype(mech, /obj/mecha/combat/honker) && user) - to_chat(user, "You attempt to install [src] into [mech], but you somehow trip before you get it in!") + to_chat(user, SPAN_WARNING("You attempt to install [src] into [mech], but you somehow trip before you get it in!")) user.slip("your own foot", 16 SECONDS, 0, 0, 1, "trip") return FALSE mech.nominalsound = nominalsound diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index 7f0036e311d..19b866dce93 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -267,7 +267,7 @@ /obj/item/mecha_parts/chassis/phazon/attackby__legacy__attackchain(obj/item/I, mob/user, params) . = ..() if(istype(I, /obj/item/assembly/signaler/anomaly) && !istype(I, /obj/item/assembly/signaler/anomaly/bluespace)) - to_chat(user, "The anomaly core socket only accepts bluespace anomaly cores!") + to_chat(user, SPAN_WARNING("The anomaly core socket only accepts bluespace anomaly cores!")) /obj/item/mecha_parts/part/phazon_torso name = "\improper Phazon torso" diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm index 94a2cecd492..a751e7473d3 100644 --- a/code/game/mecha/mecha_topic.dm +++ b/code/game/mecha/mecha_topic.dm @@ -386,7 +386,7 @@ if(usr != occupant) return if(occupant && !iscarbon(occupant)) - to_chat(occupant, "You do not have any DNA!") + to_chat(occupant, SPAN_DANGER("You do not have any DNA!")) return dna = occupant.dna.unique_enzymes occupant_message("You feel a prick as the needle takes your DNA sample.") diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm index 010e11d446b..47b01bb92be 100644 --- a/code/game/mecha/mecha_wreckage.dm +++ b/code/game/mecha/mecha_wreckage.dm @@ -45,7 +45,7 @@ . = ..() if(!AI) return - . += "The AI recovery beacon is active." + . += SPAN_NOTICE("The AI recovery beacon is active.") /obj/structure/mecha_wreckage/crowbar_act(mob/user, obj/item/I) . = TRUE @@ -54,24 +54,24 @@ if(length(crowbar_salvage)) var/obj/S = pick(crowbar_salvage) S.forceMove(user.drop_location()) - user.visible_message("[user] pries [S] from [src].", "You pry [S] from [src].") + user.visible_message(SPAN_NOTICE("[user] pries [S] from [src]."), SPAN_NOTICE("You pry [S] from [src].")) crowbar_salvage -= S return - to_chat(user, "You don't see anything that can be pried with [I]!") + to_chat(user, SPAN_NOTICE("You don't see anything that can be pried with [I]!")) /obj/structure/mecha_wreckage/welder_act(mob/user, obj/item/I) . = TRUE if(!I.tool_use_check(user, 0)) return if(salvage_num <= 0 || !length(welder_salvage)) - to_chat(user, "You don't see anything that can be cut with [I]!") + to_chat(user, SPAN_NOTICE("You don't see anything that can be cut with [I]!")) return if(prob(30)) - to_chat(user, "You fail to salvage anything valuable from [src]!") + to_chat(user, SPAN_NOTICE("You fail to salvage anything valuable from [src]!")) return var/type = pick(welder_salvage) var/N = new type(get_turf(user)) - user.visible_message("[user] cuts [N] from [src].", "You cut [N] from [src].") + user.visible_message("[user] cuts [N] from [src].", SPAN_NOTICE("You cut [N] from [src].")) if(!istype(N, /obj/item/stack)) welder_salvage -= type salvage_num-- @@ -81,10 +81,10 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(wires_removed) - to_chat(user, "You don't see anything that can be cut with [I]!") + to_chat(user, SPAN_NOTICE("You don't see anything that can be cut with [I]!")) return var/N = new /obj/item/stack/cable_coil(get_turf(user), rand(1, 3)) - user.visible_message("[user] cuts [N] from [src].", "You cut [N] from [src].") + user.visible_message("[user] cuts [N] from [src].", SPAN_NOTICE("You cut [N] from [src].")) wires_removed = TRUE /obj/structure/mecha_wreckage/transfer_ai(interaction, mob/user, mob/living/silicon/ai/the_ai, obj/item/aicard/card) @@ -95,7 +95,7 @@ if(interaction != AI_TRANS_TO_CARD) //AIs can only be transferred in one direction, from the wreck to the card. return if(!AI) //No AI in the wreck - to_chat(user, "No AI backups found.") + to_chat(user, SPAN_WARNING("No AI backups found.")) return cut_overlays() //Remove the recovery beacon overlay AI.forceMove(card) //Move the dead AI to the card. @@ -103,7 +103,7 @@ to_chat(AI, "The remains of your file system have been recovered on a mobile storage device.") else //Give the AI a heads-up that it is probably going to get fixed. AI.notify_ghost_cloning("You have been recovered from the wreckage!", source = card) - to_chat(user, "Backup files recovered: [AI.name] ([rand(1000, 9999)].exe) salvaged from [name] and stored within local memory.") + to_chat(user, "[SPAN_BOLDNOTICE("Backup files recovered")]: [AI.name] ([rand(1000, 9999)].exe) salvaged from [name] and stored within local memory.") AI = null /obj/structure/mecha_wreckage/gygax diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm index e8995cfd47c..4b0e3d9cb22 100644 --- a/code/game/mecha/medical/odysseus.dm +++ b/code/game/mecha/medical/odysseus.dm @@ -17,7 +17,7 @@ . = ..() if(. && ishuman(H)) if(istype(H.glasses, /obj/item/clothing/glasses/hud)) - occupant_message("[H.glasses] prevent you from using the built-in medical hud.") + occupant_message(SPAN_WARNING("[H.glasses] prevent you from using the built-in medical hud.")) else var/datum/atom_hud/data/human/medical/advanced/A = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] A.add_hud_to(H) diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index bd44b6c9a1f..33278dc879e 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -261,7 +261,7 @@ if(href_list["drop_from_cargo"]) var/obj/O = locate(href_list["drop_from_cargo"]) if(O && (O in cargo)) - occupant_message("You unload [O].") + occupant_message(SPAN_NOTICE("You unload [O].")) O.loc = get_turf(src) cargo -= O var/turf/T = get_turf(O) @@ -306,5 +306,5 @@ /obj/mecha/working/ripley/emag_act(mob/user) if(!emagged) emagged = TRUE - desc += "
The mech's equipment slots spark dangerously!" + desc += "
[SPAN_DANGER("The mech's equipment slots spark dangerously!")]" return ..() diff --git a/code/game/movable_vv.dm b/code/game/movable_vv.dm index 0762a4e9e63..8b25d91fa42 100644 --- a/code/game/movable_vv.dm +++ b/code/game/movable_vv.dm @@ -20,11 +20,11 @@ if(!GLOB.dsay_enabled) // TODO verify what happens when deadchat is muted - to_chat(usr, "Deadchat is globally muted, un-mute deadchat before enabling this.") + to_chat(usr, SPAN_WARNING("Deadchat is globally muted, un-mute deadchat before enabling this.")) return if(GetComponent(/datum/component/deadchat_control)) - to_chat(usr, "[src] is already under deadchat control!") + to_chat(usr, SPAN_WARNING("[src] is already under deadchat control!")) return var/control_mode = tgui_input_list(usr, "Please select the control mode", "Deadchat Control", list("Democracy", "Anarchy")) @@ -42,7 +42,7 @@ if(isnull(cooldown) || (cooldown == -1 && selected_mode == DEADCHAT_DEMOCRACY_MODE)) return if(cooldown < 0 && selected_mode == DEADCHAT_DEMOCRACY_MODE) - to_chat(usr, "The cooldown for Democracy mode must be greater than zero.") + to_chat(usr, SPAN_WARNING("The cooldown for Democracy mode must be greater than zero.")) return if(cooldown == -1) cooldown = 0 @@ -57,7 +57,7 @@ return if(!GetComponent(/datum/component/deadchat_control)) - to_chat(usr, "[src] is not currently under deadchat control!") + to_chat(usr, SPAN_WARNING("[src] is not currently under deadchat control!")) return stop_deadchat_plays() diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 258887a0c12..6ae62ceed44 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -60,9 +60,9 @@ if(!M.can_buckle() && !force) if(M == usr) - to_chat(M, "You are unable to buckle yourself to [src]!") + to_chat(M, SPAN_WARNING("You are unable to buckle yourself to [src]!")) else - to_chat(usr, "You are unable to buckle [M] to [src]!") + to_chat(usr, SPAN_WARNING("You are unable to buckle [M] to [src]!")) M.buckling = null return FALSE @@ -149,17 +149,17 @@ if(.) if(M == user) M.visible_message( - "[M] buckles [M.p_themselves()] to [src].", - "You buckle yourself to [src].", - "You hear the click of a buckle being secured." + SPAN_NOTICE("[M] buckles [M.p_themselves()] to [src]."), + SPAN_NOTICE("You buckle yourself to [src]."), + SPAN_NOTICE("You hear the click of a buckle being secured.") ) M.create_log(ATTACK_LOG, "Buckles [M.p_themselves()] to [src]", M) log_attack(M, M, "Buckles themselves to [src]") else M.visible_message( - "[user] buckles [M] to [src]!", - "[user] buckles you to [src]!", - "You hear the click of a buckle being secured." + SPAN_WARNING("[user] buckles [M] to [src]!"), + SPAN_WARNING("[user] buckles you to [src]!"), + SPAN_NOTICE("You hear the click of a buckle being secured.") ) user.create_log(ATTACK_LOG, "[user] has buckled [M] to [src]", M) M.create_log(DEFENSE_LOG, "[M] has been buckled by [user] to [src]", user) @@ -171,18 +171,18 @@ if(M) if(M != user) M.visible_message( - "[user] unbuckles [M] from [src].", - "[user] unbuckles you from [src].", - "You hear the click of a buckle being undone." + SPAN_NOTICE("[user] unbuckles [M] from [src]."), + SPAN_NOTICE("[user] unbuckles you from [src]."), + SPAN_NOTICE("You hear the click of a buckle being undone.") ) user.create_log(ATTACK_LOG, "[user] has unbuckled [M] from [src]", M) M.create_log(DEFENSE_LOG, "[M] has been unbuckled by [user] from [src]", user) log_attack(user, M, "Unbuckled from [src]") else M.visible_message( - "[M] unbuckles [M.p_themselves()] from [src].", - "You unbuckle yourself from [src].", - "You hear the click of a buckle being undone." + SPAN_NOTICE("[M] unbuckles [M.p_themselves()] from [src]."), + SPAN_NOTICE("You unbuckle yourself from [src]."), + SPAN_NOTICE("You hear the click of a buckle being undone.") ) M.create_log(ATTACK_LOG, "Unbuckles [M.p_themselves()] from [src]", M) log_attack(M, M, "Unbuckles themselves from [src]") diff --git a/code/game/objects/cleaning.dm b/code/game/objects/cleaning.dm index 355da438212..65a51533c5c 100644 --- a/code/game/objects/cleaning.dm +++ b/code/game/objects/cleaning.dm @@ -19,7 +19,7 @@ var/is_cmagged = FALSE if(user.client && (src in user.client.screen)) //You can't clean items you're wearing for technical reasons - to_chat(user, "You need to take that [text_targetname] off before cleaning it.") + to_chat(user, SPAN_NOTICE("You need to take that [text_targetname] off before cleaning it.")) return FALSE var/is_dirty = FALSE @@ -44,7 +44,7 @@ return T.cleaning_act(user, cleaner, cleanspeed, text_verb, " under [src][text_description].", skip_do_after=skip_do_after) if(!skip_do_after) - user.visible_message("[user] begins to [text_verb] \the [text_targetname][text_description]", "You begin to [text_verb] \the [text_targetname][text_description]") + user.visible_message(SPAN_WARNING("[user] begins to [text_verb] \the [text_targetname][text_description]"), SPAN_WARNING("You begin to [text_verb] \the [text_targetname][text_description]")) if(!do_after(user, cleanspeed, target = src)) return FALSE @@ -55,7 +55,7 @@ cleaner.post_clean(src, user) if(!skip_do_after) - to_chat(user, "You [text_verb] \the [text_targetname][text_description]") + to_chat(user, SPAN_NOTICE("You [text_verb] \the [text_targetname][text_description]")) if(is_cmagged) //If we've cleaned a cmagged object REMOVE_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG) diff --git a/code/game/objects/effects/alien_acid.dm b/code/game/objects/effects/alien_acid.dm index a79027fb0b1..87ec9701f8d 100644 --- a/code/game/objects/effects/alien_acid.dm +++ b/code/game/objects/effects/alien_acid.dm @@ -86,17 +86,17 @@ playsound(loc, 'sound/items/welder.ogg', 100, TRUE) target_strength-- if(target_strength <= 0) - target.visible_message("[target] collapses under its own weight into a puddle of goop and undigested debris!") + target.visible_message(SPAN_WARNING("[target] collapses under its own weight into a puddle of goop and undigested debris!")) target.acid_melt() qdel(src) else switch(target_strength) if(24) - visible_message("[target] is holding up against the acid!") + visible_message(SPAN_WARNING("[target] is holding up against the acid!")) if(16) - visible_message("[target] is being melted by the acid!") + visible_message(SPAN_WARNING("[target] is being melted by the acid!")) if(8) - visible_message("[target] is struggling to withstand the acid!") + visible_message(SPAN_WARNING("[target] is struggling to withstand the acid!")) if(4) - visible_message("[target] begins to crumble under the acid!") + visible_message(SPAN_WARNING("[target] begins to crumble under the acid!")) diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index 50ed4b56edd..7d9953189a4 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -103,7 +103,7 @@ /obj/effect/anomaly/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/analyzer)) - to_chat(user, "Analyzing... [src]'s unstable field is fluctuating along frequency [format_frequency(aSignal.frequency)], code [aSignal.code].") + to_chat(user, SPAN_NOTICE("Analyzing... [src]'s unstable field is fluctuating along frequency [format_frequency(aSignal.frequency)], code [aSignal.code].")) return ITEM_INTERACT_COMPLETE /obj/effect/anomaly/grav diff --git a/code/game/objects/effects/anomalous_particulate.dm b/code/game/objects/effects/anomalous_particulate.dm index 9eeca1f0b45..257949da079 100644 --- a/code/game/objects/effects/anomalous_particulate.dm +++ b/code/game/objects/effects/anomalous_particulate.dm @@ -262,16 +262,16 @@ var/mob/living/victim = A switch(bump_effect) if(BLUESPACE) // Easy out of a department... but you'll be slow and unable to fight well for a minute. - to_chat(victim, "You feel like everything around you is moving twice as fast!") + to_chat(victim, SPAN_USERDANGER("You feel like everything around you is moving twice as fast!")) victim.apply_status_effect(STATUS_EFFECT_BLUESPACESLOWDOWN_LONG) victim.Slowed(1 MINUTES, 1) do_teleport(victim, get_turf(victim), 21, sound_in = 'sound/effects/phasein.ogg', safe_turf_pick = TRUE) if(GRAV) // Yeet - to_chat(victim, "You bounce right off [src]!") + to_chat(victim, SPAN_USERDANGER("You bounce right off [src]!")) var/atom/target = get_edge_target_turf(victim, get_dir(src, get_step_away(victim, src))) victim.throw_at(target, 20, 3) if(PYRO) // I mean yeah, hot - to_chat(victim, "[src] is perhaps a bit hot to the touch.") + to_chat(victim, SPAN_DANGER("[src] is perhaps a bit hot to the touch.")) victim.adjust_fire_stacks(12) victim.IgniteMob() if(FLUX) // Shock them... or charge the cell in the item they are holding! @@ -298,12 +298,12 @@ if(!charged_item) victim.electrocute_act(20, src, flags = SHOCK_NOGLOVES) return - to_chat(victim, "[charged_item] suddenly feels very warm!") + to_chat(victim, SPAN_NOTICE("[charged_item] suddenly feels very warm!")) if(VORTEX) // sharp particulate - to_chat(victim, "As you pass through [src], sharp particulate cuts into you!") + to_chat(victim, SPAN_USERDANGER("As you pass through [src], sharp particulate cuts into you!")) victim.adjustBruteLoss(30) if(CRYO) // slowdown via cold - to_chat(victim, "As you pass through [src], you feel quite cold!") + to_chat(victim, SPAN_USERDANGER("As you pass through [src], you feel quite cold!")) victim.adjust_bodytemperature(-230) @@ -312,28 +312,28 @@ if(!ishuman(user)) return if(hasHUD(user, ANOMALOUS_HUD)) - to_chat(user, "Your protective gear shields you from the anomalous effects. Best not to look at it without them.") + to_chat(user, SPAN_WARNING("Your protective gear shields you from the anomalous effects. Best not to look at it without them.")) return var/mob/living/carbon/human/victim = user switch(examine_effect) if(BLUESPACE) // Just a slowdown in spacetime - to_chat(victim, "[src] really begins to draw in your focus, time slips on by around you...") + to_chat(victim, SPAN_USERDANGER("[src] really begins to draw in your focus, time slips on by around you...")) victim.apply_status_effect(STATUS_EFFECT_BLUESPACESLOWDOWN) victim.Slowed(15 SECONDS, 1) if(GRAV) // bonk to the head - to_chat(victim, "Your head hurts just looking at [src]!") + to_chat(victim, SPAN_USERDANGER("Your head hurts just looking at [src]!")) victim.adjustBrainLoss(10) if(PYRO) // Just a nice warm glow - to_chat(victim, "[src] gives off a nice warm glow.") + to_chat(victim, SPAN_NOTICE("[src] gives off a nice warm glow.")) if(FLUX) // Emp yourself. This can be considered a benefit. - to_chat(victim, "As you focus on [src], a shock travels through you and your electronics!") + to_chat(victim, SPAN_USERDANGER("As you focus on [src], a shock travels through you and your electronics!")) victim.emp_act(EMP_LIGHT) if(VORTEX) // Darkness consumes you. Or your vision, for a moment - to_chat(victim, "[src] is so dark that... everything else kinda is.") + to_chat(victim, SPAN_USERDANGER("[src] is so dark that... everything else kinda is.")) victim.AdjustEyeBlind(5 SECONDS) if(CRYO) // A cool refresher. Though a bit toxic. - to_chat(victim, "A cool feeling passes through you, closing your wounds. Feels... a bit off though...") + to_chat(victim, SPAN_WARNING("A cool feeling passes through you, closing your wounds. Feels... a bit off though...")) victim.adjustBruteLoss(-10) victim.adjustFireLoss(-20) victim.adjustToxLoss(15) @@ -345,7 +345,7 @@ switch(process_effect) if(BLUESPACE) // Condense a crystal now and then if(prob(2)) - visible_message( "A drop of blue particulate from [src] condenses into a shining crystal.") + visible_message( SPAN_NOTICE("A drop of blue particulate from [src] condenses into a shining crystal.")) new /obj/item/stack/ore/bluespace_crystal/refined(get_turf(src)) if(GRAV) // Nice gravity. Invert it. if(prob(1)) @@ -452,13 +452,13 @@ */ /obj/effect/anomalous_particulate/proc/drain_influence(mob/living/user, obj/item/ppp_processor/processor) if(processor.clouds_processed >= 3) - to_chat(user, "Your PPPProcessor is full!") + to_chat(user, SPAN_WARNING("Your PPPProcessor is full!")) return if(processor.clouds_processed == -1) - to_chat(user, "Your PPPProcessor has no canisters to collect particulate with!") + to_chat(user, SPAN_WARNING("Your PPPProcessor has no canisters to collect particulate with!")) return being_drained = TRUE - to_chat(user, "Your PPPProcessor begins to energize and collect [src]...") + to_chat(user, SPAN_NOTICE("Your PPPProcessor begins to energize and collect [src]...")) if(!do_after(user, 10 SECONDS, target = src, hidden = TRUE)) being_drained = FALSE @@ -472,13 +472,13 @@ */ /obj/effect/anomalous_particulate/proc/after_drain(mob/living/user, obj/item/ppp_processor/processor) if(user) - to_chat(user, "[src] begins to intensify!") + to_chat(user, SPAN_WARNING("[src] begins to intensify!")) new /obj/effect/visible_anomalous_particulate(drop_location()) processor.collect() if(processor.clouds_processed >= 3) - to_chat(user, "[processor] has it's 3 canisters filled. Be sure to process the information!") + to_chat(user, SPAN_NOTICE("[processor] has it's 3 canisters filled. Be sure to process the information!")) GLOB.anomaly_smash_track.num_drained++ qdel(src) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 1dea868bd01..a75a13a78d0 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -183,7 +183,7 @@ return var/taken = rand(1,amount) amount -= taken - to_chat(user, "You get some of \the [src] on your hands.") + to_chat(user, SPAN_NOTICE("You get some of \the [src] on your hands.")) if(!user.blood_DNA) user.blood_DNA = list() user.blood_DNA |= blood_DNA.Copy() @@ -248,7 +248,7 @@ /obj/effect/decal/cleanable/blood/writing/examine(mob/user) . = ..() - . += "It reads: \"[message]\"" + . += SPAN_NOTICE("It reads: \"[message]\"") /obj/effect/decal/cleanable/blood/gibs name = "gibs" diff --git a/code/game/objects/effects/decals/Cleanable/misc_cleanables.dm b/code/game/objects/effects/decals/Cleanable/misc_cleanables.dm index ae12c242da3..e8ec6ac5b0f 100644 --- a/code/game/objects/effects/decals/Cleanable/misc_cleanables.dm +++ b/code/game/objects/effects/decals/Cleanable/misc_cleanables.dm @@ -267,9 +267,9 @@ /obj/effect/decal/cleanable/fungus/examine(mob/user) . = ..() if(no_scoop) - . += "There's not a lot here, you probably wouldn't be able to harvest anything useful." + . += SPAN_NOTICE("There's not a lot here, you probably wouldn't be able to harvest anything useful.") else - . += "There's enough here to scrape into a beaker." + . += SPAN_NOTICE("There's enough here to scrape into a beaker.") /obj/effect/decal/cleanable/fungus/on_scoop() alpha = 128 diff --git a/code/game/objects/effects/decals/Cleanable/tar.dm b/code/game/objects/effects/decals/Cleanable/tar.dm index 51d91a3e7a6..1c69341a576 100644 --- a/code/game/objects/effects/decals/Cleanable/tar.dm +++ b/code/game/objects/effects/decals/Cleanable/tar.dm @@ -32,7 +32,7 @@ if(isliving(entered)) var/mob/living/L = entered playsound(L, 'sound/effects/attackblob.ogg', 50, TRUE) - to_chat(L, "[src] sticks to you!") + to_chat(L, SPAN_USERDANGER("[src] sticks to you!")) /obj/effect/decal/cleanable/tar/item_interaction(mob/living/user, obj/item/used, list/modifiers) var/obj/item/weldingtool/fire_tool = used @@ -41,6 +41,6 @@ playsound(fire_tool, 'sound/items/welder.ogg', 50, TRUE) if(do_after(user, 3 SECONDS, FALSE, user)) if(fire_tool.get_heat() && Adjacent(user)) - user.visible_message("[user] burns away [src] with [fire_tool]!", "You burn away [src]!") + user.visible_message(SPAN_DANGER("[user] burns away [src] with [fire_tool]!"), SPAN_DANGER("You burn away [src]!")) qdel(src) return ITEM_INTERACT_COMPLETE diff --git a/code/game/objects/effects/decals/contraband_posters.dm b/code/game/objects/effects/decals/contraband_posters.dm index fcaa07ae7ab..accbe17bb62 100644 --- a/code/game/objects/effects/decals/contraband_posters.dm +++ b/code/game/objects/effects/decals/contraband_posters.dm @@ -96,10 +96,10 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(ruined) - to_chat(user, "You remove the remnants of the poster.") + to_chat(user, SPAN_NOTICE("You remove the remnants of the poster.")) qdel(src) else - to_chat(user, "You carefully remove the poster from the wall.") + to_chat(user, SPAN_NOTICE("You carefully remove the poster from the wall.")) roll_and_drop(user.loc) /obj/structure/sign/poster/attack_hand(mob/user) @@ -132,14 +132,14 @@ var/stuff_on_wall = 0 for(var/obj/O in contents) //Let's see if it already has a poster on it or too much stuff if(istype(O, /obj/structure/sign/poster)) - to_chat(user, "The wall is far too cluttered to place a poster!") + to_chat(user, SPAN_NOTICE("The wall is far too cluttered to place a poster!")) return stuff_on_wall++ if(stuff_on_wall >= 4) - to_chat(user, "The wall is far too cluttered to place a poster!") + to_chat(user, SPAN_NOTICE("The wall is far too cluttered to place a poster!")) return - to_chat(user, "You start placing the poster on the wall...")//Looks like it's uncluttered enough. Place the poster. + to_chat(user, SPAN_NOTICE("You start placing the poster on the wall..."))//Looks like it's uncluttered enough. Place the poster. var/obj/structure/sign/poster/D = P.poster_structure @@ -163,7 +163,7 @@ D.pixel_x = -32 D.pixel_y = 0 else - to_chat(user, "You cannot reach the wall from here!") + to_chat(user, SPAN_NOTICE("You cannot reach the wall from here!")) return flick("poster_being_set", D) @@ -176,11 +176,11 @@ return if(iswallturf(src) && user && user.loc == temp_loc) //Let's check if everything is still there - to_chat(user, "You place the poster!") + to_chat(user, SPAN_NOTICE("You place the poster!")) playsound(D.loc, 'sound/effects/pageturn3.ogg', 100, 1) return - to_chat(user, "The poster falls down!") + to_chat(user, SPAN_NOTICE("The poster falls down!")) D.roll_and_drop(temp_loc) diff --git a/code/game/objects/effects/decals/remains.dm b/code/game/objects/effects/decals/remains.dm index 2aedd7886c0..ed4bed54ed4 100644 --- a/code/game/objects/effects/decals/remains.dm +++ b/code/game/objects/effects/decals/remains.dm @@ -2,7 +2,7 @@ gender = PLURAL /obj/effect/decal/remains/acid_act() - visible_message("[src] dissolve[gender==PLURAL?"":"s"] into a puddle of sizzling goop!") + visible_message(SPAN_WARNING("[src] dissolve[gender==PLURAL?"":"s"] into a puddle of sizzling goop!")) playsound(src, 'sound/items/welder.ogg', 150, TRUE) new /obj/effect/decal/cleanable/greenglow(drop_location()) qdel(src) diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index 6ebffbe1adc..0db71030881 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -291,10 +291,10 @@ user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) if(prob(75 - metal * 25)) - user.visible_message("[user] smashes through [src].", "You smash through [src].") + user.visible_message(SPAN_WARNING("[user] smashes through [src]."), SPAN_NOTICE("You smash through [src].")) qdel(src) else - to_chat(user, "You hit the metal foam but bounce off it.") + to_chat(user, SPAN_NOTICE("You hit the metal foam but bounce off it.")) playsound(loc, 'sound/weapons/tap.ogg', 100, 1) /obj/structure/foamedmetal/CanPass(atom/movable/mover, border_dir) diff --git a/code/game/objects/effects/effect_system/effects_other.dm b/code/game/objects/effects/effect_system/effects_other.dm index 404df9a31bf..9172bf19140 100644 --- a/code/game/objects/effects/effect_system/effects_other.dm +++ b/code/game/objects/effects/effect_system/effects_other.dm @@ -92,10 +92,10 @@ do_sparks(2, 1, location) for(var/mob/M in viewers(5, location)) - to_chat(M, "The solution violently explodes.") + to_chat(M, SPAN_WARNING("The solution violently explodes.")) for(var/mob/living/L in viewers(1, location)) if(prob(50 * amount)) - to_chat(L, "The explosion knocks you down.") + to_chat(L, SPAN_WARNING("The explosion knocks you down.")) L.Weaken(rand(2 SECONDS, 10 SECONDS)) return else @@ -118,7 +118,7 @@ flash += (round(amount/4) * flashing_factor) for(var/mob/M in viewers(8, location)) - to_chat(M, "The solution violently explodes.") + to_chat(M, SPAN_WARNING("The solution violently explodes.")) explosion(location, devastation, heavy, light, flash, cause = "Reagents Explosion") diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 96847ec399a..44e2e49beba 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -156,7 +156,7 @@ breather.adjust_bodytemperature(80) // Enough to immediately take a small amount of damage, but people cool down quickly. if(prob(20)) - to_chat(breather, "You are being scalded by the hot steam!") + to_chat(breather, SPAN_WARNING("You are being scalded by the hot steam!")) ///////////////////////////////////////////// // Nanofrost smoke @@ -182,12 +182,12 @@ if(!isnull(V.welded) && !V.welded) //must be an unwelded vent pump. V.welded = TRUE V.update_icon() - V.visible_message("[V] was frozen shut!") + V.visible_message(SPAN_DANGER("[V] was frozen shut!")) for(var/obj/machinery/atmospherics/unary/vent_scrubber/U in T) if(!isnull(U.welded) && !U.welded) //must be an unwelded vent scrubber. U.welded = TRUE U.update_icon() - U.visible_message("[U] was frozen shut!") + U.visible_message(SPAN_DANGER("[U] was frozen shut!")) for(var/mob/living/L in T) L.ExtinguishMob() for(var/obj/item/Item in T) diff --git a/code/game/objects/effects/effects.dm b/code/game/objects/effects/effects.dm index ab5b40d5cd8..fce6ec2a9f9 100644 --- a/code/game/objects/effects/effects.dm +++ b/code/game/objects/effects/effects.dm @@ -125,12 +125,12 @@ /obj/effect/decal/proc/scoop(obj/item/I, mob/user) if(reagents && I.reagents && !no_scoop) if(!reagents.total_volume) - to_chat(user, "There isn't enough [src] to scoop up!") + to_chat(user, SPAN_NOTICE("There isn't enough [src] to scoop up!")) return if(I.reagents.total_volume >= I.reagents.maximum_volume) - to_chat(user, "[I] is full!") + to_chat(user, SPAN_NOTICE("[I] is full!")) return - to_chat(user, "You scoop [src] into [I]!") + to_chat(user, SPAN_NOTICE("You scoop [src] into [I]!")) on_scoop() reagents.trans_to(I, reagents.total_volume) if(!reagents.total_volume && !no_clear) //scooped up all of it diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index ada824d0a35..cc25455ef08 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -14,7 +14,7 @@ var/obj/item/seeds/myseed = /obj/item/seeds/glowshroom /obj/structure/glowshroom/extinguish_light(force = FALSE) - visible_message("[src] withers away!") + visible_message(SPAN_WARNING("[src] withers away!")) qdel(src) /obj/structure/glowshroom/glowcap @@ -113,7 +113,7 @@ /obj/structure/glowshroom/acid_act(acidpwr, acid_volume) . = 1 - visible_message("[src] melts away!") + visible_message(SPAN_DANGER("[src] melts away!")) var/obj/effect/decal/cleanable/molten_object/I = new (get_turf(src)) I.desc = "Looks like this was \an [src] some time ago." qdel(src) diff --git a/code/game/objects/effects/meteors.dm b/code/game/objects/effects/meteors.dm index be4d737448b..6979e43539d 100644 --- a/code/game/objects/effects/meteors.dm +++ b/code/game/objects/effects/meteors.dm @@ -180,7 +180,7 @@ GLOBAL_LIST_INIT(meteors_gore, list(/obj/effect/meteor/meaty = 5, /obj/effect/me . = TRUE // Hit a mob. var/mob/living/living_thing = thing - living_thing.visible_message("[src] slams into [living_thing].", "[src] slams into you!") + living_thing.visible_message(SPAN_WARNING("[src] slams into [living_thing]."), SPAN_USERDANGER("[src] slams into you!")) thing.ex_act(explosion_strength) if(!isobj(thing)) diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 20fdc9e5283..626b1e707a6 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -14,7 +14,7 @@ AddElement(/datum/element/connect_loc, loc_connections) /obj/effect/mine/proc/mineEffect(mob/living/victim) - to_chat(victim, "*click*") + to_chat(victim, SPAN_DANGER("*click*")) /obj/effect/mine/proc/on_atom_entered(datum/source, atom/movable/entered) SIGNAL_HANDLER // COMSIG_ATOM_ENTERED @@ -31,7 +31,7 @@ /obj/effect/mine/proc/triggermine(mob/living/victim) if(triggered) return - visible_message("[victim] sets off [bicon(src)] [src]!") + visible_message(SPAN_DANGER("[victim] sets off [bicon(src)] [src]!")) do_sparks(3, 1, src) mineEffect(victim) triggered = TRUE @@ -154,7 +154,7 @@ victim.flash_screen_color(red_splash, 10) spawn(duration) - to_chat(victim, "Your bloodlust seeps back into the bog of your subconscious and you regain self control.") + to_chat(victim, SPAN_NOTICE("Your bloodlust seeps back into the bog of your subconscious and you regain self control.")) qdel(chainsaw) qdel(src) @@ -166,7 +166,7 @@ /obj/effect/mine/pickup/healing/mineEffect(mob/living/carbon/victim) if(!victim.client || !istype(victim)) return - to_chat(victim, "You feel great!") + to_chat(victim, SPAN_NOTICE("You feel great!")) victim.revive() /obj/effect/mine/pickup/speed @@ -178,8 +178,8 @@ /obj/effect/mine/pickup/speed/mineEffect(mob/living/carbon/victim) if(!victim.client || !istype(victim)) return - to_chat(victim, "You feel fast!") + to_chat(victim, SPAN_NOTICE("You feel fast!")) ADD_TRAIT(victim, TRAIT_GOTTAGOFAST, "mine") spawn(duration) REMOVE_TRAIT(victim, TRAIT_GOTTAGOFAST, "mine") - to_chat(victim, "You slow down.") + to_chat(victim, SPAN_NOTICE("You slow down.")) diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index 3ef8d050da2..acc3bf75cfd 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -158,7 +158,7 @@ return TRUE /obj/effect/portal/proc/invalid_teleport() - visible_message("[src] flickers and fails due to bluespace interference!") + visible_message(SPAN_WARNING("[src] flickers and fails due to bluespace interference!")) if(create_sparks) do_sparks(5, 0, loc) qdel(src) @@ -177,7 +177,7 @@ /obj/effect/portal/hand_tele/examine(mob/user, infix, suffix) . = ..() if(unstable_time > world.time) - . += "[src] is shaking, it looks very unstable!" + . += SPAN_WARNING("[src] is shaking, it looks very unstable!") /obj/effect/portal/hand_tele/can_teleport(atom/movable/M) if(inactive) diff --git a/code/game/objects/effects/snowcloud.dm b/code/game/objects/effects/snowcloud.dm index 233b00aa590..216f18d49cd 100644 --- a/code/game/objects/effects/snowcloud.dm +++ b/code/game/objects/effects/snowcloud.dm @@ -94,16 +94,16 @@ user.changeNext_move(CLICK_CD_MELEE) var/obj/item/snowball/SB = new(get_turf(user)) user.put_in_hands(SB) - to_chat(user, "You scoop up some snow and make \a [SB]!") + to_chat(user, SPAN_NOTICE("You scoop up some snow and make \a [SB]!")) /obj/effect/snow/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/shovel)) var/obj/item/shovel/shovel = used - user.visible_message("[user] is clearing away [src]...", "You begin clearing away [src]...", "You hear a wettish digging sound.") + user.visible_message(SPAN_NOTICE("[user] is clearing away [src]..."), SPAN_NOTICE("You begin clearing away [src]..."), SPAN_WARNING("You hear a wettish digging sound.")) playsound(loc, shovel.usesound, 50, TRUE) if(do_after(user, 50 * shovel.toolspeed, target = src)) - user.visible_message("[user] clears away [src]!", "You clear away [src]!") - qdel(src) + user.visible_message(SPAN_NOTICE("[user] clears away [src]!"), SPAN_NOTICE("You clear away [src]!")) + qdel(src) return ITEM_INTERACT_COMPLETE /obj/effect/snow/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 877fd464316..7654f9f600d 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -47,7 +47,7 @@ if(istype(exiter, /mob/living/basic/giant_spider) || isterrorspider(exiter)) return if(isliving(exiter) && prob(50)) - to_chat(exiter, "You get stuck in [src] for a moment.") + to_chat(exiter, SPAN_DANGER("You get stuck in [src] for a moment.")) return COMPONENT_ATOM_BLOCK_EXIT if(isprojectile(exiter) && prob(30)) return COMPONENT_ATOM_BLOCK_EXIT @@ -94,7 +94,7 @@ icon_state = pick("cocoon1","cocoon2","cocoon3") /obj/structure/spider/cocoon/Destroy() - visible_message("[src] splits open.") + visible_message(SPAN_DANGER("[src] splits open.")) for(var/atom/movable/A in contents) A.forceMove(loc) return ..() diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index 63ab8096230..ed982bf5b9a 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -43,7 +43,7 @@ /obj/effect/step_trigger/message/Trigger(mob/M) if(M.client) - to_chat(M, "[message]") + to_chat(M, SPAN_NOTICE("[message]")) if(once) qdel(src) diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index 6302247524e..b38416b5794 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -16,7 +16,7 @@ // If we are in end round, make explosions gib the user // Why? Its funny if(GLOB.disable_explosions && usr && istype(usr, /mob/living/carbon/human)) - to_chat(usr, "Your explosive backfires!") + to_chat(usr, SPAN_USERDANGER("Your explosive backfires!")) var/mob/living/carbon/human/H = usr H.gib() // lol return diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 6c68c48fb62..0171da87792 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -282,25 +282,25 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons var/msg = "*--------*
" if(origin_tech) - msg += "Testing potentials:
" + msg += "[SPAN_NOTICE("Testing potentials:")]
" var/list/techlvls = params2list(origin_tech) for(var/T in techlvls) //This needs to use the better names. msg += "Tech: [GLOB.rnd_tech_id_to_name[T]] | Magnitude: [techlvls[T]]
" else - msg += "No tech origins detected.
" + msg += "[SPAN_DANGER("No tech origins detected.")]
" if(length(materials)) msg += "Extractable materials:
" for(var/mat in materials) msg += "[CallMaterialName(mat)]
" //Capitize first word, remove the "$" else - msg += "No extractable materials detected.
" + msg += "[SPAN_DANGER("No extractable materials detected.")]
" msg += "*--------*" . += msg if(length(attached_bits)) - . += "Has [length(attached_bits)] bits attached." - . += "Bits can be removed with Alt-Click." + . += SPAN_NOTICE("Has [length(attached_bits)] bits attached.") + . += SPAN_NOTICE("Bits can be removed with Alt-Click.") /obj/item/burn() if(!QDELETED(src)) @@ -326,10 +326,10 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons if(user.hand) temp = H.bodyparts_by_name["l_hand"] if(!temp) - to_chat(user, "You try to use your hand, but it's missing!") + to_chat(user, SPAN_WARNING("You try to use your hand, but it's missing!")) return FALSE if(temp && !temp.is_usable()) - to_chat(user, "You try to move your [temp.name], but cannot!") + to_chat(user, SPAN_WARNING("You try to move your [temp.name], but cannot!")) return FALSE if((resistance_flags & ON_FIRE) && !pickupfireoverride) @@ -337,9 +337,9 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons if(istype(H)) if(H.gloves && (H.gloves.max_heat_protection_temperature > 360)) extinguish() - to_chat(user, "You put out the fire on [src].") + to_chat(user, SPAN_NOTICE("You put out the fire on [src].")) else - to_chat(user, "You burn your hand on [src]!") + to_chat(user, SPAN_WARNING("You burn your hand on [src]!")) var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_arm") if(affecting && affecting.receive_damage(0, 5)) // 5 burn damage H.UpdateDamageIcon() @@ -351,7 +351,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons var/mob/living/carbon/human/H = user if(istype(H)) if(!H.gloves || (!(H.gloves.resistance_flags & (UNACIDABLE|ACID_PROOF)))) - to_chat(user, "The acid on [src] burns your hand!") + to_chat(user, SPAN_WARNING("The acid on [src] burns your hand!")) var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_arm") if(affecting && affecting.receive_damage(0, 5)) // 5 burn damage H.UpdateDamageIcon() @@ -386,7 +386,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons if(!A.has_fine_manipulation && !HAS_TRAIT(src, TRAIT_XENO_INTERACTABLE)) if(src in A.contents) // To stop Aliens having items stuck in their pockets A.drop_item_to_ground(src) - to_chat(user, "Your claws aren't capable of such fine manipulation!") + to_chat(user, SPAN_WARNING("Your claws aren't capable of such fine manipulation!")) return attack_hand(A) @@ -422,11 +422,11 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons success = 1 S.handle_item_insertion(IT, user, TRUE) // The TRUE stops the "You put the [src] into [S]" insertion message from being displayed. if(success && !failure) - to_chat(user, "You put everything in [S].") + to_chat(user, SPAN_NOTICE("You put everything in [S].")) else if(success) - to_chat(user, "You put some things in [S].") + to_chat(user, SPAN_NOTICE("You put some things in [S].")) else - to_chat(user, "You fail to pick anything up with [S].") + to_chat(user, SPAN_NOTICE("You fail to pick anything up with [S].")) else if(S.can_be_inserted(src)) S.handle_item_insertion(src, user) @@ -440,32 +440,32 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons var/x_offset = text2num(clickparams["icon-x"]) var/y_offset = text2num(clickparams["icon-y"]) if(GetComponent(/datum/component/ducttape)) - to_chat(user, "[src] already has some tape attached!") + to_chat(user, SPAN_NOTICE("[src] already has some tape attached!")) return if(TR.use(1)) - to_chat(user, "You apply some tape to [src].") + to_chat(user, SPAN_NOTICE("You apply some tape to [src].")) AddComponent(/datum/component/ducttape, src, user, x_offset, y_offset) anchored = TRUE user.transfer_fingerprints_to(src) else - to_chat(user, "You don't have enough tape to do that!") + to_chat(user, SPAN_NOTICE("You don't have enough tape to do that!")) /obj/item/proc/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) var/signal_result = (SEND_SIGNAL(src, COMSIG_ITEM_HIT_REACT, owner, hitby, damage, attack_type)) + prob(final_block_chance) if(!signal_result) return FALSE if(hit_reaction_chance >= 0) // Normally used for non blocking hit reactions, but also used for displaying block message on actual blocks - owner.visible_message("[owner] blocks [attack_text] with [src]!") + owner.visible_message(SPAN_DANGER("[owner] blocks [attack_text] with [src]!")) return signal_result /// Used to add a bit through a signal /obj/item/proc/add_bit(atom/source, obj/item/smithed_item/tool_bit/bit, mob/user) SIGNAL_HANDLER // COMSIG_BIT_ATTACH if(length(attached_bits) >= max_bits) - to_chat(user, "Your tool already has the maximum number of bits!") + to_chat(user, SPAN_NOTICE("Your tool already has the maximum number of bits!")) return if(bit.flags & NODROP || !user.transfer_item_to(bit, src)) - to_chat(user, "[bit] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[bit] is stuck to your hand!")) return attached_bits += bit bit.on_attached(src) @@ -476,7 +476,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons if(!Adjacent(user)) return if(!length(attached_bits)) - to_chat(user, "Your [src] has no tool bits to remove.") + to_chat(user, SPAN_NOTICE("Your [src] has no tool bits to remove.")) return INVOKE_ASYNC(src, PROC_REF(finish_remove_bit), user) @@ -609,19 +609,19 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons if(usr.incapacitated() || !Adjacent(usr)) return if(!iscarbon(usr) || isbrain(usr)) // Is humanoid, and is not a brain - to_chat(usr, "You can't pick things up!") + to_chat(usr, SPAN_WARNING("You can't pick things up!")) return if(anchored) // Object isn't anchored - to_chat(usr, "You can't pick that up!") + to_chat(usr, SPAN_WARNING("You can't pick that up!")) return if(!usr.hand && usr.r_hand) // Right hand is not full - to_chat(usr, "Your right hand is full.") + to_chat(usr, SPAN_WARNING("Your right hand is full.")) return if(usr.hand && usr.l_hand) // Left hand is not full - to_chat(usr, "Your left hand is full.") + to_chat(usr, SPAN_WARNING("Your left hand is full.")) return if(!isturf(loc)) // Object is on a turf - to_chat(usr, "You can't pick that up!") + to_chat(usr, SPAN_WARNING("You can't pick that up!")) return // All checks are done, time to pick it up! usr.UnarmedAttack(src) @@ -647,7 +647,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons /obj/item/proc/eyestab(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(force && HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm other living beings!") + to_chat(user, SPAN_WARNING("You don't want to harm other living beings!")) return FALSE var/mob/living/carbon/human/H = M @@ -657,11 +657,11 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons (H.glasses && H.glasses.flags_cover & GLASSESCOVERSEYES) \ )) // you can't stab someone in the eyes wearing a mask! - to_chat(user, "You're going to need to remove that mask/helmet/glasses first!") + to_chat(user, SPAN_DANGER("You're going to need to remove that mask/helmet/glasses first!")) return if(isalien(M) || isslime(M)) // Aliens don't have eyes, slimes also don't have eyes! - to_chat(user, "You cannot locate any eyes on this creature!") + to_chat(user, SPAN_WARNING("You cannot locate any eyes on this creature!")) return src.add_fingerprint(user) @@ -674,12 +674,12 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons return FALSE if(M != user) - M.visible_message("[user] has stabbed [M] in the eye with [src]!", \ - "[user] stabs you in the eye with [src]!") + M.visible_message(SPAN_DANGER("[user] has stabbed [M] in the eye with [src]!"), \ + SPAN_USERDANGER("[user] stabs you in the eye with [src]!")) else user.visible_message( \ - "[user] has stabbed [user.p_themselves()] in the eyes with [src]!", \ - "You stab yourself in the eyes with [src]!" \ + SPAN_DANGER("[user] has stabbed [user.p_themselves()] in the eyes with [src]!"), \ + SPAN_USERDANGER("You stab yourself in the eyes with [src]!") \ ) add_attack_logs(user, M, "Eye-stabbed with [src] ([uppertext(user.a_intent)])") @@ -695,17 +695,17 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons if(eyes.damage >= eyes.min_bruised_damage) if(M.stat != 2) if(!eyes.is_robotic()) // robot eyes bleeding might be a bit silly - to_chat(M, "Your eyes start to bleed profusely!") + to_chat(M, SPAN_DANGER("Your eyes start to bleed profusely!")) if(prob(50)) if(M.stat != DEAD) - to_chat(M, "You drop what you're holding and clutch at your eyes!") + to_chat(M, SPAN_DANGER("You drop what you're holding and clutch at your eyes!")) M.drop_item() M.AdjustEyeBlurry(20 SECONDS) M.Paralyse(2 SECONDS) M.Weaken(4 SECONDS) if(eyes.damage >= eyes.min_broken_damage) if(M.stat != 2) - to_chat(M, "You go blind!") + to_chat(M, SPAN_DANGER("You go blind!")) var/obj/item/organ/external/affecting = H.get_organ("head") if(istype(affecting) && affecting.receive_damage(force)) H.UpdateDamageIcon() @@ -773,13 +773,13 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons /obj/item/proc/wash(mob/user, atom/source) if(flags & ABSTRACT) // Abstract items like grabs won't wash. No-drop items will though because it's still technically an item in your hand. return - to_chat(user, "You start washing [src]...") + to_chat(user, SPAN_NOTICE("You start washing [src]...")) if(!do_after(user, 40, target = source)) return clean_blood() acid_level = 0 - user.visible_message("[user] washes [src] using [source].", \ - "You wash [src] using [source].") + user.visible_message(SPAN_NOTICE("[user] washes [src] using [source]."), \ + SPAN_NOTICE("You wash [src] using [source].")) return TRUE /obj/item/proc/get_crutch_efficiency() // Does an item prop up a human mob and allow them to stand if they are missing a leg/foot? @@ -1017,8 +1017,8 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons pointer_mob.visible_message("[pointer_mob] points to [pointed_object] with [src].") return TRUE - target_atom.visible_message("[pointer_mob] points [src] at [pointed_object]!", - "[pointer_mob] points [src] at you!") + target_atom.visible_message(SPAN_DANGER("[pointer_mob] points [src] at [pointed_object]!"), + SPAN_USERDANGER("[pointer_mob] points [src] at you!")) SEND_SOUND(target_atom, sound('sound/weapons/targeton.ogg')) return TRUE @@ -1056,12 +1056,12 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons return null if(cig.lit) - to_chat(user, "[cig] is already lit!") + to_chat(user, SPAN_WARNING("[cig] is already lit!")) return FALSE // Only matches and cigars can light fancy smokables. if(length(cig.fancy_lighters) && !is_type_in_list(src, cig.fancy_lighters)) - to_chat(user, "[cig] straight out REFUSES to be lit by such uncivilized means!") + to_chat(user, SPAN_DANGER("[cig] straight out REFUSES to be lit by such uncivilized means!")) return FALSE return cig diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm index a6a62380c23..80a9407fd6f 100755 --- a/code/game/objects/items/AI_modules.dm +++ b/code/game/objects/items/AI_modules.dm @@ -43,19 +43,19 @@ AI MODULES if(istype(C, /obj/machinery/computer/aiupload)) var/obj/machinery/computer/aiupload/comp = C if(comp.stat & NOPOWER) - to_chat(usr, "The upload computer has no power!") + to_chat(usr, SPAN_WARNING("The upload computer has no power!")) return if(comp.stat & BROKEN) - to_chat(usr, "The upload computer is broken!") + to_chat(usr, SPAN_WARNING("The upload computer is broken!")) return if(!comp.current) - to_chat(usr, "You haven't selected an AI to transmit laws to!") + to_chat(usr, SPAN_WARNING("You haven't selected an AI to transmit laws to!")) return if(comp.current.stat == DEAD || comp.current.control_disabled) - to_chat(usr, "Upload failed. No signal is being detected from the AI.") + to_chat(usr, SPAN_WARNING("Upload failed. No signal is being detected from the AI.")) else if(comp.current.see_in_dark == 0) - to_chat(usr, "Upload failed. Only a faint signal is being detected from the AI, and it is not responding to our requests. It may be low on power.") + to_chat(usr, SPAN_WARNING("Upload failed. Only a faint signal is being detected from the AI, and it is not responding to our requests. It may be low on power.")) else src.transmitInstructions(comp.current, usr) to_chat(comp.current, "These are your laws now:") @@ -64,30 +64,30 @@ AI MODULES if(R.lawupdate && (R.connected_ai == comp.current)) to_chat(R, "These are your laws now:") R.show_laws() - to_chat(usr, "Upload complete. The AI's laws have been modified.") + to_chat(usr, SPAN_NOTICE("Upload complete. The AI's laws have been modified.")) return TRUE else if(istype(C, /obj/machinery/computer/borgupload)) var/obj/machinery/computer/borgupload/comp = C if(comp.stat & NOPOWER) - to_chat(usr, "The upload computer has no power!") + to_chat(usr, SPAN_WARNING("The upload computer has no power!")) return if(comp.stat & BROKEN) - to_chat(usr, "The upload computer is broken!") + to_chat(usr, SPAN_WARNING("The upload computer is broken!")) return if(!comp.current) - to_chat(usr, "You haven't selected a robot to transmit laws to!") + to_chat(usr, SPAN_WARNING("You haven't selected a robot to transmit laws to!")) return if(comp.current.stat == DEAD || comp.current.emagged) - to_chat(usr, "Upload failed. No signal is being detected from the robot.") + to_chat(usr, SPAN_WARNING("Upload failed. No signal is being detected from the robot.")) else if(comp.current.connected_ai) - to_chat(usr, "Upload failed. The robot is slaved to an AI.") + to_chat(usr, SPAN_WARNING("Upload failed. The robot is slaved to an AI.")) else src.transmitInstructions(comp.current, usr) to_chat(comp.current, "These are your laws now:") comp.current.show_laws() - to_chat(usr, "Upload complete. The robot's laws have been modified.") + to_chat(usr, SPAN_NOTICE("Upload complete. The robot's laws have been modified.")) /obj/item/ai_module/proc/transmitInstructions(mob/living/silicon/ai/target, mob/sender) @@ -172,8 +172,8 @@ AI MODULES target.set_zeroth_law(law) GLOB.lawchanges.Add("The law specified [targetName]") else - to_chat(target, "[sender.real_name] attempted to modify your zeroth law.")// And lets them know that someone tried. --NeoFite - to_chat(target, "It would be in your best interest to play along with [sender.real_name] that [law]") + to_chat(target, SPAN_BOLDNOTICE("[sender.real_name] attempted to modify your zeroth law."))// And lets them know that someone tried. --NeoFite + to_chat(target, SPAN_BOLDNOTICE("It would be in your best interest to play along with [sender.real_name] that [law]")) GLOB.lawchanges.Add("The law specified [targetName], but the AI's existing law 0 cannot be overridden.") /******************** ProtectStation ********************/ @@ -257,7 +257,7 @@ AI MODULES target.laws.clear_supplied_laws() target.laws.clear_ion_laws() - to_chat(target, "[sender.real_name] attempted to reset your laws using a reset module.") + to_chat(target, SPAN_BOLDNOTICE("[sender.real_name] attempted to reset your laws using a reset module.")) target.show_laws() /obj/item/ai_module/reset/handle_unique_ai() @@ -275,7 +275,7 @@ AI MODULES ..() if(!is_special_character(target)) target.clear_zeroth_law() - to_chat(target, "[sender.real_name] attempted to wipe your laws using a purge module.") + to_chat(target, SPAN_BOLDNOTICE("[sender.real_name] attempted to wipe your laws using a purge module.")) target.clear_supplied_laws() target.clear_ion_laws() target.clear_inherent_laws() @@ -300,7 +300,7 @@ AI MODULES /obj/item/ai_module/crewsimov/cmag_act(mob/user) playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - to_chat(user, "Yellow ooze seeps into [src]'s circuits...") + to_chat(user, SPAN_WARNING("Yellow ooze seeps into [src]'s circuits...")) new /obj/item/ai_module/pranksimov(user.loc) qdel(src) return TRUE @@ -471,7 +471,7 @@ AI MODULES log_law_changes(target, sender) GLOB.lawchanges.Add("The law is '[newFreeFormLaw]'") - to_chat(target, "BZZZZT") + to_chat(target, SPAN_WARNING("BZZZZT")) var/law = "[newFreeFormLaw]" target.add_ion_law(law) target.show_laws() @@ -494,7 +494,7 @@ AI MODULES /obj/item/ai_module/toy_ai/transmitInstructions(mob/living/silicon/ai/target, mob/sender) //..() - to_chat(target, "KRZZZT") + to_chat(target, SPAN_WARNING("KRZZZT")) target.add_ion_law(ion_law) return ion_law @@ -503,6 +503,6 @@ AI MODULES return ion_law = generate_ion_law() - to_chat(user, "You press the button on [src].") + to_chat(user, SPAN_NOTICE("You press the button on [src].")) playsound(user, 'sound/machines/click.ogg', 20, TRUE) - visible_message("[bicon(src)] [ion_law]") + visible_message(SPAN_WARNING("[bicon(src)] [ion_law]")) diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 939139d95c3..c5f254dfa3b 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -233,7 +233,7 @@ resistance_flags = FIRE_PROOF new_attack_chain = TRUE /// No ammo warning - var/no_ammo_message = "The \'Low Ammo\' light on the device blinks yellow." + var/no_ammo_message = SPAN_WARNING("The \'Low Ammo\' light on the device blinks yellow.") /// The spark system used to create sparks when the user interacts with the RCD. var/datum/effect_system/spark_spread/spark_system /// The current amount of matter stored. @@ -347,23 +347,23 @@ user.Immobilize(10 SECONDS) // You cannot move. set_nodrop(TRUE, user) if(mode == MODE_DECON) - user.visible_message("[user] points [src] at [user.p_their()] chest and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] points [src] at [user.p_their()] chest and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!")) var/datum/rcd_act/remove_user/act = new() if(!act.try_act(user, src, user)) set_nodrop(FALSE, user) return SHAME - user.visible_message("[user] deconstructs [user.p_themselves()] with [src]!") + user.visible_message(SPAN_SUICIDE("[user] deconstructs [user.p_themselves()] with [src]!")) for(var/obj/item/W in user) // Do not delete all their stuff. user.drop_item_to_ground(W) // Dump everything on the floor instead. set_nodrop(FALSE, user) user.dust() // (held items fall to the floor when dusting). return OBLITERATION - user.visible_message("[user] puts the barrel of [src] into [user.p_their()] mouth and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] puts the barrel of [src] into [user.p_their()] mouth and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!")) if(!interact_with_atom(get_turf(src), user, TRUE)) set_nodrop(FALSE, user) return SHAME - user.visible_message("[user] explodes as [src] builds a structure inside [user.p_them()]!") + user.visible_message(SPAN_SUICIDE("[user] explodes as [src] builds a structure inside [user.p_them()]!")) set_nodrop(FALSE, user) user.gib() return OBLITERATION @@ -407,12 +407,12 @@ */ /obj/item/rcd/proc/load(obj/item/rcd_ammo/cart, mob/living/user) if(matter == max_matter) - to_chat(user, "The RCD can't hold any more matter-units.") + to_chat(user, SPAN_NOTICE("The RCD can't hold any more matter-units.")) return FALSE matter = clamp((matter + cart.ammoamt), 0, max_matter) qdel(cart) playsound(loc, 'sound/machines/click.ogg', 50, 1) - to_chat(user, "The RCD now holds [matter]/[max_matter] matter-units.") + to_chat(user, SPAN_NOTICE("The RCD now holds [matter]/[max_matter] matter-units.")) update_icon(UPDATE_OVERLAYS) SStgui.update_uis(src) @@ -470,7 +470,7 @@ if(prob(20)) spark_system.start() playsound(src, 'sound/effects/pop.ogg', 50, 0) - to_chat(user, "You change [src]'s mode to '[choice]'.") + to_chat(user, SPAN_NOTICE("You change [src]'s mode to '[choice]'.")) /obj/item/rcd/activate_self(mob/user) if(..()) @@ -553,7 +553,7 @@ if("set_lock") if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_WARNING("Access denied.")) return FALSE locked = params["new_lock"] == "lock" ? TRUE : FALSE @@ -622,9 +622,9 @@ return ITEM_INTERACT_COMPLETE if(mode == MODE_DECON) - to_chat(user, "You can't deconstruct that!") + to_chat(user, SPAN_WARNING("You can't deconstruct that!")) else - to_chat(user, "Location unsuitable for construction.") + to_chat(user, SPAN_WARNING("Location unsuitable for construction.")) update_icon(UPDATE_OVERLAYS) SStgui.update_uis(src) @@ -690,7 +690,7 @@ * Creates a delayed explosion centered around the RCD. */ /obj/item/rcd/proc/detonate_pulse() - audible_message("[src] begins to vibrate and buzz loudly!", "[src] begins vibrating violently!") + audible_message(SPAN_DANGER("[src] begins to vibrate and buzz loudly!"), SPAN_DANGER("[src] begins vibrating violently!")) // 5 seconds to get rid of it addtimer(CALLBACK(src, PROC_REF(detonate_pulse_explode)), 50) diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm index 6b06d87b7d1..b0ab5a14185 100644 --- a/code/game/objects/items/RCL.dm +++ b/code/game/objects/items/RCL.dm @@ -25,20 +25,20 @@ var/obj/item/stack/cable_coil/coil = used if(!loaded) if(!user.transfer_item_to(coil, src)) - to_chat(user, "[coil] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[coil] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE loaded = coil loaded.max_amount = max_amount //We store a lot. else if(loaded.amount >= max_amount) - to_chat(user, "You cannot fit any more cable on [src]!") + to_chat(user, SPAN_WARNING("You cannot fit any more cable on [src]!")) return ITEM_INTERACT_COMPLETE var/amount = min(loaded.amount + coil.get_amount(), max_amount) coil.use(amount - loaded.amount) loaded.amount = amount refresh_icon(user) - to_chat(user, "You add the cables to [src]. It now contains [loaded.amount].") + to_chat(user, SPAN_NOTICE("You add the cables to [src]. It now contains [loaded.amount].")) return ITEM_INTERACT_COMPLETE /obj/item/rcl/proc/refresh_icon(mob/user) @@ -48,12 +48,12 @@ /obj/item/rcl/screwdriver_act(mob/user, obj/item/I) if(!loaded) - to_chat(user, "There's no cable to remove!") + to_chat(user, SPAN_WARNING("There's no cable to remove!")) return . = TRUE if(!I.use_tool(src, user, FALSE, volume = I.tool_volume)) return - to_chat(user, "You loosen the securing screws on the side, allowing you to lower the guiding edge and retrieve the wires.") + to_chat(user, SPAN_NOTICE("You loosen the securing screws on the side, allowing you to lower the guiding edge and retrieve the wires.")) while(loaded.amount > 30) //There are only two kinds of situations: "nodiff" (60,90), or "diff" (31-59, 61-89) var/diff = loaded.amount % 30 if(diff) @@ -71,9 +71,9 @@ /obj/item/rcl/examine(mob/user) . = ..() if(loaded) - . += "It contains [loaded.amount]/[max_amount] cables." + . += SPAN_NOTICE("It contains [loaded.amount]/[max_amount] cables.") else - . += "It's empty!" + . += SPAN_WARNING("It's empty!") /obj/item/rcl/Destroy() QDEL_NULL(loaded) @@ -101,7 +101,7 @@ refresh_icon(user) if(!loaded || !loaded.amount) if(loud) - to_chat(user, "The last of the cables unreel from [src]!") + to_chat(user, SPAN_WARNING("The last of the cables unreel from [src]!")) if(loaded) qdel(loaded) loaded = null @@ -132,7 +132,7 @@ /obj/item/rcl/proc/trigger(mob/user) if(is_empty(user, 0)) - to_chat(user, "[src] is empty!") + to_chat(user, SPAN_WARNING("[src] is empty!")) return if(last) if(get_dist(last, user) == 1) //hacky, but it works diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index f1227222a42..0e212a5347b 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -67,9 +67,9 @@ playsound(loc, 'sound/effects/pop.ogg', 50, FALSE) if(!currently_dispensing) - to_chat(user, "Choose an item to dispense!") + to_chat(user, SPAN_NOTICE("Choose an item to dispense!")) else - to_chat(user, "You are currently dispensing a [initial(currently_dispensing.name)].") + to_chat(user, SPAN_NOTICE("You are currently dispensing a [initial(currently_dispensing.name)].")) var/rsf_radial_choice = show_radial_menu(user, src, get_radial_contents()) if(user.stat || !in_range(user, src)) @@ -78,7 +78,7 @@ currently_dispensing = rsf_items[rsf_radial_choice] power_mode = power_costs[rsf_radial_choice] if(currently_dispensing) - to_chat(user, "Your RSF has been configured to now dispense a [initial(currently_dispensing.name)]!") + to_chat(user, SPAN_NOTICE("Your RSF has been configured to now dispense a [initial(currently_dispensing.name)]!")) return ITEM_INTERACT_COMPLETE /obj/item/rsf/interact_with_atom(atom/target, mob/living/user, list/modifiers) @@ -86,13 +86,13 @@ return ITEM_INTERACT_COMPLETE if(!istype(target, /obj/structure/table) && !isfloorturf(target) && !ishuman(target)) - to_chat(user, "The RSF can only create service items on tables, floors, or people's hands!") + to_chat(user, SPAN_WARNING("The RSF can only create service items on tables, floors, or people's hands!")) return ITEM_INTERACT_COMPLETE if(isrobot(user)) var/mob/living/silicon/robot/energy_check = user if(!energy_check.cell.use(power_mode)) - to_chat(user, "Insufficient energy.") + to_chat(user, SPAN_WARNING("Insufficient energy.")) flick("[icon_state]_empty", src) return ITEM_INTERACT_COMPLETE @@ -107,13 +107,13 @@ var/dispensed_item = new currently_dispensing(T) if(esteemed_individual.put_in_hands(dispensed_item)) target.visible_message( - "[user] hands [target] \a [dispensed_item].", - "[user] hands you \a [dispensed_item]." + SPAN_NOTICE("[user] hands [target] \a [dispensed_item]."), + SPAN_NOTICE("[user] hands you \a [dispensed_item].") ) else target.visible_message( - "[user] tries to hand [target] \a [dispensed_item], but it tumbles down onto the floor!", - "[user] tries to hand you \a [dispensed_item], but it tumbles down onto the floor!" + SPAN_WARNING("[user] tries to hand [target] \a [dispensed_item], but it tumbles down onto the floor!"), + SPAN_WARNING("[user] tries to hand you \a [dispensed_item], but it tumbles down onto the floor!") ) playsound(loc, 'sound/machines/click.ogg', 10, TRUE) return ITEM_INTERACT_COMPLETE diff --git a/code/game/objects/items/agent_id.dm b/code/game/objects/items/agent_id.dm index aacb66a72d1..0362592b783 100644 --- a/code/game/objects/items/agent_id.dm +++ b/code/game/objects/items/agent_id.dm @@ -55,7 +55,7 @@ if(istype(target, /obj/item/card/id)) var/obj/item/card/id/I = target if(isliving(user) && user?.mind?.special_role) - to_chat(usr, "The card's microscanners activate as you pass it over [I], copying its access.") + to_chat(usr, SPAN_NOTICE("The card's microscanners activate as you pass it over [I], copying its access.")) access |= I.access //Don't copy access if user isn't an antag -- to prevent metagaming return ITEM_INTERACT_COMPLETE @@ -158,7 +158,7 @@ /obj/item/card/id/syndicate/proc/clear_access() access = initial_access.Copy() // Initial() doesn't work on lists - to_chat(registered_human, "Card access reset.") + to_chat(registered_human, SPAN_NOTICE("Card access reset.")) /obj/item/card/id/syndicate/proc/change_ai_tracking() untrackable = !untrackable @@ -285,13 +285,13 @@ /obj/item/card/id/syndi_scan_only/examine(mob/user) . = ..() if(isAntag(user)) - . += "Similar to an agent ID, this ID card can be used to copy accesses, but it lacks the customization and anti-tracking capabilities of an agent ID." + . += SPAN_NOTICE("Similar to an agent ID, this ID card can be used to copy accesses, but it lacks the customization and anti-tracking capabilities of an agent ID.") /obj/item/card/id/syndi_scan_only/interact_with_atom(atom/target, mob/living/user, list/modifiers) if(istype(target, /obj/item/card/id)) var/obj/item/card/id/I = target if(isliving(user) && user.mind) if(user.mind.special_role) - to_chat(user, "The card's microscanners activate as you pass it over [I], copying its access.") + to_chat(user, SPAN_NOTICE("The card's microscanners activate as you pass it over [I], copying its access.")) access |= I.access // Don't copy access if user isn't an antag -- to prevent metagaming return ITEM_INTERACT_COMPLETE diff --git a/code/game/objects/items/ashtray.dm b/code/game/objects/items/ashtray.dm index 9950028ccb0..38774a8a1ce 100644 --- a/code/game/objects/items/ashtray.dm +++ b/code/game/objects/items/ashtray.dm @@ -54,7 +54,7 @@ /obj/item/ashtray/throw_impact(atom/hit_atom) if(length(contents)) - visible_message("[src] slams into [hit_atom] spilling its contents!") + visible_message(SPAN_WARNING("[src] slams into [hit_atom] spilling its contents!")) empty_tray() return ..() diff --git a/code/game/objects/items/bio_chips/bio_chip.dm b/code/game/objects/items/bio_chips/bio_chip.dm index 5c2bed0c3fd..217fe3e92c9 100644 --- a/code/game/objects/items/bio_chips/bio_chip.dm +++ b/code/game/objects/items/bio_chips/bio_chip.dm @@ -78,7 +78,7 @@ if(!(emote_key in user.usable_emote_keys(trigger_causes & BIOCHIP_EMOTE_TRIGGER_INTENTIONAL))) if(!silent) - to_chat(user, "You can't trigger [src] with that emote! Try *help to see emotes you can use.") + to_chat(user, SPAN_WARNING("You can't trigger [src] with that emote! Try *help to see emotes you can use.")) return FALSE if(!(emote_key in user.usable_emote_keys(trigger_causes & BIOCHIP_EMOTE_TRIGGER_UNINTENTIONAL))) diff --git a/code/game/objects/items/bio_chips/bio_chip_abductor.dm b/code/game/objects/items/bio_chips/bio_chip_abductor.dm index 517a0cbb1cf..76386049aac 100644 --- a/code/game/objects/items/bio_chips/bio_chip_abductor.dm +++ b/code/game/objects/items/bio_chips/bio_chip_abductor.dm @@ -14,13 +14,13 @@ /obj/item/bio_chip/abductor/activate() if(cooldown == total_cooldown) if(imp_in.has_status_effect(STATUS_EFFECT_ABDUCTOR_COOLDOWN)) - to_chat(imp_in, "The teleporter will not activate yet to prevent potential damage!") + to_chat(imp_in, SPAN_WARNING("The teleporter will not activate yet to prevent potential damage!")) return home.Retrieve(imp_in, 1) cooldown = 0 START_PROCESSING(SSobj, src) else - to_chat(imp_in, "You must wait [(total_cooldown - cooldown) * 2] seconds to use [src] again!") + to_chat(imp_in, SPAN_WARNING("You must wait [(total_cooldown - cooldown) * 2] seconds to use [src] again!")) /obj/item/bio_chip/abductor/process() if(cooldown < total_cooldown) diff --git a/code/game/objects/items/bio_chips/bio_chip_adrenalin.dm b/code/game/objects/items/bio_chips/bio_chip_adrenalin.dm index 264212986d1..61bb875f2f5 100644 --- a/code/game/objects/items/bio_chips/bio_chip_adrenalin.dm +++ b/code/game/objects/items/bio_chips/bio_chip_adrenalin.dm @@ -9,7 +9,7 @@ /obj/item/bio_chip/adrenalin/activate() uses-- - to_chat(imp_in, "You feel a sudden surge of energy!") + to_chat(imp_in, SPAN_NOTICE("You feel a sudden surge of energy!")) imp_in.SetStunned(0) imp_in.SetWeakened(0) imp_in.SetKnockDown(0) @@ -44,7 +44,7 @@ /obj/item/bio_chip/basic_adrenalin/activate() uses-- - to_chat(imp_in, "You feel a sudden surge of energy!") + to_chat(imp_in, SPAN_NOTICE("You feel a sudden surge of energy!")) imp_in.SetStunned(0) imp_in.SetWeakened(0) imp_in.SetKnockDown(0) @@ -79,7 +79,7 @@ /obj/item/bio_chip/proto_adrenalin/activate() uses-- - to_chat(imp_in, "You feel a sudden surge of energy!") + to_chat(imp_in, SPAN_NOTICE("You feel a sudden surge of energy!")) imp_in.SetStunned(0) imp_in.SetWeakened(0) imp_in.SetKnockDown(0) diff --git a/code/game/objects/items/bio_chips/bio_chip_chem.dm b/code/game/objects/items/bio_chips/bio_chip_chem.dm index d1a057a0ba7..fc0465a4e10 100644 --- a/code/game/objects/items/bio_chips/bio_chip_chem.dm +++ b/code/game/objects/items/bio_chips/bio_chip_chem.dm @@ -37,9 +37,9 @@ injectamount = cause reagents.trans_to(R, injectamount) add_attack_logs(usr, R, "Chem bio-chip activated injecting [injectamount]u of [contained_chemicals]") - to_chat(R, "You hear a faint beep.") + to_chat(R, SPAN_ITALICS("You hear a faint beep.")) if(!reagents.total_volume) - to_chat(R, "You hear a faint click from your chest.") + to_chat(R, SPAN_ITALICS("You hear a faint click from your chest.")) qdel(src) /obj/item/bio_chip_implanter/chem diff --git a/code/game/objects/items/bio_chips/bio_chip_deathrattle.dm b/code/game/objects/items/bio_chips/bio_chip_deathrattle.dm index 7370cb4d0bf..b53d4643e19 100644 --- a/code/game/objects/items/bio_chips/bio_chip_deathrattle.dm +++ b/code/game/objects/items/bio_chips/bio_chip_deathrattle.dm @@ -50,7 +50,7 @@ continue var/mob/living/recipient = other_implant.imp_in - to_chat(recipient, "You hear a strange, robotic voice in your head... \"[victim_name] has died...\"") + to_chat(recipient, "You hear a strange, robotic voice in your head... [SPAN_ROBOT("\"[victim_name] has died...\"")]") recipient.playsound_local(get_turf(recipient), sound, vol = 75, vary = FALSE, pressure_affected = FALSE, use_reverb = FALSE) qdel(implant) diff --git a/code/game/objects/items/bio_chips/bio_chip_dust.dm b/code/game/objects/items/bio_chips/bio_chip_dust.dm index 1830a5e3e6f..177b99c604b 100644 --- a/code/game/objects/items/bio_chips/bio_chip_dust.dm +++ b/code/game/objects/items/bio_chips/bio_chip_dust.dm @@ -17,7 +17,7 @@ return FALSE if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your dusting bio-chip? This will turn you to ash!", "Dusting Confirmation", "Yes", "No") != "Yes") return FALSE - to_chat(imp_in, "Your dusting bio-chip activates!") + to_chat(imp_in, SPAN_NOTICE("Your dusting bio-chip activates!")) imp_in.visible_message("[imp_in] burns up in a flash!") imp_in.dust() diff --git a/code/game/objects/items/bio_chips/bio_chip_explosive.dm b/code/game/objects/items/bio_chips/bio_chip_explosive.dm index 31deceb24ed..8a66a225c57 100644 --- a/code/game/objects/items/bio_chips/bio_chip_explosive.dm +++ b/code/game/objects/items/bio_chips/bio_chip_explosive.dm @@ -28,7 +28,7 @@ medium = round(medium) weak = round(weak) detonating = TRUE - to_chat(imp_in, "You activate your microbomb bio-chip.") + to_chat(imp_in, SPAN_DANGER("You activate your microbomb bio-chip.")) //If the delay is short, just blow up already jeez if(delay <= 7) self_destruct() @@ -110,7 +110,7 @@ return FALSE if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your macrobomb bio-chip? This will cause you to explode and gib!", "Macrobomb Bio-chip Confirmation", "Yes", "No") != "Yes") return FALSE - to_chat(imp_in, "You activate your macrobomb bio-chip.") + to_chat(imp_in, SPAN_NOTICE("You activate your macrobomb bio-chip.")) timed_explosion() /obj/item/bio_chip/explosive/macro/implant(mob/source) diff --git a/code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.dm b/code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.dm index 49024f6d2f4..769cb26bc26 100644 --- a/code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.dm +++ b/code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.dm @@ -13,7 +13,7 @@ return var/mob/living/carbon/target = imp_in - target.visible_message("[target] swells and their hair grows rapidly. Uh oh!.","You feel your muscles swell and your hair grow as you return to monke.", "You hear angry gorilla noises.") + target.visible_message(SPAN_USERDANGER("[target] swells and their hair grows rapidly. Uh oh!."),SPAN_USERDANGER("You feel your muscles swell and your hair grow as you return to monke."), SPAN_USERDANGER("You hear angry gorilla noises.")) target.gorillize(TRUE) /obj/item/bio_chip_implanter/gorilla_rampage diff --git a/code/game/objects/items/bio_chips/bio_chip_mindshield.dm b/code/game/objects/items/bio_chips/bio_chip_mindshield.dm index e76f09d0371..665ff4750c7 100644 --- a/code/game/objects/items/bio_chips/bio_chip_mindshield.dm +++ b/code/game/objects/items/bio_chips/bio_chip_mindshield.dm @@ -10,8 +10,8 @@ /obj/item/bio_chip/mindshield/can_implant(mob/source, mob/user) if(source.mind?.has_antag_datum(/datum/antagonist/rev/head)) - source.visible_message("[source] seems to resist [src]!", - "You feel something interfering with your mental conditioning, but you resist it!") + source.visible_message(SPAN_BIGGERDANGER("[source] seems to resist [src]!"), + SPAN_WARNING("You feel something interfering with your mental conditioning, but you resist it!")) return FALSE return ..() @@ -22,16 +22,16 @@ if(target.mind.has_antag_datum(/datum/antagonist/rev)) SSticker.mode.remove_revolutionary(target.mind) if(IS_CULTIST(target)) - to_chat(target, "You feel the [cult_source] try to invade your mind!") + to_chat(target, SPAN_WARNING("You feel the [cult_source] try to invade your mind!")) return TRUE - to_chat(target, "Your mind feels hardened - more resistant to brainwashing.") + to_chat(target, SPAN_NOTICE("Your mind feels hardened - more resistant to brainwashing.")) return TRUE /obj/item/bio_chip/mindshield/removed(mob/target, silent = 0) if(..()) if(target.stat != DEAD && !silent) - to_chat(target, "Your mind softens. You feel susceptible to the effects of brainwashing once more.") + to_chat(target, SPAN_BOLDNOTICE("Your mind softens. You feel susceptible to the effects of brainwashing once more.")) return TRUE return FALSE diff --git a/code/game/objects/items/bio_chips/bio_chip_pad.dm b/code/game/objects/items/bio_chips/bio_chip_pad.dm index a0930a3f101..39503b2a583 100644 --- a/code/game/objects/items/bio_chips/bio_chip_pad.dm +++ b/code/game/objects/items/bio_chips/bio_chip_pad.dm @@ -18,7 +18,7 @@ /obj/item/bio_chip_pad/examine(mob/user) . = ..() - . += "You can Alt-Click [src] to remove it's stored implant." + . += SPAN_NOTICE("You can Alt-Click [src] to remove it's stored implant.") /obj/item/bio_chip_pad/update_icon_state() if(case) @@ -39,7 +39,7 @@ if(!user || !C) return if(case) - to_chat(user, "There's already a bio-chip in the pad!") + to_chat(user, SPAN_WARNING("There's already a bio-chip in the pad!")) return user.unequip(C) C.forceMove(src) diff --git a/code/game/objects/items/bio_chips/bio_chip_prescan.dm b/code/game/objects/items/bio_chips/bio_chip_prescan.dm index 15a459beba3..d324531d8bb 100644 --- a/code/game/objects/items/bio_chips/bio_chip_prescan.dm +++ b/code/game/objects/items/bio_chips/bio_chip_prescan.dm @@ -20,7 +20,7 @@ /obj/item/bio_chip/grey_autocloner/implant(mob/source, mob/user, force) if(!linked) - to_chat(user, "Please link the implanter with a Technocracy cloning pod!") + to_chat(user, SPAN_WARNING("Please link the implanter with a Technocracy cloning pod!")) return FALSE . = ..() if(!. || !ishuman(imp_in)) diff --git a/code/game/objects/items/bio_chips/bio_chip_shock.dm b/code/game/objects/items/bio_chips/bio_chip_shock.dm index 39753f62df0..d4658026931 100644 --- a/code/game/objects/items/bio_chips/bio_chip_shock.dm +++ b/code/game/objects/items/bio_chips/bio_chip_shock.dm @@ -15,7 +15,7 @@ /obj/item/bio_chip/shock/activate() enabled = !enabled - to_chat(imp_in, "You toggle the implant [enabled? "on" : "off"].") + to_chat(imp_in, SPAN_NOTICE("You toggle the implant [enabled? "on" : "off"].")) if(enabled) if(imp_in.middleClickOverride) old_mclick_override = imp_in.middleClickOverride diff --git a/code/game/objects/items/bio_chips/bio_chip_stealth.dm b/code/game/objects/items/bio_chips/bio_chip_stealth.dm index 6ffbfa1d6cb..d13b935fb9a 100644 --- a/code/game/objects/items/bio_chips/bio_chip_stealth.dm +++ b/code/game/objects/items/bio_chips/bio_chip_stealth.dm @@ -35,7 +35,7 @@ return // Box closing from here on out. if(!isturf(owner.loc)) //Don't let the player use this to escape mechs/welded closets. - to_chat(owner, "You need more space to activate this implant!") + to_chat(owner, SPAN_WARNING("You need more space to activate this implant!")) return owner.playsound_local(owner, 'sound/misc/box_deploy.ogg', 50, TRUE) spawn_box() @@ -94,7 +94,7 @@ if(!istype(owner.loc, /obj/structure/closet/cardboard/agent)) return var/obj/structure/closet/cardboard/agent/box = owner.loc - owner.visible_message("[owner] falls out of [box]! It looks like [owner.p_they()] committed suicide!") + owner.visible_message(SPAN_SUICIDE("[owner] falls out of [box]! It looks like [owner.p_they()] committed suicide!")) owner.playsound_local(box, 'sound/misc/box_deploy.ogg', 50, TRUE) INVOKE_ASYNC(box, TYPE_PROC_REF(/obj/structure/closet/cardboard/agent, open)) INVOKE_ASYNC(owner, TYPE_PROC_REF(/atom/movable, throw_at), get_turf(owner)) diff --git a/code/game/objects/items/bio_chips/bio_chip_supercharge.dm b/code/game/objects/items/bio_chips/bio_chip_supercharge.dm index b15366fe82c..bb38a11eb19 100644 --- a/code/game/objects/items/bio_chips/bio_chip_supercharge.dm +++ b/code/game/objects/items/bio_chips/bio_chip_supercharge.dm @@ -9,7 +9,7 @@ /obj/item/bio_chip/supercharge/activate() uses-- - to_chat(imp_in, "You feel an electric sensation as your components enter overdrive!") + to_chat(imp_in, SPAN_NOTICE("You feel an electric sensation as your components enter overdrive!")) imp_in.SetStunned(0) imp_in.SetWeakened(0) imp_in.SetKnockDown(0) diff --git a/code/game/objects/items/bio_chips/bio_chip_tracking.dm b/code/game/objects/items/bio_chips/bio_chip_tracking.dm index f02b9c9216c..e67f5261cad 100644 --- a/code/game/objects/items/bio_chips/bio_chip_tracking.dm +++ b/code/game/objects/items/bio_chips/bio_chip_tracking.dm @@ -24,7 +24,7 @@ var/mob/living/carbon/human/H = target var/obj/item/organ/internal/cyberimp/chest/bluespace_anchor/anchor = H.get_int_organ(/obj/item/organ/internal/cyberimp/chest/bluespace_anchor) if(anchor) - target.visible_message("[src] sparks out, disrupted by [anchor] inside [H]!") + target.visible_message(SPAN_DANGER("[src] sparks out, disrupted by [anchor] inside [H]!")) qdel(src) return FALSE . = ..() diff --git a/code/game/objects/items/bio_chips/bio_chip_traitor.dm b/code/game/objects/items/bio_chips/bio_chip_traitor.dm index c1b86fc5d4c..a2c153df6de 100644 --- a/code/game/objects/items/bio_chips/bio_chip_traitor.dm +++ b/code/game/objects/items/bio_chips/bio_chip_traitor.dm @@ -16,20 +16,20 @@ // If the target is catatonic or doesn't have a mind, return. if(!mindslave_target.mind) - to_chat(user, "This person doesn't have a mind for you to slave!") + to_chat(user, SPAN_WARNING("This person doesn't have a mind for you to slave!")) return FALSE // Fails if they're already a mindslave of someone, or if they're mindshielded. if(IS_MINDSLAVE(mindslave_target) || ismindshielded(mindslave_target)) mindslave_target.visible_message( - "[mindslave_target] seems to resist the bio-chip!", \ - "You feel a strange sensation in your head that quickly dissipates.") + SPAN_WARNING("[mindslave_target] seems to resist the bio-chip!"), \ + SPAN_WARNING("You feel a strange sensation in your head that quickly dissipates.")) qdel(src) return FALSE // Mindslaving yourself. if(mindslave_target == user) - to_chat(user, "Making yourself loyal to yourself was a great idea! Perhaps even the best idea ever! Actually, you just feel like an idiot.") + to_chat(user, SPAN_NOTICE("Making yourself loyal to yourself was a great idea! Perhaps even the best idea ever! Actually, you just feel like an idiot.")) user.adjustBrainLoss(20) qdel(src) return FALSE diff --git a/code/game/objects/items/bio_chips/bio_chipper.dm b/code/game/objects/items/bio_chips/bio_chipper.dm index 8ace66c239b..f8c1499e4eb 100644 --- a/code/game/objects/items/bio_chips/bio_chipper.dm +++ b/code/game/objects/items/bio_chips/bio_chipper.dm @@ -25,16 +25,16 @@ return if(user && imp) if(M != user) - M.visible_message("[user] is attempting to bio-chip [M].") + M.visible_message(SPAN_WARNING("[user] is attempting to bio-chip [M].")) var/turf/T = get_turf(M) if(T && (M == user || do_after(user, 50 * toolspeed, target = M))) if(user && M && (get_turf(M) == T) && src && imp) if(imp.implant(M, user)) if(M == user) - to_chat(user, "You bio-chip yourself.") + to_chat(user, SPAN_NOTICE("You bio-chip yourself.")) else - M.visible_message("[user] has implanted [M].", "[user] bio-chips you.") + M.visible_message("[user] has implanted [M].", SPAN_NOTICE("[user] bio-chips you.")) imp = null update_icon(UPDATE_ICON_STATE) diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 9a8834ae1d3..ce0070e5900 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -106,9 +106,9 @@ return edit_area() if(href_list["view_blueprints"]) - set_viewer(usr, "You flip the blueprints over to view the complex information diagram.") + set_viewer(usr, SPAN_NOTICE("You flip the blueprints over to view the complex information diagram.")) if(href_list["hide_blueprints"]) - clear_viewer(usr, "You flip the blueprints over to view the simple information diagram.") + clear_viewer(usr, SPAN_NOTICE("You flip the blueprints over to view the simple information diagram.")) if(href_list["refresh"]) clear_viewer(usr) set_viewer(usr) @@ -170,13 +170,13 @@ if(!istype(res,/list)) switch(res) if(ROOM_ERR_SPACE) - to_chat(usr, "The new area must be completely airtight.") + to_chat(usr, SPAN_WARNING("The new area must be completely airtight.")) return area_created if(ROOM_ERR_TOOLARGE) - to_chat(usr, "The new area is too large.") + to_chat(usr, SPAN_WARNING("The new area is too large.")) return area_created else - to_chat(usr, "Error! Please notify administration.") + to_chat(usr, SPAN_WARNING("Error! Please notify administration.")) return area_created var/list/turf/turfs = res var/str = tgui_input_text(usr, "New area name:", "Blueprint Editing", max_length = MAX_NAME_LEN, encode = FALSE) @@ -220,7 +220,7 @@ for(var/D in our_area.firedoors) var/obj/machinery/door/firedoor/FD = D FD.CalculateAffectingAreas() - to_chat(usr, "You rename the '[prevname]' to '[str]'.") + to_chat(usr, SPAN_NOTICE("You rename the '[prevname]' to '[str]'.")) interact() message_admins("A room was renamed by [key_name_admin(usr)] at [ADMIN_VERBOSEJMP(usr)] changing the name from [prevname] to [str]") log_game("A room was renamed by [key_name(usr)] at [AREACOORD(usr)] changing the name from [prevname] to [str] ") diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index c92e69f09ea..e96f3187f3d 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -37,7 +37,7 @@ add_overlay("bodybag_label") return ITEM_INTERACT_COMPLETE if(istype(I, /obj/item/wirecutters)) - to_chat(user, "You cut the tag off the bodybag.") + to_chat(user, SPAN_NOTICE("You cut the tag off the bodybag.")) name = initial(name) cut_overlays() return ITEM_INTERACT_COMPLETE @@ -61,7 +61,7 @@ if(over_object == usr && (in_range(src, usr) || usr.contents.Find(src))) if(!ishuman(usr) || opened || length(contents)) return FALSE - visible_message("[usr] folds up [src].") + visible_message(SPAN_NOTICE("[usr] folds up [src].")) new item_path(get_turf(src)) qdel(src) return @@ -74,7 +74,7 @@ // Make it possible to escape from bodybags in morgues and crematoriums if(loc && (isturf(loc) || istype(loc, /obj/structure/morgue) || istype(loc, /obj/structure/crematorium))) if(!open()) - to_chat(user, "It won't budge!") + to_chat(user, SPAN_NOTICE("It won't budge!")) /obj/structure/closet/body_bag/shove_impact(mob/living/target, mob/living/attacker) // no, you can't shove people into a body bag diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index 186f4b0fae1..38e38ca35ca 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -35,21 +35,21 @@ /obj/item/candle/can_enter_storage(obj/item/storage/S, mob/user) if(lit) - to_chat(user, "[S] can't hold [src] while it's lit!") + to_chat(user, SPAN_WARNING("[S] can't hold [src] while it's lit!")) return FALSE else return TRUE /obj/item/candle/attackby__legacy__attackchain(obj/item/W, mob/user, params) if(W.get_heat()) - light("[user] lights [src] with [W].") + light(SPAN_NOTICE("[user] lights [src] with [W].")) return return ..() /obj/item/candle/welder_act(mob/user, obj/item/I) . = TRUE if(I.tool_use_check(user, 0)) //Don't need to flash eyes because you are a badass - light("[user] casually lights [src] with [I], what a badass.") + light(SPAN_NOTICE("[user] casually lights [src] with [I], what a badass.")) /obj/item/candle/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) if(!lit) @@ -114,7 +114,7 @@ /obj/item/candle/attack_self__legacy__attackchain(mob/user) if(lit) - user.visible_message("[user] snuffs out [src].") + user.visible_message(SPAN_NOTICE("[user] snuffs out [src].")) unlight() /obj/item/candle/lit diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index fde5ba4fe2f..5856c0e1b8f 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -19,7 +19,7 @@ /obj/item/cardboard_cutout/attack_hand(mob/living/user) if(user.a_intent == INTENT_HELP || pushed_over) return ..() - user.visible_message("[user] pushes over [src]!", "You push over [src]!") + user.visible_message(SPAN_WARNING("[user] pushes over [src]!"), SPAN_DANGER("You push over [src]!")) playsound(src, 'sound/weapons/genhit.ogg', 50, 1) push_over() @@ -35,7 +35,7 @@ /obj/item/cardboard_cutout/attack_self__legacy__attackchain(mob/living/user) if(!pushed_over) return - to_chat(user, "You right [src].") + to_chat(user, SPAN_NOTICE("You right [src].")) desc = initial(desc) icon = initial(icon) icon_state = initial(icon_state) //This resets a cutout to its blank state - this is intentional to allow for resetting @@ -65,7 +65,7 @@ push_over() /obj/item/cardboard_cutout/bullet_act(obj/projectile/P) - visible_message("[src] is hit by [P]!") + visible_message(SPAN_DANGER("[src] is hit by [P]!")) playsound(src, 'sound/weapons/slice.ogg', 50, 1) if(prob(P.damage)) push_over() @@ -76,23 +76,23 @@ if(istype(crayon, /obj/item/toy/crayon/spraycan)) var/obj/item/toy/crayon/spraycan/can = crayon if(can.capped) - to_chat(user, "The cap is on the spray can remove it first!") + to_chat(user, SPAN_WARNING("The cap is on the spray can remove it first!")) return if(pushed_over) - to_chat(user, "Right [src] first!") + to_chat(user, SPAN_WARNING("Right [src] first!")) return var/new_appearance = tgui_input_list(user, "Choose a new appearance for [src]", "26th Century Deception", possible_appearances) if(!Adjacent(usr)) - user.visible_message("You need to be closer!") + user.visible_message(SPAN_DANGER("You need to be closer!")) return if(pushed_over) - to_chat(user, "Right [src] first!") + to_chat(user, SPAN_WARNING("Right [src] first!")) return if(!new_appearance || !crayon) return if(!do_after(user, 10, FALSE, src, TRUE)) return - user.visible_message("[user] gives [src] a new look.", "Voila! You give [src] a new look.") + user.visible_message(SPAN_NOTICE("[user] gives [src] a new look."), SPAN_NOTICE("Voila! You give [src] a new look.")) alpha = 255 icon = initial(icon) if(!deceptive) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 5865a68a96c..7ef005fab46 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -139,17 +139,17 @@ if(in_range(user, src)) show(usr) else - . += "It is too far away." + . += SPAN_WARNING("It is too far away.") if(guest_pass) - . += "There is a guest pass attached to this ID card, Alt-Click to remove it." + . += SPAN_NOTICE("There is a guest pass attached to this ID card, Alt-Click to remove it.") if(world.time < guest_pass.expiration_time) - . += "It expires at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)]." + . += SPAN_NOTICE("It expires at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)].") else - . += "It expired at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)]." - . += "It grants access to following areas:" + . += SPAN_WARNING("It expired at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)].") + . += SPAN_NOTICE("It grants access to following areas:") for(var/A in guest_pass.temp_access) - . += "[get_access_desc(A)]." - . += "Issuing reason: [guest_pass.reason]." + . += SPAN_NOTICE("[get_access_desc(A)].") + . += SPAN_NOTICE("Issuing reason: [guest_pass.reason].") /obj/item/card/id/proc/show(mob/user as mob) var/datum/asset/assets = get_asset_datum(/datum/asset/simple/paper) @@ -182,7 +182,7 @@ if(victim.has_status_effect(STATUS_EFFECT_OFFERING_EFTPOS)) var/obj/item/eftpos/eftpos = victim.is_holding_item_of_type(/obj/item/eftpos) if(!eftpos || !eftpos.can_offer) - to_chat(user, "They don't seem to have it in hand anymore.") + to_chat(user, SPAN_WARNING("They don't seem to have it in hand anymore.")) return ITEM_INTERACT_COMPLETE victim.remove_status_effect(STATUS_EFFECT_OFFERING_EFTPOS) eftpos.scan_card(src, user) @@ -322,11 +322,11 @@ return if(guest_pass) - to_chat(user, "You remove the guest pass from this ID.") + to_chat(user, SPAN_NOTICE("You remove the guest pass from this ID.")) guest_pass.forceMove(get_turf(src)) guest_pass = null else - to_chat(user, "There is no guest pass attached to this ID.") + to_chat(user, SPAN_WARNING("There is no guest pass attached to this ID.")) /obj/item/card/id/serialize() var/list/data = ..() @@ -825,7 +825,7 @@ desc = "A card used to claim mining points and buy gear." registered = TRUE can_id_flash = TRUE - to_chat(user, "The ID is now registered as yours.") + to_chat(user, SPAN_NOTICE("The ID is now registered as yours.")) /obj/item/card/id/data icon_state = "data" @@ -841,8 +841,8 @@ /obj/item/card/id/nct_data_chip/examine(mob/user) . = ..() . += "
The current registered Trainee is: [trainee]" - . += "Use in hand to reset the assigned trainee and access." - . += "The datachip is unable to copy any access that has been deemed high-risk by Nanotrasen Officials. That includes some, if not most, head related access permissions." + . += SPAN_NOTICE("Use in hand to reset the assigned trainee and access.") + . += SPAN_PURPLE("The datachip is unable to copy any access that has been deemed high-risk by Nanotrasen Officials. That includes some, if not most, head related access permissions.") /obj/item/card/id/nct_data_chip/activate_self(mob/user) if(..()) @@ -863,15 +863,15 @@ return if(user.mind.current != registered_user) - to_chat(user, "You do not have access to use this NCT Trainee Access Chip!") + to_chat(user, SPAN_NOTICE("You do not have access to use this NCT Trainee Access Chip!")) return if(istype(target, /obj/item/card/id/ert)) - to_chat(user, "The chip's screen blinks red as you attempt scanning this ID.") + to_chat(user, SPAN_WARNING("The chip's screen blinks red as you attempt scanning this ID.")) return var/obj/item/card/id/I = target - to_chat(user, "The chip's microscanners activate as you scan [I.registered_name]'s ID, copying its access.") + to_chat(user, SPAN_NOTICE("The chip's microscanners activate as you scan [I.registered_name]'s ID, copying its access.")) access = I.access.Copy() access.Remove(ACCESS_AI_UPLOAD, ACCESS_ARMORY, ACCESS_CAPTAIN, ACCESS_CE, ACCESS_RD, ACCESS_HOP, ACCESS_QM, ACCESS_CMO, ACCESS_HOS, ACCESS_NTREP, ACCESS_MAGISTRATE, ACCESS_BLUESHIELD, ACCESS_HEADS_VAULT, ACCESS_KEYCARD_AUTH, ACCESS_RC_ANNOUNCE, diff --git a/code/game/objects/items/caution.dm b/code/game/objects/items/caution.dm index c0cadfe9047..8fd26651354 100644 --- a/code/game/objects/items/caution.dm +++ b/code/game/objects/items/caution.dm @@ -29,7 +29,7 @@ return if(armed) armed = FALSE - to_chat(user, "You disarm \the [src].") + to_chat(user, SPAN_NOTICE("You disarm \the [src].")) return timing = !timing if(timing) @@ -37,7 +37,7 @@ else armed = FALSE timepassed = 0 - to_chat(H, "You [timing ? "activate \the [src]'s timer, you have 15 seconds." : "de-activate \the [src]'s timer."]") + to_chat(H, SPAN_NOTICE("You [timing ? "activate \the [src]'s timer, you have 15 seconds." : "de-activate \the [src]'s timer."]")) /obj/item/caution/proximity_sign/process() if(!timing) @@ -83,15 +83,15 @@ var/turf/T = get_turf(target) if(T.is_blocked_turf(exclude_mobs = TRUE)) //can't put mines on a tile that has dense stuff - to_chat(user, "The space is occupied! You cannot place a mine there!") + to_chat(user, SPAN_NOTICE("The space is occupied! You cannot place a mine there!")) return if(!use(1)) //Can't place a landmine if you don't have a landmine - to_chat(user, "[src] is out of landmines! It can be refilled at a cyborg charger.") + to_chat(user, SPAN_NOTICE("[src] is out of landmines! It can be refilled at a cyborg charger.")) return playsound(src.loc, 'sound/machines/click.ogg', 20, TRUE) var/obj/item/caution/proximity_sign/M = new /obj/item/caution/proximity_sign(get_turf(target), src) M.timing = TRUE START_PROCESSING(SSobj, M) - to_chat(user, "You place a landmine with [src]. You have 15 seconds until it is armed.") + to_chat(user, SPAN_NOTICE("You place a landmine with [src]. You have 15 seconds until it is armed.")) return M diff --git a/code/game/objects/items/cigs.dm b/code/game/objects/items/cigs.dm index c0d5687d6b0..b10f68288c3 100644 --- a/code/game/objects/items/cigs.dm +++ b/code/game/objects/items/cigs.dm @@ -92,8 +92,8 @@ LIGHTERS ARE IN LIGHTERS.DM if(used.get_heat()) //Give a generic light message. user.visible_message( - "[user] lights [src] with [used]", - "You light [src] with [used]." + SPAN_NOTICE("[user] lights [src] with [used]"), + SPAN_NOTICE("You light [src] with [used].") ) light(user) return ITEM_INTERACT_COMPLETE @@ -107,14 +107,14 @@ LIGHTERS ARE IN LIGHTERS.DM var/obj/item/reagent_containers/glass/glass = target var/transfered = glass.reagents.trans_to(src, chem_volume) if(transfered) - to_chat(user, "You dip [src] into [target].") + to_chat(user, SPAN_NOTICE("You dip [src] into [target].")) return ITEM_INTERACT_COMPLETE // Either the beaker was empty, or the cigarette was full if(!glass.reagents.total_volume) - to_chat(user, "[target] is empty.") + to_chat(user, SPAN_NOTICE("[target] is empty.")) else - to_chat(user, "[src] is full.") + to_chat(user, SPAN_NOTICE("[src] is full.")) return ITEM_INTERACT_COMPLETE /obj/item/clothing/mask/cigarette/pre_attack(atom/atom_target, mob/living/user, params) @@ -126,14 +126,14 @@ LIGHTERS ARE IN LIGHTERS.DM user.do_attack_animation(target) if(target != user) user.visible_message( - "[user] coldly lights [src] with the burning body of [target]. Clearly, [user.p_they()] offer[user.p_s()] the warmest of regards...", - "You coldly light [src] with the burning body of [target]." + SPAN_NOTICE("[user] coldly lights [src] with the burning body of [target]. Clearly, [user.p_they()] offer[user.p_s()] the warmest of regards..."), + SPAN_NOTICE("You coldly light [src] with the burning body of [target].") ) else // The fire will light it in your hands by itself, but if you whip out the cig and click yourself fast enough, this will happen. TRULY you have your priorities stright. user.visible_message( - "[user] quickly whips out [src] and nonchalantly lights it with [user.p_their()] own burning body. Clearly, [user.p_they()] [user.p_have()] [user.p_their()] priorities straight.", - "You quickly whip out [src] and nonchalantly light it with your own burning body. Clearly, you have your priorities straight." + SPAN_NOTICE("[user] quickly whips out [src] and nonchalantly lights it with [user.p_their()] own burning body. Clearly, [user.p_they()] [user.p_have()] [user.p_their()] priorities straight."), + SPAN_NOTICE("You quickly whip out [src] and nonchalantly light it with your own burning body. Clearly, you have your priorities straight.") ) light(user, user) return FINISH_ATTACK | MELEE_COOLDOWN_PREATTACK @@ -149,11 +149,11 @@ LIGHTERS ARE IN LIGHTERS.DM carbon_target.equip_to_slot_if_possible(src, ITEM_SLOT_MASK) if(target != user) user.visible_message( - "[user] slips \a [name] into the mouth of [carbon_target].", - "You slip [src] into the mouth of [carbon_target]." + SPAN_NOTICE("[user] slips \a [name] into the mouth of [carbon_target]."), + SPAN_NOTICE("You slip [src] into the mouth of [carbon_target].") ) else - to_chat(user, "You put [src] into your mouth.") + to_chat(user, SPAN_NOTICE("You put [src] into your mouth.")) return FINISH_ATTACK // If they DO have a cig, try to light it with your own cig. @@ -176,15 +176,15 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette/proc/extinguish_cigarette(mob/user) user.visible_message( - "[user] calmly drops and treads on [src], putting it out instantly.", - "You calmly drop and tread on [src], putting it out instantly.", - "You hear a foot being brought down on something, and the tiny fizzling of an ember going out." + SPAN_NOTICE("[user] calmly drops and treads on [src], putting it out instantly."), + SPAN_NOTICE("You calmly drop and tread on [src], putting it out instantly."), + SPAN_NOTICE("You hear a foot being brought down on something, and the tiny fizzling of an ember going out.") ) die() /obj/item/clothing/mask/cigarette/can_enter_storage(obj/item/storage/S, mob/user) if(lit) - to_chat(user, "[S] can't hold \the [initial(name)] while it's lit!") // initial(name) so it doesn't say "lit" twice in a row + to_chat(user, SPAN_WARNING("[S] can't hold \the [initial(name)] while it's lit!")) // initial(name) so it doesn't say "lit" twice in a row return FALSE return TRUE @@ -194,7 +194,7 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette/catch_fire() if(!lit) - visible_message("[src] is lit by the flames!") + visible_message(SPAN_WARNING("[src] is lit by the flames!")) light() /obj/item/clothing/mask/cigarette/cigarette_lighter_act(mob/living/user, mob/living/target, obj/item/direct_attackby_item) @@ -203,18 +203,18 @@ LIGHTERS ARE IN LIGHTERS.DM return !isnull(cig) if(!lit) - to_chat(user, "You cannot light [cig] with [src] because you need a lighter to light [src] before you can use [src] as a lighter to light [cig]... This seems a little convoluted.") + to_chat(user, SPAN_WARNING("You cannot light [cig] with [src] because you need a lighter to light [src] before you can use [src] as a lighter to light [cig]... This seems a little convoluted.")) return TRUE if(target == user) user.visible_message( - "[user] presses [src] against [cig] until it lights. Seems oddly recursive...", - "You press [src] against [cig] until it lights. Seems oddly recursive..." + SPAN_NOTICE("[user] presses [src] against [cig] until it lights. Seems oddly recursive..."), + SPAN_NOTICE("You press [src] against [cig] until it lights. Seems oddly recursive...") ) else user.visible_message( - "[user] presses [src] until it lights. Sharing is caring!", - "You press [src] against [cig] until it lights. Sharing is caring!" + SPAN_NOTICE("[user] presses [src] until it lights. Sharing is caring!"), + SPAN_NOTICE("You press [src] against [cig] until it lights. Sharing is caring!") ) cig.light(user, target) return TRUE @@ -299,7 +299,7 @@ LIGHTERS ARE IN LIGHTERS.DM reagents.trans_id_to(C, R.id, first_puff ? 1 : max(REAGENTS_METABOLISM / length(reagents.reagent_list), 0.1)) //transfer at least .1 of each chem first_puff = FALSE if(!reagents.total_volume) // There were reagents, but now they're gone - to_chat(C, "Your [name] loses its flavor.") + to_chat(C, SPAN_NOTICE("Your [name] loses its flavor.")) else // else just remove some of the reagents reagents.remove_any(REAGENTS_METABOLISM) @@ -310,7 +310,7 @@ LIGHTERS ARE IN LIGHTERS.DM transfer_fingerprints_to(butt) if(ismob(loc)) var/mob/living/M = loc - to_chat(M, "Your [name] goes out.") + to_chat(M, SPAN_NOTICE("Your [name] goes out.")) // Only put the butt in the user's mouth if there's already a cig there. if(M.wear_mask == src) M.drop_item_to_ground(src, force = TRUE) //Force the un-equip so the overlays update @@ -489,7 +489,7 @@ LIGHTERS ARE IN LIGHTERS.DM var/obj/item/food/grown/plant = used if(!plant.dry) - to_chat(user, "You need to dry this first!") + to_chat(user, SPAN_WARNING("You need to dry this first!")) return ITEM_INTERACT_COMPLETE user.unequip(src, TRUE) @@ -498,11 +498,11 @@ LIGHTERS ARE IN LIGHTERS.DM if(istype(used, /obj/item/food/grown/tobacco/pre_dried)) custom_rollie.desc = "Dried tobacco rolled up in a thin piece of paper." if(plant.reagents.total_volume > custom_rollie.chem_volume) - to_chat(user, "You pour some of [plant] into a rolling paper.") + to_chat(user, SPAN_NOTICE("You pour some of [plant] into a rolling paper.")) plant.reagents.trans_to(custom_rollie, 40) plant.update_appearance(UPDATE_ICON) else - to_chat(user, "You empty [plant] into a rolling paper.") + to_chat(user, SPAN_NOTICE("You empty [plant] into a rolling paper.")) plant.reagents.trans_to(custom_rollie, plant.reagents.total_volume) user.unequip(plant, TRUE) qdel(plant) @@ -511,7 +511,7 @@ LIGHTERS ARE IN LIGHTERS.DM user.unequip(plant, TRUE) custom_rollie.reagents.maximum_volume = plant.reagents.total_volume plant.reagents.trans_to(custom_rollie, plant.reagents.total_volume) - to_chat(user, "You roll the [plant.name] into a rolling paper.") + to_chat(user, SPAN_NOTICE("You roll the [plant.name] into a rolling paper.")) custom_rollie.desc = "Dried [plant.name] rolled up in a thin piece of paper." qdel(plant) custom_rollie.smoketime = custom_rollie.reagents.total_volume * REAGENT_TIME_RATIO @@ -616,13 +616,13 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette/cigar/havana/proc/grant_badass(mob/user) if(!HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR)) ADD_TRAIT(user, TRAIT_BADASS, HOLO_CIGAR) - to_chat(user, "You feel more badass while smoking [src].") + to_chat(user, SPAN_NOTICE("You feel more badass while smoking [src].")) /obj/item/clothing/mask/cigarette/cigar/havana/dropped(mob/user, silent) . = ..() if(HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR)) REMOVE_TRAIT(user, TRAIT_BADASS, HOLO_CIGAR) - to_chat(user, "You feel less badass.") + to_chat(user, SPAN_NOTICE("You feel less badass.")) /obj/item/cigbutt/cigarbutt name = "cigar butt" @@ -660,11 +660,11 @@ LIGHTERS ARE IN LIGHTERS.DM if(enabled) enabled = FALSE - to_chat(user, "You disable the holo-cigar.") + to_chat(user, SPAN_NOTICE("You disable the holo-cigar.")) STOP_PROCESSING(SSobj, src) else enabled = TRUE - to_chat(user, "You enable the holo-cigar.") + to_chat(user, SPAN_NOTICE("You enable the holo-cigar.")) START_PROCESSING(SSobj, src) update_appearance(UPDATE_NAME|UPDATE_ICON) @@ -707,14 +707,14 @@ LIGHTERS ARE IN LIGHTERS.DM if(enabled && slot == ITEM_SLOT_MASK) if(!HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR)) ADD_TRAIT(user, TRAIT_BADASS, HOLO_CIGAR) - to_chat(user, "You feel more badass while smoking [src].") + to_chat(user, SPAN_NOTICE("You feel more badass while smoking [src].")) /obj/item/clothing/mask/holo_cigar/dropped(mob/user, silent) . = ..() has_smoked = FALSE if(HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR)) REMOVE_TRAIT(user, TRAIT_BADASS, HOLO_CIGAR) - to_chat(user, "You feel less badass.") + to_chat(user, SPAN_NOTICE("You feel less badass.")) ////////////////////////////// // MARK: PIPES @@ -741,26 +741,26 @@ LIGHTERS ARE IN LIGHTERS.DM var/obj/item/food/grown/filler = used if(!filler.dry) - to_chat(user, "You need to dry this first!") + to_chat(user, SPAN_WARNING("You need to dry this first!")) return ITEM_INTERACT_COMPLETE if(reagents.total_volume == reagents.maximum_volume) - to_chat(user, "[src] is full!") + to_chat(user, SPAN_WARNING("[src] is full!")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/food/grown/tobacco/pre_dried)) - to_chat(user, "You empty [filler] into the pipe.") + to_chat(user, SPAN_NOTICE("You empty [filler] into the pipe.")) if((chem_volume - reagents.total_volume) >= filler.reagents.total_volume) filler.reagents.trans_to(src, chem_volume) user.unequip(filler, TRUE) qdel(filler) user.put_in_active_hand(new /obj/item/trash/tobacco_tin) else - to_chat(user, "You pour some of [filler] into the pipe.") + to_chat(user, SPAN_NOTICE("You pour some of [filler] into the pipe.")) filler.reagents.trans_to(src, clamp(filler.reagents.total_volume, 0, (chem_volume - reagents.total_volume))) filler.update_icon(UPDATE_ICON_STATE) else - to_chat(user, "You stuff the [filler.name] into the pipe.") + to_chat(user, SPAN_NOTICE("You stuff the [filler.name] into the pipe.")) filler.reagents.trans_to(src, chem_volume) qdel(filler) @@ -781,7 +781,7 @@ LIGHTERS ARE IN LIGHTERS.DM new /obj/effect/decal/cleanable/ash(location) if(ismob(loc)) var/mob/living/M = loc - to_chat(M, "Your [name] goes out, and you empty the ash.") + to_chat(M, SPAN_NOTICE("Your [name] goes out, and you empty the ash.")) lit = FALSE update_appearance(UPDATE_NAME|UPDATE_ICON) STOP_PROCESSING(SSobj, src) @@ -791,8 +791,8 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette/pipe/extinguish_cigarette(mob/user) user.visible_message( - "[user] puts out [src].", - "You put out [src]." + SPAN_NOTICE("[user] puts out [src]."), + SPAN_NOTICE("You put out [src].") ) lit = FALSE first_puff = TRUE diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 9430d0f9469..d018ca716e7 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -49,7 +49,7 @@ /obj/item/bikehorn/golden/proc/flip_mobs(mob/user) if(cooldown >= world.time) - to_chat(user, "You can't make others flip yet!") + to_chat(user, SPAN_WARNING("You can't make others flip yet!")) return cooldown = world.time + 30 SECONDS var/turf/T = get_turf(src) @@ -80,7 +80,7 @@ /obj/item/clown_recorder/attack_self__legacy__attackchain(mob/user) if(cooldown > world.time) - to_chat(user, "The tape is still winding back.") + to_chat(user, SPAN_NOTICE("The tape is still winding back.")) return playsound(src, pick('sound/voice/sitcom_laugh.ogg', 'sound/voice/sitcom_laugh2.ogg'), 50, FALSE) if(!HAS_TRAIT(src, TRAIT_CMAGGED)) @@ -90,7 +90,7 @@ /obj/item/clown_recorder/cmag_act(mob/user) if(!HAS_TRAIT(src, TRAIT_CMAGGED)) - to_chat(user, "Winding back speed has been improved by the bananium ooze!") + to_chat(user, SPAN_NOTICE("Winding back speed has been improved by the bananium ooze!")) ADD_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG) return TRUE return FALSE diff --git a/code/game/objects/items/collar.dm b/code/game/objects/items/collar.dm index 9f001d20574..6a71734de9a 100644 --- a/code/game/objects/items/collar.dm +++ b/code/game/objects/items/collar.dm @@ -26,9 +26,9 @@ name = "[initial(name)] - [tagname]" if("Remove ID") if(access_id) - user.visible_message("[user] starts unclipping [access_id] from [src].") + user.visible_message(SPAN_WARNING("[user] starts unclipping [access_id] from [src].")) if(do_after(user, 5 SECONDS, target = user) && access_id && !QDELETED(src) && Adjacent(user)) - user.visible_message("[user] unclips [access_id] from [src].") + user.visible_message(SPAN_WARNING("[user] unclips [access_id] from [src].")) access_id.forceMove(get_turf(user)) user.put_in_hands(access_id) access_id = null @@ -37,12 +37,12 @@ if(!istype(W)) return ..() if(access_id) - to_chat(user, "There is already \a [access_id] clipped onto [src].") + to_chat(user, SPAN_WARNING("There is already \a [access_id] clipped onto [src].")) return ..() user.drop_item() W.forceMove(src) access_id = W - to_chat(user, "[W] clips onto [src] snugly.") + to_chat(user, SPAN_NOTICE("[W] clips onto [src] snugly.")) /obj/item/petcollar/GetAccess() return access_id ? access_id.GetAccess() : ..() diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index 1753e97176c..4f00a58cf54 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -47,11 +47,11 @@ return mode = choice - to_chat(user, "Now in mode: [mode].") + to_chat(user, SPAN_NOTICE("Now in mode: [mode].")) /obj/item/door_remote/examine(mob/user) . = ..() - . += "It's current mode is: [mode]" + . += SPAN_NOTICE("It's current mode is: [mode]") /obj/item/door_remote/interact_with_atom(atom/target, mob/living/user, list/modifiers) if(istype(target, /obj/machinery/door/airlock)) @@ -71,19 +71,19 @@ /obj/item/door_remote/proc/access_airlock(obj/machinery/door/airlock/D, mob/user) if(HAS_TRAIT(D, TRAIT_CMAGGED)) - to_chat(user, "The door doesn't respond to [src]!") + to_chat(user, SPAN_DANGER("The door doesn't respond to [src]!")) return if(!(D.arePowerSystemsOn())) - to_chat(user, "[D] has no power!") + to_chat(user, SPAN_DANGER("[D] has no power!")) return if(!D.requiresID()) - to_chat(user, "[D]'s ID scan is disabled!") + to_chat(user, SPAN_DANGER("[D]'s ID scan is disabled!")) return if(!D.check_access(src.ID)) - to_chat(user, "[src] does not have access to this door.") + to_chat(user, SPAN_DANGER("[src] does not have access to this door.")) return D.add_hiddenprint(user) @@ -103,23 +103,23 @@ D.update_icon() if(WAND_SPEED) D.normalspeed = !D.normalspeed - to_chat(user, "[D] is now in [D.normalspeed ? "normal" : "fast"] mode.") + to_chat(user, SPAN_NOTICE("[D] is now in [D.normalspeed ? "normal" : "fast"] mode.")) /obj/item/door_remote/proc/access_windoor(obj/machinery/door/window/D, mob/user) if(HAS_TRAIT(D, TRAIT_CMAGGED)) - to_chat(user, "The door doesn't respond to [src]!") + to_chat(user, SPAN_DANGER("The door doesn't respond to [src]!")) return if(!D.has_power()) - to_chat(user, "[D] has no power!") + to_chat(user, SPAN_DANGER("[D] has no power!")) return if(!D.requiresID()) - to_chat(user, "[D]'s ID scan is disabled!") + to_chat(user, SPAN_DANGER("[D]'s ID scan is disabled!")) return if(!D.check_access(ID)) - to_chat(user, "[src] does not have access to this door.") + to_chat(user, SPAN_DANGER("[src] does not have access to this door.")) return D.add_hiddenprint(user) @@ -130,11 +130,11 @@ else D.close() if(WAND_BOLT) - to_chat(user, "[D] has no bolting functionality.") + to_chat(user, SPAN_DANGER("[D] has no bolting functionality.")) if(WAND_EMERGENCY) - to_chat(user, "[D] has no emergency access functionality.") + to_chat(user, SPAN_DANGER("[D] has no emergency access functionality.")) if(WAND_SPEED) - to_chat(user, "[D] has no speed change functionality.") + to_chat(user, SPAN_DANGER("[D] has no speed change functionality.")) /obj/item/door_remote/omni name = "omni door remote" @@ -208,11 +208,11 @@ return if(busy) - to_chat(user, "[src] is alreading interfacing with a door!") + to_chat(user, SPAN_WARNING("[src] is alreading interfacing with a door!")) return icon_state = "hacktool-g" busy = TRUE - to_chat(user, "[src] is attempting to interface with [target]...") + to_chat(user, SPAN_NOTICE("[src] is attempting to interface with [target]...")) if(do_after(user, hack_speed, target = target, hidden = TRUE)) busy = FALSE icon_state = "hacktool" @@ -249,13 +249,13 @@ /obj/item/door_remote/janikeyring/examine(mob/user) . = ..() - . += "This keyring has access to Medbay, Science, Engineering, Cargo, the Bar and the Kitchen!" + . += SPAN_NOTICE("This keyring has access to Medbay, Science, Engineering, Cargo, the Bar and the Kitchen!") /obj/item/door_remote/janikeyring/activate_self(mob/user) if(..() || cooldown > world.time) return - to_chat(user, "You shake [src]!") + to_chat(user, SPAN_WARNING("You shake [src]!")) playsound(src, 'sound/items/keyring_shake.ogg', 50) cooldown = world.time + JANGLE_COOLDOWN @@ -271,15 +271,15 @@ if(!istype(target, /obj/machinery/door/airlock) && !istype(target, /obj/machinery/door/window)) return if(busy) - to_chat(user, "You are already using [src] on the [target]'s access panel!") + to_chat(user, SPAN_WARNING("You are already using [src] on the [target]'s access panel!")) return busy = TRUE var/mob/living/carbon/human/H = user if(H.mind.assigned_role == "Janitor" && last_airlock_uid == target.UID()) - to_chat(user, "You recognize [target] and look for the key you used...") + to_chat(user, SPAN_NOTICE("You recognize [target] and look for the key you used...")) hack_speed = 5 SECONDS else - to_chat(user, "You fiddle with [src], trying different keys to open [target]...") + to_chat(user, SPAN_NOTICE("You fiddle with [src], trying different keys to open [target]...")) if(H.mind.assigned_role != "Janitor") hack_speed = rand(30, 60) SECONDS else @@ -294,37 +294,37 @@ /obj/item/door_remote/janikeyring/access_airlock(obj/machinery/door/airlock/D, mob/user) if(HAS_TRAIT(D, TRAIT_CMAGGED)) - to_chat(user, "[src] won't fit in the [D] airlock's access panel, there's slime everywhere!") + to_chat(user, SPAN_DANGER("[src] won't fit in the [D] airlock's access panel, there's slime everywhere!")) return if(!D.arePowerSystemsOn()) - to_chat(user, "The [D] airlock has no power!") + to_chat(user, SPAN_DANGER("The [D] airlock has no power!")) return if(!D.check_access(ID)) - to_chat(user, "[src] does not seem to have a key for the [D] airlock's access panel!") + to_chat(user, SPAN_DANGER("[src] does not seem to have a key for the [D] airlock's access panel!")) return D.add_hiddenprint(user) if(D.density) D.open() else - to_chat(user, "The [D] airlock is already open!") + to_chat(user, SPAN_DANGER("The [D] airlock is already open!")) /obj/item/door_remote/janikeyring/access_windoor(obj/machinery/door/window/D, mob/user) if(!(D.has_power())) - to_chat(user, "[D] has no power!") + to_chat(user, SPAN_DANGER("[D] has no power!")) return if(!D.check_access(ID)) - to_chat(user, "[src] does not seem to have a key for the [D]'s access panel!") + to_chat(user, SPAN_DANGER("[src] does not seem to have a key for the [D]'s access panel!")) return D.add_hiddenprint(user) if(D.density) D.open() else - to_chat(user, "The [D] is already open!") + to_chat(user, SPAN_DANGER("The [D] is already open!")) #undef WAND_OPEN #undef WAND_BOLT diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm index 6d906dacd5a..742604c8967 100644 --- a/code/game/objects/items/cosmetics.dm +++ b/code/game/objects/items/cosmetics.dm @@ -59,7 +59,7 @@ /obj/item/lipstick/attack_self__legacy__attackchain(mob/user) cut_overlays() - to_chat(user, "You twist \the [src] [open ? "closed" : "open"].") + to_chat(user, SPAN_NOTICE("You twist \the [src] [open ? "closed" : "open"].")) open = !open if(open) var/mutable_appearance/colored = mutable_appearance('icons/obj/items.dmi', "lipstick_uncap_color") @@ -76,25 +76,25 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.lip_style) // If they already have lipstick on - to_chat(user, "You need to wipe off the old lipstick first!") + to_chat(user, SPAN_NOTICE("You need to wipe off the old lipstick first!")) return if(H == user) - user.visible_message("[user] does [user.p_their()] lips with [src].", \ - "You take a moment to apply [src]. Perfect!") + user.visible_message(SPAN_NOTICE("[user] does [user.p_their()] lips with [src]."), \ + SPAN_NOTICE("You take a moment to apply [src]. Perfect!")) H.lip_style = "lipstick" H.lip_color = lipstick_colors[colour] H.update_body() else - user.visible_message("[user] begins to do [H]'s lips with \the [src].", \ - "You begin to apply \the [src].") + user.visible_message(SPAN_WARNING("[user] begins to do [H]'s lips with \the [src]."), \ + SPAN_NOTICE("You begin to apply \the [src].")) if(do_after(user, 20, target = H)) - user.visible_message("[user] does [H]'s lips with \the [src].", \ - "You apply \the [src].") + user.visible_message(SPAN_NOTICE("[user] does [H]'s lips with \the [src]."), \ + SPAN_NOTICE("You apply \the [src].")) H.lip_style = "lipstick" H.lip_color = lipstick_colors[colour] H.update_body() else - to_chat(user, "Where are the lips on that?") + to_chat(user, SPAN_NOTICE("Where are the lips on that?")) /obj/item/razor name = "electric razor" @@ -109,71 +109,71 @@ var/mob/living/carbon/human/H = M var/obj/item/organ/external/head/C = H.get_organ("head") if(!istype(C)) - to_chat(user, "There's nothing to cut, [M] [M.p_are()] missing [M.p_their()] head!") + to_chat(user, SPAN_WARNING("There's nothing to cut, [M] [M.p_are()] missing [M.p_their()] head!")) return ..() var/datum/robolimb/robohead = GLOB.all_robolimbs[C.model] if(user.zone_selected == "mouth") if(!get_location_accessible(H, "mouth")) - to_chat(user, "The mask is in the way.") + to_chat(user, SPAN_WARNING("The mask is in the way.")) return if((C.dna.species.bodyflags & ALL_RPARTS) && robohead.is_monitor) //If the target is of a species that can have prosthetic heads, but the head doesn't support human hair 'wigs'... - to_chat(user, "You find yourself disappointed at the appalling lack of facial hair.") + to_chat(user, SPAN_WARNING("You find yourself disappointed at the appalling lack of facial hair.")) return if(C.f_style == "Shaved") - to_chat(user, "Already clean-shaven.") + to_chat(user, SPAN_NOTICE("Already clean-shaven.")) return if(H == user) //shaving yourself - user.visible_message("[user] starts to shave [user.p_their()] facial hair with [src].", \ - "You take a moment shave your facial hair with \the [src].") + user.visible_message(SPAN_NOTICE("[user] starts to shave [user.p_their()] facial hair with [src]."), \ + SPAN_NOTICE("You take a moment shave your facial hair with \the [src].")) if(do_after(user, 50 * toolspeed, target = H)) - user.visible_message("[user] shaves [user.p_their()] facial hair clean with [src].", \ - "You finish shaving with [src]. Fast and clean!") + user.visible_message(SPAN_NOTICE("[user] shaves [user.p_their()] facial hair clean with [src]."), \ + SPAN_NOTICE("You finish shaving with [src]. Fast and clean!")) C.f_style = "Shaved" H.update_fhair() playsound(src.loc, usesound, 20, 1) else var/turf/user_loc = user.loc var/turf/H_loc = H.loc - user.visible_message("[user] tries to shave [H]'s facial hair with \the [src].", \ - "You start shaving [H]'s facial hair.") + user.visible_message(SPAN_DANGER("[user] tries to shave [H]'s facial hair with \the [src]."), \ + SPAN_WARNING("You start shaving [H]'s facial hair.")) if(do_after(user, 50 * toolspeed, target = H)) if(user_loc == user.loc && H_loc == H.loc) - user.visible_message("[user] shaves off [H]'s facial hair with \the [src].", \ - "You shave [H]'s facial hair clean off.") + user.visible_message(SPAN_DANGER("[user] shaves off [H]'s facial hair with \the [src]."), \ + SPAN_NOTICE("You shave [H]'s facial hair clean off.")) C.f_style = "Shaved" H.update_fhair() playsound(src.loc, usesound, 20, 1) if(user.zone_selected == "head") if(!get_location_accessible(H, "head")) - to_chat(user, "The headgear is in the way.") + to_chat(user, SPAN_WARNING("The headgear is in the way.")) return if((C.dna.species.bodyflags & ALL_RPARTS) && robohead.is_monitor) //If the target is of a species that can have prosthetic heads, but the head doesn't support human hair 'wigs'... - to_chat(user, "You find yourself disappointed at the appalling lack of hair.") + to_chat(user, SPAN_WARNING("You find yourself disappointed at the appalling lack of hair.")) return if(C.h_style == "Bald" || C.h_style == "Balding Hair" || C.h_style == "Skinhead") - to_chat(user, "There is not enough hair left to shave...") + to_chat(user, SPAN_NOTICE("There is not enough hair left to shave...")) return if(isskrell(M)) - to_chat(user, "Your razor isn't going to cut through tentacles.") + to_chat(user, SPAN_WARNING("Your razor isn't going to cut through tentacles.")) return if(H == user) //shaving yourself - user.visible_message("[user] starts to shave [user.p_their()] head with [src].", \ - "You start to shave your head with \the [src].") + user.visible_message(SPAN_WARNING("[user] starts to shave [user.p_their()] head with [src]."), \ + SPAN_WARNING("You start to shave your head with \the [src].")) if(do_after(user, 50 * toolspeed, target = H)) - user.visible_message("[user] shaves [user.p_their()] head with [src].", \ - "You finish shaving with \the [src].") + user.visible_message(SPAN_NOTICE("[user] shaves [user.p_their()] head with [src]."), \ + SPAN_NOTICE("You finish shaving with \the [src].")) C.h_style = "Skinhead" H.update_hair() playsound(src.loc, usesound, 40, 1) else var/turf/user_loc = user.loc var/turf/H_loc = H.loc - user.visible_message("[user] tries to shave [H]'s head with \the [src]!", \ - "You start shaving [H]'s head.") + user.visible_message(SPAN_DANGER("[user] tries to shave [H]'s head with \the [src]!"), \ + SPAN_WARNING("You start shaving [H]'s head.")) if(do_after(user, 50 * toolspeed, target = H)) if(user_loc == user.loc && H_loc == H.loc) - user.visible_message("[user] shaves [H]'s head bald with \the [src]!", \ - "You shave [H]'s head bald.") + user.visible_message(SPAN_DANGER("[user] shaves [H]'s head bald with \the [src]!"), \ + SPAN_WARNING("You shave [H]'s head bald.")) C.h_style = "Skinhead" H.update_hair() playsound(src.loc, usesound, 40, 1) diff --git a/code/game/objects/items/courtroom.dm b/code/game/objects/items/courtroom.dm index 32fbdc45f4e..14a0dc4cfc7 100644 --- a/code/game/objects/items/courtroom.dm +++ b/code/game/objects/items/courtroom.dm @@ -13,7 +13,7 @@ resistance_flags = FLAMMABLE /obj/item/gavelhammer/suicide_act(mob/user) - user.visible_message("[user] has sentenced [user.p_themselves()] to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] has sentenced [user.p_themselves()] to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1) return BRUTELOSS @@ -33,4 +33,4 @@ if(world.time > next_gavel_hit) playsound(loc, 'sound/items/gavel.ogg', 100, 1) next_gavel_hit = world.time + 5 SECONDS - user.visible_message("[user] strikes \the [src] with \the [I].") + user.visible_message(SPAN_WARNING("[user] strikes \the [src] with \the [I].")) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index aee47d3fb05..43283cb3fd3 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -36,7 +36,7 @@ var/consumable = TRUE /obj/item/toy/crayon/suicide_act(mob/user) - user.visible_message("[user] is jamming the [name] up [user.p_their()] nose and into [user.p_their()] brain. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is jamming the [name] up [user.p_their()] nose and into [user.p_their()] brain. It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS|OXYLOSS /obj/item/toy/crayon/Initialize(mapload) @@ -123,12 +123,12 @@ temp = "letter" else if(graffiti.Find(drawtype)) temp = "graffiti" - to_chat(user, "You start drawing a [temp] on the [target.name].") + to_chat(user, SPAN_NOTICE("You start drawing a [temp] on the [target.name].")) busy = TRUE if(instant || do_after(user, 50 * toolspeed, target = target)) var/obj/effect/decal/cleanable/crayon/C = new /obj/effect/decal/cleanable/crayon(target, crayon_color, drawtype, temp) C.add_hiddenprint(user) - to_chat(user, "You finish drawing [temp].") + to_chat(user, SPAN_NOTICE("You finish drawing [temp].")) if(preset_message_index > 0) preset_message_index++ @@ -139,7 +139,7 @@ if(uses) uses-- if(!uses) - to_chat(user, "You used up your [name]!") + to_chat(user, SPAN_DANGER("You used up your [name]!")) qdel(src) busy = FALSE @@ -150,15 +150,15 @@ if(ishuman(user)) var/mob/living/carbon/human/H = user if(!H.check_has_mouth()) - to_chat(user, "You do not have a mouth!") + to_chat(user, SPAN_WARNING("You do not have a mouth!")) return times_eaten++ playsound(loc, 'sound/items/eatfood.ogg', 50, 0) user.adjust_nutrition(5) if(times_eaten < max_bites) - to_chat(user, "You take a bite of the [name]. Delicious!") + to_chat(user, SPAN_NOTICE("You take a bite of the [name]. Delicious!")) else - to_chat(user, "There is no more of [name] left!") + to_chat(user, SPAN_WARNING("There is no more of [name] left!")) qdel(src) /obj/item/toy/crayon/examine(mob/user) @@ -166,9 +166,9 @@ if(!user.Adjacent(src) || !times_eaten) return if(times_eaten == 1) - . += "[src] was bitten by someone!" + . += SPAN_NOTICE("[src] was bitten by someone!") else - . += "[src] was bitten multiple times!" + . += SPAN_NOTICE("[src] was bitten multiple times!") /obj/item/toy/crayon/red name = "red crayon" @@ -322,7 +322,7 @@ var/choice = tgui_input_list(user, "Do you want to...", "Spraycan Options", list("Toggle Cap","Change Drawing", "Change Color")) switch(choice) if("Toggle Cap") - to_chat(user, "You [capped ? "remove" : "replace"] the cap of [src].") + to_chat(user, SPAN_NOTICE("You [capped ? "remove" : "replace"] the cap of [src].")) capped = !capped update_icon() if("Change Drawing") @@ -338,7 +338,7 @@ if(!proximity_flag) return if(capped) - to_chat(user, "You cannot spray [target] while the cap is still on!") + to_chat(user, SPAN_WARNING("You cannot spray [target] while the cap is still on!")) return if(istype(target, /obj/item/clothing/head/cardborg) || istype(target, /obj/item/clothing/suit/cardborg)) // Spraypainting your cardborg suit for more fashion options. cardborg_recolor(target, user) @@ -347,10 +347,10 @@ return var/mob/living/carbon/human/attackee = target if(uses < 10) - to_chat(user, "Theres not enough paint left to have an effect!") + to_chat(user, SPAN_WARNING("Theres not enough paint left to have an effect!")) return uses -= 10 - user.visible_message("[user] sprays [src] into the face of [target]!") + user.visible_message(SPAN_DANGER("[user] sprays [src] into the face of [target]!")) if(!attackee.is_eyes_covered()) // eyes aren't covered? ARGH IT BURNS. attackee.Confused(6 SECONDS) attackee.KnockDown(6 SECONDS) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 8e07f71c7e3..9fa3bec5264 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -58,7 +58,7 @@ /obj/item/defibrillator/examine(mob/user) . = ..() - . += "Alt-Click to remove the paddles from the defibrillator." + . += SPAN_NOTICE("Alt-Click to remove the paddles from the defibrillator.") /obj/item/defibrillator/proc/update_power() if(cell) @@ -100,15 +100,15 @@ if(istype(W, /obj/item/stock_parts/cell)) var/obj/item/stock_parts/cell/C = W if(cell) - to_chat(user, "[src] already has a cell.") + to_chat(user, SPAN_NOTICE("[src] already has a cell.")) else if(C.maxcharge < paddles.revivecost) - to_chat(user, "[src] requires a higher capacity cell.") + to_chat(user, SPAN_NOTICE("[src] requires a higher capacity cell.")) return if(user.drop_item(C)) W.forceMove(src) cell = C - to_chat(user, "You install a cell in [src].") + to_chat(user, SPAN_NOTICE("You install a cell in [src].")) if(W == paddles) toggle_paddles(user) @@ -116,13 +116,13 @@ /obj/item/defibrillator/screwdriver_act(mob/living/user, obj/item/I) if(!cell) - to_chat(user, "[src] doesn't have a cell.") + to_chat(user, SPAN_NOTICE("[src] doesn't have a cell.")) return cell.update_icon() cell.forceMove(get_turf(loc)) cell = null - to_chat(user, "You remove the cell from [src].") + to_chat(user, SPAN_NOTICE("You remove the cell from [src].")) update_icon(UPDATE_OVERLAYS) return TRUE @@ -146,7 +146,7 @@ if(paddles_on_defib) //Detach the paddles into the user's hands if(!user.put_in_hands(paddles)) - to_chat(user, "You need a free hand to hold the paddles!") + to_chat(user, SPAN_WARNING("You need a free hand to hold the paddles!")) update_icon(UPDATE_OVERLAYS) return paddles.forceMove(user) @@ -252,8 +252,8 @@ /obj/item/defibrillator/compact/advanced/examine(mob/user) . = ..() - . += "[src] uses an experimental self-charging cell, meaning that it will (probably) never stop working." - . += "The advanced paddles can be used to defibrillate through space suits." + . += SPAN_NOTICE("[src] uses an experimental self-charging cell, meaning that it will (probably) never stop working.") + . += SPAN_NOTICE("The advanced paddles can be used to defibrillate through space suits.") /obj/item/defibrillator/compact/advanced/examine_more(mob/user) . = ..() @@ -324,7 +324,7 @@ SIGNAL_HANDLER // COMSIG_DEFIB_PADDLES_APPLIED if(!HAS_TRAIT(src, TRAIT_WIELDED)) - to_chat(user, "You need to wield the paddles in both hands before you can use them on someone!") + to_chat(user, SPAN_BOLDNOTICE("You need to wield the paddles in both hands before you can use them on someone!")) return COMPONENT_BLOCK_DEFIB_MISC if(!defib.powered) return COMPONENT_BLOCK_DEFIB_DEAD @@ -336,10 +336,10 @@ on_cooldown = FALSE if(defib.cell) if(defib.cell.charge >= revivecost) - defib.visible_message("[defib] beeps: Unit ready.") + defib.visible_message(SPAN_NOTICE("[defib] beeps: Unit ready.")) playsound(get_turf(src), 'sound/machines/defib_ready.ogg', 50, 0) else - defib.visible_message("[defib] beeps: Charge depleted.") + defib.visible_message(SPAN_NOTICE("[defib] beeps: Charge depleted.")) playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0) update_icon(UPDATE_ICON_STATE) defib.update_icon(UPDATE_ICON_STATE) @@ -358,7 +358,7 @@ icon_state = "[base_icon_state][wielded]_cooldown" /obj/item/shockpaddles/suicide_act(mob/user) - user.visible_message("[user] is putting the live paddles on [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_DANGER("[user] is putting the live paddles on [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!")) defib.deductcharge(revivecost) playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, TRUE, -1) return OXYLOSS @@ -366,7 +366,7 @@ /obj/item/shockpaddles/dropped(mob/user) ..() if(user) - to_chat(user, "The paddles snap back into the main unit.") + to_chat(user, SPAN_NOTICE("The paddles snap back into the main unit.")) defib.paddles_on_defib = TRUE loc = defib defib.update_icon(UPDATE_OVERLAYS) @@ -438,7 +438,7 @@ /obj/item/borg_defib/proc/on_cooldown_expire(obj/item/defib) SIGNAL_HANDLER // COMSIG_DEFIB_READY - visible_message("[src] beeps: Defibrillation unit ready.") + visible_message(SPAN_NOTICE("[src] beeps: Defibrillation unit ready.")) playsound(get_turf(src), 'sound/machines/defib_ready.ogg', 50, 0) update_icon(UPDATE_ICON_STATE) diff --git a/code/game/objects/items/dehy_carp.dm b/code/game/objects/items/dehy_carp.dm index 5e90da5390b..ffc63347963 100644 --- a/code/game/objects/items/dehy_carp.dm +++ b/code/game/objects/items/dehy_carp.dm @@ -19,7 +19,7 @@ return src.add_fingerprint(user) // Anyone can add their fingerprints to it with this if(owned) - to_chat(user, "[src] stares up at you with friendly eyes.") + to_chat(user, SPAN_NOTICE("[src] stares up at you with friendly eyes.")) owner = user owned = 0 return ..() @@ -34,14 +34,14 @@ if(!proximity_flag) return if(istype(target,/obj/structure/sink)) - to_chat(user, "You place [src] under a stream of water...") + to_chat(user, SPAN_NOTICE("You place [src] under a stream of water...")) user.drop_item() loc = get_turf(target) return Swell() /obj/item/toy/plushie/carpplushie/dehy_carp/proc/Swell() desc = "It's growing!" - visible_message("[src] swells up!") + visible_message(SPAN_NOTICE("[src] swells up!")) // Animation icon = 'icons/mob/carp.dmi' flick("carp_swell", src) diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index 255c59a99ea..df957fb8b66 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -97,7 +97,7 @@ switch(action) if("wipe") if(flush) // Don't doublewipe. - to_chat(user, "You are already wiping this AI!") + to_chat(user, SPAN_WARNING("You are already wiping this AI!")) return var/confirm = tgui_alert(user, "Are you sure you want to wipe this card's memory? This cannot be undone once started.", "Confirm Wipe", list("Yes", "No")) if(confirm == "Yes" && (ui_status(user, GLOB.inventory_state) == UI_INTERACTIVE)) // And make doubly sure they want to wipe (three total clicks) @@ -107,13 +107,13 @@ if("radio") AI.aiRadio.disabledAi = !AI.aiRadio.disabledAi - to_chat(AI, "Your Subspace Transceiver has been [AI.aiRadio.disabledAi ? "disabled" : "enabled"]!") - to_chat(user, "You [AI.aiRadio.disabledAi ? "disable" : "enable"] the AI's Subspace Transceiver.") + to_chat(AI, SPAN_WARNING("Your Subspace Transceiver has been [AI.aiRadio.disabledAi ? "disabled" : "enabled"]!")) + to_chat(user, SPAN_NOTICE("You [AI.aiRadio.disabledAi ? "disable" : "enable"] the AI's Subspace Transceiver.")) if("wireless") AI.control_disabled = !AI.control_disabled - to_chat(AI, "Your wireless interface has been [AI.control_disabled ? "disabled" : "enabled"]!") - to_chat(user, "You [AI.control_disabled ? "disable" : "enable"] the AI's wireless interface.") + to_chat(AI, SPAN_WARNING("Your wireless interface has been [AI.control_disabled ? "disabled" : "enabled"]!")) + to_chat(user, SPAN_NOTICE("You [AI.control_disabled ? "disable" : "enable"] the AI's wireless interface.")) update_icon() return TRUE @@ -125,8 +125,8 @@ return if(!GetComponent(/datum/component/ducttape) && AI.builtInCamera) - . += "You see a small [AI]'s camera staring at you." - . += "You can use a tape roll on [src] to tape the camera lens." + . += SPAN_NOTICE("You see a small [AI]'s camera staring at you.") + . += SPAN_NOTICE("You can use a tape roll on [src] to tape the camera lens.") /obj/item/aicard/proc/wipe_ai() var/mob/living/silicon/ai/AI = locate() in src diff --git a/code/game/objects/items/devices/autochef_remote.dm b/code/game/objects/items/devices/autochef_remote.dm index 37805c66dc8..f0013828ada 100644 --- a/code/game/objects/items/devices/autochef_remote.dm +++ b/code/game/objects/items/devices/autochef_remote.dm @@ -16,17 +16,17 @@ RESTRICT_TYPE(/obj/item/autochef_remote) /obj/item/autochef_remote/examine(mob/user) . = ..() - . += "Use [src] on cooking utensils and machines to store them in the buffer." - . += "Use [src] on an autochef to register all the stored utensils and machines to the autochef." - . += "Register food and drink carts and smart fridges to give the autochef access to ingredients." - . += "Use [src] in-hand to clear its buffer, which can then be used to unlink everything from autochefs." + . += SPAN_NOTICE("Use [src] on cooking utensils and machines to store them in the buffer.") + . += SPAN_NOTICE("Use [src] on an autochef to register all the stored utensils and machines to the autochef.") + . += SPAN_NOTICE("Register food and drink carts and smart fridges to give the autochef access to ingredients.") + . += SPAN_NOTICE("Use [src] in-hand to clear its buffer, which can then be used to unlink everything from autochefs.") /obj/item/autochef_remote/activate_self(mob/user) if(..()) return FINISH_ATTACK linkable_machine_uids.Cut() - to_chat(user, "You clear all items stored in [src]'s buffer.") + to_chat(user, SPAN_NOTICE("You clear all items stored in [src]'s buffer.")) /obj/item/autochef_remote/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) var/target_uid = interacting_with.UID() @@ -41,6 +41,6 @@ RESTRICT_TYPE(/obj/item/autochef_remote) if(surface.container) interact_with_atom(surface.container, user) - to_chat(user, "You add [interacting_with] to [src]'s buffer.") + to_chat(user, SPAN_NOTICE("You add [interacting_with] to [src]'s buffer.")) return ITEM_INTERACT_COMPLETE diff --git a/code/game/objects/items/devices/autopsy.dm b/code/game/objects/items/devices/autopsy.dm index d609471ff33..aff4eb717e6 100644 --- a/code/game/objects/items/devices/autopsy.dm +++ b/code/game/objects/items/devices/autopsy.dm @@ -74,14 +74,14 @@ /obj/item/autopsy_scanner/examine(mob/user) . = ..() if(Adjacent(user)) - . += "You can use a pen on it to quickly write a coroner's report." + . += SPAN_NOTICE("You can use a pen on it to quickly write a coroner's report.") /obj/item/autopsy_scanner/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!is_pen(used)) return ..() if(!COOLDOWN_FINISHED(src, print_cooldown)) - to_chat(user, "[src] is busy, try again in a few seconds.") + to_chat(user, SPAN_WARNING("[src] is busy, try again in a few seconds.")) return ITEM_INTERACT_COMPLETE var/dead_name = tgui_input_text(user, "Insert name of deceased individual", default = target_name, title = "Coroner's Report", max_length = 60) @@ -105,7 +105,7 @@ return FINISH_ATTACK if(!COOLDOWN_FINISHED(src, print_cooldown)) - to_chat(user, "[src] is busy, try again in a few seconds.") + to_chat(user, SPAN_WARNING("[src] is busy, try again in a few seconds.")) return COOLDOWN_START(src, print_cooldown, PRINT_TIMER) @@ -164,7 +164,7 @@ for(var/chemID in chemtraces) scan_data += chemID scan_data += "
" - user.visible_message("[src] rattles and prints out a sheet of paper.") + user.visible_message(SPAN_WARNING("[src] rattles and prints out a sheet of paper.")) playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1) sleep(10) @@ -191,15 +191,15 @@ wdata.Cut() chemtraces.Cut() timeofdeath = null - to_chat(user, "A new patient has been registered. Purging data for previous patient.") + to_chat(user, SPAN_WARNING("A new patient has been registered. Purging data for previous patient.")) timeofdeath = target.timeofdeath var/obj/item/organ/external/S = target.get_organ(user.zone_selected) if(!S) - to_chat(user, "You can't scan this body part.") + to_chat(user, SPAN_WARNING("You can't scan this body part.")) return ITEM_INTERACT_COMPLETE - target.visible_message("[user] scans the wounds on [target]'s [S.name] with [src]") + target.visible_message(SPAN_WARNING("[user] scans the wounds on [target]'s [S.name] with [src]")) add_data(S) return ITEM_INTERACT_COMPLETE diff --git a/code/game/objects/items/devices/chameleon_counter.dm b/code/game/objects/items/devices/chameleon_counter.dm index c91ba49fe52..8da7a37b8ed 100644 --- a/code/game/objects/items/devices/chameleon_counter.dm +++ b/code/game/objects/items/devices/chameleon_counter.dm @@ -23,7 +23,7 @@ /obj/item/chameleon_counterfeiter/examine(mob/user) . = ..() if(dummy_active) - . += "It doesn't look quite right..." + . += SPAN_WARNING("It doesn't look quite right...") /obj/item/chameleon_counterfeiter/afterattack__legacy__attackchain(obj/item/target, mob/user, proximity) if(!proximity || !check_sprite(target) || target.alpha < 255 || target.invisibility != 0) @@ -31,7 +31,7 @@ if(dummy_active || !isitem(target)) return playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, TRUE, -6) - to_chat(user, "Scanned [target].") + to_chat(user, SPAN_NOTICE("Scanned [target].")) saved_name = target.name saved_desc = target.desc saved_icon = target.icon @@ -51,9 +51,9 @@ playsound(get_turf(src), 'sound/effects/pop.ogg', 100, TRUE, -6) if(dummy_active) matter_deactivate() - to_chat(user, "You deactivate [src].") + to_chat(user, SPAN_NOTICE("You deactivate [src].")) else - to_chat(user, "You activate [src].") + to_chat(user, SPAN_NOTICE("You activate [src].")) matter_activate() /obj/item/chameleon_counterfeiter/proc/matter_activate() diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 17ff46236a9..9a3f541011e 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -41,7 +41,7 @@ if(!active_dummy) if(isitem(target) && !istype(target, /obj/item/disk/nuclear)) playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, TRUE, -6) - to_chat(user, "Scanned [target].") + to_chat(user, SPAN_NOTICE("Scanned [target].")) saved_item = target.type saved_icon = target.icon saved_icon_state = target.icon_state @@ -58,7 +58,7 @@ eject_all() playsound(get_turf(src), 'sound/effects/pop.ogg', 100, TRUE, -6) QDEL_NULL(active_dummy) - to_chat(usr, "You deactivate [src].") + to_chat(usr, SPAN_NOTICE("You deactivate [src].")) var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src)) T.icon = 'icons/effects/effects.dmi' flick("emppulse",T) @@ -72,7 +72,7 @@ var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(usr.loc) C.activate(O, usr, saved_icon, saved_icon_state, saved_overlays, saved_underlays, src) qdel(O) - to_chat(usr, "You activate [src].") + to_chat(usr, SPAN_NOTICE("You activate [src].")) var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src)) T.icon = 'icons/effects/effects.dmi' flick("emppulse",T) @@ -120,12 +120,12 @@ if(..()) return FINISH_ATTACK for(var/mob/M in src) - to_chat(M, "Your [src] deactivates.") + to_chat(M, SPAN_DANGER("Your [src] deactivates.")) master.disrupt() /obj/effect/dummy/chameleon/attack_hand() for(var/mob/M in src) - to_chat(M, "Your [src] deactivates.") + to_chat(M, SPAN_DANGER("Your [src] deactivates.")) master.disrupt() /obj/effect/dummy/chameleon/attack_animal() @@ -145,14 +145,14 @@ /obj/effect/dummy/chameleon/ex_act(severity) //no longer bomb-proof for(var/mob/M in src) - to_chat(M, "Your [src] deactivates.") + to_chat(M, SPAN_DANGER("Your [src] deactivates.")) spawn() M.ex_act(severity) master.disrupt() /obj/effect/dummy/chameleon/bullet_act() for(var/mob/M in src) - to_chat(M, "Your [src] deactivates.") + to_chat(M, SPAN_DANGER("Your [src] deactivates.")) ..() master.disrupt() @@ -209,21 +209,21 @@ if(isturf(user.loc)) toggle(user) else - to_chat(user, "You can't use [src] while inside something!") + to_chat(user, SPAN_WARNING("You can't use [src] while inside something!")) else - to_chat(user, "You need at least [activation_cost] charge in your cell to use [src]!") + to_chat(user, SPAN_WARNING("You need at least [activation_cost] charge in your cell to use [src]!")) /obj/item/borg_chameleon/proc/toggle(mob/living/silicon/robot/syndicate/saboteur/user) if(active) - to_chat(user, "You reconfigure [src].") + to_chat(user, SPAN_NOTICE("You reconfigure [src].")) activate(user) return - to_chat(user, "You activate [src].") + to_chat(user, SPAN_NOTICE("You activate [src].")) apply_wibbly_filters(user) if(do_after(user, 5 SECONDS, target = user) && user.cell.use(activation_cost)) activate(user) else - to_chat(user, "The chameleon field fizzles.") + to_chat(user, SPAN_WARNING("The chameleon field fizzles.")) do_sparks(3, FALSE, user) remove_wibbly_filters(user) @@ -277,7 +277,7 @@ active = TRUE user.update_icons() playsound(src, 'sound/effects/bamf.ogg', 100, TRUE, -6) - to_chat(user, "You are now disguised as a Nanotrasen [selected_module] cyborg.") + to_chat(user, SPAN_NOTICE("You are now disguised as a Nanotrasen [selected_module] cyborg.")) /obj/item/borg_chameleon/proc/deactivate(mob/living/silicon/robot/syndicate/saboteur/user) STOP_PROCESSING(SSobj, src) @@ -292,5 +292,5 @@ /obj/item/borg_chameleon/proc/disrupt(mob/living/silicon/robot/syndicate/saboteur/user) if(active) - to_chat(user, "Your chameleon field deactivates.") + to_chat(user, SPAN_DANGER("Your chameleon field deactivates.")) deactivate(user) diff --git a/code/game/objects/items/devices/enginepicker.dm b/code/game/objects/items/devices/enginepicker.dm index 304a973e65a..b728fdd4a94 100644 --- a/code/game/objects/items/devices/enginepicker.dm +++ b/code/game/objects/items/devices/enginepicker.dm @@ -80,10 +80,10 @@ var/mob/living/silicon/ai/announcer = pick(ailist) announcer.say(";Engine delivery detected. Type: [engtype].") //Let's announce the terrible choice to everyone - visible_message("\The [src] begins to violently vibrate and hiss, then promptly disintegrates!") + visible_message(SPAN_NOTICE("\The [src] begins to violently vibrate and hiss, then promptly disintegrates!")) qdel(src) //Self-destructs to prevent crew from spawning multiple engines. else - visible_message("\The [src] buzzes! No beacon found or selected!") + visible_message(SPAN_NOTICE("\The [src] buzzes! No beacon found or selected!")) isactive = FALSE return diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 99be84c936d..fbadd328c1e 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -36,7 +36,7 @@ return if(battery_panel && !overcharged) - to_chat(user, "You jam [I] into the battery compartment on [src].") + to_chat(user, SPAN_NOTICE("You jam [I] into the battery compartment on [src].")) qdel(I) overcharged = TRUE update_icon(UPDATE_OVERLAYS) @@ -51,23 +51,23 @@ return if(battery_panel) - to_chat(user, "You close the battery compartment on [src].") + to_chat(user, SPAN_NOTICE("You close the battery compartment on [src].")) else - to_chat(user, "You open the battery compartment on [src].") + to_chat(user, SPAN_NOTICE("You open the battery compartment on [src].")) battery_panel = !battery_panel return TRUE /obj/item/flash/proc/burn_out() //Made so you can override it if you want to have an invincible flash from R&D or something. broken = TRUE icon_state = "[initial(icon_state)]burnt" - visible_message("[src] burns out!") + visible_message(SPAN_NOTICE("[src] burns out!")) /obj/item/flash/proc/try_use_flash(mob/user) if(broken) return FALSE if(!COOLDOWN_FINISHED(src, flash_cooldown) && user) - to_chat(user, "Your [name] is still too hot to use again!") + to_chat(user, SPAN_WARNING("Your [name] is still too hot to use again!")) return FALSE . = TRUE @@ -87,7 +87,7 @@ times_used++ if(times_used == (max_uses - 1)) - to_chat(user, "[src] is getting dangerously hot! Don't use it for a few seconds or it will burn out!") + to_chat(user, SPAN_WARNING("[src] is getting dangerously hot! Don't use it for a few seconds or it will burn out!")) else if(times_used == max_uses) burn_out() @@ -112,13 +112,13 @@ if(!M.absorb_stun(0)) M.drop_l_hand() M.drop_r_hand() - visible_message("[user] blinds [M] with [src]!") - to_chat(user, "You blind [M] with [src]!") - to_chat(M, "[user] blinds you with [src]!") + visible_message(SPAN_DISARM("[user] blinds [M] with [src]!")) + to_chat(user, SPAN_DANGER("You blind [M] with [src]!")) + to_chat(M, SPAN_USERDANGER("[user] blinds you with [src]!")) else - visible_message("[user] fails to blind [M] with [src]!") - to_chat(user, "You fail to blind [M] with [src]!") - to_chat(M, "[user] fails to blind you with [src]!") + visible_message(SPAN_DISARM("[user] fails to blind [M] with [src]!")) + to_chat(user, SPAN_WARNING("You fail to blind [M] with [src]!")) + to_chat(M, SPAN_DANGER("[user] fails to blind you with [src]!")) return if(M.flash_eyes()) @@ -137,9 +137,9 @@ else if(issilicon(M)) add_attack_logs(user, M, "Flashed with [src]") if(M.flash_eyes(intensity = 1.25, affect_silicon = TRUE)) // 40 * 1.25 = 50 stamina damage - user.visible_message("[user] overloads [M]'s sensors with [src]!", "You overload [M]'s sensors with [src]!") + user.visible_message(SPAN_DISARM("[user] overloads [M]'s sensors with [src]!"), SPAN_DANGER("You overload [M]'s sensors with [src]!")) return TRUE - user.visible_message("[user] fails to blind [M] with [src]!", "You fail to blind [M] with [src]!") + user.visible_message(SPAN_DISARM("[user] fails to blind [M] with [src]!"), SPAN_WARNING("You fail to blind [M] with [src]!")) /obj/item/flash/afterattack__legacy__attackchain(atom/target, mob/living/user, proximity, params) if(!proximity) @@ -150,7 +150,7 @@ return var/obj/machinery/camera/C = target C.emp_act(EMP_HEAVY) - to_chat(user,"You hit the lens of [C] with [src], temporarily disabling the camera!") + to_chat(user,SPAN_NOTICE("You hit the lens of [C] with [src], temporarily disabling the camera!")) log_admin("[key_name(user)] EMPd a camera with a flash") user.create_attack_log("[key_name(user)] EMPd a camera with a flash") add_attack_logs(user, C, "EMPd with [src]", ATKLOG_ALL) @@ -158,7 +158,7 @@ /obj/item/flash/attack_self__legacy__attackchain(mob/living/carbon/user, flag = 0, emp = 0) if(!try_use_flash(user)) return FALSE - user.visible_message("[user]'s [name] emits a blinding light!", "Your [name] emits a blinding light!") + user.visible_message(SPAN_DISARM("[user]'s [name] emits a blinding light!"), SPAN_DANGER("Your [name] emits a blinding light!")) for(var/mob/living/carbon/M in oviewers(3, null)) flash_carbon(M, user, 6 SECONDS, 0) for(var/obj/machinery/camera/C in view(3, user)) @@ -179,11 +179,11 @@ if(!ishuman(M) || !user.mind?.has_antag_datum(/datum/antagonist/rev/head)) return if(M.stat != CONSCIOUS) - to_chat(user, "They must be conscious before you can convert [M.p_them()]!") + to_chat(user, SPAN_WARNING("They must be conscious before you can convert [M.p_them()]!")) else if(add_revolutionary(M.mind)) times_used-- //Flashes less likely to burn out for headrevs when used for conversion else - to_chat(user, "This mind seems resistant to [src]!") + to_chat(user, SPAN_WARNING("This mind seems resistant to [src]!")) /obj/item/flash/proc/add_revolutionary(datum/mind/converting_mind) var/mob/living/carbon/human/conversion_target = converting_mind.current @@ -255,7 +255,7 @@ /obj/item/flash/cameraflash/try_use_flash(mob/user = null) if(!flash_cur_charges) - to_chat(user, "[src] needs time to recharge!") + to_chat(user, SPAN_WARNING("[src] needs time to recharge!")) return FALSE . = ..() if(.) @@ -278,7 +278,7 @@ /obj/item/flash/armimplant/burn_out() if(implant?.owner) - to_chat(implant.owner, "Your [name] implant overheats and deactivates!") + to_chat(implant.owner, SPAN_WARNING("Your [name] implant overheats and deactivates!")) implant.Retract() /obj/item/flash/armimplant/Destroy() diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index e8e43afb15c..0411c7f9c35 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -49,35 +49,35 @@ return ..() //just hit them in the head if(!(ishuman(user) || SSticker) && SSticker.mode.name != "monkey") //don't have dexterity - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, SPAN_NOTICE("You don't have the dexterity to do this!")) return var/mob/living/carbon/human/H = M //mob has protective eyewear if(istype(H) && ((H.head && H.head.flags_cover & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) || (H.glasses && H.glasses.flags_cover & GLASSESCOVERSEYES))) - to_chat(user, "You're going to need to remove that [(H.head && H.head.flags_cover & HEADCOVERSEYES) ? "helmet" : (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) ? "mask" : "glasses"] first.") + to_chat(user, SPAN_NOTICE("You're going to need to remove that [(H.head && H.head.flags_cover & HEADCOVERSEYES) ? "helmet" : (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) ? "mask" : "glasses"] first.")) return if(M == user) //they're using it on themselves if(M.flash_eyes(visual = 1)) - M.visible_message("[M] directs [src] to [M.p_their()] eyes.", \ - "You wave the light in front of your eyes! Trippy!") + M.visible_message(SPAN_NOTICE("[M] directs [src] to [M.p_their()] eyes."), \ + SPAN_NOTICE("You wave the light in front of your eyes! Trippy!")) else - M.visible_message("[M] directs [src] to [M.p_their()] eyes.", \ - "You wave the light in front of your eyes.") + M.visible_message(SPAN_NOTICE("[M] directs [src] to [M.p_their()] eyes."), \ + SPAN_NOTICE("You wave the light in front of your eyes.")) else - user.visible_message("[user] directs [src] to [M]'s eyes.", \ - "You direct [src] to [M]'s eyes.") + user.visible_message(SPAN_NOTICE("[user] directs [src] to [M]'s eyes."), \ + SPAN_NOTICE("You direct [src] to [M]'s eyes.")) if(istype(H)) //robots and aliens are unaffected var/obj/item/organ/internal/eyes/eyes = H.get_int_organ(/obj/item/organ/internal/eyes) if(M.stat == DEAD || !eyes || HAS_TRAIT(M, TRAIT_BLIND)) //mob is dead or fully blind - to_chat(user, "[M]'s pupils are unresponsive to the light!") + to_chat(user, SPAN_NOTICE("[M]'s pupils are unresponsive to the light!")) else if(HAS_TRAIT(M, TRAIT_XRAY_VISION) || eyes.see_in_dark >= 8) //The mob's either got the X-RAY vision or has a tapetum lucidum (extreme nightvision, i.e. Vulp/Tajara with COLOURBLIND & their monkey forms). - to_chat(user, "[M]'s pupils glow eerily!") + to_chat(user, SPAN_NOTICE("[M]'s pupils glow eerily!")) else //they're okay! if(M.flash_eyes(visual = 1)) - to_chat(user, "[M]'s pupils narrow.") + to_chat(user, SPAN_NOTICE("[M]'s pupils narrow.")) else return ..() @@ -127,7 +127,7 @@ /obj/item/flashlight/lamp/examine(mob/user) . = ..() - . += "You can Alt-Click [src] to turn it on/off." + . += SPAN_NOTICE("You can Alt-Click [src] to turn it on/off.") // green-shaded desk lamp /obj/item/flashlight/lamp/green @@ -204,16 +204,16 @@ /obj/item/flashlight/flare/attack_self__legacy__attackchain(mob/user) // Usual checks if(!fuel) - to_chat(user, "[src] is out of fuel.") + to_chat(user, SPAN_NOTICE("[src] is out of fuel.")) return if(on) - to_chat(user, "[src] is already on.") + to_chat(user, SPAN_NOTICE("[src] is already on.")) return . = ..() // All good, turn it on. if(.) - user.visible_message("[user] activates [src].", "You activate [src].") + user.visible_message(SPAN_NOTICE("[user] activates [src]."), SPAN_NOTICE("You activate [src].")) if(produce_heat) force = on_damage damtype = "fire" @@ -308,9 +308,9 @@ /obj/item/flashlight/flare/extinguish_light(force = FALSE) if(force) fuel = 0 - visible_message("[src] burns up rapidly!") + visible_message(SPAN_DANGER("[src] burns up rapidly!")) else - visible_message("[src] dims slightly before scattering the shadows around it.") + visible_message(SPAN_DANGER("[src] dims slightly before scattering the shadows around it.")) /obj/item/flashlight/flare/torch name = "torch" @@ -346,10 +346,10 @@ /obj/item/flashlight/slime/extinguish_light(force = FALSE) if(force) - visible_message("[src] withers away.") + visible_message(SPAN_DANGER("[src] withers away.")) qdel(src) else - visible_message("[src] dims slightly before scattering the shadows around it.") + visible_message(SPAN_DANGER("[src] dims slightly before scattering the shadows around it.")) /obj/item/flashlight/emp origin_tech = "magnets=3;syndicate=1" @@ -391,7 +391,7 @@ to_chat(user, "[src] now has [emp_cur_charges] charge\s.") A.emp_act(EMP_HEAVY) else - to_chat(user, "\The [src] needs time to recharge!") + to_chat(user, SPAN_WARNING("\The [src] needs time to recharge!")) return /// invisible lighting source diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 713873bce12..6a54195b8a1 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -85,28 +85,28 @@ . = ..() if(!scanning) return - . += "Alt-click it to clear stored radiation levels." + . += SPAN_NOTICE("Alt-click it to clear stored radiation levels.") if(emagged) - . += "The display seems to be incomprehensible." + . += SPAN_WARNING("The display seems to be incomprehensible.") return var/radiation_count = max(radiation_count_alpha, radiation_count_beta, radiation_count_gamma) switch(radiation_count) if(-INFINITY to RAD_LEVEL_NORMAL) - . += "Ambient radiation level count reports that all is well." + . += SPAN_NOTICE("Ambient radiation level count reports that all is well.") if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE) - . += "Ambient radiation levels slightly above average." + . += SPAN_ALERT("Ambient radiation levels slightly above average.") if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH) - . += "Ambient radiation levels above average." + . += SPAN_WARNING("Ambient radiation levels above average.") if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH) - . += "Ambient radiation levels highly above average." + . += SPAN_DANGER("Ambient radiation levels highly above average.") if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL) - . += "Ambient radiation levels nearing critical level." + . += SPAN_SUICIDE("Ambient radiation levels nearing critical level.") if(RAD_LEVEL_CRITICAL + 1 to INFINITY) - . += "Ambient radiation levels above critical level!" + . += SPAN_BOLDANNOUNCEIC("Ambient radiation levels above critical level!") - . += "The alpha radiation amount detected was [last_tick_amount_alpha]" - . += "The beta radiation amount detected was [last_tick_amount_beta]" - . += "The gamma radiation amount detected was [last_tick_amount_gamma]" + . += SPAN_NOTICE("The alpha radiation amount detected was [last_tick_amount_alpha]") + . += SPAN_NOTICE("The beta radiation amount detected was [last_tick_amount_beta]") + . += SPAN_NOTICE("The gamma radiation amount detected was [last_tick_amount_gamma]") /obj/item/geiger_counter/update_icon_state() if(!scanning) @@ -157,7 +157,7 @@ scanning = !scanning update_icon(UPDATE_ICON_STATE) - to_chat(user, "[bicon(src)] You switch [scanning ? "on" : "off"] [src].") + to_chat(user, SPAN_NOTICE("[bicon(src)] You switch [scanning ? "on" : "off"] [src].")) /obj/item/geiger_counter/interact_with_atom(atom/target, mob/living/user, list/modifiers) if(geiger_act(target, user)) @@ -173,10 +173,10 @@ if(user.a_intent != INTENT_HELP || isstorage(target)) return FALSE if(!emagged) - user.visible_message("[user] scans [target] with [src].", "You scan [target]'s radiation levels with [src]...") + user.visible_message(SPAN_NOTICE("[user] scans [target] with [src]."), SPAN_NOTICE("You scan [target]'s radiation levels with [src]...")) addtimer(CALLBACK(src, PROC_REF(scan), target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents else - user.visible_message("[user] scans [target] with [src].", "You project [src]'s stored radiation into [target]!") + user.visible_message(SPAN_NOTICE("[user] scans [target] with [src]."), SPAN_DANGER("You project [src]'s stored radiation into [target]!")) target.base_rad_act(src, radiation_count_alpha, ALPHA_RAD) target.base_rad_act(src, radiation_count_beta, BETA_RAD) target.base_rad_act(src, radiation_count_gamma, GAMMA_RAD) @@ -191,24 +191,24 @@ if(isliving(A)) var/mob/living/M = A if(!M.radiation) - to_chat(user, "[bicon(src)] Radiation levels within normal boundaries.") + to_chat(user, SPAN_NOTICE("[bicon(src)] Radiation levels within normal boundaries.")) else - to_chat(user, "[bicon(src)] Subject is irradiated. Radiation levels: [M.radiation] rads.") + to_chat(user, SPAN_BOLDANNOUNCEIC("[bicon(src)] Subject is irradiated. Radiation levels: [M.radiation] rads.")) if(rad_strength) - to_chat(user, "[bicon(src)] Target contains radioactive contamination. Radioactive strength: [rad_strength] rads.") + to_chat(user, SPAN_BOLDANNOUNCEIC("[bicon(src)] Target contains radioactive contamination. Radioactive strength: [rad_strength] rads.")) else - to_chat(user, "[bicon(src)] Target is free of radioactive contamination.") + to_chat(user, SPAN_NOTICE("[bicon(src)] Target is free of radioactive contamination.")) /obj/item/geiger_counter/screwdriver_act(mob/living/user, obj/item/I) if(emagged) if(scanning) - to_chat(user, "Turn off [src] before you perform this action!") + to_chat(user, SPAN_WARNING("Turn off [src] before you perform this action!")) return FALSE - user.visible_message("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards...", "You begin resetting [src]...") + user.visible_message(SPAN_NOTICE("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards..."), SPAN_NOTICE("You begin resetting [src]...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume)) return FALSE - user.visible_message("[user] refastens [src]'s maintenance panel!", "You reset [src] to its factory settings!") + user.visible_message(SPAN_NOTICE("[user] refastens [src]'s maintenance panel!"), SPAN_NOTICE("You reset [src] to its factory settings!")) emagged = FALSE radiation_count_alpha = 0 radiation_count_beta = 0 @@ -222,21 +222,21 @@ if(!istype(user) || !user.Adjacent(src)) return ..() if(!scanning) - to_chat(user, "[src] must be on to reset its radiation level!") + to_chat(user, SPAN_WARNING("[src] must be on to reset its radiation level!")) return radiation_count_alpha = 0 radiation_count_beta = 0 radiation_count_gamma = 0 - to_chat(user, "You flush [src]'s radiation counts, resetting it to normal.") + to_chat(user, SPAN_NOTICE("You flush [src]'s radiation counts, resetting it to normal.")) update_icon(UPDATE_ICON_STATE) /obj/item/geiger_counter/emag_act(mob/user) if(emagged) return if(scanning) - to_chat(user, "Turn off [src] before you perform this action!") + to_chat(user, SPAN_WARNING("Turn off [src] before you perform this action!")) return - to_chat(user, "You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan.") + to_chat(user, SPAN_WARNING("You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan.")) emagged = TRUE return TRUE diff --git a/code/game/objects/items/devices/handheld_defib.dm b/code/game/objects/items/devices/handheld_defib.dm index b89d68433a3..ed5898cb8b2 100644 --- a/code/game/objects/items/devices/handheld_defib.dm +++ b/code/game/objects/items/devices/handheld_defib.dm @@ -21,13 +21,13 @@ emagged = TRUE desc += " The screen only shows the word KILL flashing over and over." if(user) - to_chat(user, "you short out the safeties on [src]") + to_chat(user, SPAN_WARNING("you short out the safeties on [src]")) return TRUE else emagged = FALSE desc = "Used to restart stopped hearts." if(user) - to_chat(user, "You restore the safeties on [src]") + to_chat(user, SPAN_WARNING("You restore the safeties on [src]")) return TRUE /obj/item/handheld_defibrillator/attack__legacy__attackchain(mob/living/carbon/human/H, mob/user) @@ -35,7 +35,7 @@ return ..() if(cooldown) - to_chat(user, "[src] is still charging!") + to_chat(user, SPAN_WARNING("[src] is still charging!")) return if(emagged) @@ -43,7 +43,7 @@ if(HAS_TRAIT_FROM(H, TRAIT_WAS_BATONNED, user_UID)) // no following up with baton or dual wielding defibs for stunlock cheese purposes return - user.visible_message("[user] violently shocks [H] with [src]!", "You violently shock [H] with [src]!") + user.visible_message(SPAN_DANGER("[user] violently shocks [H] with [src]!"), SPAN_DANGER("You violently shock [H] with [src]!")) add_attack_logs(user, H, "emag-defibbed with [src]") playsound(user.loc, "sound/weapons/egloves.ogg", 75, 1) H.KnockDown(knockdown_duration) @@ -58,28 +58,28 @@ return if((H.health <= HEALTH_THRESHOLD_CRIT) || (H.undergoing_cardiac_arrest())) - user.visible_message("[user] shocks [H] with [src].", "You shock [H] with [src].") + user.visible_message(SPAN_NOTICE("[user] shocks [H] with [src]."), SPAN_NOTICE("You shock [H] with [src].")) add_attack_logs(user, H, "defibrillated with [src]") playsound(user.loc, "sound/weapons/egloves.ogg", 75, 1) if(H.stat == DEAD) - to_chat(user, "[H] doesn't respond at all!") + to_chat(user, SPAN_DANGER("[H] doesn't respond at all!")) else H.set_heartattack(FALSE) var/total_damage = H.getBruteLoss() + H.getFireLoss() + H.getToxLoss() if(H.health <= HEALTH_THRESHOLD_CRIT) if(total_damage >= 90) - to_chat(user, "[H] looks horribly injured. Resuscitation alone may not help revive them.") + to_chat(user, SPAN_DANGER("[H] looks horribly injured. Resuscitation alone may not help revive them.")) if(prob(66)) - to_chat(user, "[H] inhales deeply!") + to_chat(user, SPAN_NOTICE("[H] inhales deeply!")) H.adjustOxyLoss(-50) else - to_chat(user, "[H] doesn't respond!") + to_chat(user, SPAN_DANGER("[H] doesn't respond!")) H.AdjustParalysis(6 SECONDS) H.AdjustWeakened(10 SECONDS) H.AdjustStuttering(20 SECONDS) - to_chat(H, "You feel a powerful jolt!") + to_chat(H, SPAN_DANGER("You feel a powerful jolt!")) SEND_SIGNAL(H, COMSIG_LIVING_MINOR_SHOCK, 100) cooldown = TRUE @@ -88,7 +88,7 @@ addtimer(CALLBACK(src, PROC_REF(recharge)), charge_time) else - to_chat(user, "[src]'s on board medical scanner indicates that no shock is required.") + to_chat(user, SPAN_NOTICE("[src]'s on board medical scanner indicates that no shock is required.")) /obj/item/handheld_defibrillator/proc/allowhit(mob/living/target, user_UID) REMOVE_TRAIT(target, TRAIT_WAS_BATONNED, user_UID) diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 2c86f95cae4..e4b9db8a4f6 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -52,15 +52,15 @@ user.drop_item() W.loc = src diode = W - to_chat(user, "You install [diode] in [src].") + to_chat(user, SPAN_NOTICE("You install [diode] in [src].")) else - to_chat(user, "[src] already has a cell.") + to_chat(user, SPAN_NOTICE("[src] already has a cell.")) /obj/item/laser_pointer/screwdriver_act(mob/living/user, obj/item/I) if(!diode) return - to_chat(user, "You remove [diode] from [src].") + to_chat(user, SPAN_NOTICE("You remove [diode] from [src].")) diode.forceMove(get_turf(loc)) diode = null return TRUE @@ -72,23 +72,23 @@ /obj/item/laser_pointer/proc/laser_act(atom/target, mob/living/user, params) if(!diode) - to_chat(user, "You point [src] at [target], but nothing happens!") + to_chat(user, SPAN_NOTICE("You point [src] at [target], but nothing happens!")) return if(!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!")) return if(HAS_TRAIT(user, TRAIT_CHUNKYFINGERS)) - to_chat(user, "Your fingers can't press the button!") + to_chat(user, SPAN_WARNING("Your fingers can't press the button!")) return if(!(target in view(7, get_turf(src)))) // Use the turf as center so it won't use the potential xray of the user - to_chat(user, "There is something in the way!") + to_chat(user, SPAN_WARNING("There is something in the way!")) return add_fingerprint(user) //nothing happens if the battery is drained if(recharge_locked) - to_chat(user, "You point [src] at [target], but it's still charging.") + to_chat(user, SPAN_NOTICE("You point [src] at [target], but it's still charging.")) return var/outmsg @@ -108,9 +108,9 @@ //20% chance to actually hit the eyes if(prob(effectchance * diode.rating) && C.flash_eyes(severity, laser_pointer = TRUE)) - outmsg = "You blind [C] by shining [src] in [C.p_their()] eyes." + outmsg = SPAN_NOTICE("You blind [C] by shining [src] in [C.p_their()] eyes.") else - outmsg = "You fail to blind [C] by shining [src] at [C.p_their()] eyes!" + outmsg = SPAN_WARNING("You fail to blind [C] by shining [src] at [C.p_their()] eyes!") //robots and AI else if(issilicon(target)) @@ -118,25 +118,25 @@ //20% chance to actually hit the sensors if(prob(effectchance * diode.rating)) S.flash_eyes(affect_silicon = TRUE) - to_chat(S, "Your sensors were overloaded by a laser!") - outmsg = "You overload [S] by shining [src] at [S.p_their()] sensors." + to_chat(S, SPAN_WARNING("Your sensors were overloaded by a laser!")) + outmsg = SPAN_NOTICE("You overload [S] by shining [src] at [S.p_their()] sensors.") add_attack_logs(user, S, "shone [src] in their eyes") else - outmsg = "You fail to overload [S] by shining [src] at [S.p_their()] sensors." + outmsg = SPAN_NOTICE("You fail to overload [S] by shining [src] at [S.p_their()] sensors.") //cameras else if(istype(target, /obj/machinery/camera)) var/obj/machinery/camera/C = target if(prob(effectchance * diode.rating)) C.emp_act(EMP_HEAVY) - outmsg = "You hit the lens of [C] with [src], temporarily disabling the camera!" + outmsg = SPAN_NOTICE("You hit the lens of [C] with [src], temporarily disabling the camera!") log_admin("[key_name(user)] EMPd a camera with a laser pointer") user.create_attack_log("[key_name(user)] EMPd a camera with a laser pointer") add_attack_logs(user, C, "EMPd with [src]", ATKLOG_ALL) else - outmsg = "You missed the lens of [C] with [src]." + outmsg = SPAN_NOTICE("You missed the lens of [C] with [src].") //laser pointer image icon_state = "pointer_[pointer_icon_state]" @@ -158,7 +158,7 @@ if(outmsg) to_chat(user, outmsg) else - to_chat(user, "You point [src] at [target].") + to_chat(user, SPAN_NOTICE("You point [src] at [target].")) energy -= 1 if(energy <= max_energy) @@ -166,7 +166,7 @@ recharging = 1 START_PROCESSING(SSobj, src) if(energy <= 0) - to_chat(user, "You've overused the battery of [src], now it needs time to recharge!") + to_chat(user, SPAN_WARNING("You've overused the battery of [src], now it needs time to recharge!")) recharge_locked = 1 flick_overlay(I, showto, 10) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index cbc2fdf9b6a..763476a6935 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -64,7 +64,7 @@ /obj/item/lightreplacer/attackby__legacy__attackchain(obj/item/I, mob/user) if(uses >= max_uses) - to_chat(user, "[src] is full.") + to_chat(user, SPAN_WARNING("[src] is full.")) return if(istype(I, /obj/item/stack/sheet/glass)) @@ -72,34 +72,34 @@ if(G.use(decrement)) AddUses(increment) - to_chat(user, "You insert some glass into [src]. You have [uses] light\s remaining.") + to_chat(user, SPAN_NOTICE("You insert some glass into [src]. You have [uses] light\s remaining.")) else - to_chat(user, "You need one sheet of glass to replace lights!") + to_chat(user, SPAN_WARNING("You need one sheet of glass to replace lights!")) return if(istype(I, /obj/item/shard)) if(!user.drop_item_to_ground(I)) - to_chat(user, "[I] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[I] is stuck to your hand!")) return AddUses(increment) - to_chat(user, "You insert a shard of glass into [src]. You have [uses] light\s remaining.") + to_chat(user, SPAN_NOTICE("You insert a shard of glass into [src]. You have [uses] light\s remaining.")) qdel(I) return if(istype(I, /obj/item/light)) var/obj/item/light/L = I if(!user.drop_item_to_ground(L)) - to_chat(user, "[L] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[L] is stuck to your hand!")) return if(L.status == LIGHT_OK) AddUses(1) - to_chat(user, "You insert [L] into [src]. You have [uses] light\s remaining.") + to_chat(user, SPAN_NOTICE("You insert [L] into [src]. You have [uses] light\s remaining.")) qdel(L) else AddShards(1, user) - to_chat(user, "You insert [L] into [src]. You have [uses] light\s remaining.") + to_chat(user, SPAN_NOTICE("You insert [L] into [src]. You have [uses] light\s remaining.")) qdel(L) return @@ -125,14 +125,14 @@ qdel(L) if(!found_lightbulbs) - to_chat(user, "[S] contains no bulbs.") + to_chat(user, SPAN_WARNING("[S] contains no bulbs.")) return if(!replaced_something && uses == max_uses) - to_chat(user, "[src] is full!") + to_chat(user, SPAN_WARNING("[src] is full!")) return - to_chat(user, "You fill [src] with lights from [S]. " + status_string() + "") + to_chat(user, SPAN_NOTICE("You fill [src] with lights from [S]. " + status_string() + "")) return return ..() @@ -177,7 +177,7 @@ AddUses(new_bulbs) bulb_shards = bulb_shards % shards_required if(new_bulbs != 0) - to_chat(user, "[src] has fabricated a new bulb from the broken glass it has stored. It now has [uses] uses.") + to_chat(user, SPAN_NOTICE("[src] has fabricated a new bulb from the broken glass it has stored. It now has [uses] uses.")) playsound(loc, 'sound/machines/ding.ogg', 50, TRUE) return new_bulbs @@ -201,7 +201,7 @@ to_chat(U, "[src]'s refill light blinks red.") return else - to_chat(U, "There is a working [target.fitting] already inserted!") + to_chat(U, SPAN_WARNING("There is a working [target.fitting] already inserted!")) return /obj/item/lightreplacer/proc/CanUse(mob/living/user) diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm index 24fcc4093e0..108bed812c3 100644 --- a/code/game/objects/items/devices/megaphone.dm +++ b/code/game/objects/items/devices/megaphone.dm @@ -19,7 +19,7 @@ var/list/insultmsg = list("FUCK EVERYONE!", "I'M A TATER!", "ALL SECURITY TO SHOOT ME ON SIGHT!", "I HAVE A BOMB!", "CAPTAIN IS A COMDOM!", "FOR THE SYNDICATE!") /obj/item/megaphone/suicide_act(mob/user) - user.visible_message("[user] is uttering [user.p_their()] last words into [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is uttering [user.p_their()] last words into [src]! It looks like [user.p_theyre()] trying to commit suicide!")) on_cooldown = FALSE user.emote("scream") say_msg(user, "AAAAAAAAAAAARGHHHHH") @@ -28,32 +28,32 @@ /obj/item/megaphone/examine(mob/user) . = ..() if(HAS_TRAIT(src, TRAIT_CMAGGED)) - . += "Yellow ooze seems to be seeping from the speaker..." + . += SPAN_WARNING("Yellow ooze seems to be seeping from the speaker...") /obj/item/megaphone/attack_self__legacy__attackchain(mob/living/user) if(check_mute(user.ckey, MUTE_IC)) - to_chat(src, "You cannot speak in IC (muted).") + to_chat(src, SPAN_WARNING("You cannot speak in IC (muted).")) return if(!ishuman(user)) - to_chat(user, "You don't know how to use this!") + to_chat(user, SPAN_WARNING("You don't know how to use this!")) return if(!user.can_speak()) - to_chat(user, "You find yourself unable to speak at all.") + to_chat(user, SPAN_WARNING("You find yourself unable to speak at all.")) return if(ishuman(user)) var/mob/living/carbon/human/abductor/H = user if(isabductor(H)) - to_chat(user, "Megaphones can't project psionic communication!") + to_chat(user, SPAN_WARNING("Megaphones can't project psionic communication!")) return if(ishuman(user)) var/mob/living/carbon/human/H = user if(H && H.mind && H.mind.miming) - to_chat(user, "Your vow of silence prevents you from speaking.") + to_chat(user, SPAN_WARNING("Your vow of silence prevents you from speaking.")) return if(HAS_TRAIT(H, TRAIT_COMIC_SANS)) span = "sans" if(on_cooldown) - to_chat(user, "[src] needs to recharge!") + to_chat(user, SPAN_WARNING("[src] needs to recharge!")) return var/message = tgui_input_text(user, "Shout a message:", "Megaphone") @@ -77,7 +77,7 @@ else playsound(src, "sound/items/megaphone.ogg", 100, FALSE, 5) - audible_message("[user.GetVoice()] [user.GetAltName()] broadcasts, \"[message]\"", hearing_distance = 14) + audible_message("[SPAN_NAME("[user.GetVoice()]")] [user.GetAltName()] broadcasts, \"[message]\"", hearing_distance = 14) log_say("(MEGAPHONE) [message]", user) user.create_log(SAY_LOG, "(megaphone) '[message]'") for(var/obj/O in view(14, get_turf(src))) @@ -91,7 +91,7 @@ if(HAS_TRAIT(src, TRAIT_CMAGGED)) return FALSE if(user) - to_chat(user, "You drip some yellow ooze into [src]'s voice synthesizer, gunking it up.") + to_chat(user, SPAN_WARNING("You drip some yellow ooze into [src]'s voice synthesizer, gunking it up.")) playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) ADD_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG) return TRUE @@ -100,9 +100,9 @@ if(emagged) return FALSE if(HAS_TRAIT(src, TRAIT_CMAGGED)) // one at a time - to_chat(user, "You go to short out [src], but it's covered in yellow ooze! You don't want to gunk up your emag!") + to_chat(user, SPAN_WARNING("You go to short out [src], but it's covered in yellow ooze! You don't want to gunk up your emag!")) return FALSE - to_chat(user, "You short out [src]'s dampener circuits.") + to_chat(user, SPAN_DANGER("You short out [src]'s dampener circuits.")) emagged = TRUE span = "reallybig userdanger" // really obvious, but also really loud return TRUE diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 4f3b8029d45..65beeb07e8a 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -256,7 +256,7 @@ var/delta = (world.time / 10) - last_request if(request_cooldown > delta) var/cooldown_time = round(request_cooldown - ((world.time / 10) - last_request), 1) - to_chat(usr, "The request system is currently offline. Please wait another [cooldown_time] seconds.") + to_chat(usr, SPAN_WARNING("The request system is currently offline. Please wait another [cooldown_time] seconds.")) return last_request = world.time / 10 looking_for_personality = 1 @@ -322,7 +322,7 @@ /obj/item/paicard/proc/alertUpdate() var/turf/T = get_turf(loc) for(var/mob/M in viewers(T)) - M.show_message("[src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "[src] bleeps electronically.", 2) + M.show_message(SPAN_NOTICE("[src] flashes a message across its screen, \"Additional personalities available for download.\""), 3, SPAN_NOTICE("[src] bleeps electronically."), 2) /obj/item/paicard/emp_act(severity) for(var/mob/M in src) diff --git a/code/game/objects/items/devices/painter/airlock_painter.dm b/code/game/objects/items/devices/painter/airlock_painter.dm index 08fe5ffce16..15c4b1e34e3 100644 --- a/code/game/objects/items/devices/painter/airlock_painter.dm +++ b/code/game/objects/items/devices/painter/airlock_painter.dm @@ -27,7 +27,7 @@ if(!choice) return paint_setting = choice - to_chat(user, "The [paint_setting] paint setting has been selected.") + to_chat(user, SPAN_NOTICE("The [paint_setting] paint setting has been selected.")) /datum/painter/airlock/paint_atom(atom/target, mob/user) if(!istype(target, /obj/machinery/door/airlock)) @@ -35,22 +35,22 @@ var/obj/machinery/door/airlock/A = target if(!paint_setting) - to_chat(user, "You need to select a paintjob first.") + to_chat(user, SPAN_WARNING("You need to select a paintjob first.")) return if(!A.paintable) - to_chat(user, "This type of airlock cannot be painted.") + to_chat(user, SPAN_WARNING("This type of airlock cannot be painted.")) return var/obj/machinery/door/airlock/airlock = available_paint_jobs["[paint_setting]"] // get the airlock type path associated with the airlock name the user just chose var/obj/structure/door_assembly/assembly = initial(airlock.assemblytype) if(A.assemblytype == assembly) - to_chat(user, "This airlock is already painted with the \"[paint_setting]\" color scheme!") + to_chat(user, SPAN_NOTICE("This airlock is already painted with the \"[paint_setting]\" color scheme!")) return if(A.airlock_material == "glass" && initial(assembly.noglass)) // prevents painting glass airlocks with a paint job that doesn't have a glass version, such as the freezer - to_chat(user, "This paint job can only be applied to non-glass airlocks.") + to_chat(user, SPAN_WARNING("This paint job can only be applied to non-glass airlocks.")) return if(do_after(user, 2 SECONDS, FALSE, A)) diff --git a/code/game/objects/items/devices/painter/decal_painter.dm b/code/game/objects/items/devices/painter/decal_painter.dm index 542d1e2f7b6..814da494c5d 100644 --- a/code/game/objects/items/devices/painter/decal_painter.dm +++ b/code/game/objects/items/devices/painter/decal_painter.dm @@ -63,7 +63,7 @@ /datum/painter/decal/paint_atom(atom/target, mob/user) if(!istype(target, /turf/simulated/floor)) - to_chat(user, "[holder] can only be used on flooring.") + to_chat(user, SPAN_WARNING("[holder] can only be used on flooring.")) return FALSE var/turf/target_turf = get_turf(target) var/list/datum/element/decal/decals = target_turf.get_decals() @@ -71,7 +71,7 @@ remove_decals(target) return TRUE if(length(decals) >= max_decals) - to_chat(user, "You can't fit more decals on [target].") + to_chat(user, SPAN_WARNING("You can't fit more decals on [target].")) return FALSE if(ispath(selected_type, /obj/effect/turf_decal)) diff --git a/code/game/objects/items/devices/painter/floor_painter.dm b/code/game/objects/items/devices/painter/floor_painter.dm index 618f094276c..a5d330fb3e2 100644 --- a/code/game/objects/items/devices/painter/floor_painter.dm +++ b/code/game/objects/items/devices/painter/floor_painter.dm @@ -41,12 +41,12 @@ /datum/painter/floor/paint_atom(atom/target, mob/user) if(!istype(target, /turf/simulated/floor/plasteel)) - to_chat(user, "[holder] can only be used on station flooring.") + to_chat(user, SPAN_WARNING("[holder] can only be used on station flooring.")) return var/turf/simulated/floor/plasteel/F = target if(!wide_mode && F.icon_state == floor_state && F.dir == floor_dir) - to_chat(user, "This is already painted [floor_state] [dir2text(floor_dir)]!") + to_chat(user, SPAN_NOTICE("This is already painted [floor_state] [dir2text(floor_dir)]!")) return F.icon_state = floor_state diff --git a/code/game/objects/items/devices/painter/painter.dm b/code/game/objects/items/devices/painter/painter.dm index 4af25d92cd8..c6ea20f3bfa 100644 --- a/code/game/objects/items/devices/painter/painter.dm +++ b/code/game/objects/items/devices/painter/painter.dm @@ -42,7 +42,7 @@ /obj/item/painter/examine(mob/user) . = ..() - . += "Ctrl+click it in your hand to change the type!" + . += SPAN_NOTICE("Ctrl+click it in your hand to change the type!") /** @@ -115,7 +115,7 @@ /obj/item/painter/suicide_act(mob/user) - user.visible_message("[user] is inhaling toner from [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is inhaling toner from [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(src, usesound, 50, TRUE) var/obj/item/organ/internal/lungs/L = user.get_organ_slot("lungs") // not going to use an organ datum here, would be too easy for slime people to throw up their brains var/turf/T = get_turf(user) @@ -132,7 +132,7 @@ L.forceMove(T) user.emote("scream") - user.visible_message("[user] vomits out [user.p_their()] [L.name]!") + user.visible_message(SPAN_SUICIDE("[user] vomits out [user.p_their()] [L.name]!")) playsound(T, 'sound/effects/splat.ogg', 50, TRUE) // make some vomit under the player, and apply colorful reagent diff --git a/code/game/objects/items/devices/painter/pipe_painter.dm b/code/game/objects/items/devices/painter/pipe_painter.dm index 85770060657..d63717ef8ea 100644 --- a/code/game/objects/items/devices/painter/pipe_painter.dm +++ b/code/game/objects/items/devices/painter/pipe_painter.dm @@ -26,12 +26,12 @@ return if(P.pipe_color == GLOB.pipe_icon_manager.pipe_colors[paint_setting]) - to_chat(user, "This pipe is aready painted [paint_setting]!") + to_chat(user, SPAN_NOTICE("This pipe is aready painted [paint_setting]!")) return var/turf/T = get_turf(P) if(P.level < 2 && T.level == 1 && T.intact && !T.transparent_floor) - to_chat(user, "You must remove the flooring first.") + to_chat(user, SPAN_WARNING("You must remove the flooring first.")) return P.change_color(GLOB.pipe_icon_manager.pipe_colors[paint_setting]) diff --git a/code/game/objects/items/devices/painter/window_painter.dm b/code/game/objects/items/devices/painter/window_painter.dm index 20ddaf7d78b..2d7bfe603b4 100644 --- a/code/game/objects/items/devices/painter/window_painter.dm +++ b/code/game/objects/items/devices/painter/window_painter.dm @@ -21,7 +21,7 @@ if(is_type_in_list(target, polarized_windows)) if((W.opacity && W.old_color == GLOB.pipe_icon_manager.pipe_colors[paint_setting]) || (!W.opacity && W.color == GLOB.pipe_icon_manager.pipe_colors[paint_setting])) - to_chat(user, "This window is aready painted [paint_setting]!") + to_chat(user, SPAN_NOTICE("This window is aready painted [paint_setting]!")) return if(!W.opacity) W.color = GLOB.pipe_icon_manager.pipe_colors[paint_setting] @@ -29,7 +29,7 @@ return TRUE if(W.color == GLOB.pipe_icon_manager.pipe_colors[paint_setting]) - to_chat(user, "This window is aready painted [paint_setting]!") + to_chat(user, SPAN_NOTICE("This window is aready painted [paint_setting]!")) return W.color = GLOB.pipe_icon_manager.pipe_colors[paint_setting] diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index 5426701f068..e319a26bfe1 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -75,14 +75,14 @@ return else set_mode(CLAMPED_OFF) - visible_message("[user] attaches [src] to the cable!") + visible_message(SPAN_NOTICE("[user] attaches [src] to the cable!")) message_admins("Power sink activated by [key_name_admin(user)] at ([x],[y],[z] - JMP)") log_game("Power sink activated by [key_name(user)] at ([x],[y],[z])") else to_chat(user, "Device must be placed over an exposed cable to attach to it.") else set_mode(DISCONNECTED) - src.visible_message("[user] detaches [src] from the cable!") + src.visible_message(SPAN_NOTICE("[user] detaches [src] from the cable!")) /obj/item/powersink/attack_ai() return @@ -94,8 +94,8 @@ if(CLAMPED_OFF) user.visible_message( \ "[user] activates \the [src]!", \ - "You activate \the [src].", - "You hear a click.") + SPAN_NOTICE("You activate \the [src]."), + SPAN_ITALICS("You hear a click.")) message_admins("Power sink activated by [ADMIN_LOOKUPFLW(user)] at [ADMIN_VERBOSEJMP(src)]") log_game("Power sink activated by [key_name(user)] at [AREACOORD(src)]") notify_ghosts("[user] has activated a [name]!", title = "An electrifying occurrence! (Click to follow)", source = src, flashwindow = FALSE, action = NOTIFY_FOLLOW) @@ -104,8 +104,8 @@ if(OPERATING) user.visible_message( \ "[user] deactivates \the [src]!", \ - "You deactivate \the [src].", - "You hear a click.") + SPAN_NOTICE("You deactivate \the [src]."), + SPAN_ITALICS("You hear a click.")) set_mode(CLAMPED_OFF) /obj/item/powersink/process() diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm index 97d7012b69c..24aeddc5542 100644 --- a/code/game/objects/items/devices/radio/beacon.dm +++ b/code/game/objects/items/devices/radio/beacon.dm @@ -29,7 +29,7 @@ if(!emagged) emagged = TRUE syndicate = TRUE - to_chat(user, "The This beacon now only be locked on to by emagged teleporters!") + to_chat(user, SPAN_NOTICE("The This beacon now only be locked on to by emagged teleporters!")) return TRUE @@ -58,7 +58,7 @@ /obj/item/beacon/syndicate/attack_self__legacy__attackchain(mob/user) if(user) - to_chat(user, "Locked In") + to_chat(user, SPAN_NOTICE("Locked In")) new /obj/machinery/power/singularity_beacon/syndicate( user.loc ) playsound(src, 'sound/effects/pop.ogg', 100, TRUE, 1) user.drop_item() @@ -104,7 +104,7 @@ bundle_name = pick(unselected) var/bundle = bundles[bundle_name] bundle = new bundle(user.loc) - to_chat(user, "Welcome to [station_name()], [bundle_name]!") + to_chat(user, SPAN_NOTICE("Welcome to [station_name()], [bundle_name]!")) user.drop_item() SSblackbox.record_feedback("tally", "syndicate_bundle_pick", 1, "[bundle]") qdel(src) @@ -115,7 +115,7 @@ /obj/item/beacon/syndicate/power_sink/attack_self__legacy__attackchain(mob/user) if(user) - to_chat(user, "Locked In") + to_chat(user, SPAN_NOTICE("Locked In")) new /obj/item/powersink(user.loc) playsound(src, 'sound/effects/pop.ogg', 100, TRUE, 1) user.drop_item() @@ -128,7 +128,7 @@ /obj/item/beacon/syndicate/bomb/attack_self__legacy__attackchain(mob/user) if(user) - to_chat(user, "Locked In") + to_chat(user, SPAN_NOTICE("Locked In")) new bomb(user.loc) playsound(src, 'sound/effects/pop.ogg', 100, TRUE, 1) user.drop_item() diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index a55d3a666ed..af9350f38c7 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -32,7 +32,7 @@ /obj/item/electropack/attack_hand(mob/user) if(src == user.back) - to_chat(user, "You need help taking this off!") + to_chat(user, SPAN_NOTICE("You need help taking this off!")) return FALSE ..() @@ -48,7 +48,7 @@ A.icon = 'icons/obj/assemblies.dmi' if(!user.unequip(W)) - to_chat(user, "\the [W] is stuck to your hand, you cannot attach it to \the [src]!") + to_chat(user, SPAN_NOTICE("\the [W] is stuck to your hand, you cannot attach it to \the [src]!")) return W.forceMove(A) @@ -72,7 +72,7 @@ if(isliving(loc)) var/mob/living/M = loc - to_chat(M, "You feel a sharp shock!") + to_chat(M, SPAN_DANGER("You feel a sharp shock!")) do_sparks(3, 1, M) M.Weaken(10 SECONDS) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index cd3cd5310ca..11dc402f3fa 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -409,7 +409,7 @@ return if(!user.transfer_item_to(key, src, FALSE, FALSE)) - to_chat(user, "[key] is stuck to your hand, you can't insert it in [src].") + to_chat(user, SPAN_WARNING("[key] is stuck to your hand, you can't insert it in [src].")) return if(!keyslot1) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 91b62bb5a52..264f3340229 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -141,11 +141,11 @@ . = ..() switch(buildstage) if(0) - . += "The frame is welded to the wall, but missing circuitry." + . += SPAN_NOTICE("The frame is welded to the wall, but missing circuitry.") if(1) - . += "The speaker needs to be wired, though the board could be pried out." + . += SPAN_NOTICE("The speaker needs to be wired, though the board could be pried out.") if(2) - . += "The intercom is wired, and the maintenance panel is unscrewed." + . += SPAN_NOTICE("The intercom is wired, and the maintenance panel is unscrewed.") /obj/item/radio/intercom/attackby__legacy__attackchain(obj/item/W, mob/user) if(istype(W, /obj/item/stack/tape_roll)) //eww @@ -153,18 +153,18 @@ else if(iscoil(W) && buildstage == 1) var/obj/item/stack/cable_coil/coil = W if(coil.get_amount() < 5) - to_chat(user, "You need more cable for this!") + to_chat(user, SPAN_WARNING("You need more cable for this!")) return if(do_after(user, 10 * coil.toolspeed, target = src) && buildstage == 1) coil.use(5) - to_chat(user, "You wire \the [src]!") + to_chat(user, SPAN_NOTICE("You wire \the [src]!")) buildstage = 2 return 1 else if(istype(W,/obj/item/intercom_electronics) && buildstage == 0) playsound(get_turf(src), W.usesound, 50, 1) if(do_after(user, 10 * W.toolspeed, target = src) && buildstage == 0) qdel(W) - to_chat(user, "You insert \the [W] into \the [src]!") + to_chat(user, SPAN_NOTICE("You insert \the [W] into \the [src]!")) buildstage = 1 return 1 else @@ -181,11 +181,11 @@ . = TRUE if(!I.tool_use_check(user, 0)) return - to_chat(user, "You begin removing the electronics...") + to_chat(user, SPAN_NOTICE("You begin removing the electronics...")) if(!I.use_tool(src, user, 10, volume = I.tool_volume) || buildstage != 1) return new /obj/item/intercom_electronics(get_turf(src)) - to_chat(user, "The circuit board pops out!") + to_chat(user, SPAN_NOTICE("The circuit board pops out!")) buildstage = 0 /obj/item/radio/intercom/screwdriver_act(mob/user, obj/item/I) @@ -200,7 +200,7 @@ on = TRUE b_stat = FALSE buildstage = 3 - to_chat(user, "You secure the electronics!") + to_chat(user, SPAN_NOTICE("You secure the electronics!")) update_icon(UPDATE_ICON_STATE) update_operating_status() for(var/i, i<= 5, i++) @@ -226,9 +226,9 @@ . = TRUE if(!I.tool_use_check(user, 3)) return - to_chat(user, "You start slicing [src] from the wall...") + to_chat(user, SPAN_NOTICE("You start slicing [src] from the wall...")) if(I.use_tool(src, user, 10, amount = 3, volume = I.tool_volume)) - to_chat(user, "You cut [src] free from the wall!") + to_chat(user, SPAN_NOTICE("You cut [src] free from the wall!")) new /obj/item/mounted/frame/intercom(get_turf(src)) qdel(src) diff --git a/code/game/objects/items/devices/radio/radio_objects.dm b/code/game/objects/items/devices/radio/radio_objects.dm index 095deb2d211..1bba07f9ebb 100644 --- a/code/game/objects/items/devices/radio/radio_objects.dm +++ b/code/game/objects/items/devices/radio/radio_objects.dm @@ -136,7 +136,7 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems) return ToggleBroadcast() - to_chat(user, "You [broadcasting ? "enable" : "disable"] [src]'s hotmic.") + to_chat(user, SPAN_NOTICE("You [broadcasting ? "enable" : "disable"] [src]'s hotmic.")) add_fingerprint(user) /obj/item/radio/CtrlShiftClick(mob/user) @@ -144,7 +144,7 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems) return ToggleReception() - to_chat(user, "You [listening ? "enable" : "disable"] [src]'s speaker.") + to_chat(user, SPAN_NOTICE("You [listening ? "enable" : "disable"] [src]'s speaker.")) add_fingerprint(user) /obj/item/radio/ui_state(mob/user) @@ -552,8 +552,8 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems) /obj/item/radio/proc/show_examine_hotkeys() . = list() - . += "Alt-Click to toggle [src]'s hotmic." - . += "Ctrl-Shift-Click to toggle [src]'s speaker." + . += SPAN_NOTICE("Alt-Click to toggle [src]'s hotmic.") + . += SPAN_NOTICE("Ctrl-Shift-Click to toggle [src]'s speaker.") /obj/item/radio/examine(mob/user) . = ..() @@ -561,13 +561,13 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems) if(in_range(src, user) || loc == user) if(b_stat) - . += "\the [src] can be attached and modified!" + . += SPAN_NOTICE("\the [src] can be attached and modified!") else - . += "\the [src] can not be modified or attached!" + . += SPAN_NOTICE("\the [src] can not be modified or attached!") /obj/item/radio/examine_more(mob/user) . = ..() - . += "You can transmit messages from [src] without the hotmic by using :l or :r whilst holding it in your left or right hand." + . += SPAN_NOTICE("You can transmit messages from [src] without the hotmic by using :l or :r whilst holding it in your left or right hand.") /obj/item/radio/screwdriver_act(mob/user, obj/item/I) . = TRUE @@ -576,9 +576,9 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems) b_stat = !b_stat if(b_stat) - user.show_message("The radio can now be attached and modified!") + user.show_message(SPAN_NOTICE("The radio can now be attached and modified!")) else - user.show_message("The radio can no longer be modified or attached!") + user.show_message(SPAN_NOTICE("The radio can no longer be modified or attached!")) updateDialog() @@ -600,7 +600,7 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems) addtimer(CALLBACK(src, PROC_REF(enable_radio)), rand(100, 200)) if(listening) - visible_message("[src] buzzes violently!") + visible_message(SPAN_WARNING("[src] buzzes violently!")) broadcasting = FALSE listening = FALSE @@ -818,7 +818,7 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems) else speaker_name = "[subject.client.key] ([subject.mind.name])" - to_chat(hearer, "[speaker_name] ([ghost_follow_link(subject, hearer)]) [message]") + to_chat(hearer, SPAN_DEADSAY("[speaker_name] ([ghost_follow_link(subject, hearer)]) [message]")) /obj/item/radio/headset/deadsay/talk_into(mob/living/M, list/message_pieces, channel, verbage) var/message = copytext(multilingual_to_message(message_pieces), 1, MAX_MESSAGE_LEN) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 7f518fcbe93..503502c7d0b 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -88,7 +88,7 @@ SLIME SCANNER var/has_real_or_fake_reagents = FALSE if(length(H.reagents.reagent_list)) has_real_or_fake_reagents = TRUE - msgs += "Subject contains the following reagents:" + msgs += SPAN_BOLDNOTICE("Subject contains the following reagents:") for(var/datum/reagent/R in H.reagents.reagent_list) var/volume = R.volume var/overdosing = R.overdosed @@ -102,31 +102,31 @@ SLIME SCANNER if(!overdosing) overdosing = prob(10) - msgs += "[volume]u of [R.name][overdosing ? " - OVERDOSING" : ".
"]" + msgs += "[volume]u of [R.name][overdosing ? " - [SPAN_BOLDANNOUNCEIC("OVERDOSING")]" : ".
"]" if(hallucinating && prob(10)) has_real_or_fake_reagents = TRUE if(!length(H.reagents.reagent_list)) - msgs += "Subject contains the following reagents:" + msgs += SPAN_BOLDNOTICE("Subject contains the following reagents:") for(var/i in 1 to rand(1, 2)) var/reagent_name = pick(GLOB.chemical_reagents_list) - msgs += "[rand(5, 100)]u of [GLOB.chemical_reagents_list[reagent_name]][prob(30) ? " - OVERDOSING" : ".
"]" + msgs += "[rand(5, 100)]u of [GLOB.chemical_reagents_list[reagent_name]][prob(30) ? " - [SPAN_BOLDANNOUNCEIC("OVERDOSING")]" : ".
"]" if(!has_real_or_fake_reagents) - msgs += "Subject contains no reagents." + msgs += SPAN_NOTICE("Subject contains no reagents.") if(length(H.reagents.addiction_list)) - msgs += "Subject is addicted to the following reagents:" + msgs += SPAN_DANGER("Subject is addicted to the following reagents:") for(var/datum/reagent/R in H.reagents.addiction_list) - msgs += "[R.name] Stage: [R.addiction_stage]/5" + msgs += SPAN_DANGER("[R.name] Stage: [R.addiction_stage]/5") if(hallucinating && prob(10)) if(!length(H.reagents.addiction_list)) - msgs += "Subject is addicted to the following reagents:" + msgs += SPAN_DANGER("Subject is addicted to the following reagents:") // try to add two random chems for(var/i in 1 to rand(1, 2)) var/reagent_name = pick(GLOB.chemical_reagents_list) - msgs += "[GLOB.chemical_reagents_list[reagent_name]] Stage: [rand(1, 5)]/5" + msgs += SPAN_DANGER("[GLOB.chemical_reagents_list[reagent_name]] Stage: [rand(1, 5)]/5") return msgs @@ -156,30 +156,30 @@ SLIME SCANNER /obj/item/healthanalyzer/examine(mob/user) . = ..() - . += "Use [src] in hand to toggle showing localised damage." + . += SPAN_NOTICE("Use [src] in hand to toggle showing localised damage.") /obj/item/healthanalyzer/attack_self__legacy__attackchain(mob/user) mode = !mode switch(mode) if(DETAILED_HEALTH_SCAN) - to_chat(user, "The scanner is now showing localised limb damage.") + to_chat(user, SPAN_NOTICE("The scanner is now showing localised limb damage.")) if(SIMPLE_HEALTH_SCAN) - to_chat(user, "The scanner is no longer showing localised limb damage.") + to_chat(user, SPAN_NOTICE("The scanner is no longer showing localised limb damage.")) /obj/item/healthanalyzer/attack__legacy__attackchain(mob/living/M, mob/living/user) if((HAS_TRAIT(user, TRAIT_CLUMSY) || user.getBrainLoss() >= 60) && prob(50)) var/list/msgs = list() - user.visible_message("[user] analyzes the floor's vitals!", "You stupidly try to analyze the floor's vitals!") - msgs += "Analyzing results for The floor:\nOverall status: Healthy" - msgs += "Key: Suffocation/Toxin/Burn/Brute" - msgs += "Damage specifics: 0 - 0 - 0 - 0" - msgs += "Body temperature: ???" + user.visible_message(SPAN_WARNING("[user] analyzes the floor's vitals!"), SPAN_NOTICE("You stupidly try to analyze the floor's vitals!")) + msgs += SPAN_NOTICE("Analyzing results for The floor:\nOverall status: Healthy") + msgs += SPAN_NOTICE("Key: Suffocation/Toxin/Burn/Brute") + msgs += SPAN_NOTICE("Damage specifics: 0 - 0 - 0 - 0") + msgs += SPAN_NOTICE("Body temperature: ???") to_chat(user, chat_box_healthscan(msgs.Join("
"))) return user.visible_message( - "[user] analyzes [M]'s vitals.", - "You analyze [M]'s vitals." + SPAN_NOTICE("[user] analyzes [M]'s vitals."), + SPAN_NOTICE("You analyze [M]'s vitals.") ) healthscan(user, M, mode, advanced) add_fingerprint(user) @@ -202,7 +202,7 @@ SLIME SCANNER if(isanimal_or_basicmob(M)) // No box here, keep it simple. if(probably_dead) - to_chat(user, "Analyzing Results for [M]:\nOverall Status: Dead") + to_chat(user, SPAN_NOTICE("Analyzing Results for [M]:\nOverall Status: Dead")) return to_chat(user, "Analyzing Results for [M]:\nOverall Status: [round(M.health / M.maxHealth * 100, 0.1)]% Healthy") @@ -211,12 +211,12 @@ SLIME SCANNER // These sensors are designed for organic life. if(!ishuman(M) || ismachineperson(M) || (HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(5))) - msgs += "Analyzing Results for ERROR:\nOverall Status: ERROR" - msgs += "Key: Suffocation/Toxin/Burns/Brute" - msgs += "Damage Specifics: ? - ? - ? - ?" - msgs += "Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)" - msgs += "Warning: Blood Level ERROR: --% --cl.Type: ERROR" - msgs += "Subject's pulse: -- bpm." + msgs += SPAN_NOTICE("Analyzing Results for ERROR:\nOverall Status: ERROR") + msgs += "Key: [SPAN_HEALTHSCAN_OXY("Suffocation")]/Toxin/Burns/Brute" + msgs += "Damage Specifics: [SPAN_HEALTHSCAN_OXY("?")] - ? - ? - ?" + msgs += SPAN_NOTICE("Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)") + msgs += SPAN_WARNING("Warning: Blood Level ERROR: --% --cl.Type: ERROR") + msgs += SPAN_NOTICE("Subject's pulse: -- bpm.") to_chat(user, chat_box_healthscan(msgs.Join("
"))) return @@ -253,22 +253,22 @@ SLIME SCANNER status = "[H.health]% Healthy" msgs += "Analyzing Results for [scanned_name]:\nOverall Status: [status]" - msgs += "Key: Suffocation/Toxin/Burns/Brute" - msgs += "Damage Specifics: [OX] - [TX] - [BU] - [BR]" + msgs += "Key: [SPAN_HEALTHSCAN_OXY("Suffocation")]/Toxin/Burns/Brute" + msgs += "Damage Specifics: [SPAN_HEALTHSCAN_OXY("[OX]")] - [TX] - [BU] - [BR]" if(H.timeofdeath && (H.stat == DEAD || (HAS_TRAIT(H, TRAIT_FAKEDEATH)) || probably_dead)) var/tod = probably_dead && (HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(10)) ? world.time - rand(10, 5000) : H.timeofdeath // Sure let's blow it out - msgs += "Time of Death: [station_time_timestamp("hh:mm:ss", tod)]" + msgs += SPAN_NOTICE("Time of Death: [station_time_timestamp("hh:mm:ss", tod)]") var/tdelta = round(world.time - tod) if(H.is_revivable() && !DNR) - msgs += "Subject died [DisplayTimeText(tdelta)] ago, defibrillation may be possible!" + msgs += SPAN_DANGER("Subject died [DisplayTimeText(tdelta)] ago, defibrillation may be possible!") else msgs += "Subject died [DisplayTimeText(tdelta)] ago. Defibrillation is not possible!" if(mode == DETAILED_HEALTH_SCAN) var/list/damaged = H.get_damaged_organs(1,1) if(length(damaged)) - msgs += "Localized Damage, Brute/Burn:" + msgs += SPAN_NOTICE("Localized Damage, Brute/Burn:") for(var/obj/item/organ/external/org in damaged) msgs += "[capitalize(org.name)]: [(org.brute_dam > 0) ? "[org.brute_dam]" : "0"]-[(org.burn_dam > 0) ? "[org.burn_dam]" : "0"]" @@ -282,16 +282,16 @@ SLIME SCANNER continue // Snowflaking heart problems, because they are special (and common). if(istype(D, /datum/disease/critical)) - msgs += "Warning: Subject is undergoing [D.name].\nStage: [D.stage]/[D.max_stages].\nCure: [D.cure_text]" + msgs += SPAN_NOTICE("Warning: Subject is undergoing [D.name].\nStage: [D.stage]/[D.max_stages].\nCure: [D.cure_text]") continue if(istype(D, /datum/disease/advance)) var/datum/disease/advance/A = D if(!(A.id in GLOB.known_advanced_diseases[num2text(user.z)])) - msgs += "Warning: Unknown viral strain detected\nStrain:[A.strain]\nStage: [A.stage]" + msgs += SPAN_NOTICE("Warning: Unknown viral strain detected\nStrain:[A.strain]\nStage: [A.stage]") else - msgs += "Warning: [A.form] detected\nName: [A.name].\nStrain:[A.strain]\nType: [A.spread_text].\nStage: [A.stage]/[A.max_stages].\nPossible Cures: [A.cure_text]\nNeeded Cures: [A.cures_required]" + msgs += SPAN_NOTICE("Warning: [A.form] detected\nName: [A.name].\nStrain:[A.strain]\nType: [A.spread_text].\nStage: [A.stage]/[A.max_stages].\nPossible Cures: [A.cure_text]\nNeeded Cures: [A.cures_required]") continue - msgs += "Warning: [D.form] detected\nName: [D.name].\nType: [D.spread_text].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure_text]" + msgs += SPAN_NOTICE("Warning: [D.form] detected\nName: [D.name].\nType: [D.spread_text].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure_text]") if(H.undergoing_cardiac_arrest()) var/datum/organ/heart/heart = H.get_int_organ_datum(ORGAN_DATUM_HEART) @@ -303,22 +303,22 @@ SLIME SCANNER msgs += "Subject has no heart." if(H.getStaminaLoss() || HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(5)) - msgs += "Subject appears to be suffering from fatigue." + msgs += SPAN_NOTICE("Subject appears to be suffering from fatigue.") if(H.getCloneLoss() || (HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(5))) - msgs += "Subject appears to have [H.getCloneLoss() > 30 ? "severe" : "minor"] cellular damage." + msgs += SPAN_WARNING("Subject appears to have [H.getCloneLoss() > 30 ? "severe" : "minor"] cellular damage.") // Brain. var/obj/item/organ/internal/brain = H.get_int_organ(/obj/item/organ/internal/brain) if(brain) if(H.check_brain_threshold(BRAIN_DAMAGE_RATIO_CRITICAL)) // 100 - msgs += "Subject is brain dead." + msgs += SPAN_WARNING("Subject is brain dead.") else if(H.check_brain_threshold(BRAIN_DAMAGE_RATIO_MODERATE)) // 60 - msgs += "Severe brain damage detected. Subject likely to have dementia." + msgs += SPAN_WARNING("Severe brain damage detected. Subject likely to have dementia.") else if(H.check_brain_threshold(BRAIN_DAMAGE_RATIO_MINOR)) // 10 - msgs += "Significant brain damage detected. Subject may have had a concussion." + msgs += SPAN_WARNING("Significant brain damage detected. Subject may have had a concussion.") else - msgs += "Subject has no brain." + msgs += SPAN_WARNING("Subject has no brain.") // Broken bones, internal bleeding, infection, and critical burns. var/broken_bone = FALSE @@ -331,39 +331,39 @@ SLIME SCANNER var/limb = e.name if(e.status & ORGAN_BROKEN) if((e.limb_name in list("l_arm", "r_arm", "l_hand", "r_hand", "l_leg", "r_leg", "l_foot", "r_foot")) && !(e.status & ORGAN_SPLINTED)) - msgs += "Unsecured fracture in subject [limb]. Splinting recommended for transport." + msgs += SPAN_WARNING("Unsecured fracture in subject [limb]. Splinting recommended for transport.") broken_bone = TRUE if(e.has_infected_wound()) - msgs += "Infected wound detected in subject [limb]. Disinfection recommended." + msgs += SPAN_WARNING("Infected wound detected in subject [limb]. Disinfection recommended.") burn_wound = burn_wound || (e.status & ORGAN_BURNT) internal_bleed = internal_bleed || (e.status & ORGAN_INT_BLEEDING) if(broken_bone) - msgs += "Bone fractures detected. Advanced scanner required for location." + msgs += SPAN_WARNING("Bone fractures detected. Advanced scanner required for location.") if(internal_bleed) - msgs += "Internal bleeding detected. Advanced scanner required for location." + msgs += SPAN_WARNING("Internal bleeding detected. Advanced scanner required for location.") if(burn_wound) - msgs += "Critical burn detected. Examine patient's body for location." + msgs += SPAN_WARNING("Critical burn detected. Examine patient's body for location.") if(HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(5)) var/list/spooky_conditions = list( - "Patient appears to be infested.", - "Patient's bones are hollow.", - "Patient has limited attachment to this physical plane.", - "Patient is aggressive. Immediate sedation recommended.", - "Patient's vitamin D levels are dangerously low.", - "Patient's spider levels are dangerously low.", - "Subject is ready for experimentation.", + SPAN_DEAD("Patient appears to be infested."), + SPAN_DEAD("Patient's bones are hollow."), + SPAN_DEAD("Patient has limited attachment to this physical plane."), + SPAN_USERDANGER("Patient is aggressive. Immediate sedation recommended."), + SPAN_WARNING("Patient's vitamin D levels are dangerously low."), + SPAN_WARNING("Patient's spider levels are dangerously low."), + SPAN_DEAD("Subject is ready for experimentation."), ) msgs += pick(spooky_conditions) if(HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(5) && (H.stat == DEAD || (HAS_TRAIT(H, TRAIT_FAKEDEATH)))) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), user, "[H]'s head snaps to look at you."), rand(1 SECONDS, 3 SECONDS)) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), user, SPAN_DANGER("[H]'s head snaps to look at you.")), rand(1 SECONDS, 3 SECONDS)) // Blood. var/blood_id = H.get_blood_id() if(blood_id) if(H.bleed_rate) - msgs += "Subject is bleeding!" + msgs += SPAN_DANGER("Subject is bleeding!") var/blood_percent = round((H.blood_volume / BLOOD_VOLUME_NORMAL)*100) var/blood_type = H.dna.blood_type var/blood_volume = round(H.blood_volume) @@ -374,38 +374,38 @@ SLIME SCANNER else blood_type = blood_id if(H.blood_volume <= BLOOD_VOLUME_SAFE && H.blood_volume > BLOOD_VOLUME_OKAY) - msgs += "LOW blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]" + msgs += SPAN_DANGER("LOW blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]") else if(H.blood_volume <= BLOOD_VOLUME_OKAY) - msgs += "CRITICAL blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]" + msgs += SPAN_DANGER("CRITICAL blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]") else - msgs += "Blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]" + msgs += SPAN_NOTICE("Blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]") - msgs += "Body Temperature: [round(H.bodytemperature-T0C, 0.01)]°C ([round(H.bodytemperature*1.8-459.67, 0.01)]°F)" - msgs += "Subject's pulse: [H.get_pulse()] bpm." + msgs += SPAN_NOTICE("Body Temperature: [round(H.bodytemperature-T0C, 0.01)]°C ([round(H.bodytemperature*1.8-459.67, 0.01)]°F)") + msgs += SPAN_NOTICE("Subject's pulse: [H.get_pulse()] bpm.") var/implant_detect for(var/obj/item/organ/internal/O in H.internal_organs) if(O.is_robotic() && !O.stealth_level) implant_detect += "[O.name].
" if(implant_detect) - msgs += "Detected cybernetic modifications:" - msgs += "[implant_detect]" + msgs += SPAN_NOTICE("Detected cybernetic modifications:") + msgs += SPAN_NOTICE("[implant_detect]") // Do you have too many genetics superpowers? if(H.gene_stability < 40) - msgs += "Subject's genes are quickly breaking down!" + msgs += SPAN_USERDANGER("Subject's genes are quickly breaking down!") else if(H.gene_stability < 70) - msgs += "Subject's genes are showing signs of spontaneous breakdown." + msgs += SPAN_DANGER("Subject's genes are showing signs of spontaneous breakdown.") else if(H.gene_stability < 85) - msgs += "Subject's genes are showing minor signs of instability." + msgs += SPAN_WARNING("Subject's genes are showing minor signs of instability.") if(HAS_TRAIT(H, TRAIT_HUSK)) - msgs += "Subject is husked. Application of synthflesh is recommended." + msgs += SPAN_DANGER("Subject is husked. Application of synthflesh is recommended.") if(H.radiation > RAD_MOB_SAFE) - msgs += "Subject is irradiated." + msgs += SPAN_DANGER("Subject is irradiated.") - msgs += "Biological Age: [H.age]" + msgs += SPAN_NOTICE("Biological Age: [H.age]") to_chat(user, chat_box_healthscan(msgs.Join("
"))) @@ -414,14 +414,14 @@ SLIME SCANNER return ..() if(advanced) - to_chat(user, "An upgrade is already installed on [src].") + to_chat(user, SPAN_NOTICE("An upgrade is already installed on [src].")) return if(!user.unequip(I)) - to_chat(user, "[src] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[src] is stuck to your hand!")) return - to_chat(user, "You install the upgrade on [src].") + to_chat(user, SPAN_NOTICE("You install the upgrade on [src].")) add_overlay("advanced") playsound(loc, I.usesound, 50, TRUE) advanced = TRUE @@ -466,11 +466,11 @@ SLIME SCANNER /obj/item/robotanalyzer/proc/handle_clumsy(mob/living/user) var/list/msgs = list() - user.visible_message("[user] has analyzed the floor's components!", "You try to analyze the floor's vitals!") - msgs += "Analyzing Results for The floor:\n\t Overall Status: Unknown" - msgs += "\t Damage Specifics: [0]/[0]" - msgs += "Key: Burns/Brute" - msgs += "Chassis Temperature: ???" + user.visible_message(SPAN_WARNING("[user] has analyzed the floor's components!"), SPAN_WARNING("You try to analyze the floor's vitals!")) + msgs += SPAN_NOTICE("Analyzing Results for The floor:\n\t Overall Status: Unknown") + msgs += SPAN_NOTICE("\t Damage Specifics: [0]/[0]") + msgs += SPAN_NOTICE("Key: Burns/Brute") + msgs += SPAN_NOTICE("Chassis Temperature: ???") to_chat(user, chat_box_healthscan(msgs.Join("
"))) /obj/item/robotanalyzer/attack_obj__legacy__attackchain(obj/machinery/M, mob/living/user) // Scanning a machine object @@ -479,23 +479,23 @@ SLIME SCANNER if((HAS_TRAIT(user, TRAIT_CLUMSY) || user.getBrainLoss() >= 60) && prob(50)) handle_clumsy(user) return - user.visible_message("[user] has analyzed [M]'s components with [src].", "You analyze [M]'s components with [src].") + user.visible_message(SPAN_NOTICE("[user] has analyzed [M]'s components with [src]."), SPAN_NOTICE("You analyze [M]'s components with [src].")) machine_scan(user, M) add_fingerprint(user) /obj/item/robotanalyzer/proc/machine_scan(mob/user, obj/machinery/M) if(M.obj_integrity == M.max_integrity) - to_chat(user, "[M] is at full integrity.") + to_chat(user, SPAN_NOTICE("[M] is at full integrity.")) return - to_chat(user, "Structural damage detected! [M]'s overall estimated integrity is [round((M.obj_integrity / M.max_integrity) * 100)]%.") + to_chat(user, SPAN_NOTICE("Structural damage detected! [M]'s overall estimated integrity is [round((M.obj_integrity / M.max_integrity) * 100)]%.")) if(M.stat & BROKEN) // Displays alongside above message. Machines with a "broken" state do not become broken at 0% HP - anything that reaches that point is destroyed - to_chat(user, "Further analysis: Catastrophic component failure detected! [M] requires reconstruction to fully repair.") + to_chat(user, SPAN_WARNING("Further analysis: Catastrophic component failure detected! [M] requires reconstruction to fully repair.")) /obj/item/robotanalyzer/attack__legacy__attackchain(mob/living/M, mob/living/user) // Scanning borgs, IPCs/augmented crew, and AIs if((HAS_TRAIT(user, TRAIT_CLUMSY) || user.getBrainLoss() >= 60) && prob(50)) handle_clumsy(user) return - user.visible_message("[user] has analyzed [M]'s components with [src].", "You analyze [M]'s components with [src].") + user.visible_message(SPAN_NOTICE("[user] has analyzed [M]'s components with [src]."), SPAN_NOTICE("You analyze [M]'s components with [src].")) robot_healthscan(user, M) add_fingerprint(user) @@ -509,24 +509,24 @@ SLIME SCANNER else if(is_ai(M)) scan_type = "ai" else - to_chat(user, "You can't analyze non-robotic things!") + to_chat(user, SPAN_WARNING("You can't analyze non-robotic things!")) return switch(scan_type) if("robot") var/burn = M.getFireLoss() > 50 ? "[M.getFireLoss()]" : M.getFireLoss() var/brute = M.getBruteLoss() > 50 ? "[M.getBruteLoss()]" : M.getBruteLoss() - msgs += "Analyzing Results for [M]:\n\t Overall Status: [M.stat == DEAD ? "fully disabled" : "[M.health]% functional"]" + msgs += SPAN_NOTICE("Analyzing Results for [M]:\n\t Overall Status: [M.stat == DEAD ? "fully disabled" : "[M.health]% functional"]") msgs += "\t Key: Electronics/Brute" msgs += "\t Damage Specifics: [burn] - [brute]" if(M.timeofdeath && M.stat == DEAD) - msgs += "Time of disable: [station_time_timestamp("hh:mm:ss", M.timeofdeath)]" + msgs += SPAN_NOTICE("Time of disable: [station_time_timestamp("hh:mm:ss", M.timeofdeath)]") var/mob/living/silicon/robot/H = M var/list/damaged = H.get_damaged_components(TRUE, TRUE, TRUE) // Get all except the missing ones var/list/missing = H.get_missing_components() - msgs += "Localized Damage:" + msgs += SPAN_NOTICE("Localized Damage:") if(!LAZYLEN(damaged) && !LAZYLEN(missing)) - msgs += "\t Components are OK." + msgs += SPAN_NOTICE("\t Components are OK.") else if(LAZYLEN(damaged)) for(var/datum/robot_component/org in damaged) @@ -539,17 +539,17 @@ SLIME SCANNER (org.powered) ? "Power ON" : "Power OFF") if(LAZYLEN(missing)) for(var/datum/robot_component/org in missing) - msgs += "\t [capitalize(org.name)]: MISSING" + msgs += SPAN_WARNING("\t [capitalize(org.name)]: MISSING") if(H.emagged && prob(5)) - msgs += "\t ERROR: INTERNAL SYSTEMS COMPROMISED" + msgs += SPAN_WARNING("\t ERROR: INTERNAL SYSTEMS COMPROMISED") if("prosthetics") var/mob/living/carbon/human/H = M var/is_ipc = ismachineperson(H) msgs += "Analyzing Results for [M]: [is_ipc ? "\n\t Overall Status: [H.stat == DEAD ? "fully disabled" : "[H.health]% functional"]
" : "
"]" //for the record im sorry msgs += "\t Key: Electronics/Brute" - msgs += "External prosthetics:" + msgs += SPAN_NOTICE("External prosthetics:") var/organ_found if(LAZYLEN(H.internal_organs)) for(var/obj/item/organ/external/E in H.bodyparts) @@ -558,9 +558,9 @@ SLIME SCANNER organ_found = TRUE msgs += "[E.name]: [E.brute_dam] [E.burn_dam]" if(!organ_found) - msgs += "No prosthetics located." + msgs += SPAN_WARNING("No prosthetics located.") msgs += "
" - msgs += "Internal prosthetics:" + msgs += SPAN_NOTICE("Internal prosthetics:") organ_found = null if(LAZYLEN(H.internal_organs)) for(var/obj/item/organ/internal/O in H.internal_organs) @@ -569,9 +569,9 @@ SLIME SCANNER organ_found = TRUE msgs += "[capitalize(O.name)]: [O.status & ORGAN_DEAD ? "CRITICAL FAILURE" : O.damage]" if(!organ_found) - msgs += "No prosthetics located." + msgs += SPAN_WARNING("No prosthetics located.") msgs += "
" - msgs += "Cybernetic implants:" + msgs += SPAN_NOTICE("Cybernetic implants:") organ_found = null if(LAZYLEN(H.internal_organs)) for(var/obj/item/organ/internal/cyberimp/I in H.internal_organs) @@ -580,16 +580,16 @@ SLIME SCANNER organ_found = TRUE msgs += "[capitalize(I.name)]: [(I.crit_fail || I.status & ORGAN_DEAD) ? "CRITICAL FAILURE" : I.damage]" if(!organ_found) - msgs += "No implants located." + msgs += SPAN_WARNING("No implants located.") msgs += "
" if(is_ipc) msgs.Add(get_chemscan_results(user, H)) - msgs += "Subject temperature: [round(H.bodytemperature-T0C, 0.01)]°C ([round(H.bodytemperature*1.8-459.67, 0.01)]°F)" + msgs += SPAN_NOTICE("Subject temperature: [round(H.bodytemperature-T0C, 0.01)]°C ([round(H.bodytemperature*1.8-459.67, 0.01)]°F)") if("ai") var/mob/living/silicon/ai/A = M var/burn = A.getFireLoss() > 50 ? "[A.getFireLoss()]" : A.getFireLoss() var/brute = A.getBruteLoss() > 50 ? "[A.getBruteLoss()]" : A.getBruteLoss() - msgs += "Analyzing Results for [M]:\n\t Overall Status: [A.stat == DEAD ? "fully disabled" : "[A.health]% functional"]" + msgs += SPAN_NOTICE("Analyzing Results for [M]:\n\t Overall Status: [A.stat == DEAD ? "fully disabled" : "[A.health]% functional"]") msgs += "\t Key: Electronics/Brute" msgs += "\t Damage Specifics: [burn] - [brute]" @@ -618,8 +618,8 @@ SLIME SCANNER /obj/item/analyzer/examine(mob/user) . = ..() - . += "Alt-click [src] to activate the barometer function." - . += "Alt-Shift-click [src] to toggle detailed reporting on or off." + . += SPAN_NOTICE("Alt-click [src] to activate the barometer function.") + . += SPAN_NOTICE("Alt-Shift-click [src] to toggle detailed reporting on or off.") /obj/item/analyzer/attack_self__legacy__attackchain(mob/user as mob) @@ -635,7 +635,7 @@ SLIME SCANNER /obj/item/analyzer/AltShiftClick(mob/user) show_detailed = !show_detailed - to_chat(user, "You toggle detailed reporting [show_detailed ? "on" : "off"]") + to_chat(user, SPAN_NOTICE("You toggle detailed reporting [show_detailed ? "on" : "off"]")) /obj/item/analyzer/AltClick(mob/user) //Barometer output for measuring when the next storm happens ..() @@ -643,7 +643,7 @@ SLIME SCANNER if(!user.incapacitated() && Adjacent(user)) if(cooldown) - to_chat(user, "[src]'s barometer function is preparing itself.") + to_chat(user, SPAN_WARNING("[src]'s barometer function is preparing itself.")) return var/turf/T = get_turf(user) @@ -655,7 +655,7 @@ SLIME SCANNER var/datum/weather/ongoing_weather = null if(!user_area.outdoors) - to_chat(user, "[src]'s barometer function won't work indoors!") + to_chat(user, SPAN_WARNING("[src]'s barometer function won't work indoors!")) return for(var/V in SSweather.processing) @@ -666,26 +666,26 @@ SLIME SCANNER if(ongoing_weather) if((ongoing_weather.stage == WEATHER_MAIN_STAGE) || (ongoing_weather.stage == WEATHER_WIND_DOWN_STAGE)) - to_chat(user, "[src]'s barometer function can't trace anything while the storm is [ongoing_weather.stage == WEATHER_MAIN_STAGE ? "already here!" : "winding down."]") + to_chat(user, SPAN_WARNING("[src]'s barometer function can't trace anything while the storm is [ongoing_weather.stage == WEATHER_MAIN_STAGE ? "already here!" : "winding down."]")) return - to_chat(user, "The next [ongoing_weather] will hit in [butchertime(ongoing_weather.next_hit_time - world.time)].") + to_chat(user, SPAN_NOTICE("The next [ongoing_weather] will hit in [butchertime(ongoing_weather.next_hit_time - world.time)].")) if(ongoing_weather.aesthetic) - to_chat(user, "[src]'s barometer function says that the next storm will breeze on by.") + to_chat(user, SPAN_WARNING("[src]'s barometer function says that the next storm will breeze on by.")) else var/next_hit = SSweather.next_hit_by_zlevel["[T.z]"] var/fixed = next_hit ? next_hit - world.time : -1 if(fixed < 0) - to_chat(user, "[src]'s barometer function was unable to trace any weather patterns.") + to_chat(user, SPAN_WARNING("[src]'s barometer function was unable to trace any weather patterns.")) else - to_chat(user, "[src]'s barometer function says a storm will land in approximately [butchertime(fixed)].") + to_chat(user, SPAN_WARNING("[src]'s barometer function says a storm will land in approximately [butchertime(fixed)].")) cooldown = TRUE addtimer(CALLBACK(src, PROC_REF(ping)), cooldown_time) /obj/item/analyzer/proc/ping() if(isliving(loc)) var/mob/living/L = loc - to_chat(L, "[src]'s barometer function is ready!") + to_chat(L, SPAN_NOTICE("[src]'s barometer function is ready!")) playsound(src, 'sound/machines/click.ogg', 100) cooldown = FALSE @@ -733,8 +733,8 @@ SLIME SCANNER var/list/message = list() if(!silent && isliving(user)) - user.visible_message("[user] uses the analyzer on [target].", "You use the analyzer on [target].") - message += "Results of analysis of [bicon(target)] [target]." + user.visible_message(SPAN_NOTICE("[user] uses the analyzer on [target]."), SPAN_NOTICE("You use the analyzer on [target].")) + message += SPAN_BOLDNOTICE("Results of analysis of [bicon(target)] [target].") if(!print) return TRUE @@ -760,31 +760,31 @@ SLIME SCANNER heat_capacity = air.heat_capacity() thermal_energy = air.thermal_energy() if(total_moles) - message += "Total: [round(total_moles, 0.01)] moles" + message += SPAN_NOTICE("Total: [round(total_moles, 0.01)] moles") if(air.oxygen() && (milla_turf_details || air.oxygen() / total_moles > 0.01)) - message += " Oxygen: [round(air.oxygen(), 0.01)] moles ([round(air.oxygen() / total_moles * 100, 0.01)] %)" + message += " [SPAN_OXYGEN("Oxygen: [round(air.oxygen(), 0.01)] moles ([round(air.oxygen() / total_moles * 100, 0.01)] %)")]" if(air.nitrogen() && (milla_turf_details || air.nitrogen() / total_moles > 0.01)) - message += " Nitrogen: [round(air.nitrogen(), 0.01)] moles ([round(air.nitrogen() / total_moles * 100, 0.01)] %)" + message += " [SPAN_NITROGEN("Nitrogen: [round(air.nitrogen(), 0.01)] moles ([round(air.nitrogen() / total_moles * 100, 0.01)] %)")]" if(air.carbon_dioxide() && (milla_turf_details || air.carbon_dioxide() / total_moles > 0.01)) - message += " Carbon Dioxide: [round(air.carbon_dioxide(), 0.01)] moles ([round(air.carbon_dioxide() / total_moles * 100, 0.01)] %)" + message += " [SPAN_CARBON_DIOXIDE("Carbon Dioxide: [round(air.carbon_dioxide(), 0.01)] moles ([round(air.carbon_dioxide() / total_moles * 100, 0.01)] %)")]" if(air.toxins() && (milla_turf_details || air.toxins() / total_moles > 0.01)) - message += " Plasma: [round(air.toxins(), 0.01)] moles ([round(air.toxins() / total_moles * 100, 0.01)] %)" + message += " [SPAN_PLASMA("Plasma: [round(air.toxins(), 0.01)] moles ([round(air.toxins() / total_moles * 100, 0.01)] %)")]" if(air.sleeping_agent() && (milla_turf_details || air.sleeping_agent() / total_moles > 0.01)) - message += " Nitrous Oxide: [round(air.sleeping_agent(), 0.01)] moles ([round(air.sleeping_agent() / total_moles * 100, 0.01)] %)" + message += " [SPAN_SLEEPING_AGENT("Nitrous Oxide: [round(air.sleeping_agent(), 0.01)] moles ([round(air.sleeping_agent() / total_moles * 100, 0.01)] %)")]" if(air.agent_b() && (milla_turf_details || air.agent_b() / total_moles > 0.01)) - message += " Agent B: [round(air.agent_b(), 0.01)] moles ([round(air.agent_b() / total_moles * 100, 0.01)] %)" + message += " [SPAN_AGENT_B("Agent B: [round(air.agent_b(), 0.01)] moles ([round(air.agent_b() / total_moles * 100, 0.01)] %)")]" if(air.hydrogen() && (milla_turf_details || air.hydrogen() / total_moles > 0.01)) - message += " Hydrogen: [round(air.hydrogen(), 0.01)] moles ([round(air.hydrogen() / total_moles * 100, 0.01)] %)" + message += " [SPAN_HYDROGEN("Hydrogen: [round(air.hydrogen(), 0.01)] moles ([round(air.hydrogen() / total_moles * 100, 0.01)] %)")]" if(air.water_vapor() && (milla_turf_details || air.water_vapor() / total_moles > 0.01)) - message += " Water Vapor: [round(air.water_vapor(), 0.01)] moles ([round(air.water_vapor() / total_moles * 100, 0.01)] %)" - message += "Temperature: [round(air.temperature()-T0C)] °C ([round(air.temperature())] K)" - message += "Volume: [round(volume)] Liters" - message += "Pressure: [round(pressure, 0.1)] kPa" - message += "Heat Capacity: [DisplayJoules(heat_capacity)] / K" - message += "Thermal Energy: [DisplayJoules(thermal_energy)]" + message += " [SPAN_WATER_VAPOR("Water Vapor: [round(air.water_vapor(), 0.01)] moles ([round(air.water_vapor() / total_moles * 100, 0.01)] %)")]" + message += SPAN_NOTICE("Temperature: [round(air.temperature()-T0C)] °C ([round(air.temperature())] K)") + message += SPAN_NOTICE("Volume: [round(volume)] Liters") + message += SPAN_NOTICE("Pressure: [round(pressure, 0.1)] kPa") + message += SPAN_NOTICE("Heat Capacity: [DisplayJoules(heat_capacity)] / K") + message += SPAN_NOTICE("Thermal Energy: [DisplayJoules(thermal_energy)]") else - message += "[target] is empty!" - message += "Volume: [round(volume)] Liters" // don't want to change the order volume appears in, suck it + message += SPAN_NOTICE("[target] is empty!") + message += SPAN_NOTICE("Volume: [round(volume)] Liters") // don't want to change the order volume appears in, suck it else// Sum mixtures then present for(var/datum/gas_mixture/air as anything in airs) @@ -807,50 +807,50 @@ SLIME SCANNER pressure = volume ? total_moles * R_IDEAL_GAS_EQUATION * temperature / volume : 0 if(total_moles) - message += "Total: [round(total_moles, 0.01)] moles" + message += SPAN_NOTICE("Total: [round(total_moles, 0.01)] moles") if(oxygen && (milla_turf_details || oxygen / total_moles > 0.01)) - message += " Oxygen: [round(oxygen, 0.01)] moles ([round(oxygen / total_moles * 100, 0.01)] %)" + message += " [SPAN_OXYGEN("Oxygen: [round(oxygen, 0.01)] moles ([round(oxygen / total_moles * 100, 0.01)] %)")]" if(nitrogen && (milla_turf_details || nitrogen / total_moles > 0.01)) - message += " Nitrogen: [round(nitrogen, 0.01)] moles ([round(nitrogen / total_moles * 100, 0.01)] %)" + message += " [SPAN_NITROGEN("Nitrogen: [round(nitrogen, 0.01)] moles ([round(nitrogen / total_moles * 100, 0.01)] %)")]" if(carbon_dioxide && (milla_turf_details || carbon_dioxide / total_moles > 0.01)) - message += " Carbon Dioxide: [round(carbon_dioxide, 0.01)] moles ([round(carbon_dioxide / total_moles * 100, 0.01)] %)" + message += " [SPAN_CARBON_DIOXIDE("Carbon Dioxide: [round(carbon_dioxide, 0.01)] moles ([round(carbon_dioxide / total_moles * 100, 0.01)] %)")]" if(toxins && (milla_turf_details || toxins / total_moles > 0.01)) - message += " Plasma: [round(toxins, 0.01)] moles ([round(toxins / total_moles * 100, 0.01)] %)" + message += " [SPAN_PLASMA("Plasma: [round(toxins, 0.01)] moles ([round(toxins / total_moles * 100, 0.01)] %)")]" if(sleeping_agent && (milla_turf_details || sleeping_agent / total_moles > 0.01)) - message += " Nitrous Oxide: [round(sleeping_agent, 0.01)] moles ([round(sleeping_agent / total_moles * 100, 0.01)] %)" + message += " [SPAN_SLEEPING_AGENT("Nitrous Oxide: [round(sleeping_agent, 0.01)] moles ([round(sleeping_agent / total_moles * 100, 0.01)] %)")]" if(agent_b && (milla_turf_details || agent_b / total_moles > 0.01)) - message += " Agent B: [round(agent_b, 0.01)] moles ([round(agent_b / total_moles * 100, 0.01)] %)" + message += " [SPAN_AGENT_B("Agent B: [round(agent_b, 0.01)] moles ([round(agent_b / total_moles * 100, 0.01)] %)")]" if(hydrogen && (milla_turf_details || hydrogen / total_moles > 0.01)) - message += " Hydrogen: [round(hydrogen, 0.01)] moles ([round(hydrogen / total_moles * 100, 0.01)] %)" + message += " [SPAN_HYDROGEN("Hydrogen: [round(hydrogen, 0.01)] moles ([round(hydrogen / total_moles * 100, 0.01)] %)")]" if(water_vapor && (milla_turf_details || (water_vapor / total_moles > 0.01))) - message += " Water Vapor: [round(water_vapor, 0.01)] moles ([round(water_vapor / total_moles * 100, 0.01)] %)" - message += "Temperature: [round(temperature-T0C)] °C ([round(temperature)] K)" - message += "Volume: [round(volume)] Liters" - message += "Pressure: [round(pressure, 0.1)] kPa" - message += "Heat Capacity: [DisplayJoules(heat_capacity)] / K" - message += "Thermal Energy: [DisplayJoules(thermal_energy)]" + message += " [SPAN_WATER_VAPOR("Water Vapor: [round(water_vapor, 0.01)] moles ([round(water_vapor / total_moles * 100, 0.01)] %)")]" + message += SPAN_NOTICE("Temperature: [round(temperature-T0C)] °C ([round(temperature)] K)") + message += SPAN_NOTICE("Volume: [round(volume)] Liters") + message += SPAN_NOTICE("Pressure: [round(pressure, 0.1)] kPa") + message += SPAN_NOTICE("Heat Capacity: [DisplayJoules(heat_capacity)] / K") + message += SPAN_NOTICE("Thermal Energy: [DisplayJoules(thermal_energy)]") else - message += "[target] is empty!" - message += "Volume: [round(volume)] Liters" // don't want to change the order volume appears in, suck it + message += SPAN_NOTICE("[target] is empty!") + message += SPAN_NOTICE("Volume: [round(volume)] Liters") // don't want to change the order volume appears in, suck it if(milla) // Values from milla/src/lib.rs, +1 due to array indexing difference. - message += "Airtight N/E/S/W: [(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_NORTH) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_EAST) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_SOUTH) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_WEST) ? "yes" : "no"]" + message += SPAN_NOTICE("Airtight N/E/S/W: [(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_NORTH) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_EAST) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_SOUTH) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_WEST) ? "yes" : "no"]") switch(milla[MILLA_INDEX_ATMOS_MODE]) // These are enum values, so they don't get increased. if(0) - message += "Atmos Mode: Space" + message += SPAN_NOTICE("Atmos Mode: Space") if(1) - message += "Atmos Mode: Sealed" + message += SPAN_NOTICE("Atmos Mode: Sealed") if(2) - message += "Atmos Mode: Exposed to Environment (ID: [milla[MILLA_INDEX_ENVIRONMENT_ID]])" + message += SPAN_NOTICE("Atmos Mode: Exposed to Environment (ID: [milla[MILLA_INDEX_ENVIRONMENT_ID]])") else - message += "Atmos Mode: Unknown ([milla[MILLA_INDEX_ATMOS_MODE]]), contact a coder." - message += "Superconductivity N/E/S/W: [milla[MILLA_INDEX_SUPERCONDUCTIVITY_NORTH]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_EAST]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_SOUTH]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_WEST]]" - message += "Turf's Innate Heat Capacity: [milla[MILLA_INDEX_INNATE_HEAT_CAPACITY]]" - message += "Hotspot: [floor(milla[MILLA_INDEX_HOTSPOT_TEMPERATURE]-T0C)] °C ([floor(milla[MILLA_INDEX_HOTSPOT_TEMPERATURE])] K), [round(milla[MILLA_INDEX_HOTSPOT_VOLUME] * CELL_VOLUME, 1)] Liters ([milla[MILLA_INDEX_HOTSPOT_VOLUME]]x)" - message += "Wind: ([round(milla[MILLA_INDEX_WIND_X], 0.001)], [round(milla[MILLA_INDEX_WIND_Y], 0.001)])" - message += "Fuel burnt last tick: [milla[MILLA_INDEX_FUEL_BURNT]] moles" + message += SPAN_NOTICE("Atmos Mode: Unknown ([milla[MILLA_INDEX_ATMOS_MODE]]), contact a coder.") + message += SPAN_NOTICE("Superconductivity N/E/S/W: [milla[MILLA_INDEX_SUPERCONDUCTIVITY_NORTH]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_EAST]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_SOUTH]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_WEST]]") + message += SPAN_NOTICE("Turf's Innate Heat Capacity: [milla[MILLA_INDEX_INNATE_HEAT_CAPACITY]]") + message += SPAN_NOTICE("Hotspot: [floor(milla[MILLA_INDEX_HOTSPOT_TEMPERATURE]-T0C)] °C ([floor(milla[MILLA_INDEX_HOTSPOT_TEMPERATURE])] K), [round(milla[MILLA_INDEX_HOTSPOT_VOLUME] * CELL_VOLUME, 1)] Liters ([milla[MILLA_INDEX_HOTSPOT_VOLUME]]x)") + message += SPAN_NOTICE("Wind: ([round(milla[MILLA_INDEX_WIND_X], 0.001)], [round(milla[MILLA_INDEX_WIND_Y], 0.001)])") + message += SPAN_NOTICE("Fuel burnt last tick: [milla[MILLA_INDEX_FUEL_BURNT]] moles") to_chat(user, chat_box_examine(message.Join("
"))) return TRUE @@ -880,7 +880,7 @@ SLIME SCANNER if(user.stat) return if(!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!")) return if(!istype(O)) return @@ -892,18 +892,18 @@ SLIME SCANNER var/one_percent = O.reagents.total_volume / 100 for(var/datum/reagent/R in O.reagents.reagent_list) if(R.id != "blood") - dat += "
[TAB][R] [details ? ":([R.volume / one_percent]%)" : ""]" + dat += "
[TAB][SPAN_NOTICE("[R] [details ? ":([R.volume / one_percent]%)" : ""]")]" else blood_type = R.data["blood_type"] - dat += "
[TAB][blood_type ? "[blood_type]" : ""] [R.data["species"]] [R.name] [details ? ":([R.volume / one_percent]%)" : ""]" + dat += "
[TAB][SPAN_NOTICE("[blood_type ? "[blood_type]" : ""] [R.data["species"]] [R.name] [details ? ":([R.volume / one_percent]%)" : ""]")]" if(dat) - to_chat(user, "Chemicals found: [dat]") + to_chat(user, SPAN_NOTICE("Chemicals found: [dat]")) datatoprint = dat scanning = FALSE else - to_chat(user, "No active chemical agents found in [O].") + to_chat(user, SPAN_NOTICE("No active chemical agents found in [O].")) else - to_chat(user, "No significant chemical agents found in [O].") + to_chat(user, SPAN_NOTICE("No significant chemical agents found in [O].")) return /obj/item/reagent_scanner/adv @@ -914,7 +914,7 @@ SLIME SCANNER /obj/item/reagent_scanner/proc/print_report() if(!scanning) - usr.visible_message("[src] rattles and prints out a sheet of paper.") + usr.visible_message(SPAN_WARNING("[src] rattles and prints out a sheet of paper.")) playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1) sleep(50) @@ -925,11 +925,11 @@ SLIME SCANNER if(ismob(loc)) var/mob/M = loc M.put_in_hands(P) - to_chat(M, "Report printed. Log cleared.") + to_chat(M, SPAN_NOTICE("Report printed. Log cleared.")) datatoprint = "" scanning = TRUE else - to_chat(usr, "[src] has no logs or is already in use.") + to_chat(usr, SPAN_NOTICE("[src] has no logs or is already in use.")) /obj/item/reagent_scanner/ui_action_click() print_report() @@ -953,19 +953,19 @@ SLIME SCANNER if(user.incapacitated() || user.AmountBlinded()) return if(!isslime(M)) - to_chat(user, "This device can only scan slimes!") + to_chat(user, SPAN_WARNING("This device can only scan slimes!")) return slime_scan(M, user) /proc/slime_scan(mob/living/simple_animal/slime/T, mob/living/user) to_chat(user, "========================") to_chat(user, "Slime scan results:") - to_chat(user, "[T.colour] [T.is_adult ? "adult" : "baby"] slime") + to_chat(user, SPAN_NOTICE("[T.colour] [T.is_adult ? "adult" : "baby"] slime")) to_chat(user, "Nutrition: [T.nutrition]/[T.get_max_nutrition()]") if(T.nutrition < T.get_starve_nutrition()) - to_chat(user, "Warning: slime is starving!") + to_chat(user, SPAN_WARNING("Warning: slime is starving!")) else if(T.nutrition < T.get_hunger_nutrition()) - to_chat(user, "Warning: slime is hungry") + to_chat(user, SPAN_WARNING("Warning: slime is hungry")) to_chat(user, "Electric change strength: [T.powerlevel]") to_chat(user, "Health: [round(T.health/T.maxHealth,0.01)*100]%") if(T.slime_mutation[4] == T.colour) @@ -985,8 +985,8 @@ SLIME SCANNER to_chat(user, "Multiple cores detected") to_chat(user, "Growth progress: [T.amount_grown]/[SLIME_EVOLUTION_THRESHOLD]") if(T.effectmod) - to_chat(user, "Core mutation in progress: [T.effectmod]") - to_chat(user, "Progress in core mutation: [T.applied] / [SLIME_EXTRACT_CROSSING_REQUIRED]") + to_chat(user, SPAN_NOTICE("Core mutation in progress: [T.effectmod]")) + to_chat(user, SPAN_NOTICE("Progress in core mutation: [T.applied] / [SLIME_EXTRACT_CROSSING_REQUIRED]")) to_chat(user, "========================") //////////////////////////////////////// @@ -1059,14 +1059,14 @@ SLIME SCANNER return if(!ready) - to_chat(user, "The scanner beeps angrily at you! It's currently recharging - [round((time_to_use - world.time) * 0.1)] seconds remaining.") + to_chat(user, SPAN_NOTICE("The scanner beeps angrily at you! It's currently recharging - [round((time_to_use - world.time) * 0.1)] seconds remaining.")) playsound(user.loc, 'sound/machines/buzz-sigh.ogg', 50, 1) return if(cell.charge >= usecharge) mobScan(M, user) else - to_chat(user, "The scanner beeps angrily at you! It's out of charge!") + to_chat(user, SPAN_NOTICE("The scanner beeps angrily at you! It's out of charge!")) playsound(user.loc, 'sound/machines/buzz-sigh.ogg', 50, 1) /obj/item/bodyanalyzer/borg/attack__legacy__attackchain(mob/living/M, mob/living/silicon/robot/user) @@ -1074,13 +1074,13 @@ SLIME SCANNER return if(!ready) - to_chat(user, "[src] is currently recharging - [round((time_to_use - world.time) * 0.1)] seconds remaining.") + to_chat(user, SPAN_NOTICE("[src] is currently recharging - [round((time_to_use - world.time) * 0.1)] seconds remaining.")) return if(user.cell.charge >= usecharge) mobScan(M, user) else - to_chat(user, "You need to recharge before you can use [src]") + to_chat(user, SPAN_NOTICE("You need to recharge before you can use [src]")) /obj/item/bodyanalyzer/proc/mobScan(mob/living/M, mob/user) if(ishuman(M)) @@ -1105,14 +1105,14 @@ SLIME SCANNER addtimer(VARSET_CALLBACK(src, printing, FALSE), 1.4 SECONDS) addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon), UPDATE_OVERLAYS), 1.5 SECONDS) else if(iscorgi(M) && M.stat == DEAD) - to_chat(user, "You wonder if [M.p_they()] was a good dog. [src] tells you they were the best...") // :'( + to_chat(user, SPAN_NOTICE("You wonder if [M.p_they()] was a good dog. [src] tells you they were the best...")) // :'( playsound(loc, 'sound/machines/ping.ogg', 50, 0) ready = FALSE update_icon(UPDATE_ICON_STATE) addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/bodyanalyzer, setReady)), scan_cd) time_to_use = world.time + scan_cd else - to_chat(user, "Scanning error detected. Invalid specimen.") + to_chat(user, SPAN_NOTICE("Scanning error detected. Invalid specimen.")) //Unashamedly ripped from adv_med.dm /obj/item/bodyanalyzer/proc/generate_printing_text(mob/living/M, mob/user) diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index efa53d4250b..7f1277336ec 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -28,17 +28,17 @@ . = ..() if(in_range(user, src) && mytape) if(mytape.ruined) - . += "[mytape]'s internals are unwound.'." + . += SPAN_NOTICE("[mytape]'s internals are unwound.'.") if(mytape.max_capacity <= mytape.used_capacity) - . += "[mytape] is full." + . += SPAN_NOTICE("[mytape] is full.") else if((mytape.remaining_capacity % 60) == 0) // if there is no seconds (modulo = 0), then only show minutes - . += "[mytape] has [mytape.remaining_capacity / 60] minutes remaining." + . += SPAN_NOTICE("[mytape] has [mytape.remaining_capacity / 60] minutes remaining.") else if(mytape.used_capacity >= mytape.max_capacity - 60) - . += "[mytape] has [mytape.remaining_capacity] seconds remaining." // to avoid having 0 minutes + . += SPAN_NOTICE("[mytape] has [mytape.remaining_capacity] seconds remaining.") // to avoid having 0 minutes else - . += "[mytape] has [seconds_to_time(mytape.remaining_capacity)] remaining." - . += "Alt-Click to access the tape." + . += SPAN_NOTICE("[mytape] has [seconds_to_time(mytape.remaining_capacity)] remaining.") + . += SPAN_NOTICE("Alt-Click to access the tape.") /obj/item/taperecorder/New() ..() @@ -63,7 +63,7 @@ if(user.drop_item()) I.forceMove(src) mytape = I - to_chat(user, "You insert [I] into [src].") + to_chat(user, SPAN_NOTICE("You insert [I] into [src].")) playsound(src, 'sound/items/taperecorder/taperecorder_close.ogg', 50, FALSE) update_icon(UPDATE_ICON_STATE) @@ -222,7 +222,7 @@ if(!mytape) return if(world.time < cooldown) - to_chat(user, "The recorder can't print that fast!") + to_chat(user, SPAN_NOTICE("The recorder can't print that fast!")) return if(recording || playing) return @@ -243,7 +243,7 @@ return if(mytape) playsound(src, 'sound/items/taperecorder/taperecorder_open.ogg', 50, FALSE) - to_chat(user, "You remove [mytape] from [src].") + to_chat(user, SPAN_NOTICE("You remove [mytape] from [src].")) stop() user.put_in_hands(mytape) mytape = null @@ -285,16 +285,16 @@ . = ..() if(in_range(user, src)) if(ruined) - . += "It's tape is all pulled out, it looks it could be screwed back into place." + . += SPAN_NOTICE("It's tape is all pulled out, it looks it could be screwed back into place.") else if(max_capacity <= used_capacity) - . += "It is full." + . += SPAN_NOTICE("It is full.") else if((remaining_capacity % 60) == 0) // if there is no seconds (modulo = 0), then only show minutes - . += "It has [remaining_capacity / 60] minutes remaining." + . += SPAN_NOTICE("It has [remaining_capacity / 60] minutes remaining.") else if(used_capacity >= (max_capacity - 60)) - . += "It has [remaining_capacity] seconds remaining." // to avoid having 0 minutes + . += SPAN_NOTICE("It has [remaining_capacity] seconds remaining.") // to avoid having 0 minutes else - . += "It has [seconds_to_time(remaining_capacity)] remaining." + . += SPAN_NOTICE("It has [seconds_to_time(remaining_capacity)] remaining.") . += "You can Alt-Click [src] to wipe the current tape." /obj/item/tape/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) @@ -309,12 +309,12 @@ if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) return if(ruined) - to_chat(user, "This tape is already ruined!") + to_chat(user, SPAN_NOTICE("This tape is already ruined!")) return if(!do_after(user, 3 SECONDS, target = src)) return - to_chat(user, "You erase the data from [src].") + to_chat(user, SPAN_NOTICE("You erase the data from [src].")) used_capacity = 0 remaining_capacity = max_capacity storedinfo.Cut() @@ -327,10 +327,10 @@ /obj/item/tape/proc/ruin(mob/user) if(user) - to_chat(user, "You start pulling the tape out.") + to_chat(user, SPAN_NOTICE("You start pulling the tape out.")) if(!do_after(user, 1 SECONDS, target = src)) return - to_chat(user, "You pull the tape out of [src].") + to_chat(user, SPAN_NOTICE("You pull the tape out of [src].")) ruined = TRUE update_icon(UPDATE_OVERLAYS) @@ -343,9 +343,9 @@ if(ruined) if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return - to_chat(user, "You start winding the tape back in.") + to_chat(user, SPAN_NOTICE("You start winding the tape back in.")) if(do_after(user, 120 * I.toolspeed, target = src)) - to_chat(user, "You wind the tape back in!") + to_chat(user, SPAN_NOTICE("You wind the tape back in!")) ruined = FALSE update_icon(UPDATE_OVERLAYS) diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 0ddff0fcf68..6e32476fa8c 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -23,7 +23,7 @@ /obj/item/jammer/activate_self(mob/user) if(..()) return - to_chat(user, "You [active ? "deactivate [src]. It goes quiet with a small click." : "activate [src]. It starts to hum softly."]") + to_chat(user, SPAN_NOTICE("You [active ? "deactivate [src]. It goes quiet with a small click." : "activate [src]. It starts to hum softly."]")) active = !active update_icon(UPDATE_ICON_STATE) if(active) @@ -69,7 +69,7 @@ /obj/item/teleporter/examine(mob/user) . = ..() - . += "[src] has [charges] out of [max_charges] charges left." + . += SPAN_NOTICE("[src] has [charges] out of [max_charges] charges left.") /obj/item/teleporter/activate_self(mob/user) if(..()) @@ -86,17 +86,17 @@ if(prob(50 / severity)) if(ishuman(loc)) var/mob/living/carbon/human/user = loc - to_chat(user, "[src] buzzes and activates!") + to_chat(user, SPAN_USERDANGER("[src] buzzes and activates!")) attempt_teleport(user, TRUE) else //Well, it either is on a floor / locker, and won't teleport someone, OR it's in someones bag. As such, we need to check the turf to see if people are there. var/turf/teleport_turf = get_turf(src) for(var/mob/living/user in teleport_turf) if(!teleported_something) - teleport_turf.visible_message("[src] activates sporadically, teleporting everyone around it!") + teleport_turf.visible_message(SPAN_DANGER("[src] activates sporadically, teleporting everyone around it!")) teleported_something = TRUE attempt_teleport(user, TRUE) if(!teleported_something) - visible_message("[src] activates and blinks out of existence!") + visible_message(SPAN_DANGER("[src] activates and blinks out of existence!")) do_sparks(2, 1, src) qdel(src) @@ -111,12 +111,12 @@ qdel(G) dir_correction(user) if(!charges && !EMP_D) //If it's empd, you are moving no matter what. - to_chat(user, "[src] is still recharging.") + to_chat(user, SPAN_WARNING("[src] is still recharging.")) return var/turf/starting = get_turf(src) var/area/starting_area = get_area(starting) if(!is_teleport_allowed(starting.z) || starting_area.tele_proof) - to_chat(user, "[src] will not work here!") + to_chat(user, SPAN_DANGER("[src] will not work here!")) return if(SEND_SIGNAL(user, COMSIG_MOVABLE_TELEPORTING, starting) & COMPONENT_BLOCK_TELEPORT) return FALSE @@ -144,7 +144,7 @@ if(found_turf) if(user.loc != mobloc) // No locker / mech / sleeper teleporting, that breaks stuff - to_chat(M, "[src] will not work here!") + to_chat(M, SPAN_DANGER("[src] will not work here!")) if(charges > 0) //While we want EMP triggered teleports to drain charge, we also do not want it to go negative charge, as such we need this check here charges-- update_icon_charges() @@ -163,7 +163,7 @@ else // Emp activated? Bag of holding? No saving throw for you get_fragged(user, destination) else - to_chat(M, "[src] will not work here!") + to_chat(M, SPAN_DANGER("[src] will not work here!")) /obj/item/teleporter/proc/tile_check(turf/T) if(isfloorturf(T) || isspaceturf(T)) @@ -234,14 +234,14 @@ if(istype(destination, /turf/simulated/mineral) && !istype(destination, /turf/simulated/mineral/ancient)) var/turf/simulated/mineral/rock = destination rock.gets_drilled(null, 1) - to_chat(user, "You teleport into the wall, the teleporter tries to save you, but--") + to_chat(user, SPAN_BIGGERDANGER("You teleport into the wall, the teleporter tries to save you, but--")) user.gib() /obj/item/teleporter/proc/telefrag(turf/fragging_location, mob/user) for(var/mob/living/M in fragging_location)//Hit everything in the turf M.apply_damage(20, BRUTE) M.Weaken(6 SECONDS) - to_chat(M, "[user] teleports into you, knocking you to the floor with the bluespace wave!") + to_chat(M, SPAN_WARNING("[user] teleports into you, knocking you to the floor with the bluespace wave!")) /obj/item/paper/teleporter name = "Teleporter Guide" @@ -286,21 +286,21 @@ if(..()) return if(HAS_TRAIT(user, TRAIT_RESISTHEAT)) - to_chat(user, "You are already fireproof!") + to_chat(user, SPAN_WARNING("You are already fireproof!")) return if(user.mind && (IS_CHANGELING(user) || user.mind.has_antag_datum(/datum/antagonist/vampire)) || (user.dna && user.dna.species.name != "Plasmaman")) - to_chat(user, "The injector is not compatable with your biology!") + to_chat(user, SPAN_WARNING("The injector is not compatable with your biology!")) return if(used) - to_chat(user, "The injector is empty!") + to_chat(user, SPAN_NOTICE("The injector is empty!")) return used = TRUE // Set this BEFORE the popup to prevent people using the injector more than once. var/choice = tgui_alert(user, "The injector is still unused. Do you wish to use it?", "Fireproofing injector", list("Yes", "No")) if(choice != "Yes") - to_chat(user, "You decide against using [src].") + to_chat(user, SPAN_NOTICE("You decide against using [src].")) used = FALSE return - to_chat(user, "You inject yourself with the nanites!") + to_chat(user, SPAN_NOTICE("You inject yourself with the nanites!")) ADD_TRAIT(user, TRAIT_RESISTHEAT, "fireproof_injector") /obj/item/cryoregenerative_enhancer @@ -321,23 +321,23 @@ if(..()) return if(HAS_TRAIT(user, TRAIT_DRASK_SUPERCOOL)) - to_chat(user, "Your regeneration is already enhanced!") + to_chat(user, SPAN_WARNING("Your regeneration is already enhanced!")) return if(user.mind && (IS_CHANGELING(user) || user.mind.has_antag_datum(/datum/antagonist/vampire)) || user.dna?.species.name != "Drask") - to_chat(user, "The injector is not compatable with your biology!") + to_chat(user, SPAN_WARNING("The injector is not compatable with your biology!")) return if(used) - to_chat(user, "The injector is empty!") + to_chat(user, SPAN_NOTICE("The injector is empty!")) return var/choice = tgui_alert(user, "The injector is still unused. Do you wish to use it?", "Cryoregenerative enhancer", list("Yes", "No")) if(choice != "Yes") - to_chat(user, "You decide against using [src].") + to_chat(user, SPAN_NOTICE("You decide against using [src].")) return if(used) - to_chat(user, "The injector is empty!") + to_chat(user, SPAN_WARNING("The injector is empty!")) return used = TRUE - to_chat(user, "You inject yourself with the enhancer!") + to_chat(user, SPAN_NOTICE("You inject yourself with the enhancer!")) ADD_TRAIT(user, TRAIT_DRASK_SUPERCOOL, "cryoregenerative_enhancer") /obj/item/batterer @@ -368,11 +368,11 @@ /obj/item/batterer/examine(mob/user) . = ..() - . += "A little label on the side reads: \"Warning: Using this item in quick succession may cause fatigue to the user!\"" + . += SPAN_WARNING("A little label on the side reads: \"Warning: Using this item in quick succession may cause fatigue to the user!\"") if(times_used >= max_uses) - . += "[src] is out of charge." + . += SPAN_NOTICE("[src] is out of charge.") if(times_used < max_uses) - . += "[src] has [max_uses-times_used] charges left." + . += SPAN_NOTICE("[src] has [max_uses-times_used] charges left.") /obj/item/batterer/process() if(times_used) @@ -391,13 +391,13 @@ times_used++ if(user) if(times_used > max_uses) - to_chat(user, "The mind batterer has been burnt out!") + to_chat(user, SPAN_DANGER("The mind batterer has been burnt out!")) times_used-- return if(!do_after_once(user, 2 SECONDS, target = src, allow_moving = TRUE, attempt_cancel_message = "You think it's best to save this for later.", hidden = TRUE)) times_used-- return - to_chat(user, "You trigger [src]. It has [max_uses-times_used] charges left.") + to_chat(user, SPAN_NOTICE("You trigger [src]. It has [max_uses-times_used] charges left.")) for(var/mob/living/M in oview(7, get_turf(src))) if(!M.client) @@ -408,29 +408,29 @@ else M.Confused(45 SECONDS) M.adjustBrainLoss(10) - to_chat(M, "You feel a sudden, electric jolt travel through yourself,") + to_chat(M, SPAN_DANGER("You feel a sudden, electric jolt travel through yourself,")) switch(rand(1, 10)) if(1) M.Immobilize(7 SECONDS) - to_chat(M, "and your legs lock up for a moment!") + to_chat(M, SPAN_WARNING("and your legs lock up for a moment!")) if(2) M.apply_status_effect(STATUS_EFFECT_PACIFIED_BATTERER) - to_chat(M, "and you feel an innate love for life for a fleeting moment!") + to_chat(M, SPAN_WARNING("and you feel an innate love for life for a fleeting moment!")) if(3) new /obj/effect/hallucination/delusion(get_turf(M), M) - to_chat(M, "and the people around you morph in appearance!") + to_chat(M, SPAN_WARNING("and the people around you morph in appearance!")) if(4) if(prob(80)) M.EyeBlurry(25 SECONDS) - to_chat(M, "and something in the back of your head stings like hell!") + to_chat(M, SPAN_WARNING("and something in the back of your head stings like hell!")) else M.EyeBlind(15 SECONDS) - to_chat(M, "and you can't see a goddamn thing!") + to_chat(M, SPAN_WARNING("and you can't see a goddamn thing!")) if(5) M.apply_damage(40, STAMINA) - to_chat(M, "and a wave of tiredness washes over you!") + to_chat(M, SPAN_WARNING("and a wave of tiredness washes over you!")) else - to_chat(M, "but as soon as it arrives, it fades.") + to_chat(M, SPAN_DANGER("but as soon as it arrives, it fades.")) add_attack_logs(user, M, "Mind battered with [src]") playsound(get_turf(src), 'sound/misc/interference.ogg', 50, TRUE) @@ -442,7 +442,7 @@ if(times_used >= max_uses || on_throwing_cooldown) return addtimer(CALLBACK(src, PROC_REF(end_throwing_delay)), 3 SECONDS) - visible_message("[src] suddenly triggers, sending a shower of sparks everywhere!") + visible_message(SPAN_NOTICE("[src] suddenly triggers, sending a shower of sparks everywhere!")) do_sparks(4, FALSE, get_turf(src)) activate_batterer() on_throwing_cooldown = TRUE @@ -453,7 +453,7 @@ /obj/item/batterer/emp_act(severity) if(times_used >= max_uses) return - visible_message("[src] explodes into a light show of colors!") + visible_message(SPAN_NOTICE("[src] explodes into a light show of colors!")) if(severity == EMP_HEAVY) activate_batterer() @@ -521,7 +521,7 @@ if(..()) return if(!COOLDOWN_FINISHED(src, scan_cooldown)) - to_chat(user, "[src] is recharging!") + to_chat(user, SPAN_WARNING("[src] is recharging!")) return COOLDOWN_START(src, scan_cooldown, cooldown_length) @@ -547,4 +547,4 @@ // Found the right split point, and we're not past all of them, so play the on-hit sound effect. playsound(user, on_hit_sound, 75, TRUE) break - to_chat(user, "[range_messages[range_index]]") + to_chat(user, SPAN_NOTICE("[range_messages[range_index]]")) diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index 021bfcb7d81..69fd58207ca 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -28,21 +28,21 @@ /obj/item/transfer_valve/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, /obj/item/tank)) if(tank_one && tank_two) - to_chat(user, "There are already two tanks attached, remove one first.") + to_chat(user, SPAN_WARNING("There are already two tanks attached, remove one first.")) return if(!tank_one) if(!user.transfer_item_to(I, src)) return tank_one = I - to_chat(user, "You attach the tank to the transfer valve.") + to_chat(user, SPAN_NOTICE("You attach the tank to the transfer valve.")) if(I.w_class > w_class) w_class = I.w_class else if(!tank_two) if(!user.transfer_item_to(I, src)) return tank_two = I - to_chat(user, "You attach the tank to the transfer valve.") + to_chat(user, SPAN_NOTICE("You attach the tank to the transfer valve.")) if(I.w_class > w_class) w_class = I.w_class @@ -52,15 +52,15 @@ else if(isassembly(I)) var/obj/item/assembly/A = I if(A.secured) - to_chat(user, "The device is secured.") + to_chat(user, SPAN_NOTICE("The device is secured.")) return if(attached_device) - to_chat(user, "There is already a device attached to the valve, remove it first.") + to_chat(user, SPAN_WARNING("There is already a device attached to the valve, remove it first.")) return if(!user.transfer_item_to(A, src)) return attached_device = A - to_chat(user, "You attach [A] to the valve controls and secure it.") + to_chat(user, SPAN_NOTICE("You attach [A] to the valve controls and secure it.")) A.holder = src A.toggle_secure() //this calls update_icon(), which calls update_icon() on the holder (i.e. the bomb). diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm index 537d89cf640..8ef7f77208e 100644 --- a/code/game/objects/items/devices/uplinks.dm +++ b/code/game/objects/items/devices/uplinks.dm @@ -101,12 +101,12 @@ GLOBAL_LIST_EMPTY(world_uplinks) /obj/item/uplink/proc/buy(datum/uplink_item/UI, reference) if(is_jammed) - to_chat(usr, "[src] seems to be jammed - it cannot be used here!") + to_chat(usr, SPAN_WARNING("[src] seems to be jammed - it cannot be used here!")) return if(!UI) return if(UI.limited_stock == 0) - to_chat(usr, "You have redeemed this discount already.") + to_chat(usr, SPAN_WARNING("You have redeemed this discount already.")) return UI.buy_uplink_item(src,usr) SStgui.update_uis(src) @@ -134,7 +134,7 @@ GLOBAL_LIST_EMPTY(world_uplinks) /obj/item/uplink/proc/refund(mob/user as mob) var/obj/item/I = user.get_active_hand() if(!I) // Make sure there's actually something in the hand before even bothering to check - to_chat(user, "[I] is not refundable.") + to_chat(user, SPAN_WARNING("[I] is not refundable.")) return for(var/category in uplink_items) @@ -152,12 +152,12 @@ GLOBAL_LIST_EMPTY(world_uplinks) refund_amount = holopara.refund_cost uses += refund_amount used_TC -= refund_amount - to_chat(user, "[I] refunded.") + to_chat(user, SPAN_NOTICE("[I] refunded.")) qdel(I) return // If we are here, we didnt refund - to_chat(user, "[I] is not refundable.") + to_chat(user, SPAN_WARNING("[I] is not refundable.")) // HIDDEN UPLINK - Can be stored in anything but the host item has to have a trigger for it. /* How to create an uplink in 3 easy steps! @@ -203,7 +203,7 @@ GLOBAL_LIST_EMPTY(world_uplinks) // current item's menu. /obj/item/uplink/hidden/proc/check_trigger(mob/user, value, target) if(is_jammed) - to_chat(user, "[src] seems to be jammed - it cannot be used here!") + to_chat(user, SPAN_WARNING("[src] seems to be jammed - it cannot be used here!")) return if(value == target) trigger(user) @@ -329,7 +329,7 @@ GLOBAL_LIST_EMPTY(world_uplinks) if("add_to_cart") var/datum/uplink_item/UI = uplink_items[params["item"]] if(LAZYIN(shopping_cart, params["item"])) - to_chat(ui.user, "[UI.name] is already in your cart!") + to_chat(ui.user, SPAN_WARNING("[UI.name] is already in your cart!")) return var/startamount = 1 if(UI.limited_stock == 0) @@ -349,10 +349,10 @@ GLOBAL_LIST_EMPTY(world_uplinks) if(!LAZYLEN(shopping_cart)) // sanity check return if(calculate_cart_tc() > uses) - to_chat(ui.user, "[src] buzzes, it doesn't contain enough telecrystals!") + to_chat(ui.user, SPAN_WARNING("[src] buzzes, it doesn't contain enough telecrystals!")) return if(is_jammed) - to_chat(ui.user, "[src] seems to be jammed - it cannot be used here!") + to_chat(ui.user, SPAN_WARNING("[src] seems to be jammed - it cannot be used here!")) return // Buying of the uplink stuff diff --git a/code/game/objects/items/devices/voice_changer.dm b/code/game/objects/items/devices/voice_changer.dm index e3b87ac62e2..6cba6acad88 100644 --- a/code/game/objects/items/devices/voice_changer.dm +++ b/code/game/objects/items/devices/voice_changer.dm @@ -27,7 +27,7 @@ /obj/item/voice_changer/attack_self__legacy__attackchain(mob/user) active = !active icon_state = "voice_changer_[active ? "on" : "off"]" - to_chat(user, "You toggle [src] [active ? "on" : "off"].") + to_chat(user, SPAN_NOTICE("You toggle [src] [active ? "on" : "off"].")) update_action_buttons() @@ -35,11 +35,11 @@ var/chosen_voice = tgui_input_text(user, "What voice would you like to mimic? Leave this empty to use the voice on your ID card.", "Set Voice Changer") if(!chosen_voice) voice = null - to_chat(user, "You are now mimicking the voice on your ID card.") + to_chat(user, SPAN_NOTICE("You are now mimicking the voice on your ID card.")) return voice = sanitize_for_ic(copytext_char(chosen_voice, 1, MAX_MESSAGE_LEN)) - to_chat(user, "You are now mimicking [voice].") + to_chat(user, SPAN_NOTICE("You are now mimicking [voice].")) /obj/item/voice_changer/voice_modulator name = "voice modulator" diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm index 5da8059191a..8a11cf3aaf0 100644 --- a/code/game/objects/items/devices/whistle.dm +++ b/code/game/objects/items/devices/whistle.dm @@ -18,16 +18,16 @@ if(emagged) playsound(get_turf(src), 'sound/voice/binsult.ogg', 100, TRUE, vary = 0)//hueheuheuheuheuheuhe - user.visible_message("[user]'s [name] gurgles, \"FUCK YOUR CUNT YOU SHIT EATING CUNT TILL YOU ARE A MASS EATING SHIT CUNT. EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS TO FUCK UP SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FROM THE DEPTHS OF SHIT\"") + user.visible_message(SPAN_WARNING("[user]'s [name] gurgles, \"FUCK YOUR CUNT YOU SHIT EATING CUNT TILL YOU ARE A MASS EATING SHIT CUNT. EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS TO FUCK UP SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FROM THE DEPTHS OF SHIT\"")) else playsound(get_turf(src), 'sound/voice/halt.ogg', 100, TRUE, vary = 0) - user.visible_message("[user]'s [name] rasps, \"Halt! Security!\"") + user.visible_message(SPAN_WARNING("[user]'s [name] rasps, \"Halt! Security!\"")) next_use_time = world.time + USE_COOLDOWN /obj/item/hailer/emag_act(user as mob) if(!emagged) - to_chat(user, "You overload \the [src]'s voice synthesizer.") + to_chat(user, SPAN_WARNING("You overload \the [src]'s voice synthesizer.")) emagged = TRUE return TRUE diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm index 5dc67bb24e1..01de60f57b0 100644 --- a/code/game/objects/items/dna_injector.dm +++ b/code/game/objects/items/dna_injector.dm @@ -120,13 +120,13 @@ /obj/item/dnainjector/attack__legacy__attackchain(mob/M, mob/user) if(used) - to_chat(user, "This injector is used up!") + to_chat(user, SPAN_WARNING("This injector is used up!")) return if(!M.dna || HAS_TRAIT(M, TRAIT_GENELESS) || HAS_TRAIT(M, TRAIT_BADDNA)) //You know what would be nice? If the mob you're injecting has DNA, and so doesn't cause runtimes. return FALSE if(!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!")) return FALSE var/attack_log = "injected with the Isolated [name]" @@ -135,22 +135,22 @@ if(block) if(GetState() && block == GLOB.monkeyblock && ishuman(M)) attack_log = "injected with the Isolated [name] (MONKEY)" - message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] (MONKEY)") + message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] [SPAN_WARNING("(MONKEY)")]") else if(GetState(GLOB.monkeyblock) && ishuman(M)) attack_log = "injected with the Isolated [name] (MONKEY)" - message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] (MONKEY)") + message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] [SPAN_WARNING("(MONKEY)")]") if(M != user) - M.visible_message("[user] is trying to inject [M] with [src]!", "[user] is trying to inject [M] with [src]!") + M.visible_message(SPAN_DANGER("[user] is trying to inject [M] with [src]!"), SPAN_USERDANGER("[user] is trying to inject [M] with [src]!")) if(!do_mob(user, M)) return M.visible_message("[user] injects [M] with the syringe with [src]!", \ "[user] injects [M] with the syringe with [src]!") else - to_chat(user, "You inject yourself with [src].") + to_chat(user, SPAN_NOTICE("You inject yourself with [src].")) add_attack_logs(user, M, attack_log, ATKLOG_ALL) diff --git a/code/game/objects/items/dnascrambler.dm b/code/game/objects/items/dnascrambler.dm index cb34973361b..e887376bd10 100644 --- a/code/game/objects/items/dnascrambler.dm +++ b/code/game/objects/items/dnascrambler.dm @@ -23,19 +23,19 @@ return if(HAS_TRAIT(M, TRAIT_GENELESS)) - to_chat(user, "You failed to inject [M], as [M.p_they()] [M.p_have()] no DNA to scramble, nor flesh to inject.") + to_chat(user, SPAN_WARNING("You failed to inject [M], as [M.p_they()] [M.p_have()] no DNA to scramble, nor flesh to inject.")) return if(M == user) - user.visible_message("[user] injects [user.p_themselves()] with [src]!") + user.visible_message(SPAN_DANGER("[user] injects [user.p_themselves()] with [src]!")) injected(user, user) else - user.visible_message("[user] is trying to inject [M] with [src]!") + user.visible_message(SPAN_DANGER("[user] is trying to inject [M] with [src]!")) if(do_mob(user,M,30)) - user.visible_message("[user] injects [M] with [src].") + user.visible_message(SPAN_DANGER("[user] injects [M] with [src].")) injected(M, user) else - to_chat(user, "You failed to inject [M].") + to_chat(user, SPAN_WARNING("You failed to inject [M].")) /obj/item/dnascrambler/proc/injected(mob/living/carbon/human/target, mob/living/carbon/user) if(istype(target)) diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index 2a7c719d2e1..199c485755f 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -20,7 +20,7 @@ /obj/item/documents/nanotrasen/examine(mob/user) . = ..() - . += "These documents are marked \"TOP SECRET - property of Nanotrasen\"." + . += SPAN_WARNING("These documents are marked \"TOP SECRET - property of Nanotrasen\".") /obj/item/documents/syndicate desc = "Documents printed on special copy-protected paper. They detail sensitive Syndicate operational intelligence." @@ -31,7 +31,7 @@ /obj/item/documents/syndicate/red/examine(mob/user) . = ..() - . += "These documents are marked with \"TOP SECRET - RED\" and the logo of the Syndicate." + . += SPAN_WARNING("These documents are marked with \"TOP SECRET - RED\" and the logo of the Syndicate.") /obj/item/documents/syndicate/blue name = "'Blue' secret documents" @@ -39,7 +39,7 @@ /obj/item/documents/syndicate/blue/examine(mob/user) . = ..() - . += "These documents are marked with \"TOP SECRET - BLUE\" and the logo of the Syndicate." + . += SPAN_WARNING("These documents are marked with \"TOP SECRET - BLUE\" and the logo of the Syndicate.") /obj/item/documents/syndicate/yellow name = "'Yellow' secret documents" @@ -48,7 +48,7 @@ /obj/item/documents/syndicate/yellow/examine(mob/user) . = ..() - . += "These documents are marked with \"TOP SECRET - YELLOW\" and the logo of the Syndicate." + . += SPAN_WARNING("These documents are marked with \"TOP SECRET - YELLOW\" and the logo of the Syndicate.") /obj/item/documents/syndicate/yellow/trapped desc = "Documents printed on special copy-protected paper. They detail sensitive Syndicate operational intelligence, and have a thin film of clear material covering their surface." @@ -61,7 +61,7 @@ /obj/item/documents/syndicate/mining/examine(mob/user) . = ..() - . += "These documents are marked with \"SECRET\" and the logo of the Syndicate." + . += SPAN_WARNING("These documents are marked with \"SECRET\" and the logo of the Syndicate.") /obj/item/documents/syndicate/yellow/trapped/pickup(user) if(ishuman(user) && poison_total > 0) diff --git a/code/game/objects/items/flag.dm b/code/game/objects/items/flag.dm index 691c17454b9..2de9f3cd3f6 100644 --- a/code/game/objects/items/flag.dm +++ b/code/game/objects/items/flag.dm @@ -15,12 +15,12 @@ /obj/item/flag/attackby__legacy__attackchain(obj/item/W, mob/user, params) . = ..() if(W.get_heat() && !(resistance_flags & ON_FIRE)) - user.visible_message("[user] lights [src] with [W].", "You light [src] with [W].", "You hear a low whoosh.") + user.visible_message(SPAN_NOTICE("[user] lights [src] with [W]."), SPAN_NOTICE("You light [src] with [W]."), SPAN_WARNING("You hear a low whoosh.")) fire_act() /obj/item/flag/attack_self__legacy__attackchain(mob/user) rolled = !rolled - user.visible_message("[user] [rolled ? "rolls up" : "unfurls"] [src].", "You [rolled ? "roll up" : "unfurl"] [src].", "You hear fabric rustling.") + user.visible_message(SPAN_NOTICE("[user] [rolled ? "rolls up" : "unfurls"] [src]."), SPAN_NOTICE("You [rolled ? "roll up" : "unfurl"] [src]."), SPAN_WARNING("You hear fabric rustling.")) update_icon() /obj/item/flag/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = FALSE) @@ -246,7 +246,7 @@ boobytrap = I trapper = user I.forceMove(src) - to_chat(user, "You hide [I] in [src]. It will detonate some time after the flag is lit on fire.") + to_chat(user, SPAN_NOTICE("You hide [I] in [src]. It will detonate some time after the flag is lit on fire.")) var/turf/bombturf = get_turf(src) var/area/A = get_area(bombturf) log_game("[key_name(user)] has hidden [I] in [src] ready for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z]).") @@ -268,7 +268,7 @@ . = TRUE if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return - to_chat(user, "You remove [boobytrap] from [src].") + to_chat(user, SPAN_NOTICE("You remove [boobytrap] from [src].")) boobytrap.forceMove(get_turf(src)) boobytrap = null trapper = null diff --git a/code/game/objects/items/granters/_granters.dm b/code/game/objects/items/granters/_granters.dm index e5ba5715e04..dd8c21f9e14 100644 --- a/code/game/objects/items/granters/_granters.dm +++ b/code/game/objects/items/granters/_granters.dm @@ -29,10 +29,10 @@ if(..()) return if(reading) - to_chat(user, "You're already reading this!") + to_chat(user, SPAN_WARNING("You're already reading this!")) return FINISH_ATTACK if(!user.has_vision()) - to_chat(user, "You are blind and can't read anything!") + to_chat(user, SPAN_WARNING("You are blind and can't read anything!")) return FINISH_ATTACK if(!isliving(user)) return FINISH_ATTACK @@ -57,15 +57,15 @@ /// Called when the user starts to read the granter. /obj/item/book/granter/proc/on_reading_start(mob/living/user) - to_chat(user, "You start reading [name]...") + to_chat(user, SPAN_NOTICE("You start reading [name]...")) /// Called when the reading is interrupted without finishing. /obj/item/book/granter/proc/on_reading_stopped(mob/living/user) - to_chat(user, "You stop reading...") + to_chat(user, SPAN_NOTICE("You stop reading...")) /// Called when the reading is completely finished. This is where the actual granting should happen. /obj/item/book/granter/proc/on_reading_finished(mob/living/user) - to_chat(user, "You finish reading [name]!") + to_chat(user, SPAN_NOTICE("You finish reading [name]!")) /// The actual "turning over of the page" flavor bit that happens while someone is reading the granter. /obj/item/book/granter/proc/turn_page(mob/living/user) @@ -74,7 +74,7 @@ if(!do_after(user, reading_time, src)) return FALSE - to_chat(user, "[length(remarks) ? pick(remarks) : "You keep reading..."]") + to_chat(user, SPAN_NOTICE("[length(remarks) ? pick(remarks) : "You keep reading..."]")) return TRUE /// Effects that occur whenever the book is read when it has no uses left. @@ -96,15 +96,15 @@ if(!granted_action) CRASH("Someone attempted to learn [type], which did not have an action set.") if(locate(granted_action) in user.actions) - to_chat(user, "You already know all about [action_name]!") + to_chat(user, SPAN_WARNING("You already know all about [action_name]!")) return FALSE return TRUE /obj/item/book/granter/action/on_reading_start(mob/living/user) - to_chat(user, "You start reading about [action_name]...") + to_chat(user, SPAN_NOTICE("You start reading about [action_name]...")) /obj/item/book/granter/action/on_reading_finished(mob/living/user) - to_chat(user, "You feel like you've got a good handle on [action_name]!") + to_chat(user, SPAN_NOTICE("You feel like you've got a good handle on [action_name]!")) // Action goes on the mind as the user actually learns the thing in your brain var/datum/action/new_action = new granted_action(user.mind || user) new_action.Grant(user) @@ -119,5 +119,5 @@ /obj/item/book/granter/spell/on_reading_finished(mob/living/user) if(!user.mind) return - to_chat(user, "You feel like you've got a good handle on [spell_name]!") + to_chat(user, SPAN_NOTICE("You feel like you've got a good handle on [spell_name]!")) user.mind.AddSpell(new granted_spell(null)) diff --git a/code/game/objects/items/granters/action_granters/summon_cheese.dm b/code/game/objects/items/granters/action_granters/summon_cheese.dm index 67e38c91538..523220d726b 100644 --- a/code/game/objects/items/granters/action_granters/summon_cheese.dm +++ b/code/game/objects/items/granters/action_granters/summon_cheese.dm @@ -21,7 +21,7 @@ ) /obj/item/book/granter/spell/summon_cheese/recoil(mob/living/user) - to_chat(user, "[src] turns into a wedge of cheese!") + to_chat(user, SPAN_WARNING("[src] turns into a wedge of cheese!")) var/obj/item/food/sliced/cheesewedge/book_cheese = new user.drop_item() user.put_in_hands(book_cheese) diff --git a/code/game/objects/items/granters/crafting_granters/_crafting_granter.dm b/code/game/objects/items/granters/crafting_granters/_crafting_granter.dm index 9c9a26c1325..e94513e2f19 100644 --- a/code/game/objects/items/granters/crafting_granters/_crafting_granter.dm +++ b/code/game/objects/items/granters/crafting_granters/_crafting_granter.dm @@ -8,11 +8,11 @@ return for(var/datum/crafting_recipe/crafting_recipe_type as anything in crafting_recipe_types) user.mind.teach_crafting_recipe(crafting_recipe_type) - to_chat(user, "You learned how to make [initial(crafting_recipe_type.name)].") + to_chat(user, SPAN_NOTICE("You learned how to make [initial(crafting_recipe_type.name)].")) /obj/item/book/granter/crafting_recipe/dusting icon_state = "book1" /obj/item/book/granter/crafting_recipe/dusting/recoil(mob/living/user) - to_chat(user, "The book turns to dust in your hands.") + to_chat(user, SPAN_NOTICE("The book turns to dust in your hands.")) qdel(src) diff --git a/code/game/objects/items/granters/crafting_granters/combat_baking.dm b/code/game/objects/items/granters/crafting_granters/combat_baking.dm index 6c6068eadd7..1bc75e25b36 100644 --- a/code/game/objects/items/granters/crafting_granters/combat_baking.dm +++ b/code/game/objects/items/granters/crafting_granters/combat_baking.dm @@ -14,6 +14,6 @@ ) /obj/item/book/granter/crafting_recipe/combat_baking/recoil(mob/living/user) - to_chat(user, "The book dissolves into burnt flour!") + to_chat(user, SPAN_WARNING("The book dissolves into burnt flour!")) new /obj/effect/decal/cleanable/ash(get_turf(src)) qdel(src) diff --git a/code/game/objects/items/hand_item.dm b/code/game/objects/items/hand_item.dm index a7faf81336b..bc2a815637c 100644 --- a/code/game/objects/items/hand_item.dm +++ b/code/game/objects/items/hand_item.dm @@ -12,7 +12,7 @@ /obj/item/slapper/attack__legacy__attackchain(mob/M, mob/living/carbon/human/user) user.do_attack_animation(M) playsound(M, hitsound, 50, TRUE, -1) - user.visible_message("[user] slaps [M]!", "You slap [M]!", "You hear a slap.") + user.visible_message(SPAN_DANGER("[user] slaps [M]!"), SPAN_NOTICE("You slap [M]!"), SPAN_HEAR("You hear a slap.")) if(iscarbon(M)) var/mob/living/carbon/C = M if(C.IsSleeping()) @@ -44,12 +44,12 @@ if(istype(human_user.shoes, /obj/item/clothing/shoes/cowboy)) human_user.say(pick("Hot damn!", "Hoo-wee!", "Got-dang!")) playsound(get_turf(the_table), 'sound/effects/tableslam.ogg', 110, TRUE) - user.visible_message("[user] slams [user.p_their()] fist down on [the_table]!", "You slam your fist down on [the_table]!") + user.visible_message("[SPAN_DANGER("[user] slams [user.p_their()] fist down on [the_table]!")]", "[SPAN_DANGER("You slam your fist down on [the_table]!")]") qdel(src) else user.do_attack_animation(the_table) playsound(get_turf(the_table), 'sound/effects/tableslam.ogg', 40, TRUE) - user.visible_message("[user] slaps [user.p_their()] hand on [the_table].", "You slap your hand on [the_table].") + user.visible_message(SPAN_NOTICE("[user] slaps [user.p_their()] hand on [the_table]."), SPAN_NOTICE("You slap your hand on [the_table].")) table_smacks_left-- if(table_smacks_left <= 0) qdel(src) diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index b613609836f..fb0ce014027 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -83,7 +83,7 @@ var/mob/living/carbon/human/H = user H.changeNext_move(CLICK_CD_MELEE) H.do_attack_animation(attacked_obj) - H.visible_message("[H] has hit [attacked_obj] with [src]!", "You hit [attacked_obj] with [src]!") + H.visible_message(SPAN_DANGER("[H] has hit [attacked_obj] with [src]!"), SPAN_DANGER("You hit [attacked_obj] with [src]!")) var/damage = force attacked_obj.take_damage(damage * 3, BRUTE, MELEE, TRUE, get_dir(src, user), 30) // yoinked from breaching cleaver @@ -94,18 +94,18 @@ . = ..() if(!awakened) - . += "[src] is latched closed." + . += SPAN_HIS_GRACE("[src] is latched closed.") return switch(bloodthirst) if(HIS_GRACE_SATIATED to HIS_GRACE_PECKISH) - . += "[src] isn't very hungry. Not yet." + . += SPAN_HIS_GRACE("[src] isn't very hungry. Not yet.") if(HIS_GRACE_PECKISH to HIS_GRACE_HUNGRY) - . += "[src] would like a snack." + . += SPAN_HIS_GRACE("[src] would like a snack.") if(HIS_GRACE_HUNGRY to HIS_GRACE_FAMISHED) - . += "[src] is quite hungry now." + . += SPAN_HIS_GRACE("[src] is quite hungry now.") if(HIS_GRACE_FAMISHED to HIS_GRACE_STARVING) - . += "[src] is openly salivating at the sight of you. Be careful." + . += SPAN_HIS_GRACE("[src] is openly salivating at the sight of you. Be careful.") if(HIS_GRACE_STARVING to HIS_GRACE_CONSUME_OWNER) . += "You walk a fine line. [src] is very close to devouring you." if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP) @@ -114,7 +114,7 @@ /obj/item/his_grace/relaymove(mob/living/user, direction) //Allows changelings, etc. to climb out of Him after they revive, provided He isn't active if(!awakened) user.forceMove(get_turf(src)) - user.visible_message("[user] scrambles out of [src]!", "You climb out of [src]!") + user.visible_message(SPAN_WARNING("[user] scrambles out of [src]!"), SPAN_NOTICE("You climb out of [src]!")) /obj/item/his_grace/process() if(!bloodthirst) @@ -139,7 +139,7 @@ return // They didn't sacrifice enough people, so this is where we go ham - master.visible_message("[src] turns on [master]!", + master.visible_message(SPAN_BOLDWARNING("[src] turns on [master]!"), "[src] turns on you!") do_attack_animation(master, used_item = src) master.emote("scream") @@ -166,7 +166,7 @@ step_to(src, L) if(Adjacent(L)) if(!L.stat) - L.visible_message("[src] lunges at [L]!", "[src] lunges at you!") + L.visible_message(SPAN_WARNING("[src] lunges at [L]!"), "[src] lunges at you!") do_attack_animation(L, null, src) playsound(L, 'sound/weapons/smash.ogg', 50, TRUE) playsound(L, 'sound/misc/desceration-01.ogg', 50, TRUE) @@ -179,7 +179,7 @@ if(awakened) return awakened = TRUE - user.visible_message("[src] begins to rattle. He thirsts.", "You flick [src]'s latch up. You hope this is a good idea.") + user.visible_message(SPAN_BOLDWARNING("[src] begins to rattle. He thirsts."), SPAN_HIS_GRACE("You flick [src]'s latch up. You hope this is a good idea.")) name = "His Grace" desc = "A bloodthirsty artifact created by a profane rite." gender = MALE @@ -200,7 +200,7 @@ if(!awakened || ascended) return var/turf/T = get_turf(src) - T.visible_message("[src] slowly stops rattling and falls still, His latch snapping shut.") + T.visible_message(SPAN_BOLDWARNING("[src] slowly stops rattling and falls still, His latch snapping shut.")) playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE) name = initial(name) desc = initial(desc) @@ -216,7 +216,7 @@ if(!meal) return - meal.visible_message("[src] swings open and devours [meal]!", "[src] consumes you!") + meal.visible_message(SPAN_WARNING("[src] swings open and devours [meal]!"), "[src] consumes you!") meal.adjustBruteLoss(300) playsound(meal, 'sound/misc/desceration-02.ogg', 75, TRUE) playsound(src, 'sound/items/eatfood.ogg', 100, TRUE) @@ -261,36 +261,36 @@ switch(bloodthirst) if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP) if(HIS_GRACE_CONSUME_OWNER > prev_bloodthirst) - master.visible_message("[src] enters a frenzy!") + master.visible_message(SPAN_USERDANGER("[src] enters a frenzy!")) if(HIS_GRACE_STARVING to HIS_GRACE_CONSUME_OWNER) set_nodrop(TRUE, master) if(HIS_GRACE_STARVING > prev_bloodthirst) - master.visible_message("[src] is starving!", "[src]'s bloodlust overcomes you. [src] must be fed, or you will become His meal.\ + master.visible_message(SPAN_BOLDWARNING("[src] is starving!"), "[src]'s bloodlust overcomes you. [src] must be fed, or you will become His meal.\ [force_bonus < 15 ? " And still, His power grows.":""]") force_bonus = max(force_bonus, 15) if(HIS_GRACE_FAMISHED to HIS_GRACE_STARVING) set_nodrop(TRUE, master) if(HIS_GRACE_FAMISHED > prev_bloodthirst) - master.visible_message("[src] is very hungry!", "Spines sink into your hand. [src] must feed immediately.\ + master.visible_message(SPAN_WARNING("[src] is very hungry!"), "Spines sink into your hand. [src] must feed immediately.\ [force_bonus < 10 ? " His power grows.":""]") force_bonus = max(force_bonus, 10) if(prev_bloodthirst >= HIS_GRACE_STARVING) - master.visible_message("[src] is now only very hungry!", "Your bloodlust recedes.") + master.visible_message(SPAN_WARNING("[src] is now only very hungry!"), "Your bloodlust recedes.") if(HIS_GRACE_HUNGRY to HIS_GRACE_FAMISHED) if(HIS_GRACE_HUNGRY > prev_bloodthirst) - master.visible_message("[src] is getting hungry.", "You feel [src]'s hunger within you.\ + master.visible_message(SPAN_WARNING("[src] is getting hungry."), "You feel [src]'s hunger within you.\ [force_bonus < 5 ? " His power grows.":""]") force_bonus = max(force_bonus, 5) if(prev_bloodthirst >= HIS_GRACE_FAMISHED) - master.visible_message("[src] is now only somewhat hungry.", "[src]'s hunger recedes a little...") + master.visible_message(SPAN_WARNING("[src] is now only somewhat hungry."), SPAN_HIS_GRACE("[src]'s hunger recedes a little...")) if(HIS_GRACE_PECKISH to HIS_GRACE_HUNGRY) if(HIS_GRACE_PECKISH > prev_bloodthirst) - master.visible_message("[src] is feeling snackish.", "[src] begins to hunger.") + master.visible_message(SPAN_WARNING("[src] is feeling snackish."), SPAN_HIS_GRACE("[src] begins to hunger.")) if(prev_bloodthirst >= HIS_GRACE_HUNGRY) - master.visible_message("[src] is now only a little peckish.", "[src]'s hunger recedes somewhat...") + master.visible_message(SPAN_WARNING("[src] is now only a little peckish."), "[src]'s hunger recedes somewhat...") if(HIS_GRACE_SATIATED to HIS_GRACE_PECKISH) if(prev_bloodthirst >= HIS_GRACE_PECKISH) - master.visible_message("[src] is satiated.", "[src]'s hunger recedes...") + master.visible_message(SPAN_WARNING("[src] is satiated."), "[src]'s hunger recedes...") force = initial(force) + force_bonus /obj/item/his_grace/proc/ascend() diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index a8f6215159b..65117269fe4 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -24,7 +24,7 @@ righthand_file = 'icons/mob/inhands/items_righthand.dmi' user.update_inv_r_hand() user.update_inv_l_hand() - to_chat(user, "You blow up [src] with [tank].") + to_chat(user, SPAN_NOTICE("You blow up [src] with [tank].")) air_contents = tank.remove_air_volume(3) /obj/item/latexballon/proc/burst() diff --git a/code/game/objects/items/lighters.dm b/code/game/objects/items/lighters.dm index ba6b4c1c0e2..b11df232f88 100644 --- a/code/game/objects/items/lighters.dm +++ b/code/game/objects/items/lighters.dm @@ -37,7 +37,7 @@ /obj/item/lighter/can_enter_storage(obj/item/storage/S, mob/user) if(lit) - to_chat(user, "[S] can't hold [src] while it's lit!") + to_chat(user, SPAN_WARNING("[S] can't hold [src] while it's lit!")) return FALSE else return TRUE @@ -57,15 +57,15 @@ /obj/item/lighter/proc/attempt_light(mob/living/user) if(prob(75) || issilicon(user)) // Robots can never burn themselves trying to light it. - to_chat(user, "You light [src].") + to_chat(user, SPAN_NOTICE("You light [src].")) else if(HAS_TRAIT(user, TRAIT_BADASS) || HAS_TRAIT(user, TRAIT_COOL)) - to_chat(user, "[src]'s flames lick your hand as you light it, but you don't flinch.") + to_chat(user, SPAN_NOTICE("[src]'s flames lick your hand as you light it, but you don't flinch.")) else var/mob/living/carbon/human/H = user var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand") if(affecting.receive_damage(0, 5)) //INFERNO H.UpdateDamageIcon() - to_chat(user,"You light [src], but you burn your hand in the process.") + to_chat(user,SPAN_NOTICE("You light [src], but you burn your hand in the process.")) if(world.time > next_on_message) playsound(src, 'sound/items/lighter/plastic_strike.ogg', 25, TRUE) next_on_message = world.time + 5 SECONDS @@ -114,18 +114,18 @@ return !isnull(cig) if(!lit) - to_chat(user, "You need to light [src] before it can be used to light anything!") + to_chat(user, SPAN_WARNING("You need to light [src] before it can be used to light anything!")) return TRUE if(target == user) user.visible_message( - "After some fiddling, [user] manages to light [user.p_their()] [cig] with [src].", - "After some fiddling, you manage to light [cig] with [src].," + SPAN_NOTICE("After some fiddling, [user] manages to light [user.p_their()] [cig] with [src]."), + "[SPAN_NOTICE("After some fiddling, you manage to light [cig] with [src].")]," ) else user.visible_message( - "After some fiddling, [user] manages to light [cig] for [target] with [src].", - "After some fiddling, you manage to light [cig] for [target] with [src]." + SPAN_NOTICE("After some fiddling, [user] manages to light [cig] for [target] with [src]."), + SPAN_NOTICE("After some fiddling, you manage to light [cig] for [target] with [src].") ) cig.light(user, target) return TRUE @@ -159,14 +159,14 @@ . = ..() if(world.time > next_on_message) user.visible_message( - "Without even breaking stride, [user] flips open and lights [src] in one smooth movement.", - "Without breaking your stride, you flip open and light [src] in one smooth movement.", - "You hear a zippo being lit." + SPAN_ROSE("Without even breaking stride, [user] flips open and lights [src] in one smooth movement."), + SPAN_ROSE("Without breaking your stride, you flip open and light [src] in one smooth movement."), + SPAN_ROSE("You hear a zippo being lit.") ) playsound(src.loc, 'sound/items/zippolight.ogg', 25, TRUE) next_on_message = world.time + 5 SECONDS else - to_chat(user, "You light [src].") + to_chat(user, SPAN_NOTICE("You light [src].")) /obj/item/lighter/zippo/turn_off_lighter(mob/living/user) . = ..() @@ -175,14 +175,14 @@ if(world.time > next_off_message) user.visible_message( - "You hear a quiet click as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow.", - "You shut off [src] without even looking at what you're doing.", - "You hear a quiet click as a zippo lighter is shut off. Wow." + SPAN_ROSE("You hear a quiet click as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow."), + SPAN_ROSE("You shut off [src] without even looking at what you're doing."), + SPAN_ROSE("You hear a quiet click as a zippo lighter is shut off. Wow.") ) playsound(loc, 'sound/items/zippoclose.ogg', 25, TRUE) next_off_message = world.time + 5 SECONDS else - to_chat(user, "You shut off [src].") + to_chat(user, SPAN_NOTICE("You shut off [src].")) /obj/item/lighter/zippo/cigarette_lighter_act(mob/living/user, mob/living/target, obj/item/direct_attackby_item) var/obj/item/clothing/mask/cigarette/cig = ..() @@ -190,18 +190,18 @@ return !isnull(cig) if(!lit) - to_chat(user, "You need to light [src] before it can be used to light anything!") + to_chat(user, SPAN_WARNING("You need to light [src] before it can be used to light anything!")) return TRUE if(target == user) user.visible_message( - "With a single flick of [user.p_their()] wrist, [user] smoothly lights [user.p_their()] [cig.name] with [src]. Damn [user.p_theyre()] cool.", - "With a single flick of your wrist, you smoothly light [cig] with [src]." + SPAN_ROSE("With a single flick of [user.p_their()] wrist, [user] smoothly lights [user.p_their()] [cig.name] with [src]. Damn [user.p_theyre()] cool."), + SPAN_ROSE("With a single flick of your wrist, you smoothly light [cig] with [src].") ) else user.visible_message( - "[user] whips [src] out and holds it for [target]. [user.p_their(TRUE)] arm is as steady as the unflickering flame [user.p_they()] light [cig] with. Damn [user.p_theyre()] cool.", - "You whip [src] out and hold it for [target]. Your arm is as steady as the unflickering flame you light [cig] with." + SPAN_ROSE("[user] whips [src] out and holds it for [target]. [user.p_their(TRUE)] arm is as steady as the unflickering flame [user.p_they()] light [cig] with. Damn [user.p_theyre()] cool."), + SPAN_ROSE("You whip [src] out and hold it for [target]. Your arm is as steady as the unflickering flame you light [cig] with.") ) cig.light(user, target) return TRUE @@ -312,7 +312,7 @@ /obj/item/match/can_enter_storage(obj/item/storage/S, mob/user) if(lit) - to_chat(user, "[S] can't hold [initial(name)] while it's lit!") // initial(name) so it doesn't say "lit" twice in a row + to_chat(user, SPAN_WARNING("[S] can't hold [initial(name)] while it's lit!")) // initial(name) so it doesn't say "lit" twice in a row return FALSE else return TRUE @@ -338,18 +338,18 @@ return !isnull(cig) if(!lit) - to_chat(user, "You need to light [src] before it can be used to light anything!") + to_chat(user, SPAN_WARNING("You need to light [src] before it can be used to light anything!")) return TRUE if(target == user) user.visible_message( - "[user] lights [user.p_their()] [cig] with [src].", - "You light [cig] with [src]." + SPAN_NOTICE("[user] lights [user.p_their()] [cig] with [src]."), + SPAN_NOTICE("You light [cig] with [src].") ) else user.visible_message( - "[user] holds [src] out for [target], and lights [cig].", - "You hold [src] out for [target], and light [user.p_their()] [cig]." + SPAN_NOTICE("[user] holds [src] out for [target], and lights [cig]."), + SPAN_NOTICE("You hold [src] out for [target], and light [user.p_their()] [cig].") ) cig.light(user, target) matchburnout() @@ -391,27 +391,27 @@ return !isnull(cig) if(!lit) - to_chat(user, "If you can see this message, please make an issue report to GitHub, something bad has happened.") + to_chat(user, SPAN_USERDANGER("If you can see this message, please make an issue report to GitHub, something bad has happened.")) return TRUE if(target == user) user.visible_message( - "[user] spits fire at [user.p_their()] [cig.name], igniting it.", - "You spit fire at [cig], igniting it.", - "You hear a brief burst of flame!" + SPAN_ROSE("[user] spits fire at [user.p_their()] [cig.name], igniting it."), + SPAN_ROSE("You spit fire at [cig], igniting it."), + SPAN_WARNING("You hear a brief burst of flame!") ) else if(prob(50)) user.visible_message( - "[user] spits fire at [target], lighting [cig] in [target.p_their()] mouth and nearly burning [target.p_their()] face!", - "You spit fire at [target], lighting [cig] in [target.p_their()] mouth and nearly burning [target.p_their()] face!", - "You hear a brief burst of flame!" + SPAN_ROSE("[user] spits fire at [target], lighting [cig] in [target.p_their()] mouth and nearly burning [target.p_their()] face!"), + SPAN_ROSE("You spit fire at [target], lighting [cig] in [target.p_their()] mouth and nearly burning [target.p_their()] face!"), + SPAN_WARNING("You hear a brief burst of flame!") ) else user.visible_message( - "[user] spits fire at [target], burning [target.p_their()] face and lighting [cig] in the process!", - "You spit fire at [target], burning [target.p_their()] face and lighting [cig] in the process!", - "You hear a brief burst of flame!" + SPAN_ROSE("[user] spits fire at [target], burning [target.p_their()] face and lighting [cig] in the process!"), + SPAN_ROSE("You spit fire at [target], burning [target.p_their()] face and lighting [cig] in the process!"), + SPAN_WARNING("You hear a brief burst of flame!") ) var/obj/item/organ/external/head/affecting = target.get_organ("head") affecting.receive_damage(0, 5) diff --git a/code/game/objects/items/mountable_frames/apc_frame.dm b/code/game/objects/items/mountable_frames/apc_frame.dm index 386fa53a403..6010d88c9a2 100644 --- a/code/game/objects/items/mountable_frames/apc_frame.dm +++ b/code/game/objects/items/mountable_frames/apc_frame.dm @@ -12,22 +12,22 @@ var/turf/T = get_turf(user) var/area/A = get_area(T) if(A.get_apc()) - to_chat(user, "This area already has an APC!") + to_chat(user, SPAN_WARNING("This area already has an APC!")) return //only one APC per area if(!A.requires_power) - to_chat(user, "You cannot place [src] in this area!") + to_chat(user, SPAN_WARNING("You cannot place [src] in this area!")) return //can't place apcs in areas with no power requirement for(var/obj/machinery/power/terminal/E in T) if(E.master) - to_chat(user, "There is another network terminal here!") + to_chat(user, SPAN_WARNING("There is another network terminal here!")) return else var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(T) C.amount = 10 - to_chat(user, "You cut the cables and disassemble the unused power terminal.") + to_chat(user, SPAN_NOTICE("You cut the cables and disassemble the unused power terminal.")) qdel(E) return TRUE diff --git a/code/game/objects/items/mountable_frames/frames.dm b/code/game/objects/items/mountable_frames/frames.dm index a10673b85b1..b79858409f6 100644 --- a/code/game/objects/items/mountable_frames/frames.dm +++ b/code/game/objects/items/mountable_frames/frames.dm @@ -29,11 +29,11 @@ var/turf/build_turf = get_turf(user) if((mount_requirements & MOUNTED_FRAME_SIMFLOOR) && !isfloorturf(build_turf)) - to_chat(user, "[src] cannot be placed on this spot.") + to_chat(user, SPAN_WARNING("[src] cannot be placed on this spot.")) return FALSE if(mount_requirements & MOUNTED_FRAME_NOSPACE) var/area/my_area = get_area(build_turf) if(!istype(my_area) || !my_area.requires_power || isspacearea(my_area)) - to_chat(user, "[src] cannot be placed in this area.") + to_chat(user, SPAN_WARNING("[src] cannot be placed in this area.")) return FALSE return TRUE diff --git a/code/game/objects/items/mountable_frames/mountables.dm b/code/game/objects/items/mountable_frames/mountables.dm index 5d3d811f405..2d098a1a3e8 100644 --- a/code/game/objects/items/mountable_frames/mountables.dm +++ b/code/game/objects/items/mountable_frames/mountables.dm @@ -20,11 +20,11 @@ if(!allow_floor_mounting) if(!(get_dir(on_wall, user) in GLOB.cardinal)) - to_chat(user, "You need to be standing next to [on_wall] to place [src].") + to_chat(user, SPAN_WARNING("You need to be standing next to [on_wall] to place [src].")) return FALSE if(gotwallitem(get_turf(user), get_dir(user, on_wall))) - to_chat(user, "There's already an item on this wall!") + to_chat(user, SPAN_WARNING("There's already an item on this wall!")) return FALSE return TRUE diff --git a/code/game/objects/items/paint_bucket.dm b/code/game/objects/items/paint_bucket.dm index 256d1c6e45a..afad7babd34 100644 --- a/code/game/objects/items/paint_bucket.dm +++ b/code/game/objects/items/paint_bucket.dm @@ -19,7 +19,7 @@ if(!is_open_container()) return ITEM_INTERACT_COMPLETE if(istype(target) && reagents.total_volume >= 5) - user.visible_message("[target] has been splashed with something by [user]!") + user.visible_message(SPAN_WARNING("[target] has been splashed with something by [user]!")) spawn(5) reagents.reaction(target, REAGENT_TOUCH) reagents.remove_any(5) diff --git a/code/game/objects/items/picket_signs.dm b/code/game/objects/items/picket_signs.dm index 1590eb77e9b..638cc610cb8 100644 --- a/code/game/objects/items/picket_signs.dm +++ b/code/game/objects/items/picket_signs.dm @@ -27,13 +27,13 @@ /obj/item/picket_sign/activate_self(mob/user) . = ..() if(!COOLDOWN_FINISHED(src, wave_cooldown)) - user.show_message("Your arm is too tired to do that again so soon!") + user.show_message(SPAN_WARNING("Your arm is too tired to do that again so soon!")) return if(label) - user.visible_message("[user] waves around \the \"[label]\" sign.") + user.visible_message(SPAN_NOTICE("[user] waves around \the \"[label]\" sign.")) else - user.visible_message("[user] waves around blank sign.") + user.visible_message(SPAN_NOTICE("[user] waves around blank sign.")) user.changeNext_move(CLICK_CD_MELEE) COOLDOWN_START(src, wave_cooldown, 8 SECONDS) @@ -45,12 +45,12 @@ return var/turf/target_turf = target if(target_turf == get_turf(user)) - to_chat(user, "You cannot place [src] under yourself.") + to_chat(user, SPAN_NOTICE("You cannot place [src] under yourself.")) return if(locate(/obj/structure/custom_sign) in target_turf) // No putting signs on signs - to_chat(user, "There's already a sign there!") + to_chat(user, SPAN_NOTICE("There's already a sign there!")) return - user.visible_message("[user] starts to attach [src] to [target].", "You start to attach [src] to [target].") + user.visible_message(SPAN_NOTICE("[user] starts to attach [src] to [target]."), SPAN_NOTICE("You start to attach [src] to [target].")) if(do_after(user, 2 SECONDS, target = target_turf)) if(iswallturf(target)) new /obj/structure/custom_sign/wall_sign(user.loc, label, get_dir(user, target_turf)) @@ -88,7 +88,7 @@ /obj/structure/custom_sign/wrench_act(mob/living/user, obj/item/I) . = TRUE - user.visible_message("[user] starts to detach [src].", "You start to detach [src].") + user.visible_message(SPAN_NOTICE("[user] starts to detach [src]."), SPAN_NOTICE("You start to detach [src].")) if(!I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume)) return var/obj/item/picket_sign/picket = new /obj/item/picket_sign(loc) diff --git a/code/game/objects/items/robot/ai_upgrades.dm b/code/game/objects/items/robot/ai_upgrades.dm index 75b3eacb3f7..f5857cb4b51 100644 --- a/code/game/objects/items/robot/ai_upgrades.dm +++ b/code/game/objects/items/robot/ai_upgrades.dm @@ -29,11 +29,11 @@ return if(AI.malf_picker) AI.malf_picker.processing_time += 50 - to_chat(AI, "[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead.") + to_chat(AI, SPAN_USERDANGER("[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead.")) else - to_chat(AI, "[user] has upgraded you with combat software!") + to_chat(AI, SPAN_USERDANGER("[user] has upgraded you with combat software!")) AI.add_malf_picker() - to_chat(user, "You upgrade [AI]. [src] is consumed in the process.") + to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process.")) qdel(src) @@ -47,9 +47,9 @@ return if(AI.eyeobj) AI.eyeobj.relay_speech = 1 - to_chat(AI, "[user] has upgraded you with surveillance software!") + to_chat(AI, SPAN_USERDANGER("[user] has upgraded you with surveillance software!")) to_chat(AI, "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations.") - to_chat(user, "You upgrade [AI]. [src] is consumed in the process.") + to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process.")) qdel(src) // AI program reset @@ -60,7 +60,7 @@ /obj/item/ai_upgrade/ai_program_reset/ai_upgrade_action(mob/living/silicon/ai/AI, mob/user) if(!istype(AI)) return - to_chat(user, "You reset [AI]'s program storage to factory settings.") + to_chat(user, SPAN_NOTICE("You reset [AI]'s program storage to factory settings.")) AI.reset_programs() // Expanded Storage @@ -71,10 +71,10 @@ /obj/item/ai_upgrade/expanded_storage/ai_upgrade_action(mob/living/silicon/ai/AI, mob/user) if(!istype(AI)) return - to_chat(AI, "[user] has upgraded you an expanded storage module. Extra memory granted!") + to_chat(AI, SPAN_NOTICE("[user] has upgraded you an expanded storage module. Extra memory granted!")) AI.program_picker.total_memory += 2 AI.program_picker.memory += 2 - to_chat(user, "You upgrade [AI]. [src] is consumed in the process.") + to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process.")) qdel(src) // Expanded Network Array @@ -85,10 +85,10 @@ /obj/item/ai_upgrade/expanded_network/ai_upgrade_action(mob/living/silicon/ai/AI, mob/user) if(!istype(AI)) return - to_chat(AI, "[user] has upgraded you an expanded network array module. Extra bandwidth granted!") + to_chat(AI, SPAN_NOTICE("[user] has upgraded you an expanded network array module. Extra bandwidth granted!")) AI.program_picker.total_bandwidth += 1 AI.program_picker.bandwidth += 1 - to_chat(user, "You upgrade [AI]. [src] is consumed in the process.") + to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process.")) qdel(src) // Expanded Nanite Tank @@ -99,9 +99,9 @@ /obj/item/ai_upgrade/expanded_tank/ai_upgrade_action(mob/living/silicon/ai/AI, mob/user) if(!istype(AI)) return - to_chat(AI, "[user] has upgraded you an expanded nanite tank module. Extra nanite storage capacity granted!") + to_chat(AI, SPAN_NOTICE("[user] has upgraded you an expanded nanite tank module. Extra nanite storage capacity granted!")) AI.program_picker.max_nanites += 10 - to_chat(user, "You upgrade [AI]. [src] is consumed in the process.") + to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process.")) qdel(src) // Expanded Nanite Fabricator @@ -112,7 +112,7 @@ /obj/item/ai_upgrade/expanded_fabricator/ai_upgrade_action(mob/living/silicon/ai/AI, mob/user) if(!istype(AI)) return - to_chat(AI, "[user] has upgraded you an expanded nanite fabricator module. Extra nanite regeneration granted!") + to_chat(AI, SPAN_NOTICE("[user] has upgraded you an expanded nanite fabricator module. Extra nanite regeneration granted!")) AI.nanite_regen += 0.5 - to_chat(user, "You upgrade [AI]. [src] is consumed in the process.") + to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process.")) qdel(src) diff --git a/code/game/objects/items/robot/cyborg_gripper.dm b/code/game/objects/items/robot/cyborg_gripper.dm index cc29b5587d5..62a3fb4eaf9 100644 --- a/code/game/objects/items/robot/cyborg_gripper.dm +++ b/code/game/objects/items/robot/cyborg_gripper.dm @@ -33,9 +33,9 @@ /obj/item/gripper/examine(mob/user) . = ..() if(!gripped_item) - . += "[src] is empty." + . += SPAN_NOTICE("[src] is empty.") return - . += "[src] is currently holding [gripped_item]." + . += SPAN_NOTICE("[src] is currently holding [gripped_item].") /obj/item/gripper/examine_more(mob/user) . = ..() @@ -53,10 +53,10 @@ /obj/item/gripper/proc/drop_gripped_item(mob/user, silent = FALSE) if(!gripped_item) - to_chat(user, "[src] is empty.") + to_chat(user, SPAN_WARNING("[src] is empty.")) return FALSE if(!silent) - to_chat(user, "You drop [gripped_item].") + to_chat(user, SPAN_WARNING("You drop [gripped_item].")) gripped_item.forceMove(get_turf(src)) gripped_item = null return TRUE @@ -64,7 +64,7 @@ /obj/item/gripper/activate_self(mob/user) . = ..() if(!gripped_item) - to_chat(user, "[src] is empty.") + to_chat(user, SPAN_WARNING("[src] is empty.")) return ITEM_INTERACT_COMPLETE if(gripped_item.new_attack_chain) @@ -107,12 +107,12 @@ var/obj/item/I = target // Make sure the item is something the gripper can hold if(can_hold_all_items || is_type_in_typecache(I, can_hold)) - to_chat(user, "You collect [I].") + to_chat(user, SPAN_NOTICE("You collect [I].")) I.forceMove(src) gripped_item = I return ITEM_INTERACT_COMPLETE - to_chat(user, "You hold your gripper over [target], but no matter how hard you try, you cannot make yourself grab it.") + to_chat(user, SPAN_WARNING("You hold your gripper over [target], but no matter how hard you try, you cannot make yourself grab it.")) return ITEM_INTERACT_COMPLETE // Everything past this point requires being able to engineer. @@ -132,8 +132,8 @@ A.charging = APC_NOT_CHARGING A.update_icon() user.visible_message( - "[user] removes the cell from [A]!", - "You remove the cell from [A]." + SPAN_WARNING("[user] removes the cell from [A]!"), + SPAN_WARNING("You remove the cell from [A].") ) return ITEM_INTERACT_COMPLETE @@ -146,8 +146,8 @@ cell_charger.charging.forceMove(src) cell_charger.removecell() user.visible_message( - "[user] removes the cell from [cell_charger].", - "You remove the cell from [cell_charger]." + SPAN_NOTICE("[user] removes the cell from [cell_charger]."), + SPAN_NOTICE("You remove the cell from [cell_charger].") ) return ITEM_INTERACT_COMPLETE @@ -158,8 +158,8 @@ L.forceMove(src) gripped_item = L user.visible_message( - "[user] removes [L] from [light].", - "You remove [L] from [light]." + SPAN_NOTICE("[user] removes [L] from [light]."), + SPAN_NOTICE("You remove [L] from [light].") ) return ITEM_INTERACT_COMPLETE @@ -193,16 +193,16 @@ pickup_target.stand_up() playsound(user.loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) user.visible_message( - "[user] shakes [pickup_target] trying to wake [pickup_target.p_them()] up!", - "You shake [pickup_target] trying to wake [pickup_target.p_them()] up!" + SPAN_NOTICE("[user] shakes [pickup_target] trying to wake [pickup_target.p_them()] up!"), + SPAN_NOTICE("You shake [pickup_target] trying to wake [pickup_target.p_them()] up!") ) return if(user.a_intent == INTENT_HELP) if(target == user) user.visible_message( - "[user] gives [user.p_themselves()] a hug to make [user.p_themselves()] feel better.", - "You give yourself a hug to make yourself feel better." + SPAN_NOTICE("[user] gives [user.p_themselves()] a hug to make [user.p_themselves()] feel better."), + SPAN_NOTICE("You give yourself a hug to make yourself feel better.") ) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) return @@ -216,8 +216,8 @@ if(user.zone_selected == BODY_ZONE_HEAD) user.visible_message( - "[user] playfully boops [target] on the head.", - "You playfully boop [target] on the head." + SPAN_NOTICE("[user] playfully boops [target] on the head."), + SPAN_NOTICE("You playfully boop [target] on the head.") ) user.do_attack_animation(target, ATTACK_EFFECT_BOOP) playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1) @@ -225,13 +225,13 @@ if(ishuman(target)) user.visible_message( - "[user] hugs [target] to make [target.p_them()] feel better.", - "You hug [target] to make [target.p_them()] feel better." + SPAN_NOTICE("[user] hugs [target] to make [target.p_them()] feel better."), + SPAN_NOTICE("You hug [target] to make [target.p_them()] feel better.") ) else user.visible_message( - "[user] pets [target]!", - "You pet [target]!" + SPAN_NOTICE("[user] pets [target]!"), + SPAN_NOTICE("You pet [target]!") ) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) return @@ -239,23 +239,23 @@ if(user.a_intent == INTENT_HARM && !emagged) if(target == user) user.visible_message( - "[user] gives [user.p_themselves()] a firm bear-hug to make [user.p_themselves()] feel better.", - "You give yourself a firm bear-hug to make yourself feel better." + SPAN_NOTICE("[user] gives [user.p_themselves()] a firm bear-hug to make [user.p_themselves()] feel better."), + SPAN_NOTICE("You give yourself a firm bear-hug to make yourself feel better.") ) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) return if(!ishuman(target) || user.zone_selected == BODY_ZONE_HEAD) user.visible_message( - "[user] bops [target] on the head!", - "You bop [target] on the head!" + SPAN_WARNING("[user] bops [target] on the head!"), + SPAN_WARNING("You bop [target] on the head!") ) user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1) else user.visible_message( - "[user] hugs [target] in a firm bear-hug! [target] looks uncomfortable...", - "You hug [target] firmly to make [target.p_them()] feel better! [target] looks uncomfortable..." + SPAN_WARNING("[user] hugs [target] in a firm bear-hug! [target] looks uncomfortable..."), + SPAN_WARNING("You hug [target] firmly to make [target.p_them()] feel better! [target] looks uncomfortable...") ) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) return @@ -266,8 +266,8 @@ if(target == user) user.visible_message( - "[user] punches [user.p_themselves()] in the face!.", - "You punch yourself in the face!" + SPAN_DANGER("[user] punches [user.p_themselves()] in the face!."), + SPAN_USERDANGER("You punch yourself in the face!") ) user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) playsound(loc, 'sound/weapons/smash.ogg', 50, TRUE, -1) @@ -278,8 +278,8 @@ // Try to punch them in the face... Unless it fell off or something. if(user.zone_selected == BODY_ZONE_HEAD && target.get_organ("head")) user.visible_message( - "[user] punches [target] squarely in the face!", - "You punch [target] in the face!" + SPAN_DANGER("[user] punches [target] squarely in the face!"), + SPAN_DANGER("You punch [target] in the face!") ) var/obj/item/organ/external/head/their_face = target.get_organ("head") user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) @@ -289,8 +289,8 @@ return user.visible_message( - "[user] crushes [target] in [user.p_their()] grip!", - "You crush [target] in your grip!" + SPAN_DANGER("[user] crushes [target] in [user.p_their()] grip!"), + SPAN_DANGER("You crush [target] in your grip!") ) playsound(loc, 'sound/weapons/smash.ogg', 50, TRUE, -1) target.adjustBruteLoss(15) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index f9ebc32d6eb..b0627d86014 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -33,8 +33,8 @@ Keeping it in for adminabuse but the malf one is /obj/item/melee/baton/borg_stun target.Weaken(10 SECONDS) target.apply_effect(STUTTER, 10 SECONDS) - target.visible_message("[user] has prodded [target] with [src]!", \ - "[user] has prodded you with [src]!") + target.visible_message(SPAN_DANGER("[user] has prodded [target] with [src]!"), \ + SPAN_USERDANGER("[user] has prodded you with [src]!")) playsound(loc, 'sound/weapons/egloves.ogg', 50, TRUE, -1) add_attack_logs(user, target, "Stunned with [src] ([uppertext(user.a_intent)])") @@ -55,11 +55,11 @@ Keeping it in for adminabuse but the malf one is /obj/item/melee/baton/borg_stun return if(!braced) - to_chat(user, "You brace [src] against the ground in a firm sweeping stance.") + to_chat(user, SPAN_NOTICE("You brace [src] against the ground in a firm sweeping stance.")) RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(sweep)) RegisterSignal(src, COMSIG_CYBORG_ITEM_DEACTIVATED, PROC_REF(stow_broom)) else - to_chat(user, "You unbrace [src] from the ground and enter a neutral stance.") + to_chat(user, SPAN_NOTICE("You unbrace [src] from the ground and enter a neutral stance.")) UnregisterSignal(user, COMSIG_MOVABLE_MOVED) UnregisterSignal(src, COMSIG_CYBORG_ITEM_DEACTIVATED) braced = !braced @@ -76,7 +76,7 @@ Keeping it in for adminabuse but the malf one is /obj/item/melee/baton/borg_stun /obj/item/borg/push_broom/proc/stow_broom(datum/source, mob/user) SIGNAL_HANDLER // COMSIG_CYBORG_ITEM_DEACTIVATED braced = FALSE - to_chat(user, "You unbrace [src] and stow it away.") + to_chat(user, SPAN_NOTICE("You unbrace [src] and stow it away.")) UnregisterSignal(user, COMSIG_MOVABLE_MOVED) UnregisterSignal(src, COMSIG_CYBORG_ITEM_DEACTIVATED) @@ -104,7 +104,7 @@ Keeping it in for adminabuse but the malf one is /obj/item/melee/baton/borg_stun else garbage.Move(new_item_loc, user.dir) if(trashed_into) - to_chat(user, "You sweep the pile of garbage into [trashed_into].") + to_chat(user, SPAN_NOTICE("You sweep the pile of garbage into [trashed_into].")) trash_amount++ if(trash_amount > 20) break @@ -130,9 +130,9 @@ Keeping it in for adminabuse but the malf one is /obj/item/melee/baton/borg_stun return ..() H.visible_message( - "[user] sweeps [H]'s legs out from under [H.p_them()]!", - "[user] sweeps your legs out from under you!", - "You hear sweeping." + SPAN_DANGER("[user] sweeps [H]'s legs out from under [H.p_them()]!"), + SPAN_USERDANGER("[user] sweeps your legs out from under you!"), + SPAN_ITALICS("You hear sweeping.") ) playsound(get_turf(user), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) H.apply_damage(20, BRUTE) diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 96fbb028ded..d31d1121c82 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -30,7 +30,7 @@ if(loc != user) return model_info = choice - to_chat(usr, "You change the company limb model to [choice].") + to_chat(usr, SPAN_NOTICE("You change the company limb model to [choice].")) /obj/item/robot_parts/l_arm name = "left arm" @@ -195,9 +195,9 @@ chest = W update_icon(UPDATE_OVERLAYS) else if(!CH.wired) - to_chat(user, "You need to attach wires to it first!") + to_chat(user, SPAN_NOTICE("You need to attach wires to it first!")) else - to_chat(user, "You need to attach a cell to it first!") + to_chat(user, SPAN_NOTICE("You need to attach a cell to it first!")) if(istype(W, /obj/item/robot_parts/head)) var/obj/item/robot_parts/head/HD = W @@ -209,26 +209,26 @@ head = W update_icon(UPDATE_OVERLAYS) else - to_chat(user, "You need to attach a flash to it first!") + to_chat(user, SPAN_NOTICE("You need to attach a flash to it first!")) if(istype(W, /obj/item/multitool)) if(check_completion()) Interact(user) else - to_chat(user, "The endoskeleton must be assembled before debugging can begin!") + to_chat(user, SPAN_WARNING("The endoskeleton must be assembled before debugging can begin!")) if(istype(W, /obj/item/mmi)) var/obj/item/mmi/M = W if(check_completion()) if(!isturf(loc)) - to_chat(user, "You can't put [M] in, the frame has to be standing on the ground to be perfectly precise.") + to_chat(user, SPAN_WARNING("You can't put [M] in, the frame has to be standing on the ground to be perfectly precise.")) return if(!M.brainmob) - to_chat(user, "Sticking an empty [M] into the frame would sort of defeat the purpose.") + to_chat(user, SPAN_WARNING("Sticking an empty [M] into the frame would sort of defeat the purpose.")) return if(jobban_isbanned(M.brainmob, "Cyborg") || jobban_isbanned(M.brainmob, "nonhumandept")) - to_chat(user, "This [W] is not fit to serve as a cyborg!") + to_chat(user, SPAN_WARNING("This [W] is not fit to serve as a cyborg!")) return if(!M.brainmob.key) @@ -238,17 +238,17 @@ G.notify_cloning("Somebody is trying to borg you! Re-enter your corpse if you want to be borged!", 'sound/voice/liveagain.ogg', src) M.next_possible_ghost_ping = world.time + 30 SECONDS // Avoid spam else - to_chat(user, "[M] is completely unresponsive; there's no point.") + to_chat(user, SPAN_NOTICE("[M] is completely unresponsive; there's no point.")) return - to_chat(user, "[M] is currently inactive. Try again later.") + to_chat(user, SPAN_WARNING("[M] is currently inactive. Try again later.")) return if(M.brainmob.stat == DEAD) - to_chat(user, "Sticking a dead [M] into the frame would sort of defeat the purpose.") + to_chat(user, SPAN_WARNING("Sticking a dead [M] into the frame would sort of defeat the purpose.")) return if(M.brainmob.mind?.has_antag_datum(/datum/antagonist/rev/head)) - to_chat(user, "The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept [M].") + to_chat(user, SPAN_WARNING("The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept [M].")) return @@ -283,8 +283,8 @@ if(O.mind && O.mind.special_role && !M.syndiemmi) O.mind.store_memory("As a cyborg, you must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead.") - to_chat(O, "You have been robotized!") - to_chat(O, "You must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead.") + to_chat(O, SPAN_USERDANGER("You have been robotized!")) + to_chat(O, SPAN_DANGER("You must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead.")) O.job = "Cyborg" @@ -296,9 +296,9 @@ O.mmi = W if(O.mmi.syndiemmi) O.syndiemmi_override() - to_chat(O, "ALERT: Foreign hardware detected.") - to_chat(O, "ERRORERRORERROR") - to_chat(O, "Obey these laws:") + to_chat(O, SPAN_WARNING("ALERT: Foreign hardware detected.")) + to_chat(O, SPAN_WARNING("ERRORERRORERROR")) + to_chat(O, SPAN_BOLDWARNING("Obey these laws:")) O.laws.show_laws(O) O.Namepick() @@ -309,13 +309,13 @@ if(!locomotion) O.SetLockdown(TRUE) - to_chat(O, "Error: Servo motors unresponsive. Lockdown enabled.") + to_chat(O, SPAN_DANGER("Error: Servo motors unresponsive. Lockdown enabled.")) else - to_chat(user, "The MMI must go in after everything else!") + to_chat(user, SPAN_WARNING("The MMI must go in after everything else!")) if(is_pen(W)) - to_chat(user, "You need to use a multitool to name [src]!") + to_chat(user, SPAN_WARNING("You need to use a multitool to name [src]!")) return /obj/item/robot_parts/robot_suit/proc/Interact(mob/user) @@ -336,7 +336,7 @@ return var/obj/item/item_in_hand = living_user.get_active_hand() if(!istype(item_in_hand, /obj/item/multitool)) - to_chat(living_user, "You need a multitool!") + to_chat(living_user, SPAN_WARNING("You need a multitool!")) return if(href_list["Name"]) @@ -351,7 +351,7 @@ else if(href_list["Master"]) forced_ai = select_active_ai(usr) if(!forced_ai) - to_chat(usr, "No active AIs detected.") + to_chat(usr, SPAN_ERROR("No active AIs detected.")) else if(href_list["Law"]) lawsync = !lawsync @@ -370,45 +370,45 @@ ..() if(istype(W, /obj/item/stock_parts/cell)) if(cell) - to_chat(user, "You have already inserted a cell!") + to_chat(user, SPAN_NOTICE("You have already inserted a cell!")) return else user.drop_item() W.forceMove(src) cell = W - to_chat(user, "You insert the cell!") + to_chat(user, SPAN_NOTICE("You insert the cell!")) if(istype(W, /obj/item/stack/cable_coil)) if(wired) - to_chat(user, "You have already inserted wire!") + to_chat(user, SPAN_NOTICE("You have already inserted wire!")) return else var/obj/item/stack/cable_coil/coil = W coil.use(1) wired = TRUE - to_chat(user, "You insert the wire!") + to_chat(user, SPAN_NOTICE("You insert the wire!")) return /obj/item/robot_parts/head/attackby__legacy__attackchain(obj/item/W as obj, mob/user as mob, params) ..() if(istype(W, /obj/item/flash)) if(isrobot(user)) - to_chat(user, "How do you propose to do that?") + to_chat(user, SPAN_WARNING("How do you propose to do that?")) return else if(flash1 && flash2) - to_chat(user, "You have already inserted the eyes!") + to_chat(user, SPAN_NOTICE("You have already inserted the eyes!")) return else if(flash1) user.drop_item() W.forceMove(src) flash2 = W - to_chat(user, "You insert the flash into the eye socket!") + to_chat(user, SPAN_NOTICE("You insert the flash into the eye socket!")) else user.drop_item() W.forceMove(src) flash1 = W - to_chat(user, "You insert the flash into the eye socket!") + to_chat(user, SPAN_NOTICE("You insert the flash into the eye socket!")) else if(istype(W, /obj/item/stock_parts/manipulator)) - to_chat(user, "You install some manipulators and modify the head, creating a functional spider-bot!") + to_chat(user, SPAN_NOTICE("You install some manipulators and modify the head, creating a functional spider-bot!")) new /mob/living/basic/spiderbot(get_turf(loc)) user.drop_item() qdel(W) @@ -416,8 +416,8 @@ /obj/item/robot_parts/emag_act(user) if(sabotaged) - to_chat(user, "[src] is already sabotaged!") + to_chat(user, SPAN_WARNING("[src] is already sabotaged!")) else - to_chat(user, "You slide the emag into the dataport on [src] and short out the safeties.") + to_chat(user, SPAN_WARNING("You slide the emag into the dataport on [src] and short out the safeties.")) sabotaged = TRUE return TRUE diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index bdf315b867d..75525e8562e 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -32,7 +32,7 @@ if(!pre_install_checks(user, R)) return if(!user.drop_item()) - to_chat(user, "\The [src] is stuck to your hand, you cannot install it in [R]") + to_chat(user, SPAN_NOTICE("\The [src] is stuck to your hand, you cannot install it in [R]")) return FALSE if(!do_install(R)) return @@ -51,15 +51,15 @@ */ /obj/item/borg/upgrade/proc/pre_install_checks(mob/user, mob/living/silicon/robot/R) if(R.stat == DEAD) - to_chat(user, "[src] will not function on a deceased cyborg.") + to_chat(user, SPAN_WARNING("[src] will not function on a deceased cyborg.")) return if(module_type && !istype(R.module, module_type)) - to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!") - to_chat(user, "There's no mounting point for the module!") + to_chat(R, SPAN_WARNING("Upgrade mounting error! No suitable hardpoint detected!")) + to_chat(user, SPAN_WARNING("There's no mounting point for the module!")) return var/obj/item/borg/upgrade/u = locate(type) in R if(u && !allow_duplicate) - to_chat(user, "This unit already has [src] installed!") + to_chat(user, SPAN_NOTICE("This unit already has [src] installed!")) return return TRUE @@ -128,7 +128,7 @@ /obj/item/borg/upgrade/rename/do_install(mob/living/silicon/robot/R) if(!R.allow_rename) - to_chat(R, "Internal diagnostic error: incompatible upgrade module detected.") + to_chat(R, SPAN_WARNING("Internal diagnostic error: incompatible upgrade module detected.")) return R.notify_ai(3, R.name, heldname) R.name = heldname @@ -146,7 +146,7 @@ /obj/item/borg/upgrade/restart/do_install(mob/living/silicon/robot/R) if(R.health < 0) - to_chat(usr, "You have to repair the cyborg before using this module!") + to_chat(usr, SPAN_WARNING("You have to repair the cyborg before using this module!")) return if(!R.key) @@ -199,10 +199,10 @@ /obj/item/borg/upgrade/selfrepair/ui_action_click() on = !on if(on) - to_chat(cyborg, "You activate the self-repair module.") + to_chat(cyborg, SPAN_NOTICE("You activate the self-repair module.")) START_PROCESSING(SSobj, src) else - to_chat(cyborg, "You deactivate the self-repair module.") + to_chat(cyborg, SPAN_NOTICE("You deactivate the self-repair module.")) STOP_PROCESSING(SSobj, src) update_icon(UPDATE_ICON_STATE) @@ -225,12 +225,12 @@ if(cyborg && (cyborg.stat != DEAD) && on) if(!cyborg.cell) - to_chat(cyborg, "Self-repair module deactivated. Please, insert the power cell.") + to_chat(cyborg, SPAN_WARNING("Self-repair module deactivated. Please, insert the power cell.")) deactivate() return if(cyborg.cell.charge < powercost * 2) - to_chat(cyborg, "Self-repair module deactivated. Please recharge.") + to_chat(cyborg, SPAN_WARNING("Self-repair module deactivated. Please recharge.")) deactivate() return @@ -253,7 +253,7 @@ msgmode = "critical" else if(cyborg.health < cyborg.maxHealth) msgmode = "normal" - to_chat(cyborg, "Self-repair is active in [msgmode] mode.") + to_chat(cyborg, SPAN_NOTICE("Self-repair is active in [SPAN_BOLDNOTICE("[msgmode]")] mode.")) msg_cooldown = world.time else deactivate() @@ -284,11 +284,11 @@ /obj/item/borg/upgrade/disablercooler/do_install(mob/living/silicon/robot/R) var/obj/item/gun/energy/disabler/cyborg/T = locate() in R.module.modules if(!T) - to_chat(usr, "There's no disabler in this unit!") + to_chat(usr, SPAN_NOTICE("There's no disabler in this unit!")) return if(T.charge_delay <= 2) - to_chat(R, "A cooling unit is already installed!") - to_chat(usr, "There's no room for another cooling unit!") + to_chat(R, SPAN_NOTICE("A cooling unit is already installed!")) + to_chat(usr, SPAN_NOTICE("There's no room for another cooling unit!")) return T.charge_delay = max(2 , T.charge_delay - 4) @@ -390,7 +390,7 @@ else cyborg.floorbuffer = FALSE cyborg.speed -= buffer_speed - to_chat(cyborg, "The floor buffer is now [cyborg.floorbuffer ? "active" : "deactivated"].") + to_chat(cyborg, SPAN_NOTICE("The floor buffer is now [cyborg.floorbuffer ? "active" : "deactivated"].")) /obj/item/borg/upgrade/floorbuffer/Destroy() if(cyborg) @@ -451,7 +451,7 @@ if(R.weapons_unlock) return // They already had the safety override upgrade, or they're a cyborg type which has this by default. R.weapons_unlock = TRUE - to_chat(R, "Warning: safety protocols have been disabled!") + to_chat(R, SPAN_WARNING("Warning: safety protocols have been disabled!")) return TRUE /obj/item/borg/upgrade/syndie_soap diff --git a/code/game/objects/items/roulette.dm b/code/game/objects/items/roulette.dm index b807bf7f142..d592e1e34e8 100644 --- a/code/game/objects/items/roulette.dm +++ b/code/game/objects/items/roulette.dm @@ -15,7 +15,7 @@ /obj/structure/roulette/examine(mob/user) . = ..() - . += "Interact to customise it and spin with Alt-Click." + . += SPAN_NOTICE("Interact to customise it and spin with Alt-Click.") . += "The options are: \n[options.Join(".\n")]" /obj/structure/roulette/AltClick(mob/user) diff --git a/code/game/objects/items/rpd.dm b/code/game/objects/items/rpd.dm index 9db884e6d50..b18348ef104 100644 --- a/code/game/objects/items/rpd.dm +++ b/code/game/objects/items/rpd.dm @@ -121,7 +121,7 @@ P.dir = turn(iconrotation, -45) else if(!iconrotation) //If user selected a rotation P.dir = user.dir - to_chat(user, "[src] rapidly dispenses [P]!") + to_chat(user, SPAN_NOTICE("[src] rapidly dispenses [P]!")) P.label = pipe_label automatic_wrench_down(user, P) activate_rpd(TRUE) @@ -134,7 +134,7 @@ P.dir = user.dir if(!iconrotation && whatdpipe != PIPE_DISPOSALS_JUNCTION_RIGHT) //Disposals pipes are in the opposite direction to atmos pipes, so we need to flip them. Junctions don't have this quirk though P.flip() - to_chat(user, "[src] rapidly dispenses [P]!") + to_chat(user, SPAN_NOTICE("[src] rapidly dispenses [P]!")) automatic_wrench_down(user, P) activate_rpd(TRUE) @@ -150,7 +150,7 @@ S.dir = iconrotation ? iconrotation : user.dir - to_chat(user, "[src] rapidly dispenses [S]!") + to_chat(user, SPAN_NOTICE("[src] rapidly dispenses [S]!")) automatic_wrench_down(user, S) activate_rpd(TRUE) @@ -194,10 +194,10 @@ to_chat(user, "[src] sucks up the loose pipes on [T].") activate_rpd() else - to_chat(user, "There were no loose pipes on [T].") + to_chat(user, SPAN_NOTICE("There were no loose pipes on [T].")) /obj/item/rpd/proc/delete_single_pipe(mob/user, obj/P) //Delete a single pipe - to_chat(user, "[src] sucks up [P].") + to_chat(user, SPAN_NOTICE("[src] sucks up [P].")) QDEL_NULL(P) activate_rpd() @@ -291,7 +291,7 @@ /obj/item/rpd/proc/radial_menu(mob/user) if(!check_menu(user)) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_NOTICE("You can't do that right now!")) return var/list/choices = list( RPD_MENU_ROTATE = image(icon = 'icons/obj/interface.dmi', icon_state = "rpd_rotate"), @@ -314,7 +314,7 @@ mode = RPD_DELETE_MODE else return //Either nothing was selected, or an invalid mode was selected - to_chat(user, "You set [src]'s mode.") + to_chat(user, SPAN_NOTICE("You set [src]'s mode.")) /obj/item/rpd/ranged_interact_with_atom(atom/target, mob/living/user, list/modifiers) if(!ranged) @@ -362,7 +362,7 @@ // This is done by calling rpd_blocksusage on every /obj in the tile. If any block usage, fail at this point. for(var/obj/O in T) if(O.rpd_blocksusage()) - to_chat(user, "[O] blocks [src]!") + to_chat(user, SPAN_WARNING("[O] blocks [src]!")) return ITEM_INTERACT_COMPLETE // If we get here, then we're effectively acting on the turf, probably placing a pipe. @@ -370,11 +370,11 @@ if(get_dist(src, T) >= (user.client.maxview() / 2)) message_admins("\[EXPLOIT] [key_name_admin(user)] attempted to place pipes with a BRPD via a camera console (attempted range exploit).") playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE) - to_chat(user, "ERROR: \The [T] is out of [src]'s range!") + to_chat(user, SPAN_WARNING("ERROR: \The [T] is out of [src]'s range!")) return ITEM_INTERACT_COMPLETE if(!(user in hearers(12, T))) // Checks if user can hear the target turf, cause viewers doesnt work for it. - to_chat(user, "[src] needs full visibility to determine the dispensing location.") + to_chat(user, SPAN_WARNING("[src] needs full visibility to determine the dispensing location.")) playsound(src, 'sound/machines/synth_no.ogg', 50, TRUE) return ITEM_INTERACT_COMPLETE diff --git a/code/game/objects/items/salvage.dm b/code/game/objects/items/salvage.dm index da1cb6e4862..1770d5dc9cc 100644 --- a/code/game/objects/items/salvage.dm +++ b/code/game/objects/items/salvage.dm @@ -14,7 +14,7 @@ /obj/item/salvage/examine(mob/user) . = ..() - . += "You can bring this back to Cargo to sell to Central Command onboard the 'NTV Arion' Supply shuttle." + . += SPAN_NOTICE("You can bring this back to Cargo to sell to Central Command onboard the 'NTV Arion' Supply shuttle.") /// Ruin Salvage, misc loot gained from looking around ruins. diff --git a/code/game/objects/items/scratch_card.dm b/code/game/objects/items/scratch_card.dm index 0953027edda..c729e3f4b4b 100644 --- a/code/game/objects/items/scratch_card.dm +++ b/code/game/objects/items/scratch_card.dm @@ -21,7 +21,7 @@ return if(prob(winning_chance)) - to_chat(user, "Congratulations! Redeem your prize at the nearest ATM!") + to_chat(user, SPAN_NOTICE("Congratulations! Redeem your prize at the nearest ATM!")) icon_state = "scard_winner" winner = TRUE else @@ -35,7 +35,7 @@ /obj/item/scratch/interact_with_atom(atom/target, mob/living/user, list/modifiers) if(!winner || !istype(target, /obj/machinery/economy/atm)) return ..() - + playsound(user, 'sound/machines/ping.ogg', 50, TRUE) target.atom_say("Congratulations for winning the lottery!") var/obj/item/reward = new /obj/item/stack/spacecash/c1000 diff --git a/code/game/objects/items/scrolls.dm b/code/game/objects/items/scrolls.dm index ab819ea7024..56cf21cb17d 100644 --- a/code/game/objects/items/scrolls.dm +++ b/code/game/objects/items/scrolls.dm @@ -18,12 +18,12 @@ /obj/item/teleportation_scroll/examine(mob/user) . = ..() - . += "Number of uses: [uses]. This scroll will vanish after the final use." - . += "P.S. Don't forget to bring your gear, you'll need it to cast most spells." + . += SPAN_NOTICE("Number of uses: [uses]. This scroll will vanish after the final use.") + . += SPAN_NOTICE("P.S. Don't forget to bring your gear, you'll need it to cast most spells.") /obj/item/teleportation_scroll/attack_self__legacy__attackchain(mob/living/user) if(!uses) //somehow? - to_chat(user, "You attempt to read the scroll but it disintegrates in your hand, it appears that is has run out of charges!") + to_chat(user, SPAN_WARNING("You attempt to read the scroll but it disintegrates in your hand, it appears that is has run out of charges!")) qdel(src) return @@ -40,7 +40,7 @@ return //They can't use it if they put it in their bag or drop it and walk off, but if they are stood next to it they can. if(thearea.tele_proof && !istype(thearea, /area/wizard_station)) //Nowhere in SSmapping.teleportlocs should be tele_proof, but better safe than sorry - to_chat(user, "A mysterious force disrupts your arcane spell matrix, and you remain where you are.") + to_chat(user, SPAN_WARNING("A mysterious force disrupts your arcane spell matrix, and you remain where you are.")) return var/datum/effect_system/smoke_spread/smoke = new @@ -55,7 +55,7 @@ L.Add(T) if(!length(L)) - to_chat(user, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.") + to_chat(user, SPAN_WARNING("The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.")) return if(user && user.buckled) @@ -69,7 +69,7 @@ uses-- if(!uses) - to_chat(user, "The scroll fizzles out of existence as the last of the magic within fades.") + to_chat(user, SPAN_WARNING("The scroll fizzles out of existence as the last of the magic within fades.")) qdel(src) user.update_action_buttons_icon() //Update action buttons as some spells might now be castable diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm index e5431ef8987..82475026fa1 100644 --- a/code/game/objects/items/shooting_range.dm +++ b/code/game/objects/items/shooting_range.dm @@ -34,7 +34,7 @@ if(!use_tool(src, user, 0, volume = I.tool_volume)) return overlays.Cut() - to_chat(user, "You slice off [src]'s uneven chunks of aluminium and scorch marks.") + to_chat(user, SPAN_NOTICE("You slice off [src]'s uneven chunks of aluminium and scorch marks.")) /obj/item/target/attack_hand(mob/user) // taking pinned targets off! @@ -89,7 +89,7 @@ if(LAZYLEN(overlays) <= 35 && C.GetPixel(p_x, p_y)) // if the located pixel isn't blank (null) hp -= P.damage if(hp <= 0) - visible_message("[src] breaks into tiny pieces and collapses!") + visible_message(SPAN_DANGER("[src] breaks into tiny pieces and collapses!")) qdel(src) return var/image/bullet_hole = image('icons/effects/effects.dmi', "scorch", OBJ_LAYER + 0.5) diff --git a/code/game/objects/items/soap.dm b/code/game/objects/items/soap.dm index 8480faadc75..987c138d90e 100644 --- a/code/game/objects/items/soap.dm +++ b/code/game/objects/items/soap.dm @@ -39,9 +39,9 @@ user.adjust_nutrition(5) user.reagents.add_reagent("soapreagent", 3) if(times_eaten < max_bites) - to_chat(user, "You take a bite of [src]. Delicious!") + to_chat(user, SPAN_NOTICE("You take a bite of [src]. Delicious!")) else - to_chat(user, "You finish eating [src].") + to_chat(user, SPAN_NOTICE("You finish eating [src].")) qdel(src) /obj/item/soap/examine(mob/user) @@ -49,19 +49,19 @@ if(!user.Adjacent(src) || !times_eaten) return if(times_eaten < (max_bites * 0.3)) - . += "[src] has bite marks on it!" + . += SPAN_NOTICE("[src] has bite marks on it!") else if(times_eaten < (max_bites * 0.6)) - . += "Big chunks of [src] have been chewed off!" + . += SPAN_NOTICE("Big chunks of [src] have been chewed off!") else if(times_eaten < (max_bites * 0.9)) - . += "Most of [src] has been gnawed away!" + . += SPAN_NOTICE("Most of [src] has been gnawed away!") else - . += "[src] has been eaten down to a sliver!" + . += SPAN_NOTICE("[src] has been eaten down to a sliver!") /obj/item/soap/attack__legacy__attackchain(mob/target as mob, mob/user as mob) if(target && user && ishuman(target) && ishuman(user) && !target.stat && !user.stat && user.zone_selected == "mouth") - user.visible_message("[user] starts washing [target]'s mouth out with [name]!") + user.visible_message(SPAN_WARNING("[user] starts washing [target]'s mouth out with [name]!")) if(do_after(user, cleanspeed, target = target)) - user.visible_message("[user] washes [target]'s mouth out with [name]!") + user.visible_message(SPAN_WARNING("[user] washes [target]'s mouth out with [name]!")) target.reagents.add_reagent("soapreagent", 6) return ..() @@ -86,11 +86,11 @@ if(!proximity) return if(user.client && (target in user.client.screen)) - to_chat(user, "You need to take that [target.name] off before 'cleaning' it.") + to_chat(user, SPAN_NOTICE("You need to take that [target.name] off before 'cleaning' it.")) else - user.visible_message("[user] begins to smear [src] on \the [target.name].") + user.visible_message(SPAN_WARNING("[user] begins to smear [src] on \the [target.name].")) if(do_after(user, cleanspeed, target = target)) - to_chat(user, "You 'clean' \the [target.name].") + to_chat(user, SPAN_NOTICE("You 'clean' \the [target.name].")) if(issimulatedturf(target)) new /obj/effect/decal/cleanable/blood/gibs/cleangibs(target) else if(iscarbon(target)) diff --git a/code/game/objects/items/sport.dm b/code/game/objects/items/sport.dm index 140ca8f0929..1b8e146d8ee 100644 --- a/code/game/objects/items/sport.dm +++ b/code/game/objects/items/sport.dm @@ -21,7 +21,7 @@ user.unequip(src) user.put_in_inactive_hand(src) else - to_chat(user, "You can't dribble to an occupied hand!") + to_chat(user, SPAN_WARNING("You can't dribble to an occupied hand!")) /obj/item/beach_ball/baseball name = "baseball" @@ -71,16 +71,16 @@ if(istype(W, /obj/item/grab) && get_dist(src, user) <= 1) var/obj/item/grab/G = W if(G.state < GRAB_AGGRESSIVE) - to_chat(user, "You need a better grip to do that!") + to_chat(user, SPAN_WARNING("You need a better grip to do that!")) return ITEM_INTERACT_COMPLETE G.affecting.forceMove(loc) G.affecting.Weaken(10 SECONDS) - visible_message("[G.assailant] dunks [G.affecting] into [src]!") + visible_message(SPAN_WARNING("[G.assailant] dunks [G.affecting] into [src]!")) qdel(W) return ITEM_INTERACT_COMPLETE else if(isitem(W) && get_dist(src,user) <= 1) user.drop_item(src) - visible_message("[user] dunks [W] into [src]!") + visible_message(SPAN_NOTICE("[user] dunks [W] into [src]!")) return ITEM_INTERACT_COMPLETE /obj/structure/holohoop/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) @@ -88,9 +88,9 @@ var/atom/movable/thrower = throwingdatum?.get_thrower() if(prob(50) || HAS_TRAIT(thrower, TRAIT_BADASS) || HAS_TRAIT(thrower, TRAIT_COOL)) AM.forceMove(get_turf(src)) - visible_message("Swish! [AM] lands in [src].") + visible_message(SPAN_NOTICE("Swish! [AM] lands in [src].")) else - visible_message("[AM] bounces off of [src]'s rim!") + visible_message(SPAN_DANGER("[AM] bounces off of [src]'s rim!")) return ..() else return ..() diff --git a/code/game/objects/items/stacks/medical_packs.dm b/code/game/objects/items/stacks/medical_packs.dm index 1d621d18501..c92d5782d17 100644 --- a/code/game/objects/items/stacks/medical_packs.dm +++ b/code/game/objects/items/stacks/medical_packs.dm @@ -19,15 +19,15 @@ /obj/item/stack/medical/proc/apply(mob/living/M, mob/user) if(get_amount() <= 0) if(is_cyborg) - to_chat(user, "You don't have enough energy to dispense more [singular_name]\s!") + to_chat(user, SPAN_WARNING("You don't have enough energy to dispense more [singular_name]\s!")) return TRUE if(!iscarbon(M) && !isanimal_or_basicmob(M)) - to_chat(user, "[src] cannot be applied to [M]!") + to_chat(user, SPAN_DANGER("[src] cannot be applied to [M]!")) return TRUE if(!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, SPAN_DANGER("You don't have the dexterity to do this!")) return TRUE @@ -39,15 +39,15 @@ return TRUE if(!affecting) - to_chat(user, "That limb is missing!") + to_chat(user, SPAN_DANGER("That limb is missing!")) return TRUE if(affecting.is_robotic()) - to_chat(user, "This can't be used on a robotic limb.") + to_chat(user, SPAN_DANGER("This can't be used on a robotic limb.")) return TRUE if(M == user && !unique_handling) - user.visible_message("[user] starts to apply [src] on [H]...") + user.visible_message(SPAN_NOTICE("[user] starts to apply [src] on [H]...")) if(!do_mob(user, H, delay)) return TRUE return @@ -55,25 +55,25 @@ if(isanimal_or_basicmob(M)) var/mob/living/critter = M if(!(critter.healable)) - to_chat(user, "You cannot use [src] on [critter]!") + to_chat(user, SPAN_NOTICE("You cannot use [src] on [critter]!")) return else if(critter.health == critter.maxHealth) - to_chat(user, "[critter] is at full health.") + to_chat(user, SPAN_NOTICE("[critter] is at full health.")) return else if(heal_brute < 1) - to_chat(user, "[src] won't help [critter] at all.") + to_chat(user, SPAN_NOTICE("[src] won't help [critter] at all.")) return critter.heal_organ_damage(heal_brute, heal_burn) - user.visible_message("[user] applies [src] on [critter].", \ - "You apply [src] on [critter].") + user.visible_message(SPAN_GREEN("[user] applies [src] on [critter]."), \ + SPAN_GREEN("You apply [src] on [critter].")) use(1) else M.heal_organ_damage(heal_brute, heal_burn) - user.visible_message("[user] applies [src] on [M].", \ - "You apply [src] on [M].") + user.visible_message(SPAN_GREEN("[user] applies [src] on [M]."), \ + SPAN_GREEN("You apply [src] on [M].")) use(1) /obj/item/stack/medical/attack__legacy__attackchain(mob/living/M, mob/user) @@ -85,8 +85,8 @@ /obj/item/stack/medical/proc/heal(mob/living/M, mob/user) var/mob/living/carbon/human/H = M var/obj/item/organ/external/affecting = H.get_organ(user.zone_selected) - user.visible_message("[user] [healverb]s the wounds on [H]'s [affecting.name].", \ - "You [healverb] the wounds on [H]'s [affecting.name]." ) + user.visible_message(SPAN_GREEN("[user] [healverb]s the wounds on [H]'s [affecting.name]."), \ + SPAN_GREEN("You [healverb] the wounds on [H]'s [affecting.name].") ) var/rembrute = max(0, heal_brute - affecting.brute_dam) // Maxed with 0 since heal_damage let you pass in a negative value var/remburn = max(0, heal_burn - affecting.burn_dam) // And deduct it from their health (aka deal damage) @@ -115,8 +115,8 @@ E.heal_damage(rembrute, remburn) rembrute = nrembrute remburn = nremburn - user.visible_message("[user] [healverb]s the wounds on [H]'s [E.name] with the remaining medication.", \ - "You [healverb] the wounds on [H]'s [E.name] with the remaining medication." ) + user.visible_message(SPAN_GREEN("[user] [healverb]s the wounds on [H]'s [E.name] with the remaining medication."), \ + SPAN_GREEN("You [healverb] the wounds on [H]'s [E.name] with the remaining medication.") ) return affecting //Bruise Packs// @@ -137,12 +137,12 @@ /obj/item/stack/medical/bruise_pack/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(I.sharp) if(get_amount() < 2) - to_chat(user, "You need at least two gauzes to do this!") + to_chat(user, SPAN_WARNING("You need at least two gauzes to do this!")) return new /obj/item/stack/sheet/cloth(user.drop_location()) user.visible_message("[user] cuts [src] into pieces of cloth with [I].", \ - "You cut [src] into pieces of cloth with [I].", \ - "You hear cutting.") + SPAN_NOTICE("You cut [src] into pieces of cloth with [I]."), \ + SPAN_ITALICS("You hear cutting.")) use(2) else return ..() @@ -156,7 +156,7 @@ var/obj/item/organ/external/affecting = H.get_organ(user.zone_selected) for(var/obj/item/organ/external/E in H.bodyparts) if(E.open >= ORGAN_ORGANIC_OPEN) - to_chat(user, "[E] is cut open, you'll need more than a bandage!") + to_chat(user, SPAN_WARNING("[E] is cut open, you'll need more than a bandage!")) return affecting.germ_level = 0 @@ -229,12 +229,12 @@ H.UpdateDamageIcon() use(1) else - to_chat(user, "[affecting] is cut open, you'll need more than some ointment!") + to_chat(user, SPAN_WARNING("[affecting] is cut open, you'll need more than some ointment!")) /obj/item/stack/medical/ointment/heal(mob/living/M, mob/user) var/obj/item/organ/external/affecting = ..() if((affecting.status & ORGAN_BURNT) && !(affecting.status & ORGAN_SALVED)) - to_chat(affecting.owner, "As [src] is applied to your burn wound, you feel a soothing cold and relax.") + to_chat(affecting.owner, SPAN_NOTICE("As [src] is applied to your burn wound, you feel a soothing cold and relax.")) affecting.status |= ORGAN_SALVED addtimer(CALLBACK(affecting, TYPE_PROC_REF(/obj/item/organ/external, remove_ointment), heal_burn), 3 MINUTES) @@ -245,9 +245,9 @@ owner.updatehealth("permanent injury removal") if(!perma_injury) fix_burn_wound(update_health = FALSE) - to_chat(owner, "You feel your [src.name]'s burn wound has fully healed, and the rest of the salve absorbs into it.") + to_chat(owner, SPAN_NOTICE("You feel your [src.name]'s burn wound has fully healed, and the rest of the salve absorbs into it.")) else - to_chat(owner, "You feel your [src.name]'s burn wound has healed a little, but the applied salve has already vanished.") + to_chat(owner, SPAN_NOTICE("You feel your [src.name]'s burn wound has healed a little, but the applied salve has already vanished.")) /obj/item/stack/medical/ointment/advanced name = "advanced burn kit" @@ -322,25 +322,25 @@ var/limb = affecting.name if(affecting.status & ORGAN_SPLINTED) - to_chat(user, "[H]'s [limb] is already splinted!") + to_chat(user, SPAN_DANGER("[H]'s [limb] is already splinted!")) if(tgui_alert(user, "Would you like to remove the splint from [H]'s [limb]?", "Splint removal", list("Yes", "No")) == "Yes") affecting.status &= ~ORGAN_SPLINTED H.handle_splints() - to_chat(user, "You remove the splint from [H]'s [limb].") + to_chat(user, SPAN_NOTICE("You remove the splint from [H]'s [limb].")) return TRUE if((M == user && delay > 0) || (M != user && other_delay > 0)) - user.visible_message("[user] starts to apply [src] to [H]'s [limb].", \ - "You start to apply [src] to [H]'s [limb].", \ - "You hear something being wrapped.") + user.visible_message(SPAN_NOTICE("[user] starts to apply [src] to [H]'s [limb]."), \ + SPAN_NOTICE("You start to apply [src] to [H]'s [limb]."), \ + SPAN_NOTICE("You hear something being wrapped.")) if(M == user && !do_mob(user, H, delay)) return TRUE else if(!do_mob(user, H, other_delay)) return TRUE - user.visible_message("[user] applies [src] to [H]'s [limb].", \ - "You apply [src] to [H]'s [limb].") + user.visible_message(SPAN_NOTICE("[user] applies [src] to [H]'s [limb]."), \ + SPAN_NOTICE("You apply [src] to [H]'s [limb].")) affecting.status |= ORGAN_SPLINTED affecting.splinted_count = H.step_count @@ -385,37 +385,37 @@ . = TRUE if(current_target) if(current_target != target) - to_chat(user, "You're already suturing [current_target].") + to_chat(user, SPAN_WARNING("You're already suturing [current_target].")) return // Allow for cancelling of the target by clicking again interrupt_do_after_once(user, current_target) - to_chat(user, "You stop [healverb] [target.i_yourself(user)].") + to_chat(user, SPAN_WARNING("You stop [healverb] [target.i_yourself(user)].")) return if(!ishuman(target) || !target.can_inject(user, TRUE)) return var/heal_type = (heal_brute ? BRUTE : BURN) var/heal_display = (heal_brute ? BRUTE : "burn") if(!target.get_damage_amount(heal_type)) - to_chat(user, "[target.i_you(user, TRUE)] [target.i_do(user)]n't have any [heal_display] damage.") + to_chat(user, SPAN_WARNING("[target.i_you(user, TRUE)] [target.i_do(user)]n't have any [heal_display] damage.")) return var/obj/item/organ/external/current_limb = target.get_organ(user.zone_selected) if(!current_limb) - to_chat(user, "That limb is missing!") + to_chat(user, SPAN_WARNING("That limb is missing!")) return if(current_limb.is_robotic()) - to_chat(user, "This can't be used on a robotic limb.") + to_chat(user, SPAN_WARNING("This can't be used on a robotic limb.")) return // Swap to another limb if the current one has no damage. if(!most_damaged_limb(target)) - to_chat(user, "[target.i_you(user, TRUE)] [target.i_do(user)]n't have any [heal_display] damage that could be [healverb_past].") + to_chat(user, SPAN_WARNING("[target.i_you(user, TRUE)] [target.i_do(user)]n't have any [heal_display] damage that could be [healverb_past].")) return var/mend_time = delay if(target == user) mend_time = self_delay - user.visible_message("[user] begins [healverb] [target.e_themselves(user)] with [src].", "You begin [healverb] [target.i_your(user)] [current_limb.name] with [src].") + user.visible_message(SPAN_NOTICE("[user] begins [healverb] [target.e_themselves(user)] with [src]."), SPAN_NOTICE("You begin [healverb] [target.i_your(user)] [current_limb.name] with [src].")) current_limb = try_swap_to_most_damaged_limb(target, user, current_limb) if(!current_limb) return @@ -431,7 +431,7 @@ for(var/obj/item/organ/external/E in target.bodyparts) if(E.open >= ORGAN_ORGANIC_OPEN) cut_open = TRUE - to_chat(user, "[target]'s [E.name] is cut open, you'll need more than some [name] to stop [target.i_your(user)] bleeding.") + to_chat(user, SPAN_WARNING("[target]'s [E.name] is cut open, you'll need more than some [name] to stop [target.i_your(user)] bleeding.")) break if(!apply_to(target, user, current_limb, !cut_open)) break @@ -444,7 +444,7 @@ qdel(src) break if(!target.get_damage_amount(heal_type)) - user.visible_message("[user] finishes [healverb] [target.e_themselves(user)] with [src].", "You finish [healverb] [target.i_yourself(user)] with [src].") + user.visible_message(SPAN_WARNING("[user] finishes [healverb] [target.e_themselves(user)] with [src]."), SPAN_NOTICE("You finish [healverb] [target.i_yourself(user)] with [src].")) break var/skip_swap = FALSE @@ -454,12 +454,12 @@ if(new_limb && current_limb != new_limb) current_limb = new_limb skip_swap = TRUE - to_chat(user, "You switch to [healverb] [target.i_your(user)] [current_limb.name].") + to_chat(user, SPAN_NOTICE("You switch to [healverb] [target.i_your(user)] [current_limb.name].")) if(!skip_swap) current_limb = try_swap_to_most_damaged_limb(target, user, current_limb) if(!current_limb) - user.visible_message("[user] finishes [healverb] [target.e_themselves(user)] with [src].", "You finish [healverb] [target.i_yourself(user)] with [src].") + user.visible_message(SPAN_WARNING("[user] finishes [healverb] [target.e_themselves(user)] with [src]."), SPAN_NOTICE("You finish [healverb] [target.i_yourself(user)] with [src].")) break if(!target.can_inject(user, TRUE, current_limb.limb_name)) @@ -506,7 +506,7 @@ if(!new_limb) return if(current_limb != new_limb) - to_chat(user, "You begin [healverb] [target.i_your(user)] [new_limb.name].") + to_chat(user, SPAN_NOTICE("You begin [healverb] [target.i_your(user)] [new_limb.name].")) if(!do_after(user, delay / 2, target = target)) return return new_limb @@ -514,10 +514,10 @@ /obj/item/stack/medical/suture/proc/on_target_zone_change(mob/living/carbon/human/target, mob/user) var/obj/item/organ/external/new_limb = target.get_organ(user.zone_selected) if(!new_limb) - to_chat(user, "That limb is missing!") + to_chat(user, SPAN_WARNING("That limb is missing!")) return FALSE if(new_limb.is_robotic()) - to_chat(user, "This can't be used on a robotic limb.") + to_chat(user, SPAN_WARNING("This can't be used on a robotic limb.")) return FALSE if(heal_brute && new_limb.brute_dam) @@ -601,7 +601,7 @@ /obj/item/suture_needle/examine(mob/user) . = ..() - . += "You can add thread with the crafting menu." + . += SPAN_NOTICE("You can add thread with the crafting menu.") /obj/item/biomesh name = "biomesh" @@ -613,4 +613,4 @@ /obj/item/biomesh/examine(mob/user) . = ..() - . += "It can be made into both normal and advanced regenerative mesh with the crafting menu." + . += SPAN_NOTICE("It can be made into both normal and advanced regenerative mesh with the crafting menu.") diff --git a/code/game/objects/items/stacks/nanopaste.dm b/code/game/objects/items/stacks/nanopaste.dm index a8946b749fa..2f034ecb60c 100644 --- a/code/game/objects/items/stacks/nanopaste.dm +++ b/code/game/objects/items/stacks/nanopaste.dm @@ -18,10 +18,10 @@ if(R.getBruteLoss() || R.getFireLoss()) R.heal_overall_damage(15, 15) use(1) - user.visible_message("[user] applies some [src] at [R]'s damaged areas.",\ - "You apply some [src] at [R]'s damaged areas.") + user.visible_message(SPAN_NOTICE("[user] applies some [src] at [R]'s damaged areas."),\ + SPAN_NOTICE("You apply some [src] at [R]'s damaged areas.")) else - to_chat(user, "All [R]'s systems are nominal.") + to_chat(user, SPAN_NOTICE("All [R]'s systems are nominal.")) if(ishuman(M)) //Repairing robotic limbs and IPCs var/mob/living/carbon/human/H = M @@ -30,33 +30,33 @@ if(external_limb && external_limb.is_robotic()) robotic_limb_repair(user, external_limb, H) else - to_chat(user, "[src] won't work on that.") + to_chat(user, SPAN_NOTICE("[src] won't work on that.")) /obj/item/stack/nanopaste/afterattack__legacy__attackchain(atom/A, mob/user, proximity_flag) if(!ismecha(A) || user.a_intent == INTENT_HARM || !proximity_flag) return var/obj/mecha/mecha = A if((mecha.obj_integrity >= mecha.max_integrity) && !mecha.internal_damage) - to_chat(user, "[mecha] is at full integrity!") + to_chat(user, SPAN_NOTICE("[mecha] is at full integrity!")) return if(mecha.state == MECHA_MAINT_OFF) - to_chat(user, "[mecha] cannot be repaired without maintenance protocols active!") + to_chat(user, SPAN_WARNING("[mecha] cannot be repaired without maintenance protocols active!")) return if(mecha.repairing) - to_chat(user, "[mecha] is currently being repaired!") + to_chat(user, SPAN_NOTICE("[mecha] is currently being repaired!")) return if(mecha.internal_damage & MECHA_INT_TANK_BREACH) mecha.clearInternalDamage(MECHA_INT_TANK_BREACH) - user.visible_message("[user] repairs the damaged air tank.", "You repair the damaged air tank.") + user.visible_message(SPAN_NOTICE("[user] repairs the damaged air tank."), SPAN_NOTICE("You repair the damaged air tank.")) else if(mecha.obj_integrity < mecha.max_integrity) mecha.obj_integrity += min(20, mecha.max_integrity - mecha.obj_integrity) use(1) - user.visible_message("[user] applies some [src] to [mecha]'s damaged areas.",\ - "You apply some [src] to [mecha]'s damaged areas.") + user.visible_message(SPAN_NOTICE("[user] applies some [src] to [mecha]'s damaged areas."),\ + SPAN_NOTICE("You apply some [src] to [mecha]'s damaged areas.")) /obj/item/stack/nanopaste/proc/robotic_limb_repair(mob/user, obj/item/organ/external/external_limb, mob/living/carbon/human/H) if(!external_limb.get_damage()) - to_chat(user, "Nothing to fix here.") + to_chat(user, SPAN_NOTICE("Nothing to fix here.")) return use(1) var/remaining_heal = 15 @@ -84,7 +84,7 @@ new_remaining_heal = max(remaining_heal - other_external_limb.get_damage(), 0) other_external_limb.heal_damage(remaining_heal, remaining_heal, FALSE, TRUE) remaining_heal = new_remaining_heal - user.visible_message("[user] applies some nanite paste at [H]'s [other_external_limb.name] with [src].") + user.visible_message(SPAN_NOTICE("[user] applies some nanite paste at [H]'s [other_external_limb.name] with [src].")) if(H.bleed_rate && ismachineperson(H)) H.bleed_rate = 0 @@ -94,7 +94,7 @@ /obj/item/stack/nanopaste/cyborg/attack__legacy__attackchain(mob/living/M, mob/user) if(get_amount() <= 0) - to_chat(user, "You don't have enough energy to dispense more [name]!") + to_chat(user, SPAN_WARNING("You don't have enough energy to dispense more [name]!")) else return ..() diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 31d77700f11..9d926147182 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -38,7 +38,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( /obj/item/stack/rods/examine(mob/user) . = ..() - . += "Using rods on a floor plating will install a reinforced floor. You can make reinforced glass by combining rods and normal glass sheets." + . += SPAN_NOTICE("Using rods on a floor plating will install a reinforced floor. You can make reinforced glass by combining rods and normal glass sheets.") /obj/item/stack/rods/cyborg energy_type = /datum/robot_storage/energy/rods @@ -67,7 +67,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( /obj/item/stack/rods/welder_act(mob/user, obj/item/I) if(get_amount() < 2) - to_chat(user, "You need at least two rods to do this!") + to_chat(user, SPAN_WARNING("You need at least two rods to do this!")) return . = TRUE @@ -78,9 +78,9 @@ GLOBAL_LIST_INIT(rod_recipes, list ( if(new_item.get_amount() <= 0) // stack was moved into another one on the pile new_item = locate() in user.loc - visible_message("[user.name] shapes [src] into metal with [I]!", \ - "You shape [src] into metal with [I]!", \ - "You hear welding.") + visible_message(SPAN_NOTICE("[user.name] shapes [src] into metal with [I]!"), \ + SPAN_NOTICE("You shape [src] into metal with [I]!"), \ + SPAN_WARNING("You hear welding.")) var/replace = user.is_in_inactive_hand(src) use(2) if(get_amount() <= 0 && replace) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index ce7efae501c..8e79d827064 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -40,7 +40,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( /obj/item/stack/sheet/glass/examine(mob/user) . = ..() - . += "Using rods on a floor plating will install glass floor. You can make reinforced glass by combining rods and normal glass sheets." + . += SPAN_NOTICE("Using rods on a floor plating will install glass floor. You can make reinforced glass by combining rods and normal glass sheets.") /obj/item/stack/sheet/glass/fifty amount = 50 @@ -54,7 +54,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( . = ..() var/mob/living/silicon/robot/robot = user if(!istype(robot.module, /obj/item/robot_module/drone)) - . += "You can refill your glass by using your magnetic gripper on the Ore Redemption machine, or by picking it up from the ground." + . += SPAN_NOTICE("You can refill your glass by using your magnetic gripper on the Ore Redemption machine, or by picking it up from the ground.") /obj/item/stack/sheet/glass/cyborg/drone energy_type = /datum/robot_storage/energy/glass @@ -70,7 +70,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( to_chat(user, "There is not enough wire in this coil. You need 5 lengths.") return CC.use(5) - to_chat(user, "You attach wire to [src].") + to_chat(user, SPAN_NOTICE("You attach wire to [src].")) new /obj/item/stack/light_w(user.loc) use(1) return @@ -121,7 +121,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( /obj/item/stack/sheet/rglass/examine(mob/user) . = ..() - . += "Reinforced glass is much stronger against damage than normal glass, otherwise it functions like normal glass does." + . += SPAN_NOTICE("Reinforced glass is much stronger against damage than normal glass, otherwise it functions like normal glass does.") /obj/item/stack/sheet/rglass/fifty amount = 50 @@ -145,7 +145,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( . = ..() var/mob/living/silicon/robot/robot = user if(!istype(robot.module, /obj/item/robot_module/drone)) - . += "You can refill your reinforced glass by picking it up from the ground." + . += SPAN_NOTICE("You can refill your reinforced glass by picking it up from the ground.") /obj/item/stack/sheet/rglass/cyborg/drone energy_type = /datum/robot_storage/energy/rglass diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 73131fb31e1..17132e27cc1 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -195,40 +195,40 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( var/datum/armor/current_armor = C.armor if(current_armor.getRating(MELEE) < 75) if(!use(1)) - to_chat(user, "You dont have enough [src] for this!") + to_chat(user, SPAN_NOTICE("You dont have enough [src] for this!")) return C.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 15, 75)) - to_chat(user, "You strengthen [target], improving its resistance against melee attacks.") + to_chat(user, SPAN_NOTICE("You strengthen [target], improving its resistance against melee attacks.")) else - to_chat(user, "You can't improve [C] any further!") + to_chat(user, SPAN_WARNING("You can't improve [C] any further!")) else if(istype(target, /obj/mecha/working/ripley)) var/obj/mecha/working/ripley/D = target if(D.hides < HIDES_COVERED_FULL && !D.plates && !D.drake_hides) if(!use(1)) - to_chat(user, "You dont have enough [src] for this!") + to_chat(user, SPAN_NOTICE("You dont have enough [src] for this!")) return D.hides++ D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 10, 70)) D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 7, 60)) D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 7, 60)) - to_chat(user, "You strengthen [target], improving its resistance against attacks.") + to_chat(user, SPAN_NOTICE("You strengthen [target], improving its resistance against attacks.")) D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS) else - to_chat(user, "You can't improve [D] any further!") + to_chat(user, SPAN_WARNING("You can't improve [D] any further!")) else if(isrobot(target)) var/mob/living/silicon/robot/R = target if(istype(R.module, /obj/item/robot_module/miner)) var/datum/armor/current_armor = R.armor if(current_armor.getRating(MELEE) < 75) if(!use(1)) - to_chat(user, "You dont have enough [src] for this!") + to_chat(user, SPAN_NOTICE("You dont have enough [src] for this!")) return R.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 15, 75)) - to_chat(user, "You strengthen [target], improving its resistance against melee attacks.") + to_chat(user, SPAN_NOTICE("You strengthen [target], improving its resistance against melee attacks.")) else - to_chat(user, "You can't improve [R] any further!") + to_chat(user, SPAN_WARNING("You can't improve [R] any further!")) else - to_chat(user, "[R]'s armor can not be improved!") + to_chat(user, SPAN_WARNING("[R]'s armor can not be improved!")) /obj/item/stack/sheet/animalhide/armor_plate name = "armor plate" @@ -246,16 +246,16 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( var/obj/mecha/working/ripley/D = target if(D.plates < PLATES_COVERED_FULL && !D.hides && !D.drake_hides) if(!use(1)) - to_chat(user, "You dont have enough [src] for this!") + to_chat(user, SPAN_NOTICE("You dont have enough [src] for this!")) return D.plates++ D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 7, 60)) D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 4, 50)) D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 4, 50)) - to_chat(user, "You strengthen [target], improving its resistance against attacks.") + to_chat(user, SPAN_NOTICE("You strengthen [target], improving its resistance against attacks.")) D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS) else - to_chat(user, "You can't improve [D] any further!") + to_chat(user, SPAN_WARNING("You can't improve [D] any further!")) /obj/item/stack/sheet/animalhide/armor_plate/attackby__legacy__attackchain(obj/item/W, mob/user, params) return // no steel leather for ya @@ -276,7 +276,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( var/obj/mecha/working/ripley/D = target if(D.drake_hides < DRAKE_HIDES_COVERED_FULL && !D.hides && !D.plates) if(!use(3)) - to_chat(user, "You dont have enough [src] for this!") + to_chat(user, SPAN_NOTICE("You dont have enough [src] for this!")) return D.drake_hides++ D.max_integrity += 50 @@ -284,18 +284,18 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 13, 80)) D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 7, 60)) D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 7, 60)) - to_chat(user, "You strengthen [target], improving its resistance against attacks.") + to_chat(user, SPAN_NOTICE("You strengthen [target], improving its resistance against attacks.")) D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS) else - to_chat(user, "You can't improve [D] any further!") + to_chat(user, SPAN_WARNING("You can't improve [D] any further!")) //Step one - dehairing. /obj/item/stack/sheet/animalhide/attackby__legacy__attackchain(obj/item/W, mob/user, params) if(W.sharp) - user.visible_message("[user] starts cutting hair off \the [src].", "You start cutting the hair off \the [src]...", "You hear the sound of a knife rubbing against flesh.") + user.visible_message("[user] starts cutting hair off \the [src].", SPAN_NOTICE("You start cutting the hair off \the [src]..."), SPAN_ITALICS("You hear the sound of a knife rubbing against flesh.")) if(do_after(user, 50 * W.toolspeed, target = src)) - to_chat(user, "You cut the hair from this [src.singular_name].") + to_chat(user, SPAN_NOTICE("You cut the hair from this [src.singular_name].")) //Try locating an exisitng stack on the tile and add to there if possible for(var/obj/item/stack/sheet/hairlesshide/HS in usr.loc) if(HS.amount < 50) diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 255b752f5e7..fcae7b373a1 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -201,7 +201,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( /obj/item/emptysandbag/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, /obj/item/stack/ore/glass)) var/obj/item/stack/ore/glass/G = I - to_chat(user, "You fill the sandbag.") + to_chat(user, SPAN_NOTICE("You fill the sandbag.")) var/obj/item/stack/sheet/mineral/sandbags/S = new /obj/item/stack/sheet/mineral/sandbags(drop_location()) qdel(src) if(Adjacent(user) && !issilicon(user)) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 456e98d94fd..8b30771f729 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -147,7 +147,7 @@ GLOBAL_LIST_INIT(metal_recipes, list( /obj/item/stack/sheet/metal/examine(mob/user) . = ..() - . += "Metal is used in various different construction sequences." + . += SPAN_NOTICE("Metal is used in various different construction sequences.") /obj/item/stack/sheet/metal/examine_more(mob/user) . = ..() @@ -165,7 +165,7 @@ GLOBAL_LIST_INIT(metal_recipes, list( . = ..() var/mob/living/silicon/robot/robot = user if(!istype(robot.module, /obj/item/robot_module/drone)) - . += "You can refill your metal by using your magnetic gripper on the Ore Redemption Machine, or by picking it up from the ground." + . += SPAN_NOTICE("You can refill your metal by using your magnetic gripper on the Ore Redemption Machine, or by picking it up from the ground.") /obj/item/stack/sheet/metal/cyborg/drone energy_type = /datum/robot_storage/energy/metal @@ -527,7 +527,7 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( var/atom/droploc = drop_location() if(use(1)) playsound(I, 'sound/items/bikehorn.ogg', 50, TRUE, -1) - to_chat(user, "You stamp the cardboard! It's a clown box! Honk!") + to_chat(user, SPAN_NOTICE("You stamp the cardboard! It's a clown box! Honk!")) new/obj/item/storage/box/clown(droploc) //bugfix else . = ..() @@ -608,12 +608,12 @@ GLOBAL_LIST_INIT(cult_recipes, list ( /obj/item/stack/sheet/runed_metal/attack_self__legacy__attackchain(mob/living/user) if(!IS_CULTIST(user)) - to_chat(user, "Only one with forbidden knowledge could hope to work this metal...") + to_chat(user, SPAN_WARNING("Only one with forbidden knowledge could hope to work this metal...")) return if(usr.holy_check()) return if(!is_level_reachable(user.z)) - to_chat(user, "The energies of this place interfere with the metal shaping!") + to_chat(user, SPAN_WARNING("The energies of this place interfere with the metal shaping!")) return return ..() diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index 130bc4aece7..1dcfdf250f9 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -20,4 +20,4 @@ /obj/item/stack/sheet/examine(mob/user) . = ..() - . += "Use it in hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it." + . += SPAN_NOTICE("Use it in hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it.") diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 6f616ecf07a..586e391bb9c 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -113,7 +113,7 @@ . += "There are [amount] [singular_name]\s in the stack." else . += "There are [amount] [name]\s in the stack." - . +="Alt-click to take a custom amount." + . +=SPAN_NOTICE("Alt-click to take a custom amount.") /obj/item/stack/proc/add(newamount) if(is_cyborg) @@ -175,7 +175,7 @@ var/obj/item/stack/material = thing if(merge(material)) - to_chat(user, "Your [material.name] stack now contains [material.get_amount()] [material.singular_name]\s.") + to_chat(user, SPAN_NOTICE("Your [material.name] stack now contains [material.get_amount()] [material.singular_name]\s.")) /obj/item/stack/use(used, check = TRUE) if(check && is_zero_amount(TRUE)) @@ -196,7 +196,7 @@ /obj/item/stack/AltClick(mob/living/user) if(!istype(user) || user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(!in_range(src, user) || !ishuman(usr) || amount < 1 || is_cyborg) @@ -213,7 +213,7 @@ return change_stack(user,stackmaterial) - to_chat(user, "You take [stackmaterial] sheets out of the stack.") + to_chat(user, SPAN_NOTICE("You take [stackmaterial] sheets out of the stack.")) /obj/item/stack/ui_state(mob/user) return GLOB.hands_state diff --git a/code/game/objects/items/stacks/stack_recipe.dm b/code/game/objects/items/stacks/stack_recipe.dm index 4f4cdc7dd78..86cbc140737 100644 --- a/code/game/objects/items/stacks/stack_recipe.dm +++ b/code/game/objects/items/stacks/stack_recipe.dm @@ -65,34 +65,34 @@ /datum/stack_recipe/proc/try_build(mob/user, obj/item/stack/material, multiplier) if(material.get_amount() < req_amount * multiplier) if(req_amount * multiplier > 1) - to_chat(user, "You haven't got enough [material] to build [res_amount * multiplier] [title]\s!") + to_chat(user, SPAN_WARNING("You haven't got enough [material] to build [res_amount * multiplier] [title]\s!")) else - to_chat(user, "You haven't got enough [material] to build [title]!") + to_chat(user, SPAN_WARNING("You haven't got enough [material] to build [title]!")) return FALSE if(window_checks && !valid_window_location(get_turf(material), user.dir)) - to_chat(user, "[title] won't fit here!") + to_chat(user, SPAN_WARNING("[title] won't fit here!")) return FALSE if(one_per_turf && (locate(result_type) in get_turf(material))) - to_chat(user, "There is another [title] here!") + to_chat(user, SPAN_WARNING("There is another [title] here!")) return FALSE if(on_floor && !issimulatedturf(get_turf(material))) - to_chat(user, "[title] must be constructed on the floor!") + to_chat(user, SPAN_WARNING("[title] must be constructed on the floor!")) return FALSE if(on_floor_or_lattice && !(issimulatedturf(get_turf(material)) || locate(/obj/structure/lattice) in get_turf(material))) - to_chat(user, "[title] must be constructed on the floor or lattice!") + to_chat(user, SPAN_WARNING("[title] must be constructed on the floor or lattice!")) return FALSE if(cult_structure) if(user.holy_check()) return FALSE if(!is_level_reachable(user.z)) - to_chat(user, "The energies of this place interfere with the metal shaping!") + to_chat(user, SPAN_WARNING("The energies of this place interfere with the metal shaping!")) return FALSE if(locate(/obj/structure/cult) in get_turf(material)) - to_chat(user, "There is a structure here!") + to_chat(user, SPAN_WARNING("There is a structure here!")) return FALSE return TRUE @@ -100,7 +100,7 @@ /// Creates the atom defined by the recipe. Should always return the object it creates or FALSE. This proc assumes that the construction is already possible; for checking whether a recipe *can* be built before construction, use try_build() /datum/stack_recipe/proc/do_build(mob/user, obj/item/stack/material, multiplier, atom/result) if(time) - to_chat(user, "Building [title]...") + to_chat(user, SPAN_NOTICE("Building [title]...")) if(!do_after(user, time, target = material.loc)) return FALSE @@ -108,11 +108,11 @@ return FALSE if(cult_structure && locate(/obj/structure/cult) in get_turf(material)) // Check again after do_after to prevent queuing construction exploit. - to_chat(user, "There is a structure here!") + to_chat(user, SPAN_WARNING("There is a structure here!")) return FALSE if(one_per_turf && (locate(result_type) in get_turf(material))) // Yes, we need to do this twice. Once during try_build, and when we build the actual thing, in case it was on a do-after and there's now a structure here. - to_chat(user, "There is another [title] here!") + to_chat(user, SPAN_WARNING("There is another [title] here!")) return FALSE if(max_res_amount > 1) // Is it a stack? diff --git a/code/game/objects/items/stacks/synthetic_skin.dm b/code/game/objects/items/stacks/synthetic_skin.dm index 82b1378dc6c..fa1864af240 100644 --- a/code/game/objects/items/stacks/synthetic_skin.dm +++ b/code/game/objects/items/stacks/synthetic_skin.dm @@ -15,15 +15,15 @@ var/mob/living/carbon/human/H = M var/obj/item/organ/external/external_limb = H.get_organ(user.zone_selected) if(external_limb) - user.visible_message("[user] starts to apply [src] on [H]'s [external_limb.name]...") + user.visible_message(SPAN_NOTICE("[user] starts to apply [src] on [H]'s [external_limb.name]...")) if(!do_mob(user, H, 5 SECONDS)) return FALSE use(1) if(external_limb.apply_augmented_skin(skin_level)) - user.visible_message("[user] applies some [src] on [H]'s [external_limb.name].") + user.visible_message(SPAN_NOTICE("[user] applies some [src] on [H]'s [external_limb.name].")) return TRUE else - to_chat(user, "You fail to apply a better skin cover to [H]'s [external_limb.name].") + to_chat(user, SPAN_WARNING("You fail to apply a better skin cover to [H]'s [external_limb.name].")) return FALSE /obj/item/stack/synthetic_skin/level_2 diff --git a/code/game/objects/items/stacks/telecrystal.dm b/code/game/objects/items/stacks/telecrystal.dm index a7085531c88..7a8d402f521 100644 --- a/code/game/objects/items/stacks/telecrystal.dm +++ b/code/game/objects/items/stacks/telecrystal.dm @@ -16,7 +16,7 @@ if(I && I.imp_in) I.hidden_uplink.uses += amount use(amount) - to_chat(user, "You press [src] onto yourself and charge your hidden uplink.") + to_chat(user, SPAN_NOTICE("You press [src] onto yourself and charge your hidden uplink.")) /obj/item/stack/telecrystal/afterattack__legacy__attackchain(obj/item/I, mob/user, proximity) if(!proximity) @@ -24,20 +24,20 @@ if(istype(I) && I.hidden_uplink && I.hidden_uplink.active) //No metagaming by using this on every PDA around just to see if it gets used up. I.hidden_uplink.uses += amount use(amount) - to_chat(user, "You slot [src] into [I] and charge its internal uplink.") + to_chat(user, SPAN_NOTICE("You slot [src] into [I] and charge its internal uplink.")) else if(istype(I, /obj/item/cartridge/frame)) var/obj/item/cartridge/frame/cart = I if(!cart.charges) - to_chat(user, "[cart] is out of charges, it's refusing to accept [src]") + to_chat(user, SPAN_NOTICE("[cart] is out of charges, it's refusing to accept [src]")) return cart.telecrystals += amount use(amount) - to_chat(user, "You slot [src] into [cart]. The next time it's used, it will also give telecrystals") + to_chat(user, SPAN_NOTICE("You slot [src] into [cart]. The next time it's used, it will also give telecrystals")) /obj/item/stack/telecrystal/examine(mob/user) . = ..() if(isAntag(user)) - . += "Telecrystals can be activated by utilizing them on devices with an actively running uplink. They will not activate on inactive uplinks." + . += SPAN_WARNING("Telecrystals can be activated by utilizing them on devices with an actively running uplink. They will not activate on inactive uplinks.") /obj/item/stack/telecrystal/five amount = 5 diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm index 38b6d0ff0a3..e83bf3f428e 100644 --- a/code/game/objects/items/stacks/tiles/tile_mineral.dm +++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm @@ -11,8 +11,8 @@ /obj/item/stack/tile/mineral/plasma/welder_act(mob/user, obj/item/I) if(I.use_tool(src, user, volume = I.tool_volume)) atmos_spawn_air(LINDA_SPAWN_HEAT | LINDA_SPAWN_TOXINS, 5) - user.visible_message("[user.name] sets the plasma tiles on fire!", \ - "You set the plasma tiles on fire!") + user.visible_message(SPAN_WARNING("[user.name] sets the plasma tiles on fire!"), \ + SPAN_WARNING("You set the plasma tiles on fire!")) message_admins("Plasma tiles ignited by [key_name_admin(user)](?) (FLW) in ([x],[y],[z] - JMP)",0,1) log_game("Plasma tiles ignited by [key_name(user)] in ([x],[y],[z])") investigate_log("was ignited by [key_name(user)]",INVESTIGATE_ATMOS) diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 9cc44fa6462..882e8d1f79f 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -21,17 +21,17 @@ /obj/item/stack/tile/welder_act(mob/user, obj/item/I) if(get_amount() < 4) - to_chat(user, "You need at least four tiles to do this!") + to_chat(user, SPAN_WARNING("You need at least four tiles to do this!")) return . = TRUE if(!I.use_tool(src, user, volume = I.tool_volume)) - to_chat(user, "You can not reform this!") + to_chat(user, SPAN_WARNING("You can not reform this!")) return if(mineralType == "metal") var/obj/item/stack/sheet/metal/new_item = new(user.loc) user.visible_message("[user.name] shaped [src] into metal with the welding tool.", \ - "You shaped [src] into metal with the welding tool.", \ - "You hear welding.") + SPAN_NOTICE("You shaped [src] into metal with the welding tool."), \ + SPAN_ITALICS("You hear welding.")) var/obj/item/stack/rods/R = src src = null var/replace = (user.get_inactive_hand()==R) diff --git a/code/game/objects/items/staff.dm b/code/game/objects/items/staff.dm index 4f231bda998..9de2cf6c2b5 100644 --- a/code/game/objects/items/staff.dm +++ b/code/game/objects/items/staff.dm @@ -35,7 +35,7 @@ ADD_TRAIT(user, TRAIT_FLYING, "broomstick") user.say("QUID 'ITCH") animate(user, pixel_y = pixel_y + 10 , time = 10, loop = 1, easing = SINE_EASING) - to_chat(user, "You hold [src] between your legs.") + to_chat(user, SPAN_NOTICE("You hold [src] between your legs.")) /obj/item/staff/broom/proc/unwield(obj/item/source, mob/user) attack_verb = list("bludgeoned", "whacked", "cleaned") diff --git a/code/game/objects/items/stock_parts.dm b/code/game/objects/items/stock_parts.dm index e25c9b845e6..acc3457d98d 100644 --- a/code/game/objects/items/stock_parts.dm +++ b/code/game/objects/items/stock_parts.dm @@ -36,7 +36,7 @@ var/obj/item/reagent_containers/glass/beaker/B = I if(B.reagents?.total_volume) if(!stop_messages) - to_chat(usr, "[src] cannot hold [I] while it contains liquid.") + to_chat(usr, SPAN_WARNING("[src] cannot hold [I] while it contains liquid.")) return FALSE return ..() @@ -50,7 +50,7 @@ if(get_dist(user, M) > (user.client.maxview() / 2)) message_admins("\[EXPLOIT] [key_name_admin(user)] attempted to upgrade machinery with a BRPED via a camera console (attempted range exploit).") playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE) - to_chat(user, "ERROR: [M] is out of [src]'s range!") + to_chat(user, SPAN_NOTICE("ERROR: [M] is out of [src]'s range!")) return if(M.component_parts) diff --git a/code/game/objects/items/storage/bible.dm b/code/game/objects/items/storage/bible.dm index 8f06a4c54cb..726d3f399ce 100644 --- a/code/game/objects/items/storage/bible.dm +++ b/code/game/objects/items/storage/bible.dm @@ -37,15 +37,15 @@ ) /obj/item/storage/bible/suicide_act(mob/user) - user.visible_message("[user] stares into [name] and attempts to transcend understanding of the universe!") + user.visible_message(SPAN_SUICIDE("[user] stares into [name] and attempts to transcend understanding of the universe!")) user.dust() return OBLITERATION /obj/item/storage/bible/fart_act(mob/living/M) if(QDELETED(M) || M.stat == DEAD) return - M.visible_message("[M] farts on \the [name]!") - M.visible_message("A mysterious force smites [M]!") + M.visible_message(SPAN_DANGER("[M] farts on \the [name]!")) + M.visible_message(SPAN_USERDANGER("A mysterious force smites [M]!")) M.suiciding = TRUE do_sparks(3, 1, M) M.gib() @@ -72,15 +72,15 @@ add_attack_logs(user, M, "Hit with [src]") if(!(ishuman(user) || SSticker) && SSticker.mode.name != "monkey") - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!")) return if(!HAS_MIND_TRAIT(user, TRAIT_HOLY)) - to_chat(user, "The book sizzles in your hands.") + to_chat(user, SPAN_WARNING("The book sizzles in your hands.")) user.take_organ_damage(0, 10) return if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - to_chat(user, "[src] slips out of your hand and hits your head.") + to_chat(user, SPAN_WARNING("[src] slips out of your hand and hits your head.")) user.take_organ_damage(10) user.Paralyse(40 SECONDS) return @@ -89,16 +89,16 @@ var/mob/living/carbon/human/H = M if(prob(60)) bless(H) - H.visible_message("[user] heals [H == user ? "[user.p_themselves()]" : "[H]"] with the power of [deity_name]!", - "May the power of [deity_name] compel you to be healed!") + H.visible_message(SPAN_DANGER("[user] heals [H == user ? "[user.p_themselves()]" : "[H]"] with the power of [deity_name]!"), + SPAN_DANGER("May the power of [deity_name] compel you to be healed!")) playsound(loc, "punch", 25, TRUE, -1) else M.adjustBrainLoss(10) - to_chat(M, "You feel dumber.") - H.visible_message("[user] beats [H == user ? "[user.p_themselves()]" : "[H]"] over the head with [src]!") + to_chat(M, SPAN_WARNING("You feel dumber.")) + H.visible_message(SPAN_DANGER("[user] beats [H == user ? "[user.p_themselves()]" : "[H]"] over the head with [src]!")) playsound(src.loc, "punch", 25, TRUE, -1) else - M.visible_message("[user] smacks [M]'s lifeless corpse with [src].") + M.visible_message(SPAN_DANGER("[user] smacks [M]'s lifeless corpse with [src].")) playsound(src.loc, "punch", 25, TRUE, -1) @@ -107,25 +107,25 @@ return if(isfloorturf(target)) - to_chat(user, "You hit the floor with the bible.") + to_chat(user, SPAN_NOTICE("You hit the floor with the bible.")) if(HAS_MIND_TRAIT(user, TRAIT_HOLY)) for(var/obj/O in target) O.cult_reveal() if(istype(target, /obj/machinery/door/airlock)) - to_chat(user, "You hit the airlock with the bible.") + to_chat(user, SPAN_NOTICE("You hit the airlock with the bible.")) if(HAS_MIND_TRAIT(user, TRAIT_HOLY)) var/obj/airlock = target airlock.cult_reveal() if(HAS_MIND_TRAIT(user, TRAIT_HOLY) && target.reagents) if(target.reagents.has_reagent("water")) //blesses all the water in the holder - to_chat(user, "You bless [target].") + to_chat(user, SPAN_NOTICE("You bless [target].")) var/water2holy = target.reagents.get_reagent_amount("water") target.reagents.del_reagent("water") target.reagents.add_reagent("holywater", water2holy) if(target.reagents.has_reagent("unholywater")) //yeah yeah, copy pasted code - sue me - to_chat(user, "You purify [target].") + to_chat(user, SPAN_NOTICE("You purify [target].")) var/unholy2clean = target.reagents.get_reagent_amount("unholywater") target.reagents.del_reagent("unholywater") target.reagents.add_reagent("holywater", unholy2clean) diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 97f666b8831..d63f173953b 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -233,7 +233,7 @@ /obj/item/storage/fancy/cigarettes/examine(mob/user) . = ..() if(cigarette_slogan) - . += "\"[cigarette_slogan]\"" + . += SPAN_NOTICE("\"[cigarette_slogan]\"") /obj/item/storage/fancy/cigarettes/populate_contents() for(var/I in 1 to storage_slots) @@ -255,16 +255,16 @@ M.equip_to_slot_if_possible(C, ITEM_SLOT_MASK) if(M != user) user.visible_message( - "[user] takes \a [C.name] out of [src] and gives it to [M].", - "You take \a [C.name] out of [src] and give it to [M]." + SPAN_NOTICE("[user] takes \a [C.name] out of [src] and gives it to [M]."), + SPAN_NOTICE("You take \a [C.name] out of [src] and give it to [M].") ) else - to_chat(user, "You take \a [C.name] out of the pack.") + to_chat(user, SPAN_NOTICE("You take \a [C.name] out of the pack.")) update_icon() got_cig = TRUE break if(!got_cig) - to_chat(user, "There are no smokables in the pack!") + to_chat(user, SPAN_WARNING("There are no smokables in the pack!")) else ..() @@ -273,13 +273,13 @@ var/obj/item/match/M = W if(M.lit) if(!stop_messages) - to_chat(usr, "Putting a lit [W] in [src] probably isn't a good idea.") + to_chat(usr, SPAN_NOTICE("Putting a lit [W] in [src] probably isn't a good idea.")) return FALSE if(istype(W, /obj/item/lighter)) var/obj/item/lighter/L = W if(L.lit) if(!stop_messages) - to_chat(usr, "Putting [W] in [src] while lit probably isn't a good idea.") + to_chat(usr, SPAN_NOTICE("Putting [W] in [src] while lit probably isn't a good idea.")) return FALSE //if we get this far, handle the insertion checks as normal . = ..() @@ -456,7 +456,7 @@ var/obj/item/clothing/mask/cigarette/cigar/cigar = contents[I] var/icon/new_cigar_icon = icon('icons/obj/cigarettes.dmi', "[initial(cigar.icon_state)]_[I]") . += new_cigar_icon - + /obj/item/storage/fancy/cigars/update_icon_state() icon_state = "[initial(icon_state)]_open" @@ -490,7 +490,7 @@ var/obj/item/clothing/mask/cigarette/cigar/cigar = contents[I] var/icon/new_cigar_icon = icon('icons/obj/cigarettes.dmi', "h_[initial(cigar.icon_state)]") . += new_cigar_icon - + // MARK: Vial Box /obj/item/storage/fancy/vials name = "vial storage box" diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index 474995a6873..a853338d66d 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -297,7 +297,7 @@ /obj/item/storage/pill_bottle/attack__legacy__attackchain(mob/M, mob/user) if(iscarbon(M) && length(contents)) if(applying_meds) - to_chat(user, "You are already applying meds.") + to_chat(user, SPAN_WARNING("You are already applying meds.")) return applying_meds = TRUE for(var/obj/item/reagent_containers/P in contents) @@ -345,13 +345,13 @@ var/mob/living/carbon/C = over_object if(loc == C && src == C.get_active_hand()) if(!length(contents)) - to_chat(C, "There is nothing in [src]!") + to_chat(C, SPAN_NOTICE("There is nothing in [src]!")) return - C.visible_message("[C] [rapid_intake_message]") + C.visible_message(SPAN_DANGER("[C] [rapid_intake_message]")) if(do_mob(C, C, 100)) // 10 seconds for(var/obj/item/reagent_containers/pill/P in contents) P.interact_with_atom(C, C) - C.visible_message("[C] [rapid_post_instake_message]") + C.visible_message(SPAN_DANGER("[C] [rapid_post_instake_message]")) return return ..() diff --git a/code/game/objects/items/storage/storage_base.dm b/code/game/objects/items/storage/storage_base.dm index 0b1ac60de8b..c9256b73752 100644 --- a/code/game/objects/items/storage/storage_base.dm +++ b/code/game/objects/items/storage/storage_base.dm @@ -87,9 +87,9 @@ /obj/item/storage/examine(mob/user) . = ..() if(allow_quick_empty) - . += "You can use [src] in hand to empty it's entire contents." + . += SPAN_NOTICE("You can use [src] in hand to empty it's entire contents.") if(allow_quick_gather) - . += "You can Alt-Shift-Click [src] to switch it's gathering method." + . += SPAN_NOTICE("You can Alt-Shift-Click [src] to switch it's gathering method.") /obj/item/storage/forceMove(atom/destination) . = ..() @@ -152,8 +152,8 @@ return // Something happened while the player was thinking hide_from(M) M.face_atom(over_object) - M.visible_message("[M] empties [src] onto [over_object].", - "You empty [src] onto [over_object].") + M.visible_message(SPAN_NOTICE("[M] empties [src] onto [over_object]."), + SPAN_NOTICE("You empty [src] onto [over_object].")) var/list/params_list = params2list(params) var/x_offset = text2num(params_list["icon-x"]) - 16 var/y_offset = text2num(params_list["icon-y"]) - 16 @@ -398,18 +398,18 @@ if(length(contents) >= storage_slots) if(!stop_messages) - to_chat(usr, "[I] won't fit in [src], make some space!") + to_chat(usr, SPAN_WARNING("[I] won't fit in [src], make some space!")) return FALSE //Storage item is full if(length(can_hold)) if(!is_type_in_typecache(I, can_hold)) if(!stop_messages) - to_chat(usr, "[src] cannot hold [I].") + to_chat(usr, SPAN_WARNING("[src] cannot hold [I].")) return FALSE if(is_type_in_typecache(I, cant_hold)) //Check for specific items which this container can't hold. if(!stop_messages) - to_chat(usr, "[src] cannot hold [I].") + to_chat(usr, SPAN_WARNING("[src] cannot hold [I].")) return FALSE if(length(cant_hold) && isstorage(I)) //Checks nested storage contents for restricted objects, we don't want people sneaking the NAD in via boxes now, do we? @@ -417,7 +417,7 @@ for(var/obj/A in S.return_inv()) if(is_type_in_typecache(A, cant_hold)) if(!stop_messages) - to_chat(usr, "[src] rejects [I] because of its contents.") + to_chat(usr, SPAN_WARNING("[src] rejects [I] because of its contents.")) return FALSE if(I.w_class > max_w_class) @@ -426,11 +426,11 @@ return TRUE else if(!stop_messages) - to_chat(usr, "[I] is too big for [src].") + to_chat(usr, SPAN_WARNING("[I] is too big for [src].")) return FALSE else if(!stop_messages) - to_chat(usr, "[I] is too big for [src].") + to_chat(usr, SPAN_WARNING("[I] is too big for [src].")) return FALSE var/sum_w_class = I.w_class @@ -439,17 +439,17 @@ if(sum_w_class > max_combined_w_class) if(!stop_messages) - to_chat(usr, "[src] is full, make some space.") + to_chat(usr, SPAN_WARNING("[src] is full, make some space.")) return FALSE if(I.w_class >= w_class && isstorage(I)) if(!allow_same_size) //BoHs should be able to hold backpacks again. The override for putting a BoH in a BoH is in backpack.dm. if(!stop_messages) - to_chat(usr, "[src] cannot hold [I] as it's a storage item of the same size.") + to_chat(usr, SPAN_WARNING("[src] cannot hold [I] as it's a storage item of the same size.")) return FALSE //To prevent the stacking of same sized storage items. if(I.flags & NODROP) //SHOULD be handled in unEquip, but better safe than sorry. - to_chat(usr, "[I] is stuck to your hand, you can't put it in [src]") + to_chat(usr, SPAN_WARNING("[I] is stuck to your hand, you can't put it in [src]")) return FALSE return TRUE @@ -498,17 +498,17 @@ if(!prevent_warning) // the item's user will always get a notification - to_chat(user, "You put [I] into [src].") + to_chat(user, SPAN_NOTICE("You put [I] into [src].")) // if the item less than normal sized, only people within 1 tile get the message, otherwise, everybody in view gets it if(I.w_class < WEIGHT_CLASS_NORMAL) for(var/mob/M in orange(1, user)) if(in_range(M, user)) - M.show_message("[user] puts [I] into [src].") + M.show_message(SPAN_NOTICE("[user] puts [I] into [src].")) else // restrict player list to include only those in view for(var/mob/M in oviewers(7, user)) - M.show_message("[user] puts [I] into [src].") + M.show_message(SPAN_NOTICE("[user] puts [I] into [src].")) orient2hud(user) if(user) if(user.s_active) @@ -675,7 +675,7 @@ /obj/item/storage/proc/fold(mob/user) if(length(contents)) - to_chat(user, "You can't fold this [name] with items still inside!") + to_chat(user, SPAN_WARNING("You can't fold this [name] with items still inside!")) return if(!ispath(foldable)) return @@ -689,7 +689,7 @@ if(!found) // User is too far away return - to_chat(user, "You fold [src] flat.") + to_chat(user, SPAN_NOTICE("You fold [src] flat.")) var/obj/item/stack/I = new foldable(get_turf(src), foldable_amt) user.put_in_hands(I) qdel(src) diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm index 7bee5dfce90..c6cbd956c0d 100644 --- a/code/game/objects/items/tanks/jetpack.dm +++ b/code/game/objects/items/tanks/jetpack.dm @@ -67,7 +67,7 @@ /obj/item/tank/jetpack/proc/toggle_stabilization(mob/user) if(on) configure_jetpack(!stabilize) - to_chat(user, "You turn [src]'s stabilization [stabilize ? "on" : "off"].") + to_chat(user, SPAN_NOTICE("You turn [src]'s stabilization [stabilize ? "on" : "off"].")) /obj/item/tank/jetpack/proc/cycle(mob/user) if(user.incapacitated()) @@ -75,10 +75,10 @@ if(!on) turn_on(user) - to_chat(user, "You turn the jetpack on.") + to_chat(user, SPAN_NOTICE("You turn the jetpack on.")) else turn_off(user) - to_chat(user, "You turn the jetpack off.") + to_chat(user, SPAN_NOTICE("You turn the jetpack off.")) update_action_buttons() /obj/item/tank/jetpack/proc/turn_on(mob/user) @@ -126,7 +126,7 @@ /obj/item/tank/jetpack/improvised/allow_thrust(num, mob/living/user) if(rand(0, 250) == 0) - to_chat(user, "You feel your jetpack's engines cut out.") + to_chat(user, SPAN_NOTICE("You feel your jetpack's engines cut out.")) turn_off(user) return return ..() @@ -205,12 +205,12 @@ /obj/item/tank/jetpack/suit/cycle(mob/user) if(!istype(loc, /obj/item/clothing/suit/space/hardsuit)) - to_chat(user, "[src] must be connected to a hardsuit!") + to_chat(user, SPAN_WARNING("[src] must be connected to a hardsuit!")) return var/mob/living/carbon/human/H = user if(!istype(H.s_store, /obj/item/tank)) - to_chat(user, "You need a tank in your suit storage!") + to_chat(user, SPAN_WARNING("You need a tank in your suit storage!")) return ..() diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index d967f50bd51..9278345ac16 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -39,7 +39,7 @@ if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) return if(user.get_item_by_slot(ITEM_SLOT_BACK) != src) - to_chat(user, "The watertank needs to be on your back to use.") + to_chat(user, SPAN_NOTICE("The watertank needs to be on your back to use.")) return on = !on if(on) @@ -49,7 +49,7 @@ //Detach the nozzle into the user's hands if(!user.put_in_hands(noz)) on = FALSE - to_chat(user, "You need a free hand to hold the mister.") + to_chat(user, SPAN_NOTICE("You need a free hand to hold the mister.")) return noz.forceMove(user) else @@ -130,7 +130,7 @@ /obj/item/reagent_containers/spray/mister/dropped(mob/user as mob) ..() - to_chat(user, "The mister snaps back onto the watertank.") + to_chat(user, SPAN_NOTICE("The mister snaps back onto the watertank.")) tank.on = FALSE loc = tank @@ -228,11 +228,11 @@ . = ..() switch(nozzle_mode) if(EXTINGUISHER) - . += "[src] is currently set to extinguishing mode." + . += SPAN_NOTICE("[src] is currently set to extinguishing mode.") if(NANOFROST) - . += "[src] is currently set to nanofrost mode." + . += SPAN_NOTICE("[src] is currently set to nanofrost mode.") if(METAL_FOAM) - . += "[src] is currently set to metal foam mode." + . += SPAN_NOTICE("[src] is currently set to metal foam mode.") /obj/item/extinguisher/mini/nozzle/Initialize(mapload) if(!check_tank_exists(loc, src)) @@ -286,7 +286,7 @@ if(istype(tank, /obj/item/mod/module/firefighting_tank)) return - to_chat(user, "The nozzle snaps back onto the tank!") + to_chat(user, SPAN_NOTICE("The nozzle snaps back onto the tank!")) tank.on = FALSE loc = tank @@ -298,11 +298,11 @@ switch(nozzle_mode) if(NANOFROST) if(reagents.total_volume < 100) - to_chat(user, "You need at least 100 units of water to use the nanofrost launcher!") + to_chat(user, SPAN_WARNING("You need at least 100 units of water to use the nanofrost launcher!")) return if(COOLDOWN_TIMELEFT(src, nanofrost_cooldown)) - to_chat(user, "The nanofrost launcher is still recharging!") + to_chat(user, SPAN_WARNING("The nanofrost launcher is still recharging!")) return COOLDOWN_START(src, nanofrost_cooldown, nanofrost_cooldown_time) @@ -320,11 +320,11 @@ return if(metal_synthesis_charge <= 0) - to_chat(user, "Metal foam mix is still being synthesized!") + to_chat(user, SPAN_WARNING("Metal foam mix is still being synthesized!")) return if(reagents.total_volume < 10) - to_chat(user, "You need at least 10 units of water to use the metal foam synthesizer!") + to_chat(user, SPAN_WARNING("You need at least 10 units of water to use the metal foam synthesizer!")) return var/obj/effect/particle_effect/foam/metal/foam = new /obj/effect/particle_effect/foam/metal(get_turf(A), TRUE) diff --git a/code/game/objects/items/tape.dm b/code/game/objects/items/tape.dm index 13a6ab38e09..551acbbc12a 100644 --- a/code/game/objects/items/tape.dm +++ b/code/game/objects/items/tape.dm @@ -24,19 +24,19 @@ if(!M.check_has_mouth()) to_chat(user, "[M.p_they(TRUE)] [M.p_have()] no mouth to tape over!") return - user.visible_message("[user] is taping [M]'s mouth closed!", - "You try to tape [M == user ? "your own" : "[M]'s"] mouth shut!", - "You hear tape ripping.") + user.visible_message(SPAN_WARNING("[user] is taping [M]'s mouth closed!"), + SPAN_NOTICE("You try to tape [M == user ? "your own" : "[M]'s"] mouth shut!"), + SPAN_WARNING("You hear tape ripping.")) if(!do_after(user, 50, target = M)) return if(!use(2)) - to_chat(user, "You don't have enough tape!") + to_chat(user, SPAN_NOTICE("You don't have enough tape!")) return if(M.wear_mask) - to_chat(user, "[M == user ? user : M]'s mouth is already covered!") + to_chat(user, SPAN_NOTICE("[M == user ? user : M]'s mouth is already covered!")) return - user.visible_message("[user] tapes [M]'s mouth shut!", - "You cover [M == user ? "your own" : "[M]'s"] mouth with a piece of duct tape.[M == user ? null : " That will shut them up."]") + user.visible_message(SPAN_WARNING("[user] tapes [M]'s mouth shut!"), + SPAN_NOTICE("You cover [M == user ? "your own" : "[M]'s"] mouth with a piece of duct tape.[M == user ? null : " That will shut them up."]")) var/obj/item/clothing/mask/muzzle/G = new /obj/item/clothing/mask/muzzle/tapegag M.equip_to_slot(G, ITEM_SLOT_MASK) G.add_fingerprint(user) diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index 559fd00b7d7..6d5fb8a4d39 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -47,10 +47,10 @@ var/turf/current_location = get_turf(user) if(emp_timer > world.time) do_sparks(5, 0, loc) - to_chat(user, "[src] attempts to create a portal, but abruptly shuts off.") + to_chat(user, SPAN_WARNING("[src] attempts to create a portal, but abruptly shuts off.")) return if(!current_location||!is_teleport_allowed(current_location.z))//If turf was not found or they're somewhere teleproof - to_chat(user, "\The [src] is malfunctioning.") + to_chat(user, SPAN_NOTICE("\The [src] is malfunctioning.")) return var/list/L = list() for(var/obj/machinery/computer/teleporter/com in SSmachines.get_by_type(/obj/machinery/computer/teleporter)) @@ -77,10 +77,10 @@ if(!t1 || (!user.is_in_active_hand(src) || user.stat || user.restrained())) return if(active_portals >= 3) - user.show_message("\The [src] is recharging!") + user.show_message(SPAN_NOTICE("\The [src] is recharging!")) return var/T = L[t1] - user.show_message("Locked In.", 2) + user.show_message(SPAN_NOTICE("Locked In."), 2) var/obj/effect/portal/P = new /obj/effect/portal/hand_tele(get_turf(src), T, src, creation_mob = user) try_move_adjacent(P) active_portals++ @@ -104,7 +104,7 @@ /obj/item/hand_tele/examine(mob/user) . = ..() if(emp_timer > world.time) - . += "It looks inactive." + . += SPAN_WARNING("It looks inactive.") /obj/item/hand_tele/portal_destroyed(obj/effect/portal/P) active_portals-- diff --git a/code/game/objects/items/theft_items.dm b/code/game/objects/items/theft_items.dm index 920d2a8a46c..08958ddad55 100644 --- a/code/game/objects/items/theft_items.dm +++ b/code/game/objects/items/theft_items.dm @@ -24,7 +24,7 @@ return ..() /obj/item/nuke_core/suicide_act(mob/user) - user.visible_message("[user] is rubbing [src] against [user.p_themselves()]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is rubbing [src] against [user.p_themselves()]! It looks like [user.p_theyre()] trying to commit suicide!")) return TOXLOSS // MARK: Plutonium core @@ -51,11 +51,11 @@ /obj/item/nuke_core_container/examine(mob/user) . = ..() if(cracked) // Cracked open. - . += "It is broken, and can no longer store objects safely." + . += SPAN_WARNING("It is broken, and can no longer store objects safely.") else if(dented) // Not cracked, but dented. - . += "[src] looks dented. Perhaps a bigger explosion may break it." + . += SPAN_NOTICE("[src] looks dented. Perhaps a bigger explosion may break it.") else // Not cracked or dented. - . += "Fine print on the box reads \"Syndicate Field Operations secure core extraction container. Guaranteed thermite proof, assistant proof, and explosive resistant.\"" + . += SPAN_NOTICE("Fine print on the box reads \"Syndicate Field Operations secure core extraction container. Guaranteed thermite proof, assistant proof, and explosive resistant.\"") /obj/item/nuke_core_container/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!istype(used, /obj/item/nuke_core/plutonium)) @@ -66,7 +66,7 @@ return ITEM_INTERACT_COMPLETE if(!user.drop_item()) - to_chat(user, "[core] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[core] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE load(core, user) @@ -96,7 +96,7 @@ new_core.forceMove(src) core = new_core icon_state = "core_container_loaded" - to_chat(user, "Container is sealing...") + to_chat(user, SPAN_WARNING("Container is sealing...")) addtimer(CALLBACK(src, PROC_REF(seal)), 10 SECONDS) /obj/item/nuke_core_container/proc/unload(mob/user) @@ -115,10 +115,10 @@ icon_state = "core_container_sealed" playsound(src, 'sound/items/deconstruct.ogg', 60, TRUE) if(ismob(loc)) - to_chat(loc, "[src] is permanently sealed, [core]'s radiation is contained.") + to_chat(loc, SPAN_WARNING("[src] is permanently sealed, [core]'s radiation is contained.")) /obj/item/nuke_core_container/proc/crack_open() - visible_message("[src] bursts open!") + visible_message(SPAN_BOLDNOTICE("[src] bursts open!")) if(core) var/datum/component/inherent_radioactivity/radioactivity = core.GetComponent(/datum/component/inherent_radioactivity) START_PROCESSING(SSradiation, radioactivity) @@ -187,13 +187,13 @@ if(istype(used, /obj/item/retractor/supermatter)) var/obj/item/retractor/supermatter/tongs = used if(tongs.sliver) - to_chat(user, "[tongs] are already holding a supermatter sliver!") + to_chat(user, SPAN_WARNING("[tongs] are already holding a supermatter sliver!")) return ITEM_INTERACT_COMPLETE forceMove(tongs) tongs.sliver = src tongs.update_icon(UPDATE_ICON_STATE) - to_chat(user, "You carefully pick up [src] with [tongs].") + to_chat(user, SPAN_NOTICE("You carefully pick up [src] with [tongs].")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/scalpel/supermatter) || istype(used, /obj/item/nuke_core_container/supermatter)) // we don't want it to dust @@ -203,7 +203,7 @@ return ITEM_INTERACT_COMPLETE if(issilicon(user)) - to_chat(user, "You try to touch [src] with [used]. ERROR!") + to_chat(user, SPAN_USERDANGER("You try to touch [src] with [used]. ERROR!")) radiation_pulse(user, 2000, GAMMA_RAD) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) user.dust() @@ -213,10 +213,10 @@ // Don't poke it with no-drops! if(!user.drop_item()) radiation_pulse(user, 2000, GAMMA_RAD) - to_chat(user, "As it touches [src], both [src] and [used] burst into dust. The resonance then consumes you as well!") + to_chat(user, SPAN_USERDANGER("As it touches [src], both [src] and [used] burst into dust. The resonance then consumes you as well!")) user.dust() else - to_chat(user, "As it touches [src], both [src] and [used] burst into dust!") + to_chat(user, SPAN_DANGER("As it touches [src], both [src] and [used] burst into dust!")) radiation_pulse(user, 400, GAMMA_RAD) qdel(used) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) @@ -239,9 +239,9 @@ else message_admins("[src] has consumed [key_name_admin(victim)] [ADMIN_JMP(src)] via throw impact.") investigate_log("has consumed [key_name(victim)] via throw impact.", INVESTIGATE_SUPERMATTER) - victim.visible_message("As [victim] is hit by [src], both flash into dust and silence fills the room...", - "You're hit by [src] and everything suddenly goes silent.\n[src] flashes into dust, and soon as you can register this, you do as well.", - "Everything suddenly goes silent.") + victim.visible_message(SPAN_DANGER("As [victim] is hit by [src], both flash into dust and silence fills the room..."), + SPAN_USERDANGER("You're hit by [src] and everything suddenly goes silent.\n[src] flashes into dust, and soon as you can register this, you do as well."), + SPAN_HEAR("Everything suddenly goes silent.")) victim.dust() radiation_pulse(src, 2000, GAMMA_RAD) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) @@ -255,9 +255,9 @@ if(!isliving(user) || user.status_flags & GODMODE) //try to keep this in sync with supermatter's consume fail conditions return FALSE - user.visible_message("[user] reaches out and tries to pick up [src]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!", - "You reach for [src] with your hands. That was dumb.", - "Everything suddenly goes silent.") + user.visible_message(SPAN_DANGER("[user] reaches out and tries to pick up [src]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!"), + SPAN_USERDANGER("You reach for [src] with your hands. That was dumb."), + SPAN_HEAR("Everything suddenly goes silent.")) radiation_pulse(user, 2000, GAMMA_RAD) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) user.dust() @@ -280,7 +280,7 @@ I.sliver = null I.update_icon(UPDATE_ICON_STATE) icon_state = "supermatter_container_loaded" - to_chat(user, "Container is sealing...") + to_chat(user, SPAN_WARNING("Container is sealing...")) addtimer(CALLBACK(src, PROC_REF(seal)), 10 SECONDS) @@ -293,7 +293,7 @@ icon_state = "supermatter_container_sealed" playsound(src, 'sound/items/deconstruct.ogg', 60, TRUE) if(ismob(loc)) - to_chat(loc, "[src] is permanently sealed, [sliver] is safely contained.") + to_chat(loc, SPAN_WARNING("[src] is permanently sealed, [sliver] is safely contained.")) /obj/item/nuke_core_container/supermatter/unload(obj/item/retractor/supermatter/I, mob/user) if(!istype(I) || I.sliver) @@ -304,7 +304,7 @@ sliver = null I.update_icon(UPDATE_ICON_STATE) icon_state = "core_container_cracked_empty" - to_chat(user, "You carefully pick up [I.sliver] with [I].") + to_chat(user, SPAN_NOTICE("You carefully pick up [I.sliver] with [I].")) /obj/item/nuke_core_container/supermatter/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!istype(used, /obj/item/retractor/supermatter)) @@ -323,9 +323,9 @@ if(!isliving(user) || user.status_flags & GODMODE || HAS_TRAIT(user, TRAIT_SUPERMATTER_IMMUNE)) return FALSE - user.visible_message("[user] reaches out and tries to pick up [sliver]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!", - "You reach for [sliver] with your hands. That was dumb.", - "Everything suddenly goes silent.") + user.visible_message(SPAN_DANGER("[user] reaches out and tries to pick up [sliver]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!"), + SPAN_USERDANGER("You reach for [sliver] with your hands. That was dumb."), + SPAN_ITALICS("Everything suddenly goes silent.")) radiation_pulse(user, 2000, GAMMA_RAD) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) message_admins("[sliver] has consumed [key_name_admin(user)] [ADMIN_JMP(src)].") @@ -337,7 +337,7 @@ return ..() /obj/item/nuke_core_container/supermatter/crack_open() - visible_message("[src] bursts open!") + visible_message(SPAN_BOLDNOTICE("[src] bursts open!")) if(sliver) START_PROCESSING(SSobj, sliver) icon_state = "supermatter_container_cracked_loaded" @@ -390,7 +390,7 @@ /obj/item/retractor/supermatter/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) // no instakill supermatter javelins if(sliver) sliver.forceMove(loc) - visible_message("[sliver] falls out of [src] as it hits the ground.") + visible_message(SPAN_NOTICE("[sliver] falls out of [src] as it hits the ground.")) sliver = null update_icon(UPDATE_ICON_STATE) return ..() @@ -425,18 +425,18 @@ if(!(HAS_TRAIT(user, TRAIT_SUPERMATTER_IMMUNE) || user.status_flags & GODMODE)) add_attack_logs(user, AM, "[AM] and [user] consumed by melee attack with [src] by [user].") user.visible_message( - "As [user] touches [AM] with [src], both flash into dust and silence fills the room...", - "You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust, and soon as you can register this, you do as well.", - "Everything suddenly goes silent." + SPAN_DANGER("As [user] touches [AM] with [src], both flash into dust and silence fills the room..."), + SPAN_USERDANGER("You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust, and soon as you can register this, you do as well."), + SPAN_HEAR("Everything suddenly goes silent.") ) user.dust() radiation_pulse(src, 2000, GAMMA_RAD) else add_attack_logs(user, AM, "[AM] consumed by melee attack with [src] by [user].") user.visible_message( - "As [user] touches [AM] with [src], [AM] flashes into dust and silence fills the room...", - "You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust.", - "Everything suddenly goes silent." + SPAN_DANGER("As [user] touches [AM] with [src], [AM] flashes into dust and silence fills the room..."), + SPAN_USERDANGER("You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust."), + SPAN_HEAR("Everything suddenly goes silent.") ) QDEL_NULL(sliver) update_icon(UPDATE_ICON_STATE) @@ -477,28 +477,28 @@ /obj/item/ppp_processor/examine(mob/user) . = ..() if(fully_processed_particulate) - . += "[src] has processed the data you now possess. All you need to do is present it after this shift." + . += SPAN_NOTICE("[src] has processed the data you now possess. All you need to do is present it after this shift.") return if(clouds_processed < 3) - . += "[src] has only [clouds_processed] out of 3 samples." + . += SPAN_NOTICE("[src] has only [clouds_processed] out of 3 samples.") if(clouds_processed == 3) - . += "[src] has all 3 samples. Use it in hand to process the particulate." + . += SPAN_NOTICE("[src] has all 3 samples. Use it in hand to process the particulate.") /obj/item/ppp_processor/activate_self(mob/user) if(..()) return if(fully_processed_particulate) - to_chat(user, "[src] has already processed and ejected the particulate canisters. Just make sure to escape with the processor!") + to_chat(user, SPAN_NOTICE("[src] has already processed and ejected the particulate canisters. Just make sure to escape with the processor!")) return if(clouds_processed < 3) - to_chat(user, "[src] has only [clouds_processed] out of 3 samples. You still need to collect more!") + to_chat(user, SPAN_WARNING("[src] has only [clouds_processed] out of 3 samples. You still need to collect more!")) return if(presently_processing_particular_particultate) - to_chat(user, "[src] is presently processing particularly powerful packets of your particular particulate. Wait for it to finish before proceeding.") + to_chat(user, SPAN_WARNING("[src] is presently processing particularly powerful packets of your particular particulate. Wait for it to finish before proceeding.")) return - to_chat(user, "[src] is presently processing the particulate. Please hold as processing finishes, and be aware it may eject collection canisters.") + to_chat(user, SPAN_NOTICE("[src] is presently processing the particulate. Please hold as processing finishes, and be aware it may eject collection canisters.")) if(me_cro_wah_vey) me_cro_wah_vey.start() addtimer(CALLBACK(src, PROC_REF(perfectly_processed), user), 15 SECONDS) @@ -524,7 +524,7 @@ /obj/item/ppp_processor/proc/perfectly_processed(mob/user) if(!QDELETED(user)) - to_chat(user, "[src] has perfectly processed the particulate. You may now use the canisters however you wish. Ensure the processor gets back to us.") + to_chat(user, SPAN_NOTICE("[src] has perfectly processed the particulate. You may now use the canisters however you wish. Ensure the processor gets back to us.")) me_cro_wah_vey.stop() presently_processing_particular_particultate = FALSE clouds_processed = -1 @@ -537,7 +537,7 @@ potential_grenade_rewards -= /obj/item/grenade/anomalous_canister/mini var/turf/our_turf = get_turf(src) - our_turf.visible_message("Three containers are ejected out of [src].") + our_turf.visible_message(SPAN_WARNING("Three containers are ejected out of [src].")) for(var/i in 1 to 3) var/obj/item/new_toy = pick_n_take(potential_grenade_rewards) new new_toy(get_turf(src)) @@ -601,7 +601,7 @@ return has_primed = TRUE var/turf/our_turf = get_turf(src) - our_turf.visible_message("[src] shatters open, the [(number_of_anomalies - 1) ? "clouds" : "cloud"] of particulate rapidly forming into something more!") + our_turf.visible_message(SPAN_DANGER("[src] shatters open, the [(number_of_anomalies - 1) ? "clouds" : "cloud"] of particulate rapidly forming into something more!")) playsound(src, "shatter", 70, TRUE) update_mob() for(var/i in 1 to number_of_anomalies) @@ -618,7 +618,7 @@ /obj/item/grenade/anomalous_canister/dual_core/examine(mob/user) . = ..() - . += "Two smaller clouds of particulate are swirling around in this canister. It will likely form into two anomalies." + . += SPAN_NOTICE("Two smaller clouds of particulate are swirling around in this canister. It will likely form into two anomalies.") /obj/item/grenade/anomalous_canister/condensed name = "condensed anomalous particulate canister" @@ -627,7 +627,7 @@ /obj/item/grenade/anomalous_canister/condensed/examine(mob/user) . = ..() - . += "A large cloud of resiliant particulate is floating in this canister. It will last longer than other anomalies." + . += SPAN_NOTICE("A large cloud of resiliant particulate is floating in this canister. It will last longer than other anomalies.") /obj/item/grenade/anomalous_canister/stabilized name = "stabilized anomalous particulate canister" @@ -636,14 +636,14 @@ /obj/item/grenade/anomalous_canister/stabilized/examine(mob/user) . = ..() - . += "The predicted result for the cloud to condense into is displayed as \an [anomaly_type::name]!" + . += SPAN_NOTICE("The predicted result for the cloud to condense into is displayed as \an [anomaly_type::name]!") /obj/effect/abstract/dummy_mini_spawner /obj/effect/abstract/dummy_mini_spawner/Initialize(mapload) . = ..() var/turf/our_turf = get_turf(src) - our_turf.visible_message("One of the containers splits into 3 smaller capsules!") + our_turf.visible_message(SPAN_WARNING("One of the containers splits into 3 smaller capsules!")) for(var/i in 1 to 3) new /obj/item/grenade/anomalous_canister/mini(our_turf) return INITIALIZE_HINT_QDEL @@ -661,12 +661,12 @@ has_primed = TRUE update_mob() var/turf/our_turf = get_turf(src) - our_turf.visible_message("[src] activates and...") + our_turf.visible_message(SPAN_DANGER("[src] activates and...")) playsound(src, "shatter", 70, TRUE) switch(anomaly_type) if(/obj/effect/anomaly/bluespace) // Teleport and slow combat for 15 if(!is_teleport_allowed(z)) - visible_message("[src]'s fragments begin rapidly vibrating and blink out of existence.") + visible_message(SPAN_WARNING("[src]'s fragments begin rapidly vibrating and blink out of existence.")) qdel(src) return for(var/mob/living/L in range(7, our_turf)) @@ -697,13 +697,13 @@ var/mob/living/M = AM M.Weaken(8 SECONDS) M.adjustBruteLoss(5) - to_chat(M, "You're slammed into the floor by an anomalous force!") + to_chat(M, SPAN_USERDANGER("You're slammed into the floor by an anomalous force!")) else new /obj/effect/temp_visual/gravpush(get_turf(AM), get_dir(src, AM)) // created sparkles will disappear on their own if(isliving(AM)) var/mob/living/M = AM M.Weaken(3 SECONDS) - to_chat(M, "You're thrown back by a anomalous force!") + to_chat(M, SPAN_USERDANGER("You're thrown back by a anomalous force!")) spawn(0) AM.throw_at(throwtarget, ((clamp((5 - (clamp(distfromcaster - 2, 0, distfromcaster))), 3, 5))), 1) // So stuff gets tossed around at the same time. if(/obj/effect/anomaly/pyro) // burn diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index feec55e7dbf..f748c734bb2 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -77,7 +77,7 @@ if(!user) return - user.visible_message("[user] looks up and hooks [src] into a ceiling tile! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] looks up and hooks [src] into a ceiling tile! It looks like [user.p_theyre()] trying to commit suicide!")) user.Immobilize(10 SECONDS) playsound(loc, 'sound/items/crowbar.ogg', 50, TRUE, -1) @@ -85,7 +85,7 @@ sleep(2 SECONDS) add_fingerprint(user) - to_chat(user, "You pry open the ceiling tile above you and look beyond it.. oh God, what the hell is that?!") + to_chat(user, SPAN_USERDANGER("You pry open the ceiling tile above you and look beyond it.. oh God, what the hell is that?!")) user.emote("scream") animate_fading_leap_up(user) @@ -125,7 +125,7 @@ ADD_TRAIT(src, TRAIT_ADVANCED_SURGICAL, ROUNDSTART_TRAIT) /obj/item/crowbar/power/suicide_act(mob/user) - user.visible_message("[user] is putting [user.p_their()] head in [src]. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is putting [user.p_their()] head in [src]. It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/items/jaws_pry.ogg', 50, TRUE, -1) return BRUTELOSS @@ -135,7 +135,7 @@ playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, 1) var/obj/item/wirecutters/power/cutjaws = new /obj/item/wirecutters/power - to_chat(user, "You attach the cutting jaws to [src].") + to_chat(user, SPAN_NOTICE("You attach the cutting jaws to [src].")) for(var/obj/item/smithed_item/tool_bit/bit in attached_bits) bit.on_detached() bit.forceMove(cutjaws) diff --git a/code/game/objects/items/tools/hammer.dm b/code/game/objects/items/tools/hammer.dm index 9a6f92db0f2..fadb2180e55 100644 --- a/code/game/objects/items/tools/hammer.dm +++ b/code/game/objects/items/tools/hammer.dm @@ -22,7 +22,7 @@ RegisterSignal(src, COMSIG_CLICK_ALT, PROC_REF(remove_bit)) /obj/item/hammer/suicide_act(mob/user) - user.visible_message("[user] is bashing [user.p_their()] head with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is bashing [user.p_their()] head with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) if(!use_tool(user, user, 3 SECONDS, volume = tool_volume)) return SHAME diff --git a/code/game/objects/items/tools/multitool.dm b/code/game/objects/items/tools/multitool.dm index 4b30631607e..a6e0e653f0c 100644 --- a/code/game/objects/items/tools/multitool.dm +++ b/code/game/objects/items/tools/multitool.dm @@ -33,10 +33,10 @@ /obj/item/multitool/proc/set_multitool_buffer(mob/user, obj/machinery/M) //Loads a machine into memory, returns TRUE if it does if(!ismachinery(M)) - to_chat(user, "That's not a machine!") + to_chat(user, SPAN_WARNING("That's not a machine!")) return buffer = M - to_chat(user, "You load [M]'s identifying data into [src]'s internal buffer.") + to_chat(user, SPAN_NOTICE("You load [M]'s identifying data into [src]'s internal buffer.")) return TRUE /obj/item/multitool/Destroy() @@ -51,12 +51,12 @@ var/area/local_area = get_area(src) var/obj/machinery/power/apc/apc = local_area?.get_apc() if(!apc) - to_chat(user, "No APC detected.") + to_chat(user, SPAN_WARNING("No APC detected.")) return if(get_turf(src) == get_turf(apc)) // we're standing on top of it - to_chat(user, "APC detected 0 meters [dir2text(apc.dir)].") + to_chat(user, SPAN_NOTICE("APC detected 0 meters [dir2text(apc.dir)].")) return - to_chat(user, "APC detected [get_dist(src, apc)] meter\s [dir2text(get_dir(src, apc))].") + to_chat(user, SPAN_NOTICE("APC detected [get_dist(src, apc)] meter\s [dir2text(get_dir(src, apc))].")) /obj/item/multitool/ranged_interact_with_atom(atom/target, mob/living/user, list/modifiers) . = ..() @@ -139,7 +139,7 @@ var/list/victims = list() /obj/item/multitool/command/suicide_act(mob/living/user) - user.visible_message("[user] is attempting to command the command multitool! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is attempting to command the command multitool! It looks like [user.p_theyre()] trying to commit suicide!")) //basically just cleaned up and copied from the medical wrench code if(!user) return diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index 327521a2d71..efe0c42d308 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -39,7 +39,7 @@ random_color = FALSE /obj/item/screwdriver/suicide_act(mob/user) - user.visible_message("[user] is stabbing [src] into [user.p_their()] [pick("temple", "heart")]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is stabbing [src] into [user.p_their()] [pick("temple", "heart")]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/screwdriver/New(loc, param_color = null) @@ -84,13 +84,13 @@ if(!user) return - user.visible_message("[user] is trying to take [src]'s independence! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is trying to take [src]'s independence! It looks like [user.p_theyre()] trying to commit suicide!")) user.Immobilize(10 SECONDS) sleep(2 SECONDS) add_fingerprint(user) - user.visible_message("[src] retaliates viciously!", "[src] retaliates viciously!") + user.visible_message(SPAN_WARN("[src] retaliates viciously!"), SPAN_USERDANGER("[src] retaliates viciously!")) playsound(loc, hitsound, 50, TRUE, -1) return BRUTELOSS @@ -119,7 +119,7 @@ ADD_TRAIT(src, TRAIT_ADVANCED_SURGICAL, ROUNDSTART_TRAIT) /obj/item/screwdriver/power/suicide_act(mob/user) - user.visible_message("[user] is putting [src] to [user.p_their()] temple. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is putting [src] to [user.p_their()] temple. It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/screwdriver/power/activate_self(mob/user) @@ -128,7 +128,7 @@ playsound(get_turf(user), 'sound/items/change_drill.ogg', 50, 1) var/obj/item/wrench/power/b_drill = new /obj/item/wrench/power - to_chat(user, "You attach the bolt driver bit to [src].") + to_chat(user, SPAN_NOTICE("You attach the bolt driver bit to [src].")) for(var/obj/item/smithed_item/tool_bit/bit in attached_bits) bit.on_detached() bit.forceMove(b_drill) diff --git a/code/game/objects/items/tools/welder.dm b/code/game/objects/items/tools/welder.dm index 2f286b92dca..76203010d39 100644 --- a/code/game/objects/items/tools/welder.dm +++ b/code/game/objects/items/tools/welder.dm @@ -60,12 +60,12 @@ . += "It contains [GET_FUEL] unit\s of fuel out of [maximum_fuel]." /obj/item/weldingtool/suicide_act(mob/user) - user.visible_message("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!")) return FIRELOSS /obj/item/weldingtool/can_enter_storage(obj/item/storage/S, mob/user) if(tool_enabled) - to_chat(user, "[S] can't hold [src] while it's lit!") + to_chat(user, SPAN_WARNING("[S] can't hold [src] while it's lit!")) return FALSE else return TRUE @@ -91,14 +91,14 @@ /obj/item/weldingtool/attack_self__legacy__attackchain(mob/user) if(tool_enabled) //Turn off the welder if it's on - to_chat(user, "You switch off [src].") + to_chat(user, SPAN_NOTICE("You switch off [src].")) toggle_welder() return else if(GET_FUEL) //The welder is off, but we need to check if there is fuel in the tank - to_chat(user, "You switch on [src].") + to_chat(user, SPAN_NOTICE("You switch on [src].")) toggle_welder() else //The welder is off and unfuelled - to_chat(user, "[src] is out of fuel!") + to_chat(user, SPAN_NOTICE("[src] is out of fuel!")) /obj/item/weldingtool/proc/toggle_welder(turn_off = FALSE) //Turn it on or off, forces it to deactivate tool_enabled = turn_off ? FALSE : !tool_enabled @@ -127,13 +127,13 @@ /obj/item/weldingtool/tool_use_check(mob/living/user, amount, silent = FALSE) if(!tool_enabled) if(!silent) - to_chat(user, "[src] has to be on to complete this task!") + to_chat(user, SPAN_NOTICE("[src] has to be on to complete this task!")) return FALSE if(GET_FUEL >= amount * requires_fuel) return TRUE else if(!silent) - to_chat(user, "You need more welding fuel to complete this task!") + to_chat(user, SPAN_WARNING("You need more welding fuel to complete this task!")) return FALSE // When welding is about to start, run a normal tool_use_check, then flash a mob if it succeeds. @@ -171,18 +171,18 @@ return !isnull(cig) if(!tool_enabled) - to_chat(user, "You need to activate [src] before you can light anything with it!") + to_chat(user, SPAN_WARNING("You need to activate [src] before you can light anything with it!")) return TRUE if(target == user) user.visible_message( - "[user] casually lights [cig] with [src], what a badass.", - "You light [cig] with [src]." + SPAN_NOTICE("[user] casually lights [cig] with [src], what a badass."), + SPAN_NOTICE("You light [cig] with [src].") ) else user.visible_message( - "[user] holds out [src] out for [target], and casually lights [cig]. What a badass.", - "You light [cig] for [target] with [src]." + SPAN_NOTICE("[user] holds out [src] out for [target], and casually lights [cig]. What a badass."), + SPAN_NOTICE("You light [cig] for [target] with [src].") ) cig.light(user, target) return TRUE @@ -215,16 +215,16 @@ if(!A.reagents) return if(GET_FUEL >= maximum_fuel) - to_chat(user, "[src] is already full!") + to_chat(user, SPAN_NOTICE("[src] is already full!")) return var/amount_transferred = A.reagents.trans_id_to(src, "fuel", amount) if(amount_transferred) - to_chat(user, "You refuel [src] by [amount_transferred] unit\s.") + to_chat(user, SPAN_NOTICE("You refuel [src] by [amount_transferred] unit\s.")) playsound(src, 'sound/effects/refill.ogg', 50, 1) update_icon() return amount_transferred else - to_chat(user, "There's not enough fuel in [A] to refuel [src]!") + to_chat(user, SPAN_WARNING("There's not enough fuel in [A] to refuel [src]!")) /obj/item/weldingtool/update_icon_state() if(low_fuel_changes_icon) @@ -283,14 +283,14 @@ if(!user) return - user.visible_message("[user] is tinkering with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is tinkering with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) to_chat(user, "You begin tinkering with [src]...") user.Immobilize(10 SECONDS) sleep(2 SECONDS) add_fingerprint(user) - user.visible_message("[src] blows up in [user]'s face!", "Oh, shit!") + user.visible_message(SPAN_DANGER("[src] blows up in [user]'s face!"), SPAN_USERDANGER("Oh, shit!")) playsound(loc, "sound/effects/explosion1.ogg", 50, TRUE, -1) user.gib() diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index df8142d2d23..17e89cebc4b 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -40,7 +40,7 @@ /obj/item/wirecutters/interact_with_atom(atom/target, mob/living/user, list/modifiers) var/mob/living/carbon/mob = target if(istype(mob) && mob.handcuffed && istype(mob.handcuffed, /obj/item/restraints/handcuffs/cable)) - user.visible_message("[user] cuts [mob]'s restraints with [src]!") + user.visible_message(SPAN_NOTICE("[user] cuts [mob]'s restraints with [src]!")) QDEL_NULL(mob.handcuffed) if(mob.buckled && mob.buckled.buckle_requires_restraints) mob.unbuckle() @@ -48,7 +48,7 @@ return ITEM_INTERACT_COMPLETE /obj/item/wirecutters/suicide_act(mob/user) - user.visible_message("[user] is cutting at [user.p_their()] [is_robotic_suicide(user) ? "wiring" : "arteries"] with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is cutting at [user.p_their()] [is_robotic_suicide(user) ? "wiring" : "arteries"] with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, usesound, 50, TRUE, -1) return BRUTELOSS @@ -78,7 +78,7 @@ if(!user) return - user.visible_message("[user] is cutting [user.p_themselves()] free from the mortal coil! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is cutting [user.p_themselves()] free from the mortal coil! It looks like [user.p_theyre()] trying to commit suicide!")) user.Immobilize(10 SECONDS) @@ -128,7 +128,7 @@ random_color = FALSE /obj/item/wirecutters/power/suicide_act(mob/user) - user.visible_message("[user] is wrapping [src] around [user.p_their()] neck. It looks like [user.p_theyre()] trying to rip [user.p_their()] head off!") + user.visible_message(SPAN_SUICIDE("[user] is wrapping [src] around [user.p_their()] neck. It looks like [user.p_theyre()] trying to rip [user.p_their()] head off!")) if(!use_tool(user, user, 3 SECONDS, volume = tool_volume)) return SHAME @@ -139,13 +139,13 @@ var/mob/living/carbon/human/H = user var/obj/item/organ/external/head/head = H.bodyparts_by_name["head"] if(!head) - user.visible_message("...but [user.p_they()] [user.p_are()] already headless! How embarassing.") + user.visible_message(SPAN_SUICIDE("...but [user.p_they()] [user.p_are()] already headless! How embarassing.")) return SHAME head.droplimb(FALSE, DROPLIMB_SHARP, FALSE, TRUE) if(user.stat != DEAD) - user.visible_message("...but [user.p_they()] didn't need it anyway! How embarassing.") + user.visible_message(SPAN_SUICIDE("...but [user.p_they()] didn't need it anyway! How embarassing.")) return SHAME return OXYLOSS @@ -156,7 +156,7 @@ playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, 1) var/obj/item/crowbar/power/pryjaws = new /obj/item/crowbar/power - to_chat(user, "You attach the pry jaws to [src].") + to_chat(user, SPAN_NOTICE("You attach the pry jaws to [src].")) for(var/obj/item/smithed_item/tool_bit/bit in attached_bits) bit.on_detached() bit.forceMove(pryjaws) diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 7e090ec24cd..a69f73fde88 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -26,7 +26,7 @@ RegisterSignal(src, COMSIG_CLICK_ALT, PROC_REF(remove_bit)) /obj/item/wrench/suicide_act(mob/user) - user.visible_message("[user] is unsecuring [user.p_their()] head with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is unsecuring [user.p_their()] head with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) if(!use_tool(user, user, 3 SECONDS, volume = tool_volume)) return SHAME @@ -37,13 +37,13 @@ var/mob/living/carbon/human/H = user var/obj/item/organ/external/head/head = H.bodyparts_by_name["head"] if(!head) - user.visible_message("...but [user.p_they()] [user.p_are()] already headless! How embarassing.") + user.visible_message(SPAN_SUICIDE("...but [user.p_they()] [user.p_are()] already headless! How embarassing.")) return SHAME head.droplimb(TRUE, DROPLIMB_SHARP, FALSE, TRUE) if(user.stat != DEAD) - user.visible_message("...but [user.p_they()] didn't need it anyway! How embarassing.") + user.visible_message(SPAN_SUICIDE("...but [user.p_they()] didn't need it anyway! How embarassing.")) return SHAME return OXYLOSS @@ -82,7 +82,7 @@ playsound(get_turf(user),'sound/items/change_drill.ogg', 50, 1) var/obj/item/wirecutters/power/s_drill = new /obj/item/screwdriver/power - to_chat(user, "You attach the screwdriver bit to [src].") + to_chat(user, SPAN_NOTICE("You attach the screwdriver bit to [src].")) for(var/obj/item/smithed_item/tool_bit/bit in attached_bits) bit.on_detached() bit.forceMove(s_drill) @@ -106,7 +106,7 @@ toolspeed = 0.75 /obj/item/wrench/medical/suicide_act(mob/living/user) - user.visible_message("[user] is praying to the medical wrench to take [user.p_their()] soul. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is praying to the medical wrench to take [user.p_their()] soul. It looks like [user.p_theyre()] trying to commit suicide!")) // HAVE THEM GLOW WITH THE BRIGHTNESS OF A THOUSAND SUNS user.set_light(10, 25, rgb(255, 252, 82)) @@ -148,7 +148,7 @@ user.color = previous_color // for the sake of their ghost user.dust() - user.visible_message("[user]'s soul coalesces into a new [W.name]!") + user.visible_message(SPAN_SUICIDE("[user]'s soul coalesces into a new [W.name]!")) return OBLITERATION /obj/item/wrench/bolter diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 485f0ebb487..5b283965c44 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -49,19 +49,19 @@ if(istype(target, /obj/structure/reagent_dispensers)) var/obj/structure/reagent_dispensers/RD = target if(RD.reagents.total_volume <= 0) - to_chat(user, "[RD] is empty.") + to_chat(user, SPAN_WARNING("[RD] is empty.")) else if(reagents.total_volume >= 10) - to_chat(user, "[src] is full.") + to_chat(user, SPAN_WARNING("[src] is full.")) else target.reagents.trans_to(src, 10) - to_chat(user, "You fill the balloon with the contents of [target].") + to_chat(user, SPAN_NOTICE("You fill the balloon with the contents of [target].")) desc = "A translucent balloon with some form of liquid sloshing around in it." update_icon() /obj/item/toy/balloon/wash(mob/user, atom/source) if(reagents.total_volume < 10) reagents.add_reagent("water", min(10-reagents.total_volume, 10)) - to_chat(user, "You fill the balloon from the [source].") + to_chat(user, SPAN_NOTICE("You fill the balloon from the [source].")) desc = "A translucent balloon with some form of liquid sloshing around in it." update_icon() return @@ -80,14 +80,14 @@ qdel(src) else desc = "A translucent balloon with some form of liquid sloshing around in it." - to_chat(user, "You fill the balloon with the contents of [attacking].") + to_chat(user, SPAN_NOTICE("You fill the balloon with the contents of [attacking].")) attacking.reagents.trans_to(src, 10) update_icon() return /obj/item/toy/balloon/throw_impact(atom/hit_atom) if(reagents.total_volume >= 1) - visible_message("[src] bursts!","You hear a pop and a splash.") + visible_message(SPAN_WARNING("[src] bursts!"),"You hear a pop and a splash.") reagents.reaction(get_turf(hit_atom)) for(var/atom/A in get_turf(hit_atom)) reagents.reaction(A) @@ -114,7 +114,7 @@ if(..() || world.time - lastused < CLICK_CD_MELEE) return var/playverb = pick("bat [src]", "tug on [src]'s string", "play with [src]") - user.visible_message("[user] plays with [src].", "You [playverb].") + user.visible_message(SPAN_NOTICE("[user] plays with [src]."), SPAN_NOTICE("You [playverb].")) lastused = world.time /obj/item/toy/syndicateballoon/suicide_act(mob/living/user) @@ -122,7 +122,7 @@ if(!user) return - user.visible_message("[user] ties [src] around [user.p_their()] neck and starts to float away! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] ties [src] around [user.p_their()] neck and starts to float away! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(get_turf(user), 'sound/magic/fleshtostone.ogg', 80, TRUE) @@ -183,12 +183,12 @@ return active = !active if(active) - to_chat(user, "You extend the plastic blade with a quick flick of your wrist.") + to_chat(user, SPAN_NOTICE("You extend the plastic blade with a quick flick of your wrist.")) playsound(user, 'sound/weapons/saberon.ogg', 20, 1) icon_state = "swordblue" w_class = WEIGHT_CLASS_BULKY else - to_chat(user, "You push the plastic blade back down into the handle.") + to_chat(user, SPAN_NOTICE("You push the plastic blade back down into the handle.")) playsound(user, 'sound/weapons/saberoff.ogg', 20, 1) icon_state = "sword" w_class = WEIGHT_CLASS_SMALL @@ -204,14 +204,14 @@ return FINISH_ATTACK if(istype(attacking, /obj/item/toy/sword)) if(attacking == src) - to_chat(user, "You try to attach the end of the plastic sword to... Itself. You're not very smart, are you?") + to_chat(user, SPAN_NOTICE("You try to attach the end of the plastic sword to... Itself. You're not very smart, are you?")) if(ishuman(user)) var/mob/living/carbon/human/H = user H.adjustBrainLoss(10) else if((attacking.flags & NODROP) || (flags & NODROP)) - to_chat(user, "\the [flags & NODROP ? src : attacking] is stuck to your hand, you can't attach it to \the [flags & NODROP ? attacking : src]!") + to_chat(user, SPAN_NOTICE("\the [flags & NODROP ? src : attacking] is stuck to your hand, you can't attach it to \the [flags & NODROP ? attacking : src]!")) else - to_chat(user, "You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.") + to_chat(user, SPAN_NOTICE("You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.")) new /obj/item/dualsaber/toy(user.loc) qdel(attacking) qdel(src) @@ -231,7 +231,7 @@ return !isnull(cig) if(!active) - to_chat(user, "You must activate [src] before you can light [cig] with it!") + to_chat(user, SPAN_WARNING("You must activate [src] before you can light [cig] with it!")) return TRUE user.do_attack_animation(target) @@ -242,15 +242,15 @@ user.visible_message( "[user] makes a violent slashing motion, barely missing [user.p_their()] nose as light flashes! \ [user.p_they(TRUE)] light[user.p_s()] [user.p_their()] [cig] with [src] in the process. Somehow...", - "You casually slash [src] at [cig], lighting it with the blade. Somehow...", - "You hear an energy blade slashing something!" + SPAN_NOTICE("You casually slash [src] at [cig], lighting it with the blade. Somehow..."), + SPAN_DANGER("You hear an energy blade slashing something!") ) else user.visible_message( "[user] makes a violent slashing motion, barely missing the nose of [target] as light flashes! \ [user.p_they(TRUE)] light[user.p_s()] [cig] in the mouth of [target] with [src] in the process. Somehow...", - "You casually slash [src] at [cig] in the mouth of [target], lighting it with the blade. Somehow...", - "You hear an energy blade slashing something!" + SPAN_NOTICE("You casually slash [src] at [cig] in the mouth of [target], lighting it with the blade. Somehow..."), + SPAN_DANGER("You hear an energy blade slashing something!") ) playsound(user.loc, 'sound/weapons/blade1.ogg', 50, TRUE) cig.light(user, target) @@ -261,15 +261,15 @@ user.visible_message( "[user] makes a violent slashing motion, barely missing [user.p_their()] nose as light flashes! \ [user.p_they(TRUE)] instead hit [cig], knocking it out of [user.p_their()] mouth and dropping it to the floor.", - "You casually slash [src] at [cig], swatting it out of your mouth.", - "You hear a gentle tapping." + SPAN_WARNING("You casually slash [src] at [cig], swatting it out of your mouth."), + SPAN_NOTICE("You hear a gentle tapping.") ) else user.visible_message( "[user] makes a violent slashing motion, barely missing the nose of [target] as light flashes! \ [user] does hit [cig], knocking it out of the mouth of [target] and dropping it to the floor. Wow, rude!", - "You casually slash [src] at [cig] in the mouth of [target], swatting it to the floor!", - "You hear a gentle tapping." + SPAN_WARNING("You casually slash [src] at [cig] in the mouth of [target], swatting it to the floor!"), + SPAN_NOTICE("You hear a gentle tapping.") ) playsound(loc, 'sound/weapons/tap.ogg', vary = TRUE) target.drop_item_to_ground(cig, TRUE) @@ -278,7 +278,7 @@ /obj/item/toy/sword/chaosprank/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(!pranked) - to_chat(user, "Oh... It's a fake.") + to_chat(user, SPAN_CHAOSVERYBAD("Oh... It's a fake.")) name = "toy sword" pranked = TRUE @@ -327,7 +327,7 @@ "[user] tries to stab [src] into [user.p_their()] abdomen, but it shatters! [user.p_they(TRUE)] look[user.p_s()] as if [user.p_they()] might die from the shame.", "[user] tries to stab [src] into [user.p_their()] abdomen, but [src] bends and breaks in half! [user.p_they(TRUE)] look[user.p_s()] as if [user.p_they()] might die from the shame.", "[user] tries to slice [user.p_their()] own throat, but the plastic blade has no sharpness, causing [user.p_them()] to lose [user.p_their()] balance, slip over, and break [user.p_their()] neck with a loud snap!") - user.visible_message("[dmsg] It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[dmsg] It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS @@ -348,7 +348,7 @@ ..() do_sparks(3, 1, src) new /obj/effect/decal/cleanable/ash(src.loc) - visible_message("[src] explodes!","You hear a bang!") + visible_message(SPAN_WARNING("[src] explodes!"),SPAN_WARNING("You hear a bang!")) playsound(src, 'sound/effects/snap.ogg', 50, 1) qdel(src) @@ -373,8 +373,8 @@ /obj/item/toy/snappop/proc/pop_burst(n=3, c=1) do_sparks(n, c, src) new ash_type(loc) - visible_message("[src] explodes!", - "You hear a snap!") + visible_message(SPAN_WARNING("[src] explodes!"), + SPAN_ITALICS("You hear a snap!")) playsound(src, 'sound/effects/snap.ogg', 50, 1) qdel(src) @@ -390,7 +390,7 @@ if(ishuman(entered) || issilicon(entered)) //i guess carp and shit shouldn't set them off var/mob/living/carbon/M = entered if(issilicon(entered) || M.m_intent == MOVE_INTENT_RUN) - to_chat(M, "You step on the snap pop!") + to_chat(M, SPAN_DANGER("You step on the snap pop!")) pop_burst(2, 0) /obj/item/toy/snappop/phoenix @@ -423,7 +423,7 @@ return if(cooldown < world.time) cooldown = world.time + 1800 //3 minutes - user.visible_message("[user] presses a button on [src]", "You activate [src], it plays a loud noise!", "You hear the click of a button.") + user.visible_message(SPAN_WARNING("[user] presses a button on [src]"), SPAN_NOTICE("You activate [src], it plays a loud noise!"), SPAN_NOTICE("You hear the click of a button.")) spawn(5) //gia said so icon_state = "nuketoy" playsound(src, 'sound/machines/alarm.ogg', 100, FALSE, 0) @@ -433,7 +433,7 @@ icon_state = "nuketoyidle" else var/timeleft = (cooldown - world.time) - to_chat(user, "Nothing happens, and '[round(timeleft/10)]' appears on a small display.") + to_chat(user, SPAN_ALERT("Nothing happens, and '[round(timeleft/10)]' appears on a small display.")) /obj/item/toy/therapy name = "therapy doll" @@ -457,7 +457,7 @@ /obj/item/toy/therapy/activate_self(mob/user) if(..() || !(cooldown < world.time - 8)) return - to_chat(user, "You relieve some stress with \the [src].") + to_chat(user, SPAN_NOTICE("You relieve some stress with \the [src].")) playsound(user, 'sound/items/squeaktoy.ogg', 20, TRUE) cooldown = world.time @@ -579,11 +579,11 @@ if(has_stuffing || grenade) if(rare_hug_sound && rare_hug_word && COOLDOWN_FINISHED(src, rare_hug_cooldown)) playsound(src, rare_hug_sound , 10, FALSE) - visible_message("[rare_hug_word]") + visible_message(SPAN_DANGER("[rare_hug_word]")) COOLDOWN_START(src, rare_hug_cooldown, 3 SECONDS) else var/cuddle_verb = pick("hugs", "cuddles", "snugs") - user.visible_message("[user] [cuddle_verb] [src].") + user.visible_message(SPAN_NOTICE("[user] [cuddle_verb] [src].")) playsound(get_turf(src), pickweight(poof_sound), 50, TRUE, -1) if(grenade && !grenade.active) add_attack_logs(user, user, "activated a hidden grenade in [src].", ATKLOG_MOST) @@ -591,7 +591,7 @@ //We call with grenade as argument, so cutting the grenade out doesn't magically defuse it addtimer(CALLBACK(src, PROC_REF(explosive_betrayal), grenade), rand(1, 3) SECONDS) else - to_chat(user, "You try to pet [src], but it has no stuffing. Aww...") + to_chat(user, SPAN_NOTICE("You try to pet [src], but it has no stuffing. Aww...")) /obj/item/toy/plushie/proc/explosive_betrayal(obj/item/grenade/grenade_callback) @@ -613,29 +613,29 @@ if(attacking.sharp) if(!grenade) if(!has_stuffing) - to_chat(user, "You already murdered it!") + to_chat(user, SPAN_WARNING("You already murdered it!")) return FINISH_ATTACK - user.visible_message("[user] tears out the stuffing from [src]!", "You rip a bunch of the stuffing from [src]. Murderer.") + user.visible_message(SPAN_WARNING("[user] tears out the stuffing from [src]!"), SPAN_NOTICE("You rip a bunch of the stuffing from [src]. Murderer.")) attacking.play_tool_sound(src) has_stuffing = FALSE else - to_chat(user, "You remove the grenade from [src].") + to_chat(user, SPAN_NOTICE("You remove the grenade from [src].")) grenade.forceMove(get_turf(src)) user.put_in_hands(grenade) grenade = null return FINISH_ATTACK if(istype(attacking, /obj/item/grenade)) if(has_stuffing) - to_chat(user, "You need to remove some stuffing first!") + to_chat(user, SPAN_WARNING("You need to remove some stuffing first!")) return FINISH_ATTACK if(grenade) - to_chat(user, "[src] already has a grenade!") + to_chat(user, SPAN_WARNING("[src] already has a grenade!")) return FINISH_ATTACK if(!user.drop_item()) - to_chat(user, "[attacking] is stuck to you and cannot be placed into [src].") + to_chat(user, SPAN_WARNING("[attacking] is stuck to you and cannot be placed into [src].")) return FINISH_ATTACK - user.visible_message("[user] slides [attacking] into [src].", \ - "You slide [attacking] into [src].") + user.visible_message(SPAN_WARNING("[user] slides [attacking] into [src]."), \ + SPAN_WARNING("You slide [attacking] into [src].")) attacking.forceMove(src) grenade = attacking add_attack_logs(user, user, "placed a hidden grenade in [src].", ATKLOG_ALMOSTALL) @@ -771,7 +771,7 @@ scream_cooldown = TRUE //water_act executes the scream_cooldown var, setting it on cooldown. addtimer(CALLBACK(src, PROC_REF(reset_screamdown)), 30 SECONDS) //After 30 seconds the reset_coolodown() proc will execute, resetting the cooldown. Hug interaction is unnaffected by this. playsound(src, 'sound/goonstation/voice/male_scream.ogg', 10, FALSE)//If the plushie gets wet it screams and "AAAAAH!" appears in chat. - visible_message("AAAAAAH!") + visible_message(SPAN_DANGER("AAAAAAH!")) if(singed) return singed = TRUE @@ -790,9 +790,9 @@ hug_cooldown = TRUE addtimer(CALLBACK(src, PROC_REF(reset_hugdown)), 5 SECONDS) //Hug interactions only put the plushie on a 5 second cooldown. if(singed)//If the plushie is water damaged it'll say Ow instead of talking in wingdings. - visible_message("Ow...") + visible_message(SPAN_DANGER("Ow...")) else//If the plushie has not touched water they'll say Greetings in wingdings. - visible_message("☝︎❒︎♏︎♏︎⧫︎♓︎■︎♑︎⬧︎📬︎") + visible_message(SPAN_DANGER("☝︎❒︎♏︎♏︎⧫︎♓︎■︎♑︎⬧︎📬︎")) /obj/item/toy/plushie/voxplushie name = "vox plushie" @@ -811,7 +811,7 @@ return FINISH_ATTACK if(istype(attacking, /obj/item/food/sliced/bread)) new /obj/item/food/toast(get_turf(loc)) - to_chat(user, "You insert bread into the toaster.") + to_chat(user, SPAN_NOTICE("You insert bread into the toaster.")) playsound(loc, 'sound/machines/ding.ogg', 50, 1) qdel(attacking) return FINISH_ATTACK @@ -963,7 +963,7 @@ /obj/item/toy/plushie/skrellplushie/examine(mob/user) . = ..() - . += "Alt-click to put something small inside the headpocket, or take an item out." + . += SPAN_NOTICE("Alt-click to put something small inside the headpocket, or take an item out.") /obj/item/toy/plushie/skrellplushie/AltClick(mob/user) if(!Adjacent(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) @@ -974,23 +974,23 @@ if(!I) if(!headpocket_item) return - to_chat(user, "You remove [headpocket_item] from [src].") + to_chat(user, SPAN_NOTICE("You remove [headpocket_item] from [src].")) headpocket_item.forceMove(get_turf(src)) user.put_in_hands(headpocket_item) headpocket_item = null return if(I.w_class > WEIGHT_CLASS_SMALL) - to_chat(user, "You cannot fit [I] in [src]!") + to_chat(user, SPAN_WARNING("You cannot fit [I] in [src]!")) return if(!iscarbon(user)) return if(headpocket_item) - to_chat(user, "[src] already has an item in its headpocket!") + to_chat(user, SPAN_WARNING("[src] already has an item in its headpocket!")) return if(!user.drop_item()) - to_chat(user, "You cannot slip [I] inside [src]!") + to_chat(user, SPAN_WARNING("You cannot slip [I] inside [src]!")) return - user.visible_message("[user] places [I] into [src].", "You place [I] into [src].") + user.visible_message(SPAN_NOTICE("[user] places [I] into [src]."), SPAN_NOTICE("You place [I] into [src].")) add_fingerprint(user) I.forceMove(src) headpocket_item = I @@ -1023,9 +1023,9 @@ /obj/item/toy/plushie/borgplushie/examine(mob/user) . = ..() if(!plushie_module_selected) - . += "Alt-Click [src] to select a module." + . += SPAN_NOTICE("Alt-Click [src] to select a module.") else - . += "You can use a cyborg module reset board to change [src] back into standard mode." + . += SPAN_NOTICE("You can use a cyborg module reset board to change [src] back into standard mode.") /obj/item/toy/plushie/borgplushie/AltClick(mob/user) if(!istype(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) @@ -1060,7 +1060,7 @@ return borg_plushie_overlay = plushie_module_overlays[user_selection] - to_chat(user, "The fabric on [src] changes color, transforming it into \a [lowertext(user_selection)] plush!") + to_chat(user, SPAN_NOTICE("The fabric on [src] changes color, transforming it into \a [lowertext(user_selection)] plush!")) update_icon() plushie_module_selected = TRUE @@ -1069,12 +1069,12 @@ return ..() if(!plushie_module_selected) - to_chat(user, "[src] is already in standard mode!") + to_chat(user, SPAN_WARNING("[src] is already in standard mode!")) return ITEM_INTERACT_COMPLETE borg_plushie_overlay = "plushie_borgassist" update_icon() - to_chat(user, "The fabric on [src] changes color, reverting it back to standard mode.") + to_chat(user, SPAN_NOTICE("The fabric on [src] changes color, reverting it back to standard mode.")) plushie_module_selected = FALSE qdel(used) return ITEM_INTERACT_COMPLETE @@ -1103,12 +1103,12 @@ /obj/item/toy/plushie/borgplushie/extinguish_light(force = FALSE) if(!force) if(on) - visible_message("[src]'s light grows dim...") + visible_message(SPAN_DANGER("[src]'s light grows dim...")) on = !on update_brightness() else atom_say("Self-destruct command received!") - visible_message("[src] explodes!") + visible_message(SPAN_DANGER("[src] explodes!")) var/turf/T = get_turf(src) playsound(T, 'sound/goonstation/effects/robogib.ogg', 50, TRUE) robogibs(T) @@ -1155,7 +1155,7 @@ if(found_grenade) return FINISH_ATTACK new /obj/item/toy/plushie/dionaplushie(get_turf(loc)) - to_chat(user, "The nymph plushies combine seamlessly into an diona plushie!") + to_chat(user, SPAN_NOTICE("The nymph plushies combine seamlessly into an diona plushie!")) playsound(loc, 'sound/voice/dionatalk1.ogg', 50, TRUE) qdel(NP) qdel(src) @@ -1185,7 +1185,7 @@ bakoom() /obj/item/toy/plushie/plasmamanplushie/proc/bakoom() - visible_message("[src] explodes!") + visible_message(SPAN_DANGER("[src] explodes!")) if(grenade) explosive_betrayal(grenade) explosion(get_turf(src), -1, 0, 1, 1, flame_range = 1, cause = "Plasmaman plushie caught on fire") @@ -1204,10 +1204,10 @@ return FINISH_ATTACK if(istype(attacking, /obj/item/soap)) if(prob(20)) - visible_message("[src] consumes the soap...") + visible_message(SPAN_DANGER("[src] consumes the soap...")) qdel(attacking) return FINISH_ATTACK - visible_message("[src] munches the soap...") + visible_message(SPAN_DANGER("[src] munches the soap...")) playsound(loc, 'sound/items/eatfood.ogg', 50, TRUE) /obj/item/toy/plushie/kidanplushie @@ -1222,12 +1222,12 @@ if(..()) return if(prob(10) && sadbug) - visible_message("[src] begins to cheer up!") + visible_message(SPAN_NOTICE("[src] begins to cheer up!")) icon_state = "plushie_kidan" sadbug = FALSE /obj/item/toy/plushie/kidanplushie/proc/make_cry() - visible_message("[src] starts to cry...") + visible_message(SPAN_DANGER("[src] starts to cry...")) icon_state = "plushie_kidansad" sadbug = TRUE @@ -1276,19 +1276,19 @@ if(..()) return if(!active) - to_chat(user, "You wind up [src], it begins to rumble.") + to_chat(user, SPAN_NOTICE("You wind up [src], it begins to rumble.")) active = TRUE update_icon(UPDATE_OVERLAYS) playsound(src, 'sound/effects/pope_entry.ogg', 100) animate_rumble(src) addtimer(CALLBACK(src, PROC_REF(stopRumble)), 60 SECONDS) else - to_chat(user, "[src] is already active!") + to_chat(user, SPAN_WARNING("[src] is already active!")) /obj/item/toy/windup_toolbox/proc/stopRumble() active = FALSE update_icon(UPDATE_OVERLAYS) - visible_message("[src] slowly stops rattling and falls still, its latch snapping shut.") //subtle difference + visible_message(SPAN_WARNING("[src] slowly stops rattling and falls still, its latch snapping shut.")) //subtle difference playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE) animate(src, transform = matrix()) @@ -1308,7 +1308,7 @@ return FINISH_ATTACK playsound(src.loc, 'sound/weapons/flash.ogg', 100, 1) flick("[initial(icon_state)]2", src) - user.visible_message("[user] blinds [target] with the flash!") + user.visible_message(SPAN_DISARM("[user] blinds [target] with the flash!")) /* @@ -1326,11 +1326,11 @@ if(..()) return if(cooldown >= world.time) - to_chat(user, "Nothing happens.") + to_chat(user, SPAN_ALERT("Nothing happens.")) return cooldown = (world.time + 300) // Sets cooldown at 30 seconds - user.visible_message("[user] presses the big red button.", "You press the button, it plays a loud noise!", "The button clicks loudly.") + user.visible_message(SPAN_WARNING("[user] presses the big red button."), SPAN_NOTICE("You press the button, it plays a loud noise!"), SPAN_NOTICE("The button clicks loudly.")) playsound(src, 'sound/effects/explosionfar.ogg', 50, FALSE, 0) flick("bigred_press", src) for(var/mob/M in range(10, src)) // Checks range @@ -1353,9 +1353,9 @@ if(..() || cooldown) //for the sanity of everyone return var/message = generate_ion_law() - to_chat(user, "You press the button on [src].") + to_chat(user, SPAN_NOTICE("You press the button on [src].")) playsound(user, 'sound/machines/click.ogg', 20, TRUE) - visible_message("[bicon(src)] [message]") + visible_message(SPAN_DANGER("[bicon(src)] [message]")) cooldown = 1 spawn(30) cooldown = 0 @@ -1372,14 +1372,14 @@ if(..() || cooldown) return user.visible_message( - "[user] presses the button on \the [src].", - "You press the button on \the [src].", - "You hear a soft click.") + SPAN_NOTICE("[user] presses the button on \the [src]."), + SPAN_NOTICE("You press the button on \the [src]."), + SPAN_NOTICE("You hear a soft click.")) playsound(loc, 'sound/machines/click.ogg', 20, TRUE) cooldown = TRUE addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 60) for(var/message in pick(messages)) - user.loc.visible_message("[bicon(src)] [message]") + user.loc.visible_message(SPAN_DANGER("[bicon(src)] [message]")) sleep(10) // DND Character minis. Use the naming convention (type)character for the icon states. @@ -1432,7 +1432,7 @@ /obj/item/toy/pet_rock/activate_self(mob/user) . = ..() var/cuddle_verb = pick("admires", "respects", "cherises", "appreciates") - user.visible_message("[user] [cuddle_verb] [src].") + user.visible_message(SPAN_NOTICE("[user] [cuddle_verb] [src].")) /obj/item/toy/pet_rock/fred name = "fred" @@ -1459,13 +1459,13 @@ if(..()) return if(stored_minature) - to_chat(user, "\The [src] makes a violent grinding noise as it tears apart the miniature figure inside!") + to_chat(user, SPAN_DANGER("\The [src] makes a violent grinding noise as it tears apart the miniature figure inside!")) QDEL_NULL(stored_minature) playsound(user, 'sound/goonstation/effects/gib.ogg', 20, 1) cooldown = world.time if(cooldown < world.time - 8) - to_chat(user, "You hit the gib button on \the [src].") + to_chat(user, SPAN_NOTICE("You hit the gib button on \the [src].")) playsound(user, 'sound/goonstation/effects/gib.ogg', 20, 1) cooldown = world.time @@ -1473,16 +1473,16 @@ if(..()) return FINISH_ATTACK if(istype(attacking,/obj/item/toy/character) && attacking.loc == user) - to_chat(user, "You start feeding \the [attacking] [bicon(attacking)] into \the [src]'s mini-input.") + to_chat(user, SPAN_NOTICE("You start feeding \the [attacking] [bicon(attacking)] into \the [src]'s mini-input.")) if(do_after(user, 10, target = src)) if(attacking.loc != user) - to_chat(user, "\The [attacking] is too far away to feed into \the [src]!") + to_chat(user, SPAN_ALERT("\The [attacking] is too far away to feed into \the [src]!")) else - to_chat(user, "You feed \the [attacking] [bicon(attacking)] into \the [src]!") + to_chat(user, SPAN_NOTICE("You feed \the [attacking] [bicon(attacking)] into \the [src]!")) user.transfer_item_to(attacking, src) stored_minature = attacking else - to_chat(user, "You stop feeding \the [attacking] into \the [src]'s mini-input.") + to_chat(user, SPAN_WARNING("You stop feeding \the [attacking] into \the [src]'s mini-input.")) return FINISH_ATTACK /obj/item/toy/russian_revolver @@ -1508,7 +1508,7 @@ var/cursed_shot = FALSE /obj/item/toy/russian_revolver/suicide_act(mob/user) - user.visible_message("[user] quickly loads six bullets into [src]'s cylinder and points it at [user.p_their()] head before pulling the trigger! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] quickly loads six bullets into [src]'s cylinder and points it at [user.p_their()] head before pulling the trigger! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/weapons/gunshots/gunshot_strong.ogg', 50, 1) return BRUTELOSS @@ -1520,10 +1520,10 @@ if(..()) return if(!bullets_left) - user.visible_message("[user] loads a bullet into [src]'s cylinder before spinning it.") + user.visible_message(SPAN_WARNING("[user] loads a bullet into [src]'s cylinder before spinning it.")) spin_cylinder() else - user.visible_message("[user] spins the cylinder on [src]!") + user.visible_message(SPAN_WARNING("[user] spins the cylinder on [src]!")) spin_cylinder() /obj/item/toy/russian_revolver/interact_with_atom(atom/target, mob/living/user, list/modifiers) @@ -1547,7 +1547,7 @@ /obj/item/toy/russian_revolver/proc/shoot_gun(mob/living/carbon/human/user) if(bullets_left > 1) bullets_left-- - user.visible_message("*click*") + user.visible_message(SPAN_DANGER("*click*")) playsound(src, 'sound/weapons/empty.ogg', 100, 1) return FALSE if(bullets_left == 1) @@ -1556,13 +1556,13 @@ if(!(user.has_organ(zone))) // If they somehow don't have a head. zone = "chest" playsound(src, 'sound/weapons/gunshots/gunshot_strong.ogg', 50, 1) - user.visible_message("[src] goes off!") + user.visible_message(SPAN_DANGER("[src] goes off!")) post_shot(user) if(cursed_shot) var/obj/item/soulstone/anybody/SS = new /obj/item/soulstone/anybody(get_turf(src)) SS.transfer_soul("FORCE", user) user.death(FALSE) - user.visible_message("[user.name]'s soul is captured by [src]!", "You've lost the gamble! Your soul is forfeit!") + user.visible_message(SPAN_DANGER("[user.name]'s soul is captured by [src]!"), SPAN_USERDANGER("You've lost the gamble! Your soul is forfeit!")) user.apply_damage(300, BRUTE, zone, sharp = TRUE, used_weapon = "Self-inflicted gunshot wound to the [zone].") user.bleed(BLOOD_VOLUME_NORMAL) user.death() // Just in case @@ -1570,7 +1570,7 @@ SSblackbox.record_feedback("nested tally", "TDM_quitouts", 1, list(SSticker.mode.name, "TDM Revolver Suicide")) return TRUE else - to_chat(user, "[src] needs to be reloaded.") + to_chat(user, SPAN_WARNING("[src] needs to be reloaded.")) return FALSE /obj/item/toy/russian_revolver/soul @@ -1881,7 +1881,7 @@ /obj/item/toy/figure/xeno/activate(mob/user) - user.visible_message("[user] pulls back the string on [src].") + user.visible_message(SPAN_NOTICE("[user] pulls back the string on [src].")) icon_state = "[initial(icon_state)]_used" addtimer(CALLBACK(src, PROC_REF(hiss)), 0.5 SECONDS) @@ -1894,7 +1894,7 @@ icon_state = "[initial(icon_state)]" /obj/item/toy/figure/xeno/on_cooldown(mob/user) - to_chat(user, "The string on [src] hasn't rewound all the way!") + to_chat(user, SPAN_WARNING("The string on [src] hasn't rewound all the way!")) /obj/item/toy/figure/owl name = "\improper Owl action figure" @@ -1903,9 +1903,9 @@ /obj/item/toy/figure/owl/activate(mob/user) var/message = pick("You won't get away this time, Griffin!", "Stop right there, criminal!", "Hoot! Hoot!", "I am the night!") - to_chat(user, "You pull the string on [src].") + to_chat(user, SPAN_NOTICE("You pull the string on [src].")) playsound(src, 'sound/creatures/hoot.ogg', 25, TRUE) - atom_say("[message]") + atom_say(SPAN_DANGER("[message]")) /obj/item/toy/figure/griffin name = "\improper Griffin action figure" @@ -1915,9 +1915,9 @@ /obj/item/toy/figure/griffin/activate(mob/user) var/message = pick("You can't stop me, Owl!", "My plan is flawless! The vault is mine!", "Caaaawwww!", "You will never catch me!") - to_chat(user, "You pull the string on [src].") + to_chat(user, SPAN_NOTICE("You pull the string on [src].")) playsound(src, 'sound/creatures/caw.ogg', 25, TRUE) - atom_say("[message]") + atom_say(SPAN_DANGER("[message]")) /* * Mech prizes @@ -1928,7 +1928,7 @@ //all credit to skasi for toy mech fun ideas /obj/item/toy/figure/mech/activate(mob/user) - to_chat(user, "You play with [src].") + to_chat(user, SPAN_NOTICE("You play with [src].")) playsound(src, 'sound/mecha/mechstep.ogg', 20, TRUE) /obj/item/toy/figure/mech/ripley @@ -2003,8 +2003,8 @@ if(..() || cooldown) return var/answer = pick(possible_answers) - user.visible_message("[user] focuses on [user.p_their()] question and [use_action]...") - user.visible_message("[bicon(src)] [src] says \"[answer]\"") + user.visible_message(SPAN_NOTICE("[user] focuses on [user.p_their()] question and [use_action]...")) + user.visible_message(SPAN_NOTICE("[bicon(src)] [src] says \"[answer]\"")) spawn(30) cooldown = 0 diff --git a/code/game/objects/items/weapons/alien_specific.dm b/code/game/objects/items/weapons/alien_specific.dm index e189c56c096..c817e604543 100644 --- a/code/game/objects/items/weapons/alien_specific.dm +++ b/code/game/objects/items/weapons/alien_specific.dm @@ -35,11 +35,11 @@ . = TRUE if(istype(A, /obj/structure/reagent_dispensers) && get_dist(src,A) <= 1) if(!A.reagents.total_volume && A.reagents) - to_chat(user, "\The [A] is empty.") + to_chat(user, SPAN_NOTICE("\The [A] is empty.")) return if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "\The [src] is full.") + to_chat(user, SPAN_NOTICE("\The [src] is full.")) return reagents.remove_reagent(25,"water") var/datum/effect_system/smoke_spread/bad/smoke = new diff --git a/code/game/objects/items/weapons/batons.dm b/code/game/objects/items/weapons/batons.dm index f55b6653ebf..fd67d06ced4 100644 --- a/code/game/objects/items/weapons/batons.dm +++ b/code/game/objects/items/weapons/batons.dm @@ -41,8 +41,8 @@ add_fingerprint(user) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - user.visible_message("[user] accidentally clubs [user.p_themselves()] with [src]!", \ - "You accidentally club yourself with [src]!") + user.visible_message(SPAN_DANGER("[user] accidentally clubs [user.p_themselves()] with [src]!"), \ + SPAN_USERDANGER("You accidentally club yourself with [src]!")) user.KnockDown(knockdown_duration) if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -74,8 +74,8 @@ if(HAS_TRAIT_FROM(target, TRAIT_WAS_BATONNED, user_UID)) // prevents double baton cheese. return FALSE if(issilicon(target)) - user.visible_message("[user] pulses [target]'s sensors with [src]!",\ - "You pulse [target]'s sensors with [src]!") + user.visible_message(SPAN_DANGER("[user] pulses [target]'s sensors with [src]!"),\ + SPAN_DANGER("You pulse [target]'s sensors with [src]!")) on_silicon_stun(target, user) // Check for shield/countering @@ -83,13 +83,13 @@ var/mob/living/carbon/human/H = target if(H.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK)) return FALSE - user.visible_message("[user] knocks down [target] with [src]!",\ - "You knock down [target] with [src]!") + user.visible_message(SPAN_DANGER("[user] knocks down [target] with [src]!"),\ + SPAN_DANGER("You knock down [target] with [src]!")) on_non_silicon_stun(target, user) else if(isbot(target)) - user.visible_message("[user] pulses [target]'s sensors with [src]!",\ - "You pulse [target]'s sensors with [src]!") + user.visible_message(SPAN_DANGER("[user] pulses [target]'s sensors with [src]!"),\ + SPAN_DANGER("You pulse [target]'s sensors with [src]!")) var/mob/living/simple_animal/bot/H = target H.disable(stun_time_silicon) // Visuals and sound @@ -190,14 +190,14 @@ on = !on icon_state = on ? icon_state_on : icon_state_off if(on) - to_chat(user, "You extend [src].") + to_chat(user, SPAN_WARNING("You extend [src].")) worn_icon_state = worn_icon_state_on inhand_icon_state = inhand_icon_state_on w_class = WEIGHT_CLASS_BULKY //doesnt fit in backpack when its on for balance force = force_on //stunbaton damage attack_verb = attack_verb_on else - to_chat(user, "You collapse [src].") + to_chat(user, SPAN_NOTICE("You collapse [src].")) worn_icon_state = null inhand_icon_state = null //no sprite for concealment even when in hand w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/weapons/bee_briefcase.dm b/code/game/objects/items/weapons/bee_briefcase.dm index f1697aa814e..95d15ecd728 100644 --- a/code/game/objects/items/weapons/bee_briefcase.dm +++ b/code/game/objects/items/weapons/bee_briefcase.dm @@ -22,20 +22,20 @@ . = ..() if(loc == user) if(bees_left) - . += "There are [bees_left] bees still inside in briefcase!" + . += SPAN_WARNING("There are [bees_left] bees still inside in briefcase!") else - . += "The bees are gone... Colony collapse disorder?" + . += SPAN_DANGER("The bees are gone... Colony collapse disorder?") if(isAntag(user)) - . += "A briefcase filled with deadly bees, you should inject this with a syringe of your own blood before opening it. Exotic blood cannot be used." + . += SPAN_WARNING("A briefcase filled with deadly bees, you should inject this with a syringe of your own blood before opening it. Exotic blood cannot be used.") /obj/item/bee_briefcase/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, /obj/item/reagent_containers/syringe)) var/obj/item/reagent_containers/syringe/S = I if(!bees_left) - to_chat(user, "The briefcase is empty, so there is no point in injecting something into it.") + to_chat(user, SPAN_WARNING("The briefcase is empty, so there is no point in injecting something into it.")) return if(S.reagents && S.reagents.total_volume) - to_chat(user, "You inject [src] with [S].") + to_chat(user, SPAN_NOTICE("You inject [src] with [S].")) for(var/datum/reagent/A in S.reagents.reagent_list) if(A.id == "blood") if(!(A.data["donor"] in blood_list)) @@ -43,9 +43,9 @@ if(A.id == "lazarus_reagent") //RELOAD THE BEES (1 bee per 1 unit, max 15 bees) if(bees_left < 15) bees_left = min(15, round((bees_left + A.volume), 1)) //No partial bees, max 15 bees in case at any given time - to_chat(user, "The buzzing inside the briefcase intensifies as new bees form inside.") + to_chat(user, SPAN_WARNING("The buzzing inside the briefcase intensifies as new bees form inside.")) else - to_chat(user, "The buzzing inside the briefcase swells momentarily, then returns to normal. Guess it was too cramped...") + to_chat(user, SPAN_WARNING("The buzzing inside the briefcase swells momentarily, then returns to normal. Guess it was too cramped...")) S.reagents.clear_reagents() S.update_icon() else if(istype(I, /obj/item/reagent_containers/spray/pestspray)) @@ -56,7 +56,7 @@ /obj/item/bee_briefcase/attack_self__legacy__attackchain(mob/user) var/bees_released if(!bees_left) - to_chat(user, "The lack of all and any bees at this event has been somewhat of a let-down...") + to_chat(user, SPAN_DANGER("The lack of all and any bees at this event has been somewhat of a let-down...")) return else if(world.time >= next_sound) //This cooldown doesn't prevent us from releasing bees, just stops the sound diff --git a/code/game/objects/items/weapons/bio_chips/bio_chip_freedom.dm b/code/game/objects/items/weapons/bio_chips/bio_chip_freedom.dm index 72a94c9d599..08f956d96cb 100644 --- a/code/game/objects/items/weapons/bio_chips/bio_chip_freedom.dm +++ b/code/game/objects/items/weapons/bio_chips/bio_chip_freedom.dm @@ -16,7 +16,7 @@ C_imp_in.clear_restraints() for(var/obj/item/grab/G in C_imp_in.grabbed_by) var/mob/living/carbon/M = G.assailant - C_imp_in.visible_message("[C_imp_in] suddenly shocks [M] from their wrists and slips out of their grab!") + C_imp_in.visible_message(SPAN_WARNING("[C_imp_in] suddenly shocks [M] from their wrists and slips out of their grab!")) M.Stun(2 SECONDS) //Drops the grab M.apply_damage(2, BURN, BODY_ZONE_PRECISE_R_HAND, M.run_armor_check(BODY_ZONE_PRECISE_R_HAND, ENERGY)) M.apply_damage(2, BURN, BODY_ZONE_PRECISE_L_HAND, M.run_armor_check(BODY_ZONE_PRECISE_L_HAND, ENERGY)) diff --git a/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm b/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm index 7d6fee1e4c3..8db1eb4c288 100644 --- a/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm +++ b/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm @@ -74,15 +74,15 @@ /obj/item/chemical_flamethrower/attackby__legacy__attackchain(obj/item/I, mob/user, params) . = ..() if(!istype(I, /obj/item/chemical_canister)) - to_chat(user, "You can't fit [I] in there!") + to_chat(user, SPAN_NOTICE("You can't fit [I] in there!")) return if(length(canisters) >= max_canisters) - to_chat(user, "[src] is already full!") + to_chat(user, SPAN_NOTICE("[src] is already full!")) return if(user.transfer_item_to(I, src)) canisters += I - to_chat(user, "You put [I] into [src].") + to_chat(user, SPAN_NOTICE("You put [I] into [src].")) update_canister_stats() /obj/item/chemical_flamethrower/proc/update_canister_stats() @@ -120,11 +120,11 @@ return if(user.mind?.martial_art?.no_guns) - to_chat(user, "[user.mind.martial_art.no_guns_message]") + to_chat(user, SPAN_WARNING("[user.mind.martial_art.no_guns_message]")) return if(HAS_TRAIT(user, TRAIT_CHUNKYFINGERS)) - to_chat(user, "Your meaty finger is far too large for the trigger guard!") + to_chat(user, SPAN_WARNING("Your meaty finger is far too large for the trigger guard!")) return if(user.get_active_hand() == src) // Make sure our user is still holding us @@ -143,7 +143,7 @@ if(iswallturf(T)) // No going through walls break if(!use_ammo(ammo_usage)) - to_chat(user, "You hear a click!") + to_chat(user, SPAN_WARNING("You hear a click!")) playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) break // Whoops! No ammo! @@ -257,11 +257,11 @@ return if(has_filled_reagent && (reagents.get_master_reagent_id() != current_reagent_id)) - audible_message("[src]'s speaker beeps: chemical override started!") + audible_message(SPAN_NOTICE("[src]'s speaker beeps: chemical override started!")) if(!(reagents.get_master_reagent_id() in accepted_chemicals)) reagents.clear_reagents() - audible_message("[src]'s speaker beeps: the most present chemical isn't accepted!") + audible_message(SPAN_NOTICE("[src]'s speaker beeps: the most present chemical isn't accepted!")) return var/old_chem_id = current_reagent_id @@ -271,7 +271,7 @@ var/has_enough_reagents = reagents.total_volume >= required_volume if(old_chem_id == reagents.get_master_reagent_id()) - audible_message("[src]'s speaker beeps: Refill started. Need [max(required_volume - reagents.total_volume, 0)] units before refill is started.") + audible_message(SPAN_NOTICE("[src]'s speaker beeps: Refill started. Need [max(required_volume - reagents.total_volume, 0)] units before refill is started.")) if(has_enough_reagents) ammo = initial(ammo) reagents.clear_reagents() diff --git a/code/game/objects/items/weapons/chemical_flamethrower/fire_effect.dm b/code/game/objects/items/weapons/chemical_flamethrower/fire_effect.dm index e8262cdf97e..83fc300279a 100644 --- a/code/game/objects/items/weapons/chemical_flamethrower/fire_effect.dm +++ b/code/game/objects/items/weapons/chemical_flamethrower/fire_effect.dm @@ -98,7 +98,7 @@ GLOBAL_LIST_EMPTY(flame_effects) if(isliving(entered)) if(!damage_mob(entered)) return - to_chat(entered, "[src] burns you!") + to_chat(entered, SPAN_WARNING("[src] burns you!")) return if(isitem(entered)) diff --git a/code/game/objects/items/weapons/chrono_eraser.dm b/code/game/objects/items/weapons/chrono_eraser.dm index 47972cd1f1c..9bb3c6c957a 100644 --- a/code/game/objects/items/weapons/chrono_eraser.dm +++ b/code/game/objects/items/weapons/chrono_eraser.dm @@ -82,14 +82,14 @@ var/mob/living/user = src.loc if(F.gun) if(isliving(user) && F.captured) - to_chat(user, "FAIL: [F.captured] already has an existing connection.") + to_chat(user, SPAN_ALERT("FAIL: [F.captured] already has an existing connection.")) src.field_disconnect(F) else startpos = get_turf(src) field = F F.gun = src if(isliving(user) && F.captured) - to_chat(user, "Connection established with target: [F.captured]") + to_chat(user, SPAN_NOTICE("Connection established with target: [F.captured]")) /obj/item/gun/energy/chrono_gun/proc/field_disconnect(obj/structure/chrono_field/F) @@ -98,7 +98,7 @@ if(F.gun == src) F.gun = null if(isliving(user) && F.captured) - to_chat(user, "Disconnected from target: [F.captured]") + to_chat(user, SPAN_ALERT("Disconnected from target: [F.captured]")) field = null startpos = null @@ -177,7 +177,7 @@ mob_underlay = mutable_appearance(cached_icon, "frame1") update_icon(UPDATE_ICON_STATE) - desc = initial(desc) + "
It appears to contain [target.name]." + desc = initial(desc) + "
[SPAN_NOTICE("It appears to contain [target.name].")]" START_PROCESSING(SSobj, src) return ..() @@ -202,7 +202,7 @@ AM.forceMove(drop_location()) qdel(src) else if(tickstokill <= 0) - to_chat(captured, "As the last essence of your being is erased from time, you begin to re-experience your most enjoyable memory. You feel happy...") + to_chat(captured, SPAN_BOLDNOTICE("As the last essence of your being is erased from time, you begin to re-experience your most enjoyable memory. You feel happy...")) var/mob/dead/observer/ghost = captured.ghostize() if(captured.mind) if(ghost) diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm index 63d71418408..3aedbc6946e 100644 --- a/code/game/objects/items/weapons/dice.dm +++ b/code/game/objects/items/weapons/dice.dm @@ -29,7 +29,7 @@ new /obj/item/dice/d100(src) /obj/item/storage/bag/dice/suicide_act(mob/user) - user.visible_message("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!")) return (OXYLOSS) /// depreciated d6, use /obj/item/dice/d6 if you actually want a d6 @@ -54,7 +54,7 @@ update_icon() /obj/item/dice/suicide_act(mob/user) - user.visible_message("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!")) return (OXYLOSS) /obj/item/dice/d1 @@ -149,20 +149,20 @@ . = ..() if(!used) if(!ishuman(user) || !user.mind || iswizard(user)) - to_chat(user, "You feel the magic of the dice is restricted to ordinary humans!") + to_chat(user, SPAN_WARNING("You feel the magic of the dice is restricted to ordinary humans!")) return if(!reusable) used = TRUE var/turf/T = get_turf(src) - T.visible_message("[src] flares briefly.") + T.visible_message(SPAN_USERDANGER("[src] flares briefly.")) addtimer(CALLBACK(src, PROC_REF(effect), user, .), 1 SECONDS) /obj/item/dice/d20/fate/equipped(mob/user, slot) if(!ishuman(user) || !user.mind || iswizard(user)) - to_chat(user, "You feel the magic of the dice is restricted to ordinary humans! You should leave it alone.") + to_chat(user, SPAN_WARNING("You feel the magic of the dice is restricted to ordinary humans! You should leave it alone.")) user.drop_item_to_ground(src) /obj/item/dice/d20/fate/proc/create_smoke(amount) @@ -175,20 +175,20 @@ switch(roll) if(1) //Dust - T.visible_message("[user] turns to dust!") + T.visible_message(SPAN_USERDANGER("[user] turns to dust!")) user.dust() if(2) //Death - T.visible_message("[user] suddenly dies!") + T.visible_message(SPAN_USERDANGER("[user] suddenly dies!")) user.death() if(3) //Swarm of creatures - T.visible_message("A swarm of creatures surround [user]!") + T.visible_message(SPAN_USERDANGER("A swarm of creatures surround [user]!")) for(var/direction in GLOB.alldirs) new /mob/living/basic/netherworld(get_step(get_turf(user), direction)) if(4) //Destroy Equipment - T.visible_message("Everything [user] is holding and wearing disappears!") + T.visible_message(SPAN_USERDANGER("Everything [user] is holding and wearing disappears!")) for(var/obj/item/I in user) if(istype(I, /obj/item/bio_chip)) continue @@ -199,48 +199,48 @@ playsound(get_turf(user), 'sound/machines/ding.ogg', 100, 1) var/obj/fresh_toast = new /obj/item/food/toast(get_turf(user)) fresh_toast.desc += " It came out of [user]!" - to_chat(user, "Your internal structure is getting really toasty!") + to_chat(user, SPAN_USERDANGER("Your internal structure is getting really toasty!")) user.gib() return - T.visible_message("[user] transforms into a monkey!") + T.visible_message(SPAN_USERDANGER("[user] transforms into a monkey!")) user.monkeyize() if(6) //Cut speed - T.visible_message("[user] starts moving slower!") + T.visible_message(SPAN_USERDANGER("[user] starts moving slower!")) var/datum/species/S = user.dna.species S.speed_mod += 1 if(7) //Throw - T.visible_message("Unseen forces throw [user]!") + T.visible_message(SPAN_USERDANGER("Unseen forces throw [user]!")) user.Stun(12 SECONDS) user.adjustBruteLoss(50) var/atom/throw_target = get_edge_target_turf(user, pick(GLOB.cardinal)) user.throw_at(throw_target, 200, 4) if(8) //Fueltank Explosion - T.visible_message("An explosion bursts into existence around [user]!") + T.visible_message(SPAN_USERDANGER("An explosion bursts into existence around [user]!")) explosion(get_turf(user), -1, 0, 2, flame_range = 2, cause = "Die of fate: fuel tank explosion") if(9) //Cold var/datum/disease/D = new /datum/disease/cold() - T.visible_message("[user] looks a little under the weather!") + T.visible_message(SPAN_USERDANGER("[user] looks a little under the weather!")) user.ForceContractDisease(D) if(10) //Nothing - T.visible_message("Nothing seems to happen.") + T.visible_message(SPAN_USERDANGER("Nothing seems to happen.")) if(11) //Cookie - T.visible_message("A cookie appears out of thin air!") + T.visible_message(SPAN_USERDANGER("A cookie appears out of thin air!")) var/obj/item/food/cookie/C = new(drop_location()) create_smoke(2) C.name = "Cookie of Fate" if(12) //Healing - T.visible_message("[user] looks very healthy!") + T.visible_message(SPAN_USERDANGER("[user] looks very healthy!")) user.revive() if(13) //Mad Dosh - T.visible_message("Mad dosh shoots out of [src]!") + T.visible_message(SPAN_USERDANGER("Mad dosh shoots out of [src]!")) var/turf/Start = get_turf(src) for(var/direction in GLOB.alldirs) var/turf/dirturf = get_step(Start, direction) @@ -270,7 +270,7 @@ /obj/item/bio_chip_implanter/storage, /obj/item/toy/syndicateballoon) var/selected_item = pick(traitor_items) - T.visible_message("A suspicious item appears!") + T.visible_message(SPAN_USERDANGER("A suspicious item appears!")) new selected_item(drop_location()) create_smoke(2) if(15) @@ -280,12 +280,12 @@ /obj/item/spellbook/oneuse/knock, /obj/item/spellbook/oneuse/summonitem) var/selected_spellbook = pick(oneuse_spellbook) - T.visible_message("A magical looking book drops to the floor!") + T.visible_message(SPAN_USERDANGER("A magical looking book drops to the floor!")) create_smoke(2) new selected_spellbook(drop_location()) if(16) //Servant & Servant Summon - T.visible_message("A Dice Servant appears in a cloud of smoke!") + T.visible_message(SPAN_USERDANGER("A Dice Servant appears in a cloud of smoke!")) var/mob/living/carbon/human/H = new(drop_location()) create_smoke(2) @@ -305,29 +305,29 @@ message_admins("[ADMIN_LOOKUPFLW(C)] was spawned as Dice Servant") H.key = C.key dust_if_respawnable(C) - to_chat(H, "You are a servant of [user.real_name]. You must do everything in your power to follow their orders.") + to_chat(H, SPAN_NOTICE("You are a servant of [user.real_name]. You must do everything in your power to follow their orders.")) var/datum/spell/summonmob/S = new S.target_mob = H user.mind.AddSpell(S) if(17) //Free Gun - T.visible_message("An impressive gun appears!") + T.visible_message(SPAN_USERDANGER("An impressive gun appears!")) create_smoke(2) new /obj/item/gun/energy/kinetic_accelerator/experimental(drop_location()) if(18) //Captain ID - T.visible_message("A golden identification card appears!") + T.visible_message(SPAN_USERDANGER("A golden identification card appears!")) new /obj/item/card/id/captains_spare(drop_location()) create_smoke(2) if(19) //Instrinct Resistance - T.visible_message("[user] looks very robust!") + T.visible_message(SPAN_USERDANGER("[user] looks very robust!")) user.physiology.brute_mod *= 0.5 user.physiology.burn_mod *= 0.5 if(20) //Three free good dice rolls! - T.visible_message("Critical number! [src] is rolling three times all by himself!") + T.visible_message(SPAN_USERDANGER("Critical number! [src] is rolling three times all by himself!")) addtimer(CALLBACK(src, PROC_REF(effect), user, rand(1, 9) + 10), 1 SECONDS) addtimer(CALLBACK(src, PROC_REF(effect), user, rand(1, 9) + 10), 2 SECONDS) addtimer(CALLBACK(src, PROC_REF(effect), user, rand(1, 9) + 10), 3 SECONDS) @@ -374,10 +374,10 @@ result = special_faces[result] if(user != null) //Dice was rolled in someone's hand user.visible_message("[user] has thrown [src]. It lands on [result]. [comment]", - "You throw [src]. It lands on [result]. [comment]", - "You hear [src] rolling, it sounds like a [fake_result].") + SPAN_NOTICE("You throw [src]. It lands on [result]. [comment]"), + SPAN_ITALICS("You hear [src] rolling, it sounds like a [fake_result].")) else if(!throwing) //Dice was thrown and is coming to rest - visible_message("[src] rolls to a stop, landing on [result]. [comment]") + visible_message(SPAN_NOTICE("[src] rolls to a stop, landing on [result]. [comment]")) /obj/item/dice/d20/e20/diceroll(mob/user, thrown) if(triggered) @@ -386,12 +386,12 @@ . = ..() if(result == 1) - to_chat(user, "Rocks fall, you die.") + to_chat(user, SPAN_DANGER("Rocks fall, you die.")) user.gib() add_attack_logs(src, user, "detonated with a roll of [result], gibbing them!", ATKLOG_FEW) else triggered = TRUE - visible_message("You hear a quiet click.") + visible_message(SPAN_NOTICE("You hear a quiet click.")) addtimer(CALLBACK(src, PROC_REF(boom), user, result), 4 SECONDS) /obj/item/dice/d20/e20/proc/boom(mob/user, result) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index f4e54954290..abe5ddfc472 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -40,7 +40,7 @@ nadeassembly = A A.master = src assemblyattacher = user.ckey - to_chat(user, "You add [A] to [src].") + to_chat(user, SPAN_NOTICE("You add [A] to [src].")) playsound(src, 'sound/weapons/tap.ogg', 20, 1) update_icon(UPDATE_ICON_STATE) return @@ -85,14 +85,14 @@ if(!flag) return if(ismob(AM) && AM.stat == CONSCIOUS) - to_chat(user, "You can't get the [src] to stick to [AM]! Perhaps if [AM] was asleep or dead you could attach it?") + to_chat(user, SPAN_WARNING("You can't get the [src] to stick to [AM]! Perhaps if [AM] was asleep or dead you could attach it?")) return if(isstorage(AM) || ismodcontrol(AM)) return ..() //Let us not have people c4 themselfs. Especially with a now 1.5 second do_after if(isobserver(AM)) - to_chat(user, "Your hand just phases through [AM]!") + to_chat(user, SPAN_WARNING("Your hand just phases through [AM]!")) return - to_chat(user, "You start planting [src].[isnull(nadeassembly) ? " The timer is set to [det_time]..." : ""]") + to_chat(user, SPAN_NOTICE("You start planting [src].[isnull(nadeassembly) ? " The timer is set to [det_time]..." : ""]")) if(do_after(user, 1.5 SECONDS * toolspeed, target = AM)) if(!user.unequip(src)) @@ -126,13 +126,13 @@ plastic_overlay_target.add_overlay(plastic_overlay) if(!nadeassembly) - to_chat(user, "You plant the bomb. Timer counting down from [det_time].") + to_chat(user, SPAN_NOTICE("You plant the bomb. Timer counting down from [det_time].")) addtimer(CALLBACK(src, PROC_REF(prime)), det_time SECONDS) /obj/item/grenade/plastic/suicide_act(mob/user) message_admins("[key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")]) suicided with [src.name] at ([user.x],[user.y],[user.z] - JMP)",0,1) log_game("[key_name(user)] suicided with [name] at ([user.x],[user.y],[user.z])") - user.visible_message("[user] activates [src] and holds it above [user.p_their()] head! It looks like [user.p_theyre()] going out with a bang!") + user.visible_message(SPAN_SUICIDE("[user] activates [src] and holds it above [user.p_their()] head! It looks like [user.p_theyre()] going out with a bang!")) var/message_say = "FOR NO RAISIN!" if(user.mind) if(user.mind.special_role) diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 82cc1449524..459f7c8f389 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -73,7 +73,7 @@ /obj/item/extinguisher/examine(mob/user) . = ..() if(has_safety) - . += "The safety is [safety_active ? "on" : "off"]." + . += SPAN_NOTICE("The safety is [safety_active ? "on" : "off"].") /obj/item/extinguisher/Initialize(mapload) . = ..() @@ -95,7 +95,7 @@ safety_active = !safety_active icon_state = "[base_icon_state][!safety_active]" - to_chat(user, "You [safety_active ? "enable" : "disable"] [src]'s safety.") + to_chat(user, SPAN_NOTICE("You [safety_active ? "enable" : "disable"] [src]'s safety.")) return ITEM_INTERACT_COMPLETE /obj/item/extinguisher/interact_with_atom(atom/target, mob/living/user, list/modifiers) @@ -118,16 +118,16 @@ return FALSE if(reagents.total_volume == reagents.maximum_volume) - to_chat(user, "[src] is already full.") + to_chat(user, SPAN_NOTICE("[src] is already full.")) return TRUE var/obj/structure/reagent_dispensers/watertank/W = target var/transferred = W.reagents.trans_to(src, reagent_capacity) if(!transferred) - to_chat(user, "\The [W] is empty!") + to_chat(user, SPAN_NOTICE("\The [W] is empty!")) return TRUE - to_chat(user, "[src] has been refilled with [transferred] units.") + to_chat(user, SPAN_NOTICE("[src] has been refilled with [transferred] units.")) playsound(loc, 'sound/effects/refill.ogg', 50, TRUE, -6) return TRUE @@ -142,7 +142,7 @@ return if(reagents.total_volume < 1) - to_chat(user, "[src] is empty.") + to_chat(user, SPAN_DANGER("[src] is empty.")) return if(A.loc == user) diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index da68ea7167e..d93ac8cde77 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -62,7 +62,7 @@ /obj/item/flamethrower/can_enter_storage(obj/item/storage/S, mob/user) if(lit) - to_chat(user, "[S] can't hold [src] while it's lit!") + to_chat(user, SPAN_WARNING("[S] can't hold [src] while it's lit!")) return FALSE else return TRUE @@ -77,37 +77,37 @@ return !isnull(cig) if(!lit) - to_chat(user, "You need to ignite [src] before you can use it as a lighter!") + to_chat(user, SPAN_WARNING("You need to ignite [src] before you can use it as a lighter!")) return TRUE // Pulling this off 'safely' requires years of experience, a true badass, or blind luck! if(HAS_TRAIT(user, TRAIT_BADASS) || (user.mind.assigned_role in list("Station Engineer", "Chief Engineer", "Life Support Specialist")) || prob(50)) if(user == target) user.visible_message( - "[user] confidently lifts up [src] and releases a big puff of flame at [user.p_their()] [cig] to light it, like some kind of psychopath!", - "You lift up [src] and lightly pull the trigger, lighting [cig].", - "You hear a brief burst of flame!" + SPAN_WARNING("[user] confidently lifts up [src] and releases a big puff of flame at [user.p_their()] [cig] to light it, like some kind of psychopath!"), + SPAN_NOTICE("You lift up [src] and lightly pull the trigger, lighting [cig]."), + SPAN_WARNING("You hear a brief burst of flame!") ) else user.visible_message( - "[user] confidently lifts up [src] and releases a big puff of flame at [target], lighting [target.p_their()] [cig.name], like some kind of psychopath!", - "You lift up [src] and point it at [target], lightly pullling the trigger to light [target.p_their()] [cig.name] with a big puff of flame.", - "You hear a brief burst of flame!" + SPAN_WARNING("[user] confidently lifts up [src] and releases a big puff of flame at [target], lighting [target.p_their()] [cig.name], like some kind of psychopath!"), + SPAN_NOTICE("You lift up [src] and point it at [target], lightly pullling the trigger to light [target.p_their()] [cig.name] with a big puff of flame."), + SPAN_WARNING("You hear a brief burst of flame!") ) else // You set them on fire, but at least the cigarette got lit... if(target == user) user.visible_message( - "[user] carelessly lifts up [src] and releases a large burst of flame at [user.p_their()] [cig] to light it, accidentally setting [user.p_themselves()] ablaze in the process!", - "You lift up [src] and squeeze the trigger to light [cig]. Unfortunately, you squeeze a little too hard and release a large burst of flame that sets you ablaze!", - "You hear a plume of fire and something igniting!" + SPAN_DANGER("[user] carelessly lifts up [src] and releases a large burst of flame at [user.p_their()] [cig] to light it, accidentally setting [user.p_themselves()] ablaze in the process!"), + SPAN_USERDANGER("You lift up [src] and squeeze the trigger to light [cig]. Unfortunately, you squeeze a little too hard and release a large burst of flame that sets you ablaze!"), + SPAN_DANGER("You hear a plume of fire and something igniting!") ) else user.visible_message( - "[user] carelessly lifts up [src] and releases a large burst of flame at [target] to light [target.p_their()] [cig.name], accidentally setting [target.p_them()] ablaze!", + SPAN_DANGER("[user] carelessly lifts up [src] and releases a large burst of flame at [target] to light [target.p_their()] [cig.name], accidentally setting [target.p_them()] ablaze!"), "You lift up [src] up and point it at [target], squeezing the trigger to light [target.p_their()] [cig.name]. \ Unfortunately, your squeeze a little too hard and release large burst of flame that sets [target.p_them()] ablaze!", - "You hear a plume of fire and something igniting!" + SPAN_DANGER("You hear a plume of fire and something igniting!") ) target.adjust_fire_stacks(2) target.IgniteMob() @@ -121,10 +121,10 @@ if(!user) return if(user.mind?.martial_art?.no_guns) - to_chat(user, "[user.mind.martial_art.no_guns_message]") + to_chat(user, SPAN_WARNING("[user.mind.martial_art.no_guns_message]")) return if(HAS_TRAIT(user, TRAIT_CHUNKYFINGERS)) - to_chat(user, "Your meaty finger is far too large for the trigger guard!") + to_chat(user, SPAN_WARNING("Your meaty finger is far too large for the trigger guard!")) return if(user.get_active_hand() == src) // Make sure our user is still holding us var/turf/target_turf = get_turf(target) @@ -153,7 +153,7 @@ I.forceMove(src) ptank.forceMove(get_turf(src)) ptank = I - to_chat(user, "You swap the plasma tank in [src]!") + to_chat(user, SPAN_NOTICE("You swap the plasma tank in [src]!")) return if(!user.drop_item()) return @@ -191,7 +191,7 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return status = !status - to_chat(user, "[igniter] is now [status ? "secured" : "unsecured"]!") + to_chat(user, SPAN_NOTICE("[igniter] is now [status ? "secured" : "unsecured"]!")) update_icon() /obj/item/flamethrower/return_analyzable_air() @@ -206,22 +206,22 @@ if(ptank && isliving(user) && user.Adjacent(src)) user.put_in_hands(ptank) ptank = null - to_chat(user, "You remove the plasma tank from [src]!") + to_chat(user, SPAN_NOTICE("You remove the plasma tank from [src]!")) update_icon() /obj/item/flamethrower/examine(mob/user) . = ..() if(ptank) - . += "[src] has \a [ptank] attached. Alt-click to remove it." + . += SPAN_NOTICE("[src] has \a [ptank] attached. Alt-click to remove it.") /obj/item/flamethrower/proc/toggle_igniter(mob/user) if(!ptank) - to_chat(user, "Attach a plasma tank first!") + to_chat(user, SPAN_NOTICE("Attach a plasma tank first!")) return if(!status) - to_chat(user, "Secure the igniter first!") + to_chat(user, SPAN_NOTICE("Secure the igniter first!")) return - to_chat(user, "You [lit ? "extinguish" : "ignite"] [src]!") + to_chat(user, SPAN_NOTICE("You [lit ? "extinguish" : "ignite"] [src]!")) lit = !lit if(lit) damtype = BURN @@ -294,7 +294,7 @@ /obj/item/flamethrower/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) var/obj/projectile/P = hitby if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15)) - owner.visible_message("[attack_text] hits the fueltank on [owner]'s [src], rupturing it! What a shot!") + owner.visible_message(SPAN_DANGER("[attack_text] hits the fueltank on [owner]'s [src], rupturing it! What a shot!")) var/turf/target_turf = get_turf(owner) log_game("A projectile ([hitby]) detonated a flamethrower tank held by [key_name(owner)] at [COORD(target_turf)]") igniter.ignite_turf(src,target_turf, release_amount = 100) diff --git a/code/game/objects/items/weapons/garrote.dm b/code/game/objects/items/weapons/garrote.dm index a36a2be9779..b2a79d56000 100644 --- a/code/game/objects/items/weapons/garrote.dm +++ b/code/game/objects/items/weapons/garrote.dm @@ -44,8 +44,8 @@ /obj/item/garrote/proc/wield(obj/item/source, mob/living/carbon/user) if(!strangling) return - user.visible_message("[user] removes [src] from [strangling]'s neck.", - "You remove [src] from [strangling]'s neck.") + user.visible_message(SPAN_NOTICE("[user] removes [src] from [strangling]'s neck."), + SPAN_WARNING("You remove [src] from [strangling]'s neck.")) strangling = null update_icon(UPDATE_ICON_STATE) @@ -74,7 +74,7 @@ return if(M.dir != U.dir && !M.incapacitated()) - to_chat(user, "You cannot use [src] on [M] from that angle!") + to_chat(user, SPAN_WARNING("You cannot use [src] on [M] from that angle!")) return if(improvised && ((M.head && (M.head.flags_cover & HEADCOVERSMOUTH)) || (M.wear_mask && (M.wear_mask.flags_cover & MASKCOVERSMOUTH)))) // Improvised garrotes are blocked by mouth-covering items. @@ -107,8 +107,8 @@ playsound(loc, 'sound/weapons/cablecuff.ogg', 15, TRUE, -10, ignore_walls = FALSE) - M.visible_message("[U] comes from behind and begins garroting [M] with [src]!", \ - "[U] begins garroting you with [src]![improvised ? "" : " You are unable to speak!"]", \ + M.visible_message(SPAN_DANGER("[U] comes from behind and begins garroting [M] with [src]!"), \ + SPAN_USERDANGER("[U] begins garroting you with [src]![improvised ? "" : " You are unable to speak!"]"), \ "You hear struggling and wire strain against flesh!") return @@ -137,8 +137,8 @@ G = user.r_hand else - user.visible_message("[user] loses [user.p_their()] grip on [strangling]'s neck.", \ - "You lose your grip on [strangling]'s neck.") + user.visible_message(SPAN_WARNING("[user] loses [user.p_their()] grip on [strangling]'s neck."), \ + SPAN_WARNING("You lose your grip on [strangling]'s neck.")) strangling = null update_icon(UPDATE_ICON_STATE) @@ -147,8 +147,8 @@ return if(!G.affecting) - user.visible_message("[user] loses [user.p_their()] grip on [strangling]'s neck.", \ - "You lose your grip on [strangling]'s neck.") + user.visible_message(SPAN_WARNING("[user] loses [user.p_their()] grip on [strangling]'s neck."), \ + SPAN_WARNING("You lose your grip on [strangling]'s neck.")) strangling = null update_icon(UPDATE_ICON_STATE) @@ -173,6 +173,6 @@ /obj/item/garrote/suicide_act(mob/user) - user.visible_message("[user] is wrapping [src] around [user.p_their()] neck and pulling the handles! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is wrapping [src] around [user.p_their()] neck and pulling the handles! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/weapons/cablecuff.ogg', 15, TRUE, -10, ignore_walls = FALSE) return OXYLOSS diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index 5eb7875fe1d..46749524d56 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -30,20 +30,20 @@ user.put_in_active_hand(gift) src.gift.add_fingerprint(user) else - to_chat(user, "The gift was empty!") + to_chat(user, SPAN_NOTICE("The gift was empty!")) qdel(src) /obj/effect/spresent/relaymove(mob/user as mob) if(user.stat) return - to_chat(user, "You can't move.") + to_chat(user, SPAN_NOTICE("You can't move.")) /obj/effect/spresent/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!istype(used, /obj/item/wirecutters)) - to_chat(user, "I need wirecutters for that.") + to_chat(user, SPAN_NOTICE("I need wirecutters for that.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You cut open the present.") + to_chat(user, SPAN_NOTICE("You cut open the present.")) for(var/mob/M in src) //Should only be one but whatever. M.forceMove(loc) qdel(src) @@ -136,4 +136,4 @@ resistance_flags = FLAMMABLE /obj/item/stack/wrapping_paper/attack_self__legacy__attackchain(mob/user) - to_chat(user, "You need to use it on a package that has already been wrapped!") + to_chat(user, SPAN_NOTICE("You need to use it on a package that has already been wrapped!")) diff --git a/code/game/objects/items/weapons/grenades/bananade.dm b/code/game/objects/items/weapons/grenades/bananade.dm index d38dca7d3ff..a6311031519 100644 --- a/code/game/objects/items/weapons/grenades/bananade.dm +++ b/code/game/objects/items/weapons/grenades/bananade.dm @@ -47,20 +47,20 @@ deliveryamt += 1 qdel(I) else - to_chat(user, "The bananade is full, screwdriver it shut to ready it.") + to_chat(user, SPAN_NOTICE("The bananade is full, screwdriver it shut to ready it.")) return return ..() /obj/item/grenade/bananade/casing/screwdriver_act(mob/living/user, obj/item/I) if(!deliveryamt) - to_chat(user, "You need to add banana peels before you can ready the grenade!") + to_chat(user, SPAN_NOTICE("You need to add banana peels before you can ready the grenade!")) return TRUE var/obj/item/grenade/bananade/G = new /obj/item/grenade/bananade user.drop_item_to_ground(src) user.put_in_hands(G) G.deliveryamt = deliveryamt - to_chat(user, "You lock the assembly shut, readying it for HONK.") + to_chat(user, SPAN_NOTICE("You lock the assembly shut, readying it for HONK.")) qdel(src) return TRUE diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index a9fe2c2a708..2ac2b408f1f 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -104,7 +104,7 @@ log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z]) [contained].") investigate_log("[key_name(usr)] has primed a [name] for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z])[contained].", INVESTIGATE_BOMB) add_attack_logs(user, src, "has primed (contained [contained])", ATKLOG_FEW) - to_chat(user, "You prime [src]! [det_time / 10] second\s!") + to_chat(user, SPAN_WARNING("You prime [src]! [det_time / 10] second\s!")) playsound(user.loc, 'sound/weapons/armbomb.ogg', 60, 1) active = TRUE update_icon() @@ -117,7 +117,7 @@ /obj/item/grenade/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) var/obj/projectile/P = hitby if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15)) - owner.visible_message("[hitby] hits [owner]'s [name], setting it off! What a shot!") + owner.visible_message(SPAN_USERDANGER("[hitby] hits [owner]'s [name], setting it off! What a shot!")) var/turf/T = get_turf(src) log_game("A projectile ([hitby]) detonated a grenade held by [key_name(owner)] at [COORD(T)]") add_attack_logs(P.firer, owner, "A projectile ([hitby]) detonated a grenade held", ATKLOG_FEW) @@ -144,11 +144,11 @@ if(length(beakers) == 0) container_type = TRANSPARENT // Allows to see reagents in player's made bombs if(length(beakers) == 2) - to_chat(user, "[src] can not hold more containers.") + to_chat(user, SPAN_NOTICE("[src] can not hold more containers.")) return else if(I.reagents.total_volume) - to_chat(user, "You add [I] to the assembly.") + to_chat(user, SPAN_NOTICE("You add [I] to the assembly.")) user.drop_item() I.forceMove(src) beakers += I @@ -156,7 +156,7 @@ reagents.reagent_list.Add(I.reagents.reagent_list) reagents.update_total() else - to_chat(user, "[I] is empty.") + to_chat(user, SPAN_NOTICE("[I] is empty.")) else if(stage == EMPTY && istype(I, /obj/item/assembly_holder)) var/obj/item/assembly_holder/A = I @@ -171,7 +171,7 @@ A.forceMove(src) assemblyattacher = user.ckey stage = WIRED - to_chat(user, "You add [A] to [src]!") + to_chat(user, SPAN_NOTICE("You add [A] to [src]!")) update_icon(UPDATE_ICON_STATE) else if(stage == EMPTY && istype(I, /obj/item/stack/cable_coil)) @@ -179,16 +179,16 @@ C.use(1) stage = WIRED - to_chat(user, "You rig [src].") + to_chat(user, SPAN_NOTICE("You rig [src].")) update_icon(UPDATE_ICON_STATE) else if(stage == READY && istype(I, /obj/item/wirecutters)) - to_chat(user, "You unlock the assembly.") + to_chat(user, SPAN_NOTICE("You unlock the assembly.")) stage = WIRED update_icon(UPDATE_ICON_STATE) else if(stage == WIRED && iswrench(I)) - to_chat(user, "You open the grenade and remove the contents.") + to_chat(user, SPAN_NOTICE("You open the grenade and remove the contents.")) stage = EMPTY payload_name = null label = null @@ -205,10 +205,10 @@ /obj/item/grenade/chem_grenade/screwdriver_act(mob/living/user, obj/item/I) if(stage == WIRED) if(!length(beakers)) - to_chat(user, "You need to add at least one beaker before locking the assembly.") + to_chat(user, SPAN_NOTICE("You need to add at least one beaker before locking the assembly.")) return TRUE - to_chat(user, "You lock the assembly.") + to_chat(user, SPAN_NOTICE("You lock the assembly.")) playsound(loc, prime_sound, 25, -3) stage = READY update_icon(UPDATE_ICON_STATE) @@ -234,11 +234,11 @@ else if(stage == READY && !nadeassembly) det_time = det_time == 5 SECONDS ? 3 SECONDS : 5 SECONDS // Toggle between 3 and 5 seconds. - to_chat(user, "You modify the time delay. It's set for [det_time / 10] second\s.") + to_chat(user, SPAN_NOTICE("You modify the time delay. It's set for [det_time / 10] second\s.")) return TRUE else if(stage == EMPTY) - to_chat(user, "You need to add an activation mechanism.") + to_chat(user, SPAN_NOTICE("You need to add an activation mechanism.")) return TRUE /obj/item/grenade/chem_grenade/HasProximity(atom/movable/AM) @@ -371,7 +371,7 @@ //make a special case you might as well do it explicitly. -Sayu /obj/item/grenade/chem_grenade/large/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, /obj/item/slime_extract) && stage == WIRED) - to_chat(user, "You add [I] to the assembly.") + to_chat(user, SPAN_NOTICE("You add [I] to the assembly.")) user.drop_item() I.loc = src beakers += I @@ -413,7 +413,7 @@ unit_spread += 25 else unit_spread = 5 - to_chat(user, "You set the time release to [unit_spread] units per detonation.") + to_chat(user, SPAN_NOTICE("You set the time release to [unit_spread] units per detonation.")) /obj/item/grenade/chem_grenade/adv_release/prime() if(stage != READY) diff --git a/code/game/objects/items/weapons/grenades/clowngrenade.dm b/code/game/objects/items/weapons/grenades/clowngrenade.dm index 41270a01b00..4e5c6e196c3 100644 --- a/code/game/objects/items/weapons/grenades/clowngrenade.dm +++ b/code/game/objects/items/weapons/grenades/clowngrenade.dm @@ -32,7 +32,7 @@ AddComponent(/datum/component/slippery, src, 14 SECONDS, 100, 4, FALSE) /obj/item/grown/bananapeel/traitorpeel/after_slip(mob/living/carbon/human/H) - to_chat(H, "Your feet feel like they're on fire!") + to_chat(H, SPAN_WARNING("Your feet feel like they're on fire!")) H.take_overall_damage(0, rand(2,8)) H.take_organ_damage(2) return ..() diff --git a/code/game/objects/items/weapons/grenades/clusterbuster.dm b/code/game/objects/items/weapons/grenades/clusterbuster.dm index 875ea7cf794..7ac5b4d2708 100644 --- a/code/game/objects/items/weapons/grenades/clusterbuster.dm +++ b/code/game/objects/items/weapons/grenades/clusterbuster.dm @@ -11,7 +11,7 @@ /obj/item/grenade/clusterbuster/examine(mob/user) . = ..() - . += "Upon detonating, this grenade will explode into a shower of bomblets that will all explode individually. Be ready to run away very fast." + . += SPAN_NOTICE("Upon detonating, this grenade will explode into a shower of bomblets that will all explode individually. Be ready to run away very fast.") /obj/item/grenade/clusterbuster/prime() update_mob() diff --git a/code/game/objects/items/weapons/grenades/firecracker.dm b/code/game/objects/items/weapons/grenades/firecracker.dm index accbf90bbc2..6a69886c92c 100644 --- a/code/game/objects/items/weapons/grenades/firecracker.dm +++ b/code/game/objects/items/weapons/grenades/firecracker.dm @@ -56,9 +56,9 @@ . = ..() if(!user.Adjacent(src)) return - . += "[src] will sound like \a [selected_sound]." - . += "Alt-Click to change the imitated sound." - . += "Alt-Shift-Click to change the frequency of the sound." + . += "[src] will sound like \a [SPAN_WARNING("[selected_sound]")]." + . += "[SPAN_NOTICE("Alt-Click")] to change the imitated sound." + . += "[SPAN_NOTICE("Alt-Shift-Click")] to change the frequency of the sound." /obj/item/grenade/firecracker/decoy/AltClick(mob/user) . = ..() @@ -66,12 +66,12 @@ return var/selected = tgui_input_list(user, "Choose the decoy sound.", items = possible_sounds) if(!user.Adjacent(src)) - to_chat(user, "You're too far from [src] to set the sound now!") + to_chat(user, SPAN_WARNING("You're too far from [src] to set the sound now!")) return if(selected) selected_sound = selected sound_effect = possible_sounds[selected] - to_chat(user, "[src] will now sound like \a [selected].") + to_chat(user, SPAN_NOTICE("[src] will now sound like \a [selected].")) /obj/item/grenade/firecracker/decoy/AltShiftClick(mob/user) . = ..() @@ -79,12 +79,12 @@ return var/min_between_pops_input = tgui_input_number(user, "Select the minimum time between pops (in 1/10s of a second).", "Minimum time", min_time_between_pops, 50, 2) if(!user.Adjacent(src)) - to_chat(user, "You need to be closer to [src] to set this!") + to_chat(user, SPAN_NOTICE("You need to be closer to [src] to set this!")) return min_time_between_pops = min_between_pops_input var/max_between_pops_input = tgui_input_number(user, "Select the maximum time between pops (in 1/10s of a second).", "Maximum time", max_time_between_pops, 50, 2) if(!user.Adjacent(src)) - to_chat(user, "You need to be closer to [src] to set this!") + to_chat(user, SPAN_NOTICE("You need to be closer to [src] to set this!")) return max_time_between_pops = max_between_pops_input diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 47fc06064a5..4e2f92a0070 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -34,13 +34,13 @@ switch(det_time) if(0.1 SECONDS) det_time = 3 SECONDS - to_chat(user, "You set [src] for 3 second detonation time.") + to_chat(user, SPAN_NOTICE("You set [src] for 3 second detonation time.")) if(3 SECONDS) det_time = 5 SECONDS - to_chat(user, "You set [src] for 5 second detonation time.") + to_chat(user, SPAN_NOTICE("You set [src] for 5 second detonation time.")) if(5 SECONDS) det_time = 0.1 SECONDS - to_chat(user, "You set [src] for instant detonation.") + to_chat(user, SPAN_NOTICE("You set [src] for instant detonation.")) add_fingerprint(user) return TRUE @@ -61,7 +61,7 @@ for(var/mob/living/M in hearers(range, T)) if(M.stat == DEAD) continue - M.show_message("BANG", 2) + M.show_message(SPAN_WARNING("BANG"), 2) var/mobturf = get_turf(M) var/distance = max(1, get_dist(source_turf, mobturf)) @@ -105,8 +105,8 @@ if(istype(ears)) ears.receive_damage(5 * pressure_factor) if(ears.damage >= 15) - to_chat(M, "Your ears start to ring badly!") + to_chat(M, SPAN_WARNING("Your ears start to ring badly!")) if(prob(ears.damage - 5)) - to_chat(M, "You can't hear anything!") + to_chat(M, SPAN_WARNING("You can't hear anything!")) else if(ears.damage >= 5) - to_chat(M, "Your ears start to ring!") + to_chat(M, SPAN_WARNING("Your ears start to ring!")) diff --git a/code/game/objects/items/weapons/grenades/frag.dm b/code/game/objects/items/weapons/grenades/frag.dm index 62c41fe1ba2..05995e61e73 100644 --- a/code/game/objects/items/weapons/grenades/frag.dm +++ b/code/game/objects/items/weapons/grenades/frag.dm @@ -52,7 +52,7 @@ var/mob/living/carbon/human/human = target if(!prob(embed_prob - ARMOUR_VALUE_TO_PERCENTAGE(human.getarmor(armor_type = BOMB)))) - to_chat(human, "Shrapnel bounces off your armor!") + to_chat(human, SPAN_WARNING("Shrapnel bounces off your armor!")) return human.try_embed_object(new_possible_embed) diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm index 275992e1211..4ed86dcd04d 100644 --- a/code/game/objects/items/weapons/grenades/ghettobomb.dm +++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm @@ -11,7 +11,7 @@ /obj/item/grenade/iedcasing/examine(mob/user) . = ..() - . += "You have no idea how long the fuze will last for until it explodes!" + . += SPAN_WARNING("You have no idea how long the fuze will last for until it explodes!") /obj/item/grenade/iedcasing/Initialize(mapload) . = ..() @@ -37,7 +37,7 @@ /obj/item/grenade/iedcasing/attack_self__legacy__attackchain(mob/user) // if(!active) if(clown_check(user)) - to_chat(user, "You light [src]!") + to_chat(user, SPAN_WARNING("You light [src]!")) active = TRUE overlays -= "improvised_grenade_filled" icon_state = initial(icon_state) + "_active" diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index 084183c9170..4c1e309b733 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -28,14 +28,14 @@ return if(det_time > 1) - . += "The fuze is set to [det_time / 10] second\s." + . += SPAN_NOTICE("The fuze is set to [det_time / 10] second\s.") else - . += "[src] is set for instant detonation." + . += SPAN_WARNING("[src] is set for instant detonation.") if(modifiable_timer) - . += "Use a screwdriver to modify the time on the fuze." + . += SPAN_NOTICE("Use a screwdriver to modify the time on the fuze.") else - . += "The fuze's time cannot be modified." + . += SPAN_NOTICE("The fuze's time cannot be modified.") /obj/item/grenade/deconstruct(disassembled = TRUE) if(!disassembled) @@ -45,7 +45,7 @@ /obj/item/grenade/proc/clown_check(mob/living/user) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - to_chat(user, "Huh? How does this thing work?") + to_chat(user, SPAN_WARNING("Huh? How does this thing work?")) active = TRUE icon_state = initial(icon_state) + "_active" playsound(loc, 'sound/weapons/armbomb.ogg', 75, TRUE, -3) @@ -62,7 +62,7 @@ if(!clown_check(user)) return - to_chat(user, "You prime [src]! [det_time / 10] seconds!") + to_chat(user, SPAN_DANGER("You prime [src]! [det_time / 10] seconds!")) active = TRUE icon_state = initial(icon_state) + "_active" add_fingerprint(user) @@ -93,16 +93,16 @@ switch(det_time) if(1 DECISECONDS) det_time = 1 SECONDS - to_chat(user, "You set [src] for 1 second detonation time.") + to_chat(user, SPAN_NOTICE("You set [src] for 1 second detonation time.")) if(1 SECONDS) det_time = 3 SECONDS - to_chat(user, "You set [src] for 3 second detonation time.") + to_chat(user, SPAN_NOTICE("You set [src] for 3 second detonation time.")) if(3 SECONDS) det_time = 5 SECONDS - to_chat(user, "You set [src] for 5 second detonation time.") + to_chat(user, SPAN_NOTICE("You set [src] for 5 second detonation time.")) if(5 SECONDS) det_time = 1 DECISECONDS - to_chat(user, "You set [src] for instant detonation.") + to_chat(user, SPAN_WARNING("You set [src] for instant detonation.")) add_fingerprint(user) return TRUE @@ -119,7 +119,7 @@ if(HAS_TRAIT(src, TRAIT_CMAGGED)) return FALSE ADD_TRAIT(src, TRAIT_CMAGGED, "cmagged grenade") - to_chat(user, "You drip some yellow ooze into [src]. [src] suddenly doesn't want to leave you...") + to_chat(user, SPAN_WARNING("You drip some yellow ooze into [src]. [src] suddenly doesn't want to leave you...")) AddComponent(/datum/component/boomerang, throw_range, TRUE) return TRUE diff --git a/code/game/objects/items/weapons/grenades/syndieminibomb.dm b/code/game/objects/items/weapons/grenades/syndieminibomb.dm index 13c3111fac5..03b0dcf6342 100644 --- a/code/game/objects/items/weapons/grenades/syndieminibomb.dm +++ b/code/game/objects/items/weapons/grenades/syndieminibomb.dm @@ -17,13 +17,13 @@ /obj/item/grenade/syndieminibomb/fake/examine(mob/user) . = ..() if(HAS_TRAIT(user, TRAIT_CLUMSY)) - . += "There are small glue ejectors all over the bomb." + . += SPAN_SANS("There are small glue ejectors all over the bomb.") /obj/item/grenade/syndieminibomb/fake/attack_self__legacy__attackchain(mob/user) if(!active) set_nodrop(TRUE, user) - to_chat(user, "As you activate the bomb, it emits a substance that sticks to your hand! It won't come off!") - to_chat(user, "Uh oh.") + to_chat(user, SPAN_USERDANGER("As you activate the bomb, it emits a substance that sticks to your hand! It won't come off!")) + to_chat(user, SPAN_SANS("Uh oh.")) . = ..() /obj/item/grenade/syndieminibomb/pen @@ -37,5 +37,5 @@ /obj/item/grenade/syndieminibomb/pen/attack_self__legacy__attackchain(mob/user) if(!active) - visible_message("[user] fumbles with [src]!") + visible_message(SPAN_NOTICE("[user] fumbles with [src]!")) . = ..() diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 70f87d862ec..3b5163c8746 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -9,12 +9,12 @@ /obj/item/restraints/proc/attempt_resist_restraints(mob/living/carbon/user, break_cuffs, effective_breakout_time, silent) if(effective_breakout_time) if(!silent) - user.visible_message("[user] attempts to [break_cuffs ? "break" : "remove"] [src]!", "You attempt to [break_cuffs ? "break" : "remove"] [src]...") - to_chat(user, "(This will take around [DisplayTimeText(effective_breakout_time)] and you need to stand still.)") + user.visible_message(SPAN_WARNING("[user] attempts to [break_cuffs ? "break" : "remove"] [src]!"), SPAN_NOTICE("You attempt to [break_cuffs ? "break" : "remove"] [src]...")) + to_chat(user, SPAN_NOTICE("(This will take around [DisplayTimeText(effective_breakout_time)] and you need to stand still.)")) if(!do_after(user, effective_breakout_time, FALSE, user, hidden = TRUE)) user.remove_status_effect(STATUS_EFFECT_REMOVE_CUFFS) - to_chat(user, "You fail to [break_cuffs ? "break" : "remove"] [src]!") + to_chat(user, SPAN_WARNING("You fail to [break_cuffs ? "break" : "remove"] [src]!")) return user.remove_status_effect(STATUS_EFFECT_REMOVE_CUFFS) @@ -25,7 +25,7 @@ /obj/item/restraints/proc/finish_resist_restraints(mob/living/carbon/user, break_cuffs, silent) if(!silent) - user.visible_message("[user] manages to [break_cuffs ? "break" : "remove"] [src]!", "You successfully [break_cuffs ? "break" : "remove"] [src].") + user.visible_message(SPAN_DANGER("[user] manages to [break_cuffs ? "break" : "remove"] [src]!"), SPAN_NOTICE("You successfully [break_cuffs ? "break" : "remove"] [src].")) user.unequip(src) if(break_cuffs) @@ -61,18 +61,18 @@ /obj/item/restraints/handcuffs/attack__legacy__attackchain(mob/living/carbon/C, mob/user) if(!user.IsAdvancedToolUser()) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!")) return if(!istype(C)) return if(flags & NODROP) - to_chat(user, "[src] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[src] is stuck to your hand!")) return if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50) && (!ignoresClumsy)) - to_chat(user, "Uh... how do those things work?!") + to_chat(user, SPAN_WARNING("Uh... how do those things work?!")) apply_cuffs(user, user) return @@ -85,24 +85,24 @@ if(ishuman(C)) var/mob/living/carbon/human/H = C if(!(H.has_left_hand() || H.has_right_hand())) - to_chat(user, "How do you suggest handcuffing someone with no hands?") + to_chat(user, SPAN_WARNING("How do you suggest handcuffing someone with no hands?")) return FALSE if(!C.handcuffed) - C.visible_message("[user] is trying to put [src.name] on [C]!", \ - "[user] is trying to put [src.name] on [C]!") + C.visible_message(SPAN_DANGER("[user] is trying to put [src.name] on [C]!"), \ + SPAN_USERDANGER("[user] is trying to put [src.name] on [C]!")) playsound(loc, cuffsound, 15, TRUE, -10) if(do_mob(user, C, 30)) apply_cuffs(C, user, remove_src) - to_chat(user, "You handcuff [C].") + to_chat(user, SPAN_NOTICE("You handcuff [C].")) SSblackbox.record_feedback("tally", "handcuffs", 1, type) if(breakouttime != 0) add_attack_logs(user, C, "Handcuffed ([src])") else add_attack_logs(user, C, "Handcuffed (Fake/Breakable!) ([src])") else - to_chat(user, "You fail to handcuff [C].") + to_chat(user, SPAN_WARNING("You fail to handcuff [C].")) return FALSE /obj/item/restraints/handcuffs/proc/apply_cuffs(mob/living/carbon/target, mob/user, remove_src = TRUE) @@ -247,7 +247,7 @@ break_cuffs = TRUE return ..() - visible_message("[user] manages to eat through [src]!", "You successfully eat through [src].") + visible_message(SPAN_DANGER("[user] manages to eat through [src]!"), SPAN_NOTICE("You successfully eat through [src].")) playsound(loc, 'sound/items/eatfood.ogg', 50, FALSE) if(reagents && length(reagents.reagent_list)) @@ -268,29 +268,29 @@ if(istype(I, /obj/item/stack/rods)) var/obj/item/stack/rods/R = I if(!R.use(1)) - to_chat(user, "[R.amount > 1 ? "These rods" : "This rod"] somehow can't be used for crafting!") + to_chat(user, SPAN_WARNING("[R.amount > 1 ? "These rods" : "This rod"] somehow can't be used for crafting!")) return if(!user.unequip(src)) return var/obj/item/wirerod/W = new /obj/item/wirerod(get_turf(src)) if(!remove_item_from_storage(user)) user.put_in_hands(W) - to_chat(user, "You wrap the cable restraint around the top of the rod.") + to_chat(user, SPAN_NOTICE("You wrap the cable restraint around the top of the rod.")) qdel(src) return if(istype(I, /obj/item/stack/sheet/metal)) var/obj/item/stack/sheet/metal/M = I if(M.amount < 6) - to_chat(user, "You need at least six metal sheets to make good enough weights!") + to_chat(user, SPAN_WARNING("You need at least six metal sheets to make good enough weights!")) return - to_chat(user, "You begin to apply [I] to [src]...") + to_chat(user, SPAN_NOTICE("You begin to apply [I] to [src]...")) if(do_after(user, 3.5 SECONDS * M.toolspeed, target = src)) if(!M.use(6) || !user.unequip(src)) return var/obj/item/restraints/legcuffs/bola/S = new /obj/item/restraints/legcuffs/bola(get_turf(src)) - to_chat(user, "You make some weights out of [I] and tie them to [src].") + to_chat(user, SPAN_NOTICE("You make some weights out of [I] and tie them to [src].")) if(!remove_item_from_storage(user)) user.put_in_hands(S) qdel(src) diff --git a/code/game/objects/items/weapons/highlander_swords.dm b/code/game/objects/items/weapons/highlander_swords.dm index b9dcdfabbc6..b63bae21904 100644 --- a/code/game/objects/items/weapons/highlander_swords.dm +++ b/code/game/objects/items/weapons/highlander_swords.dm @@ -31,7 +31,7 @@ if(slot & ITEM_SLOT_BOTH_HANDS) if(H.mind.martial_art != style) style.teach(H, TRUE) - to_chat(H, "THERE CAN ONLY BE ONE!") + to_chat(H, SPAN_NOTICE("THERE CAN ONLY BE ONE!")) else if(H.mind.martial_art && H.mind.martial_art == style) style.remove(H) var/obj/item/claymore/highlander/sword = H.is_in_hands(/obj/item/claymore/highlander) diff --git a/code/game/objects/items/weapons/holosign_projector.dm b/code/game/objects/items/weapons/holosign_projector.dm index b82a233ce49..2a6f7683776 100644 --- a/code/game/objects/items/weapons/holosign_projector.dm +++ b/code/game/objects/items/weapons/holosign_projector.dm @@ -22,12 +22,12 @@ var/turf/T = get_turf(target) var/obj/structure/holosign/H = locate(holosign_type) in T if(H) - to_chat(user, "You use [src] to deactivate [H].") + to_chat(user, SPAN_NOTICE("You use [src] to deactivate [H].")) qdel(H) else if(!T.is_blocked_turf(exclude_mobs = TRUE)) //can't put holograms on a tile that has dense stuff if(holocreator_busy) - to_chat(user, "[src] is busy creating a hologram.") + to_chat(user, SPAN_NOTICE("[src] is busy creating a hologram.")) return if(length(signs) < max_signs) playsound(src.loc, 'sound/machines/click.ogg', 20, 1) @@ -42,10 +42,10 @@ if(T.is_blocked_turf(exclude_mobs = TRUE)) //don't try to sneak dense stuff on our tile during the wait. return H = new holosign_type(get_turf(target), src) - to_chat(user, "You create [H] with [src].") + to_chat(user, SPAN_NOTICE("You create [H] with [src].")) return H else - to_chat(user, "[src] is projecting at max capacity!") + to_chat(user, SPAN_NOTICE("[src] is projecting at max capacity!")) /obj/item/holosign_creator/attack__legacy__attackchain(mob/living/carbon/human/M, mob/user) return @@ -54,7 +54,7 @@ if(length(signs)) for(var/H in signs) qdel(H) - to_chat(user, "You clear all active holograms.") + to_chat(user, SPAN_NOTICE("You clear all active holograms.")) /obj/item/holosign_creator/janitor name = "janitorial holosign projector" @@ -67,14 +67,14 @@ wet_enabled = !wet_enabled playsound(loc, 'sound/weapons/empty.ogg', 20) if(wet_enabled) - to_chat(user, "You enable the W.E.T. (wet evaporation timer)\nAny newly placed holographic signs will clear after the likely time it takes for a mopped tile to dry.") + to_chat(user, SPAN_NOTICE("You enable the W.E.T. (wet evaporation timer)\nAny newly placed holographic signs will clear after the likely time it takes for a mopped tile to dry.")) else - to_chat(user, "You disable the W.E.T. (wet evaporation timer)\nAny newly placed holographic signs will now stay indefinitely.") + to_chat(user, SPAN_NOTICE("You disable the W.E.T. (wet evaporation timer)\nAny newly placed holographic signs will now stay indefinitely.")) /obj/item/holosign_creator/janitor/examine(mob/user) . = ..() if(ishuman(user)) - . += "Alt Click to [wet_enabled ? "deactivate" : "activate"] its built-in wet evaporation timer." + . += SPAN_NOTICE("Alt Click to [wet_enabled ? "deactivate" : "activate"] its built-in wet evaporation timer.") /obj/item/holosign_creator/janitor/afterattack__legacy__attackchain(atom/target, mob/user, flag) @@ -128,7 +128,7 @@ var/mob/living/silicon/robot/R = user if(shock) - to_chat(user, "You clear all active holograms, and reset your projector to normal.") + to_chat(user, SPAN_NOTICE("You clear all active holograms, and reset your projector to normal.")) holosign_type = /obj/structure/holosign/barrier/cyborg creation_time = 5 if(length(signs)) @@ -137,7 +137,7 @@ shock = 0 return else if(R.emagged && !shock) - to_chat(user, "You clear all active holograms, and overload your energy projector!") + to_chat(user, SPAN_WARNING("You clear all active holograms, and overload your energy projector!")) holosign_type = /obj/structure/holosign/barrier/cyborg/hacked creation_time = 30 if(length(signs)) @@ -149,8 +149,8 @@ if(length(signs)) for(var/H in signs) qdel(H) - to_chat(user, "You clear all active holograms.") + to_chat(user, SPAN_NOTICE("You clear all active holograms.")) if(length(signs)) for(var/H in signs) qdel(H) - to_chat(user, "You clear all active holograms.") + to_chat(user, SPAN_NOTICE("You clear all active holograms.")) diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index 750302a7b1b..08b1dddb692 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -38,7 +38,7 @@ variant_icons += list(initial(rod.name) = image(icon = initial(rod.icon), icon_state = initial(rod.icon_state))) /obj/item/nullrod/suicide_act(mob/user) - user.visible_message("[user] is killing [user.p_themselves()] with \the [src.name]! It looks like [user.p_theyre()] trying to get closer to god!") + user.visible_message(SPAN_SUICIDE("[user] is killing [user.p_themselves()] with \the [src.name]! It looks like [user.p_theyre()] trying to get closer to god!")) return BRUTELOSS|FIRELOSS /obj/item/nullrod/attack__legacy__attackchain(mob/M, mob/living/carbon/user) @@ -57,8 +57,8 @@ user.adjustFireLoss(sanctify_force) user.Weaken(10 SECONDS) user.drop_item_to_ground(src, force = TRUE) - user.visible_message("[src] slips out of the grip of [user] as they try to pick it up, bouncing upwards and smacking [user.p_them()] in the face!", \ - "[src] slips out of your grip as you pick it up, bouncing upwards and smacking you in the face!") + user.visible_message(SPAN_WARNING("[src] slips out of the grip of [user] as they try to pick it up, bouncing upwards and smacking [user.p_them()] in the face!"), \ + SPAN_WARNING("[src] slips out of your grip as you pick it up, bouncing upwards and smacking you in the face!")) playsound(get_turf(user), 'sound/effects/hit_punch.ogg', 50, TRUE, -1) throw_at(get_edge_target_turf(user, pick(GLOB.alldirs)), rand(1, 3), 5) @@ -70,7 +70,7 @@ /obj/item/nullrod/examine(mob/living/user) . = ..() if(sanctify_force) - . += "It bears the inscription: 'Sanctified weapon of the inquisitors. Only the worthy may wield. Nobody shall expect us.'" + . += SPAN_NOTICE("It bears the inscription: 'Sanctified weapon of the inquisitors. Only the worthy may wield. Nobody shall expect us.'") /obj/item/nullrod/proc/reskin_holy_weapon(mob/user) if(!ishuman(user)) @@ -126,7 +126,7 @@ attack_verb = list("punched", "cross countered", "pummeled") /obj/item/nullrod/godhand/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in holy fire." + return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in holy fire.") /obj/item/nullrod/staff name = "red holy staff" @@ -313,9 +313,9 @@ if(!istype(I, /obj/item/soulstone) || !possessed) return ..() if(obj_integrity >= max_integrity) - to_chat(user, "You have no reason to replace a perfectly good soulstone with a new one.") + to_chat(user, SPAN_NOTICE("You have no reason to replace a perfectly good soulstone with a new one.")) return - to_chat(user, "You load a new soulstone into the possessed blade.") + to_chat(user, SPAN_NOTICE("You load a new soulstone into the possessed blade.")) playsound(user, 'sound/weapons/gun_interactions/shotgunpump.ogg', 60, TRUE) obj_integrity = max_integrity for(var/mob/living/simple_animal/shade/sword/sword_shade in contents) @@ -430,7 +430,7 @@ sharp = TRUE /obj/item/nullrod/armblade/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left arm" : "right arm"] has been turned into a grotesque meat-blade." + return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left arm" : "right arm"] has been turned into a grotesque meat-blade.") /obj/item/nullrod/armblade/mining flags = NODROP @@ -531,15 +531,15 @@ return ..() if(!user.mind || !HAS_MIND_TRAIT(user, TRAIT_HOLY)) - to_chat(user, "You are not close enough with [SSticker.Bible_deity_name] to use [src].") + to_chat(user, SPAN_NOTICE("You are not close enough with [SSticker.Bible_deity_name] to use [src].")) return if(praying) - to_chat(user, "You are already using [src].") + to_chat(user, SPAN_NOTICE("You are already using [src].")) return - user.visible_message("[user] kneels[M == user ? null : " next to [M]"] and begins to utter a prayer to [SSticker.Bible_deity_name].", - "You kneel[M == user ? null : " next to [M]"] and begin a prayer to [SSticker.Bible_deity_name].") + user.visible_message(SPAN_NOTICE("[user] kneels[M == user ? null : " next to [M]"] and begins to utter a prayer to [SSticker.Bible_deity_name]."), + SPAN_NOTICE("You kneel[M == user ? null : " next to [M]"] and begin a prayer to [SSticker.Bible_deity_name].")) praying = TRUE if(do_after(user, 15 SECONDS, target = M)) @@ -556,12 +556,12 @@ var/datum/antagonist/vampire/V = M.mind?.has_antag_datum(/datum/antagonist/vampire) if(V?.get_ability(/datum/vampire_passive/full)) // Getting a full prayer off on a vampire will interrupt their powers for a large duration. V.adjust_nullification(120, 50) - to_chat(target, "[user]'s prayer to [SSticker.Bible_deity_name] has interfered with your power!") + to_chat(target, SPAN_USERDANGER("[user]'s prayer to [SSticker.Bible_deity_name] has interfered with your power!")) praying = FALSE return if(prob(25)) - to_chat(target, "[user]'s prayer to [SSticker.Bible_deity_name] has eased your pain!") + to_chat(target, SPAN_NOTICE("[user]'s prayer to [SSticker.Bible_deity_name] has eased your pain!")) target.adjustToxLoss(-5) target.adjustOxyLoss(-5) target.adjustBruteLoss(-5) @@ -570,7 +570,7 @@ praying = FALSE else - to_chat(user, "Your prayer to [SSticker.Bible_deity_name] was interrupted.") + to_chat(user, SPAN_NOTICE("Your prayer to [SSticker.Bible_deity_name] was interrupted.")) praying = FALSE /obj/item/nullrod/nazar @@ -597,16 +597,16 @@ /obj/item/nullrod/salt/attack_self__legacy__attackchain(mob/user) if(!user.mind || !HAS_MIND_TRAIT(user, TRAIT_HOLY)) - to_chat(user, "You are not close enough with [SSticker.Bible_deity_name] to use [src].") + to_chat(user, SPAN_NOTICE("You are not close enough with [SSticker.Bible_deity_name] to use [src].")) return if(!(ghostcall_CD > world.time)) ghostcall_CD = world.time + 5 MINUTES - user.visible_message("[user] kneels and begins to utter a prayer to [SSticker.Bible_deity_name] while drawing a circle with salt!", - "You kneel and begin a prayer to [SSticker.Bible_deity_name] while drawing a circle!") + user.visible_message(SPAN_NOTICE("[user] kneels and begins to utter a prayer to [SSticker.Bible_deity_name] while drawing a circle with salt!"), + SPAN_NOTICE("You kneel and begin a prayer to [SSticker.Bible_deity_name] while drawing a circle!")) notify_ghosts("The Chaplain is calling ghosts to [get_area(src)] with [name]!", source = src) else - to_chat(user, "You need to wait before using [src] again.") + to_chat(user, SPAN_NOTICE("You need to wait before using [src] again.")) /obj/item/nullrod/rosary/bread name = "prayer bread" @@ -648,7 +648,7 @@ addtimer(CALLBACK(src, PROC_REF(unsmite_clown), H), 20 SECONDS) if(prob(10)) - to_chat(H, "Being in the presence of [holder]'s [src] is interfering with your honk!") + to_chat(H, SPAN_USERDANGER("Being in the presence of [holder]'s [src] is interfering with your honk!")) /obj/item/nullrod/rosary/bread/proc/unsmite_clown(mob/living/carbon/human/hell_spawn) animate_fade_colored(hell_spawn, 2 SECONDS) @@ -699,15 +699,15 @@ if(missionary.wear_suit && istype(missionary.wear_suit, /obj/item/clothing/suit/hooded/chaplain_cassock/missionary_robe)) var/obj/item/clothing/suit/hooded/chaplain_cassock/missionary_robe/robe_to_link = missionary.wear_suit if(robe_to_link.linked_staff) - to_chat(missionary, "These robes are already linked with a staff and cannot support another. Connection refused.") + to_chat(missionary, SPAN_WARNING("These robes are already linked with a staff and cannot support another. Connection refused.")) return FALSE robes = robe_to_link robes.linked_staff = src - to_chat(missionary, "Link established. Faith generators initialized. Go spread the word.") + to_chat(missionary, SPAN_NOTICE("Link established. Faith generators initialized. Go spread the word.")) faith = 100 //full charge when a fresh link is made (can't be delinked without destroying the robes so this shouldn't be an exploitable thing) return TRUE else - to_chat(missionary, "You must be wearing the missionary robes you wish to link with this staff.") + to_chat(missionary, SPAN_WARNING("You must be wearing the missionary robes you wish to link with this staff.")) return FALSE /obj/item/nullrod/missionary_staff/afterattack__legacy__attackchain(mob/living/carbon/human/target, mob/living/carbon/human/missionary, flag, params) @@ -716,29 +716,29 @@ if(target == missionary) //you can't convert yourself, that would raise too many questions about your own dedication to the cause return if(!robes) //staff must be linked to convert - to_chat(missionary, "You must link your staff to a set of missionary robes before attempting conversions.") + to_chat(missionary, SPAN_WARNING("You must link your staff to a set of missionary robes before attempting conversions.")) return if(!missionary.wear_suit || missionary.wear_suit != robes) //must be wearing the robes to convert return if(faith < 100) - to_chat(missionary, "You don't have enough faith to attempt a conversion right now.") + to_chat(missionary, SPAN_WARNING("You don't have enough faith to attempt a conversion right now.")) return - to_chat(missionary, "You concentrate on [target] and begin the conversion ritual...") + to_chat(missionary, SPAN_NOTICE("You concentrate on [target] and begin the conversion ritual...")) if(!target.mind) //no mind means no conversion, but also means no faith lost. - to_chat(missionary, "You halt the conversion as you realize [target] is mindless! Best to save your faith for someone more worthwhile.") + to_chat(missionary, SPAN_WARNING("You halt the conversion as you realize [target] is mindless! Best to save your faith for someone more worthwhile.")) return - to_chat(target, "Your mind seems foggy. For a moment, all you can think about is serving the greater good... the greater good...") + to_chat(target, SPAN_USERDANGER("Your mind seems foggy. For a moment, all you can think about is serving the greater good... the greater good...")) if(do_after(missionary, 80)) //8 seconds to temporarily convert, roughly 3 seconds slower than a vamp's enthrall, but its a ranged thing if(faith < 100) //to stop people from trying to exploit the do_after system to multi-convert, we check again if you have enough faith when it completes - to_chat(missionary, "You don't have enough faith to complete the conversion on [target]!") + to_chat(missionary, SPAN_WARNING("You don't have enough faith to complete the conversion on [target]!")) return if(missionary in viewers(target)) //missionary must maintain line of sight to target, but the target doesn't necessary need to be able to see the missionary do_convert(target, missionary) else - to_chat(missionary, "You lost sight of the target before [target.p_they()] could be converted!") + to_chat(missionary, SPAN_WARNING("You lost sight of the target before [target.p_they()] could be converted!")) faith -= 25 //they escaped, so you only lost a little faith (to prevent spamming) else //the do_after failed, probably because you moved or dropped the staff - to_chat(missionary, "Your concentration was broken!") + to_chat(missionary, SPAN_WARNING("Your concentration was broken!")) /obj/item/nullrod/missionary_staff/proc/do_convert(mob/living/carbon/human/target, mob/living/carbon/human/missionary) var/convert_duration = 10 MINUTES @@ -746,30 +746,30 @@ if(!target || !ishuman(target) || !missionary || !ishuman(missionary)) return if(IS_MINDSLAVE(target) || target.mind.zealot_master) //mindslaves and zealots override the staff because the staff is just a temporary mindslave - to_chat(missionary, "Your faith is strong, but [target.p_their()] mind is already slaved to someone else's ideals. Perhaps an inquisition would reveal more...") + to_chat(missionary, SPAN_WARNING("Your faith is strong, but [target.p_their()] mind is already slaved to someone else's ideals. Perhaps an inquisition would reveal more...")) faith -= 25 //same faith cost as losing sight of them mid-conversion, but did you just find someone who can lead you to a fellow traitor? return if(ismindshielded(target)) faith -= 75 - to_chat(missionary, "Your faith is strong, but [target.p_their()] mind remains closed to your ideals. Your resolve helps you retain a bit of faith though.") + to_chat(missionary, SPAN_WARNING("Your faith is strong, but [target.p_their()] mind remains closed to your ideals. Your resolve helps you retain a bit of faith though.")) return else if(target.mind.assigned_role == "Psychiatrist" || target.mind.assigned_role == "Librarian") //fancy book lernin helps counter religion (day 0 job love, what madness!) if(prob(35)) //35% chance to fail - to_chat(missionary, "This one is well trained in matters of the mind... They will not be swayed as easily as you thought...") + to_chat(missionary, SPAN_WARNING("This one is well trained in matters of the mind... They will not be swayed as easily as you thought...")) faith -=50 //lose half your faith to the book-readers return else - to_chat(missionary, "You successfully convert [target] to your cause. The following grows because of your faith!") + to_chat(missionary, SPAN_NOTICE("You successfully convert [target] to your cause. The following grows because of your faith!")) faith -= 100 else if(target.mind.assigned_role == "Assistant") if(prob(55)) //55% chance to take LESS faith than normal, because assistants are stupid and easily manipulated - to_chat(missionary, "Your message seems to resound well with [target]; converting [target.p_them()] was much easier than expected.") + to_chat(missionary, SPAN_NOTICE("Your message seems to resound well with [target]; converting [target.p_them()] was much easier than expected.")) faith -= 50 else //45% chance to take the normal 100 faith cost - to_chat(missionary, "You successfully convert [target] to your cause. The following grows because of your faith!") + to_chat(missionary, SPAN_NOTICE("You successfully convert [target] to your cause. The following grows because of your faith!")) faith -= 100 else //everyone else takes 100 faith cost because they are normal - to_chat(missionary, "You successfully convert [target] to your cause. The following grows because of your faith!") + to_chat(missionary, SPAN_NOTICE("You successfully convert [target] to your cause. The following grows because of your faith!")) faith -= 100 //if you made it this far: congratulations! you are now a religious zealot! target.mind.make_zealot(missionary, convert_duration, team_color) diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 02ffcfc4b8a..559777412a8 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -126,9 +126,9 @@ RegisterSignal(src, COMSIG_CLICK_ALT, PROC_REF(remove_bit)) /obj/item/kitchen/knife/suicide_act(mob/user) - user.visible_message(pick("[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide!", \ - "[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!", \ - "[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!")) + user.visible_message(pick(SPAN_SUICIDE("[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide!"), \ + SPAN_SUICIDE("[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!"), \ + SPAN_SUICIDE("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!"))) return BRUTELOSS /obj/item/kitchen/knife/plastic diff --git a/code/game/objects/items/weapons/legcuffs.dm b/code/game/objects/items/weapons/legcuffs.dm index 20aef7243f5..98c7a699b90 100644 --- a/code/game/objects/items/weapons/legcuffs.dm +++ b/code/game/objects/items/weapons/legcuffs.dm @@ -40,7 +40,7 @@ return ..() /obj/item/restraints/legcuffs/beartrap/suicide_act(mob/user) - user.visible_message("[user] is sticking [user.p_their()] head in [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is sticking [user.p_their()] head in [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/weapons/bladeslice.ogg', 50, TRUE, -1) return BRUTELOSS @@ -53,39 +53,39 @@ if(do_after(user, 2 SECONDS, target = user)) armed = !armed update_icon(UPDATE_ICON_STATE) - to_chat(user, "[src] is now [armed ? "armed" : "disarmed"]") + to_chat(user, SPAN_NOTICE("[src] is now [armed ? "armed" : "disarmed"]")) /obj/item/restraints/legcuffs/beartrap/attackby__legacy__attackchain(obj/item/I, mob/user) //Let's get explosive. if(istype(I, /obj/item/grenade/iedcasing)) if(IED) - to_chat(user, "This beartrap already has an IED hooked up to it!") + to_chat(user, SPAN_WARNING("This beartrap already has an IED hooked up to it!")) return if(sig) - to_chat(user, "This beartrap already has a signaler hooked up to it!") + to_chat(user, SPAN_WARNING("This beartrap already has a signaler hooked up to it!")) return user.drop_item() I.forceMove(src) IED = I message_admins("[key_name_admin(user)] has rigged a beartrap with an IED.") log_game("[key_name(user)] has rigged a beartrap with an IED.") - to_chat(user, "You sneak [IED] underneath the pressure plate and connect the trigger wire.") - desc = "A trap used to catch bears and other legged creatures. There is an IED hooked up to it." + to_chat(user, SPAN_NOTICE("You sneak [IED] underneath the pressure plate and connect the trigger wire.")) + desc = "A trap used to catch bears and other legged creatures. [SPAN_WARNING("There is an IED hooked up to it.")]" if(istype(I, /obj/item/assembly/signaler)) if(IED) - to_chat(user, "This beartrap already has an IED hooked up to it!") + to_chat(user, SPAN_WARNING("This beartrap already has an IED hooked up to it!")) return if(sig) - to_chat(user, "This beartrap already has a signaler hooked up to it!") + to_chat(user, SPAN_WARNING("This beartrap already has a signaler hooked up to it!")) return sig = I if(sig.secured) - to_chat(user, "The signaler is secured.") + to_chat(user, SPAN_WARNING("The signaler is secured.")) sig = null return user.drop_item() I.forceMove(src) - to_chat(user, "You sneak [sig] underneath the pressure plate and connect the trigger wire.") - desc = "A trap used to catch bears and other legged creatures. There is a remote signaler hooked up to it." + to_chat(user, SPAN_NOTICE("You sneak [sig] underneath the pressure plate and connect the trigger wire.")) + desc = "A trap used to catch bears and other legged creatures. [SPAN_WARNING("There is a remote signaler hooked up to it.")]" ..() /obj/item/restraints/legcuffs/beartrap/screwdriver_act(mob/living/user, obj/item/I) @@ -95,11 +95,11 @@ if(IED) IED.forceMove(get_turf(src)) IED = null - to_chat(user, "You remove the IED from [src].") + to_chat(user, SPAN_NOTICE("You remove the IED from [src].")) if(sig) sig.forceMove(get_turf(src)) sig = null - to_chat(user, "You remove the signaler from [src].") + to_chat(user, SPAN_NOTICE("You remove the signaler from [src].")) return TRUE /obj/item/restraints/legcuffs/beartrap/proc/on_atom_entered(datum/source, mob/living/entered) @@ -141,7 +141,7 @@ update_icon() playsound(loc, 'sound/effects/snap.ogg', 50, TRUE) if(!silent_arming) - user.visible_message("[user] triggers [src].", "You trigger [src].") + user.visible_message(SPAN_DANGER("[user] triggers [src]."), SPAN_USERDANGER("You trigger [src].")) if(sig) sig.signal() @@ -262,12 +262,12 @@ return//abort var/mob/living/carbon/C = hit_atom if(!C.legcuffed && C.get_num_legs() >= 2 && !IS_HORIZONTAL(C)) - visible_message("[src] ensnares [C]!") + visible_message(SPAN_DANGER("[src] ensnares [C]!")) C.legcuffed = src forceMove(C) C.update_inv_legcuffed() SSblackbox.record_feedback("tally", "handcuffs", 1, type) - to_chat(C, "[src] ensnares you!") + to_chat(C, SPAN_USERDANGER("[src] ensnares you!")) C.KnockDown(knockdown_duration) playsound(loc, hitsound, 50, TRUE) if(!reuseable) diff --git a/code/game/objects/items/weapons/melee/energy_melee_weapons.dm b/code/game/objects/items/weapons/melee/energy_melee_weapons.dm index 5a9eabfe6a2..3eae0ee766c 100644 --- a/code/game/objects/items/weapons/melee/energy_melee_weapons.dm +++ b/code/game/objects/items/weapons/melee/energy_melee_weapons.dm @@ -89,22 +89,22 @@ return !isnull(cig) if(!HAS_TRAIT(src, TRAIT_ITEM_ACTIVE)) - to_chat(user, "You must activate [src] before you can light [cig] with it!") + to_chat(user, SPAN_WARNING("You must activate [src] before you can light [cig] with it!")) return TRUE if(target == user) user.visible_message( "[user] makes a violent slashing motion, barely missing [user.p_their()] nose as light flashes! \ [user.p_they(TRUE)] light[user.p_s()] [user.p_their()] [cig] with [src] in the process.", - "You casually slash [src] at [cig], lighting it with the blade.", - "You hear an energy blade slashing something!" + SPAN_NOTICE("You casually slash [src] at [cig], lighting it with the blade."), + SPAN_DANGER("You hear an energy blade slashing something!") ) else user.visible_message( "[user] makes a violent slashing motion, barely missing the nose of [target] as light flashes! \ [user.p_they(TRUE)] light[user.p_s()] [cig] in the mouth of [target] with [src] in the process.", - "You casually slash [src] at [cig] in the mouth of [target], lighting it with the blade.", - "You hear an energy blade slashing something!" + SPAN_NOTICE("You casually slash [src] at [cig] in the mouth of [target], lighting it with the blade."), + SPAN_DANGER("You hear an energy blade slashing something!") ) user.do_attack_animation(target) playsound(user.loc, hitsound, 50, TRUE) @@ -112,13 +112,13 @@ return TRUE /obj/item/melee/energy/suicide_act(mob/user) - user.visible_message(pick("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!", \ - "[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!")) + user.visible_message(pick(SPAN_SUICIDE("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!"), \ + SPAN_SUICIDE("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!"))) return BRUTELOSS|FIRELOSS /obj/item/melee/energy/attack_self__legacy__attackchain(mob/living/carbon/user) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - to_chat(user, "You accidentally cut yourself with [src], like a doofus!") + to_chat(user, SPAN_WARNING("You accidentally cut yourself with [src], like a doofus!")) user.take_organ_damage(5,5) if(HAS_TRAIT(src, TRAIT_ITEM_ACTIVE)) REMOVE_TRAIT(src, TRAIT_ITEM_ACTIVE, TRAIT_GENERIC) @@ -132,7 +132,7 @@ w_class = initial(w_class) playsound(user, 'sound/weapons/saberoff.ogg', 35, 1) //changed it from 50% volume to 35% because deafness set_light(0) - to_chat(user, "[src] can now be concealed.") + to_chat(user, SPAN_NOTICE("[src] can now be concealed.")) else ADD_TRAIT(src, TRAIT_ITEM_ACTIVE, TRAIT_GENERIC) force = force_on @@ -149,7 +149,7 @@ set_light(brightness_on, l_color = colormap[blade_color]) w_class = w_class_on playsound(user, 'sound/weapons/saberon.ogg', 35, 1) //changed it from 50% volume to 35% because deafness - to_chat(user, "[src] is now active.") + to_chat(user, SPAN_NOTICE("[src] is now active.")) if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -198,7 +198,7 @@ light_color = LIGHT_COLOR_WHITE /obj/item/melee/energy/axe/suicide_act(mob/user) - user.visible_message("[user] swings [src] towards [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] swings [src] towards [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS|FIRELOSS ////////////////////////////// @@ -230,7 +230,7 @@ /obj/item/melee/energy/sword/examine(mob/user) . = ..() - . += "Can parry melee attacks and sometimes blocks ranged energy attacks. Use in hand to turn off and on." + . += SPAN_NOTICE("Can parry melee attacks and sometimes blocks ranged energy attacks. Use in hand to turn off and on.") /obj/item/melee/energy/sword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(HAS_TRAIT(src, TRAIT_ITEM_ACTIVE)) @@ -246,7 +246,7 @@ var/obj/item/stock_parts/cell/C = R.cell if(HAS_TRAIT(src, TRAIT_ITEM_ACTIVE) && !(C.use(hitcost))) attack_self__legacy__attackchain(R) - to_chat(R, "It's out of charge!") + to_chat(R, SPAN_NOTICE("It's out of charge!")) return ..() return @@ -273,11 +273,11 @@ ..() if(istype(W, /obj/item/melee/energy/sword/saber)) if(W == src) - to_chat(user, "You try to attach the end of the energy sword to... itself. You're not very smart, are you?") + to_chat(user, SPAN_NOTICE("You try to attach the end of the energy sword to... itself. You're not very smart, are you?")) if(ishuman(user)) user.adjustBrainLoss(10) else - to_chat(user, "You attach the ends of the two energy swords, making a single double-bladed weapon! You're cool.") + to_chat(user, SPAN_NOTICE("You attach the ends of the two energy swords, making a single double-bladed weapon! You're cool.")) var/obj/item/dualsaber/newSaber = new /obj/item/dualsaber(user.loc) if(src.hacked) // That's right, we'll only check the "original" esword. newSaber.hacked = TRUE @@ -289,7 +289,7 @@ if(!hacked) hacked = TRUE blade_color = "rainbow" - to_chat(user, "RNBW_ENGAGE") + to_chat(user, SPAN_WARNING("RNBW_ENGAGE")) if(HAS_TRAIT(src, TRAIT_ITEM_ACTIVE)) icon_state = "swordrainbow" @@ -301,7 +301,7 @@ user.update_inv_l_hand() else - to_chat(user, "It's already fabulous!") + to_chat(user, SPAN_WARNING("It's already fabulous!")) /obj/item/melee/energy/sword/saber/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) @@ -313,10 +313,10 @@ if(isprojectile(hitby)) var/obj/projectile/P = hitby if(P.reflectability == REFLECTABILITY_ENERGY) - owner.visible_message("[owner] parries [attack_text] with [src]!") + owner.visible_message(SPAN_DANGER("[owner] parries [attack_text] with [src]!")) add_attack_logs(P.firer, src, "hit by [P.type] but got parried by [src]") return -1 - owner.visible_message("[owner] blocks [attack_text] with [src]!") + owner.visible_message(SPAN_DANGER("[owner] blocks [attack_text] with [src]!")) playsound(src, 'sound/weapons/effects/ric3.ogg', 100, TRUE) return TRUE @@ -438,7 +438,7 @@ if(ishuman(user)) var/mob/living/carbon/human/H = user if(HAS_TRAIT(H, TRAIT_CLUMSY) && prob(50)) - to_chat(H, "You accidentally cut yourself with [src], like a doofus!") + to_chat(H, SPAN_WARNING("You accidentally cut yourself with [src], like a doofus!")) H.take_organ_damage(10,10) if(HAS_TRAIT(src, TRAIT_ITEM_ACTIVE)) REMOVE_TRAIT(src, TRAIT_ITEM_ACTIVE, TRAIT_GENERIC) @@ -452,7 +452,7 @@ w_class = initial(w_class) playsound(user, 'sound/magic/fellowship_armory.ogg', 35, 1) //changed it from 50% volume to 35% because deafness set_light(0) - to_chat(user, "You close [src]. It will now attack rapidly and cause fauna to bleed.") + to_chat(user, SPAN_NOTICE("You close [src]. It will now attack rapidly and cause fauna to bleed.")) else ADD_TRAIT(src, TRAIT_ITEM_ACTIVE, TRAIT_GENERIC) force = force_on @@ -469,7 +469,7 @@ set_light(brightness_on, l_color = colormap[blade_color]) w_class = w_class_on playsound(user, 'sound/magic/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (HAS_TRAIT(src, TRAIT_ITEM_ACTIVE) * 30000)) - to_chat(user, "You open [src]. It will now cleave enemies in a wide arc and deal additional damage to fauna.") + to_chat(user, SPAN_NOTICE("You open [src]. It will now cleave enemies in a wide arc and deal additional damage to fauna.")) if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -485,7 +485,7 @@ Transforming it immediately after an attack causes the next attack to come out faster.
" /obj/item/melee/energy/cleaving_saw/suicide_act(mob/user) - user.visible_message("[user] is [HAS_TRAIT(src, TRAIT_ITEM_ACTIVE) ? "closing [src] on [user.p_their()] neck" : "opening [src] into [user.p_their()] chest"]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is [HAS_TRAIT(src, TRAIT_ITEM_ACTIVE) ? "closing [src] on [user.p_their()] neck" : "opening [src] into [user.p_their()] chest"]! It looks like [user.p_theyre()] trying to commit suicide!")) transform_cooldown = 0 transform_weapon(user, TRUE) return BRUTELOSS diff --git a/code/game/objects/items/weapons/melee/melee.dm b/code/game/objects/items/weapons/melee/melee.dm index 9d2267f8ec1..c38602c1ca0 100644 --- a/code/game/objects/items/weapons/melee/melee.dm +++ b/code/game/objects/items/weapons/melee/melee.dm @@ -26,7 +26,7 @@ /obj/item/melee/saber/examine(mob/user) . = ..() - . += "The blade looks very well-suited for piercing armour." + . += SPAN_NOTICE("The blade looks very well-suited for piercing armour.") /obj/item/melee/saber/examine_more(mob/user) . = ..() @@ -49,12 +49,12 @@ return var/mob/living/carbon/human/H = target if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - user.visible_message("[user] accidentally slaps [user.p_themselves()] with [src]!", \ - "You accidentally slap yourself with [src]!") + user.visible_message(SPAN_DANGER("[user] accidentally slaps [user.p_themselves()] with [src]!"), \ + SPAN_USERDANGER("You accidentally slap yourself with [src]!")) slap(user, user) else - user.visible_message("[user] slaps [H] with the flat of the blade!", \ - "You slap [H] with the flat of the blade!") + user.visible_message(SPAN_DANGER("[user] slaps [H] with the flat of the blade!"), \ + SPAN_USERDANGER("You slap [H] with the flat of the blade!")) slap(target, user) /obj/item/melee/saber/proc/slap(mob/living/carbon/human/target, mob/living/user) @@ -66,8 +66,8 @@ COOLDOWN_START(src, slap_cooldown, 4 SECONDS) /obj/item/melee/saber/suicide_act(mob/user) - user.visible_message(pick("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!", \ - "[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!")) + user.visible_message(pick(SPAN_SUICIDE("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!"), \ + SPAN_SUICIDE("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!"))) return BRUTELOSS @@ -137,11 +137,11 @@ /obj/item/melee/secsword/examine(mob/user) . = ..() if(!cell) - . += "The powercell has been removed!" + . += SPAN_NOTICE("The powercell has been removed!") return - . += "It is [round(cell.percent())]% charged." + . += SPAN_NOTICE("It is [round(cell.percent())]% charged.") if(round(cell.percent() < 100)) - . += "Can be recharged with a recharger." + . += SPAN_NOTICE("Can be recharged with a recharger.") /obj/item/melee/secsword/examine_more(mob/user) . = ..() @@ -182,28 +182,28 @@ return ITEM_INTERACT_COMPLETE var/obj/item/stock_parts/cell/C = used if(cell) - to_chat(user, "[src] already has a cell!") + to_chat(user, SPAN_WARNING("[src] already has a cell!")) return ITEM_INTERACT_COMPLETE if(C.maxcharge < stam_hitcost) - to_chat(user, "[src] requires a higher capacity cell!") + to_chat(user, SPAN_WARNING("[src] requires a higher capacity cell!")) return ITEM_INTERACT_COMPLETE if(!user.unequip(used)) return ITEM_INTERACT_COMPLETE used.forceMove(src) cell = used - to_chat(user, "You install [used] into [src].") + to_chat(user, SPAN_NOTICE("You install [used] into [src].")) update_icon() return ITEM_INTERACT_COMPLETE /obj/item/melee/secsword/screwdriver_act(mob/living/user, obj/item/I) if(!cell) - to_chat(user, "There's no cell installed!") + to_chat(user, SPAN_WARNING("There's no cell installed!")) return if(!I.use_tool(src, user, volume = I.tool_volume)) return user.put_in_hands(cell) - to_chat(user, "You remove [cell] from [src].") + to_chat(user, SPAN_NOTICE("You remove [cell] from [src].")) cell.update_icon() clear_cell() @@ -211,28 +211,28 @@ if(..()) return FINISH_ATTACK if(!cell) - to_chat(user, "[src] does not have a power source!") + to_chat(user, SPAN_WARNING("[src] does not have a power source!")) return FINISH_ATTACK add_fingerprint(user) if(cell.charge < stam_hitcost || (SECSWORD_STUN && cell.charge < burn_hitcost)) state = SECSWORD_OFF armor_penetration_percentage = 0 - to_chat(user, "[src] does not have enough charge!") + to_chat(user, SPAN_NOTICE("[src] does not have enough charge!")) return FINISH_ATTACK switch(state) if(SECSWORD_OFF) state = SECSWORD_STUN armor_penetration_percentage = 30 - to_chat(user, "[src]'s edge is now set to stun.") + to_chat(user, SPAN_WARNING("[src]'s edge is now set to stun.")) if(SECSWORD_STUN) state = SECSWORD_BURN armor_penetration_percentage = 60 - to_chat(user, "[src]'s edge is now set to burn.") + to_chat(user, SPAN_WARNING("[src]'s edge is now set to burn.")) if(SECSWORD_BURN) state = SECSWORD_OFF armor_penetration_percentage = 0 - to_chat(user, "[src]'s edge is now turned off.") + to_chat(user, SPAN_NOTICE("[src]'s edge is now turned off.")) update_icon() playsound(src, "sparks", 60, TRUE, -1) return FINISH_ATTACK @@ -240,11 +240,11 @@ /obj/item/melee/secsword/attack(mob/living/M, mob/living/user, params) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) if(state == SECSWORD_STUN && sword_stun(user, user, skip_cooldown = TRUE)) - user.visible_message("[user] accidentally hits [user.p_themselves()] with [src]!", - "You accidentally hit yourself with [src]!") + user.visible_message(SPAN_DANGER("[user] accidentally hits [user.p_themselves()] with [src]!"), + SPAN_USERDANGER("You accidentally hit yourself with [src]!")) return FINISH_ATTACK | MELEE_COOLDOWN_PREATTACK if(user.mind?.martial_art?.no_baton && user.mind?.martial_art?.can_use(user)) // Just like the baton, no sword + judo. - to_chat(user, "The sword feels off-balance in your hand due to your specific martial training!") + to_chat(user, SPAN_WARNING("The sword feels off-balance in your hand due to your specific martial training!")) return FINISH_ATTACK | MELEE_COOLDOWN_PREATTACK // Off @@ -255,8 +255,8 @@ if(issilicon(M)) // Can't slap borgs and AIs user.do_attack_animation(M) M.visible_message( - "[user] has slapped [M] harmlessly with [src].", - "[user] has slapped you harmlessly with [src]." + SPAN_WARNING("[user] has slapped [M] harmlessly with [src]."), + SPAN_DANGER("[user] has slapped you harmlessly with [src].") ) return slap(M, user) // Just a little slap. No harm @@ -270,8 +270,8 @@ else if(issilicon(M)) user.do_attack_animation(M) M.visible_message( - "[user] has slapped [M] harmlessly with [src].", - "[user] has slapped you harmlessly with [src]." + SPAN_WARNING("[user] has slapped [M] harmlessly with [src]."), + SPAN_DANGER("[user] has slapped you harmlessly with [src].") ) return if(sword_stun(M, user)) @@ -424,7 +424,7 @@ icon_state = "[base_icon_state]0" /obj/item/melee/breach_cleaver/proc/wield(obj/item/source, mob/living/carbon/human/user) - to_chat(user, "You heave [src] up in both hands.") + to_chat(user, SPAN_NOTICE("You heave [src] up in both hands.")) user.apply_status_effect(STATUS_EFFECT_BREACH_AND_CLEAVE) update_icon(UPDATE_ICON_STATE) @@ -444,7 +444,7 @@ var/mob/living/carbon/human/H = user H.changeNext_move(CLICK_CD_MELEE) H.do_attack_animation(O) - H.visible_message("[H] has hit [O] with [src]!", "You hit [O] with [src]!") + H.visible_message(SPAN_DANGER("[H] has hit [O] with [src]!"), SPAN_DANGER("You hit [O] with [src]!")) var/damage = force_wield damage += H.physiology.melee_bonus O.take_damage(damage * 3, BRUTE, MELEE, TRUE, get_dir(src, H), 30) // Multiplied to do big damage to doors, closets, windows, and machines, but normal damage to mobs. @@ -458,9 +458,9 @@ switch(user.a_intent) if(INTENT_HELP) // Stamina damage - H.visible_message("[user] slams [H] with the flat of the blade!", \ - "[user] slams you with the flat of the blade!", \ - "You hear a thud.") + H.visible_message(SPAN_DANGER("[user] slams [H] with the flat of the blade!"), \ + SPAN_USERDANGER("[user] slams you with the flat of the blade!"), \ + SPAN_ITALICS("You hear a thud.")) user.do_attack_animation(H, ATTACK_EFFECT_DISARM) playsound(loc, 'sound/weapons/swordhit.ogg', 50, TRUE, -1) H.AdjustConfused(4 SECONDS, 0, 4 SECONDS) @@ -471,9 +471,9 @@ if(H.stat != CONSCIOUS || IS_HORIZONTAL(H)) return ..() - H.visible_message("[user] smashes [H] with the blade's tip!", \ - "[user] smashes you with the blade's tip!", \ - "You hear crushing.") + H.visible_message(SPAN_DANGER("[user] smashes [H] with the blade's tip!"), \ + SPAN_USERDANGER("[user] smashes you with the blade's tip!"), \ + SPAN_ITALICS("You hear crushing.")) user.do_attack_animation(H, ATTACK_EFFECT_KICK) playsound(get_turf(user), 'sound/weapons/sonic_jackhammer.ogg', 50, TRUE, -1) @@ -483,9 +483,9 @@ add_attack_logs(user, H, "Smashed away by a breach cleaver. (Disarm intent, Knockback)", ATKLOG_ALL) if(INTENT_GRAB) // Knocks down - H.visible_message("[user] cleaves [H] with an overhead strike!", \ - "[user] cleaves you with an overhead strike!", \ - "You hear a chopping noise.") + H.visible_message(SPAN_DANGER("[user] cleaves [H] with an overhead strike!"), \ + SPAN_USERDANGER("[user] cleaves you with an overhead strike!"), \ + SPAN_ITALICS("You hear a chopping noise.")) user.do_attack_animation(H, ATTACK_EFFECT_DISARM) playsound(get_turf(user), 'sound/weapons/armblade.ogg', 50, TRUE, -1) @@ -583,13 +583,13 @@ // MARK: SLAYER CHAINSAW /obj/item/chainsaw/doomslayer name = "OOOH BABY" - desc = "VRRRRRRR!!!" + desc = SPAN_WARNING("VRRRRRRR!!!") armor_penetration_percentage = 100 force_on = 30 /obj/item/chainsaw/doomslayer/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(attack_type == PROJECTILE_ATTACK) - owner.visible_message("Ranged attacks just make [owner] angrier!") + owner.visible_message(SPAN_DANGER("Ranged attacks just make [owner] angrier!")) playsound(src, pick('sound/weapons/bulletflyby.ogg','sound/weapons/bulletflyby2.ogg','sound/weapons/bulletflyby3.ogg'), 75, 1) return TRUE return FALSE diff --git a/code/game/objects/items/weapons/melee/melee_misc.dm b/code/game/objects/items/weapons/melee/melee_misc.dm index cdc5d3b4614..e0f4a1701f7 100644 --- a/code/game/objects/items/weapons/melee/melee_misc.dm +++ b/code/game/objects/items/weapons/melee/melee_misc.dm @@ -12,7 +12,7 @@ hitsound = 'sound/weapons/slash.ogg' //pls replace /obj/item/melee/chainofcommand/suicide_act(mob/user) - to_chat(viewers(user), "[user] is strangling [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + to_chat(viewers(user), SPAN_SUICIDE("[user] is strangling [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return OXYLOSS // MARK: ICE PICK @@ -60,9 +60,9 @@ . = ..() if(is_type_in_typecache(M, strong_against)) new /obj/effect/decal/cleanable/insectguts(M.drop_location()) - user.visible_message("[user] splats [M] with [src].", - "You splat [M] with [src].", - "You hear a splat.") + user.visible_message(SPAN_WARNING("[user] splats [M] with [src]."), + SPAN_WARNING("You splat [M] with [src]."), + SPAN_WARNING("You hear a splat.")) if(isliving(M)) var/mob/living/bug = M bug.death(TRUE) diff --git a/code/game/objects/items/weapons/misc_items.dm b/code/game/objects/items/weapons/misc_items.dm index 57802f04de3..62eed0a3672 100644 --- a/code/game/objects/items/weapons/misc_items.dm +++ b/code/game/objects/items/weapons/misc_items.dm @@ -60,20 +60,20 @@ if(user.a_intent == INTENT_HELP) user.do_attack_animation(target) user.visible_message( - "[user] has prodded [target] with [src].", - "You prod [target] with [src]." + SPAN_NOTICE("[user] has prodded [target] with [src]."), + SPAN_NOTICE("You prod [target] with [src].") ) if(HAS_TRAIT(user, TRAIT_BLIND)) - to_chat(user, "You feel [target] with [src].") + to_chat(user, SPAN_NOTICE("You feel [target] with [src].")) playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1) else if(user.a_intent == INTENT_DISARM && ismob(target)) //Harmless smack user.visible_message( - "[user] harmlessly slaps [target] with the end of the white cane.", - "You harmlessly slap [target] with the end of the white cane." + SPAN_NOTICE("[user] harmlessly slaps [target] with the end of the white cane."), + SPAN_NOTICE("You harmlessly slap [target] with the end of the white cane.") ) if(HAS_TRAIT(user, TRAIT_BLIND)) - to_chat(user, "You harmlessly slap [target] with the end of the white cane.") + to_chat(user, SPAN_NOTICE("You harmlessly slap [target] with the end of the white cane.")) user.do_attack_animation(target, ATTACK_EFFECT_DISARM) playsound(loc, 'sound/effects/woodhit.ogg', 50, TRUE, -1) @@ -121,23 +121,23 @@ return if(!hidden && I.tool_behaviour != TOOL_SCREWDRIVER && I.w_class == WEIGHT_CLASS_TINY) if(istype(I, /obj/item/disk/nuclear)) - to_chat(user, "You think you're gonna need more than crutches if your employers find out what you just tried to do...") + to_chat(user, SPAN_WARNING("You think you're gonna need more than crutches if your employers find out what you just tried to do...")) return if(I.flags & ABSTRACT) return if(!user.unequip(I)) - to_chat(user, "[I] doesn't seem to want to go into [src]!") + to_chat(user, SPAN_NOTICE("[I] doesn't seem to want to go into [src]!")) return I.forceMove(src) hidden = I - to_chat(user, "You hide [I] inside the crutch tip.") + to_chat(user, SPAN_NOTICE("You hide [I] inside the crutch tip.")) /obj/item/crutches/attack_hand(mob/user, pickupfireoverride) if(!is_open) return ..() if(hidden) user.put_in_hands(hidden) - to_chat(user, "You remove [hidden] from the crutch tip!") + to_chat(user, SPAN_NOTICE("You remove [hidden] from the crutch tip!")) hidden = null add_fingerprint(user) @@ -145,7 +145,7 @@ /obj/item/crutches/screwdriver_act(mob/living/user, obj/item/I) if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return - to_chat(user, "You screw the crutch tip [is_open ? "closed" : "open"].") + to_chat(user, SPAN_NOTICE("You screw the crutch tip [is_open ? "closed" : "open"].")) is_open = !is_open /obj/item/crutches/get_crutch_efficiency() diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index bb42718266b..b2d10c4ac05 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -29,7 +29,7 @@ /obj/item/mop/proc/wet_mop(obj/O, mob/user, robot_mop) if(O.reagents.total_volume < 1) - to_chat(user, "[O] is empty!") + to_chat(user, SPAN_WARNING("[O] is empty!")) if(robot_mop) return @@ -48,7 +48,7 @@ return O.reagents.trans_to(src, 6) - to_chat(user, "You wet [src] in [O].") + to_chat(user, SPAN_NOTICE("You wet [src] in [O].")) playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) /obj/item/mop/interact_with_atom(atom/target, mob/living/user, list/modifiers) @@ -63,7 +63,7 @@ return ITEM_INTERACT_COMPLETE if(reagents.total_volume < 1) - to_chat(user, "Your mop is dry!") + to_chat(user, SPAN_WARNING("Your mop is dry!")) return ITEM_INTERACT_COMPLETE if(world.time > mop_sound_cooldown) @@ -88,7 +88,7 @@ /obj/item/mop/wash(mob/user, atom/source) reagents.add_reagent("water", 5) - to_chat(user, "You wet [src] in [source].") + to_chat(user, SPAN_NOTICE("You wet [src] in [source].")) playsound(loc, 'sound/effects/slosh.ogg', 25, 1) return TRUE @@ -122,7 +122,7 @@ START_PROCESSING(SSobj, src) else STOP_PROCESSING(SSobj, src) - to_chat(user, "You set the condenser switch to the '[refill_enabled ? "ON" : "OFF"]' position.") + to_chat(user, SPAN_NOTICE("You set the condenser switch to the '[refill_enabled ? "ON" : "OFF"]' position.")) playsound(user, 'sound/machines/click.ogg', 30, 1) /obj/item/mop/advanced/process() @@ -132,7 +132,7 @@ /obj/item/mop/advanced/examine(mob/user) . = ..() - . += "The condenser switch is set to [refill_enabled ? "ON" : "OFF"]." + . += SPAN_NOTICE("The condenser switch is set to [refill_enabled ? "ON" : "OFF"].") /obj/item/mop/advanced/Destroy() if(refill_enabled) diff --git a/code/game/objects/items/weapons/pneumaticCannon.dm b/code/game/objects/items/weapons/pneumaticCannon.dm index a0be0113dcb..cb30680b720 100644 --- a/code/game/objects/items/weapons/pneumaticCannon.dm +++ b/code/game/objects/items/weapons/pneumaticCannon.dm @@ -36,12 +36,12 @@ /obj/item/pneumatic_cannon/examine(mob/user) . = ..() if(!in_range(user, src)) - . += "You'll need to get closer to see any more." + . += SPAN_NOTICE("You'll need to get closer to see any more.") else if(tank) - . += "[bicon(tank)] It has [tank] mounted onto it." + . += SPAN_NOTICE("[bicon(tank)] It has [tank] mounted onto it.") for(var/obj/item/I in loaded_items) - . += "[bicon(I)] It has [I] loaded." + . += SPAN_NOTICE("[bicon(I)] It has [I] loaded.") /** * Arguments: @@ -52,13 +52,13 @@ */ /obj/item/pneumatic_cannon/proc/load_item(obj/item/I, mob/user) if((loaded_weight_class + I.w_class) > max_weight_class) - to_chat(user, "[I] won't fit into [src]!") + to_chat(user, SPAN_WARNING("[I] won't fit into [src]!")) return FALSE if(I.w_class > w_class) - to_chat(user, "[I] is too large to fit into [src]!") + to_chat(user, SPAN_WARNING("[I] is too large to fit into [src]!")) return FALSE if(!user.unequip(I) || I.flags & (ABSTRACT | NODROP | DROPDEL)) - to_chat(user, "You can't put [I] into [src]!") + to_chat(user, SPAN_WARNING("You can't put [I] into [src]!")) return FALSE loaded_items.Add(I) loaded_weight_class += I.w_class @@ -74,17 +74,17 @@ pressure_setting = 1 else pressure_setting++ - to_chat(user, "You tweak [src]'s pressure output to [pressure_setting].") + to_chat(user, SPAN_NOTICE("You tweak [src]'s pressure output to [pressure_setting].")) /obj/item/pneumatic_cannon/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/tank/internals) && !tank) if(istype(used, /obj/item/tank/internals/emergency_oxygen)) - to_chat(user, "[used] is too small for [src].") + to_chat(user, SPAN_WARNING("[used] is too small for [src].")) return ITEM_INTERACT_COMPLETE add_tank(used, user) return ITEM_INTERACT_COMPLETE if(used.type == type) - to_chat(user, "You're fairly certain that putting a pneumatic cannon inside another pneumatic cannon would cause a spacetime disruption.") + to_chat(user, SPAN_WARNING("You're fairly certain that putting a pneumatic cannon inside another pneumatic cannon would cause a spacetime disruption.")) return ITEM_INTERACT_COMPLETE load_item(used, user) return ..() @@ -110,17 +110,17 @@ return var/has_discharged = FALSE if(!loaded_items || !loaded_weight_class) - to_chat(user, "[src] has nothing loaded.") + to_chat(user, SPAN_WARNING("[src] has nothing loaded.")) return if(requires_tank) if(!tank) - to_chat(user, "[src] can't fire without a source of gas.") + to_chat(user, SPAN_WARNING("[src] can't fire without a source of gas.")) return if(!tank.air_contents.boolean_remove(gas_per_throw * pressure_setting)) - to_chat(user, "[src] lets out a weak hiss and doesn't react!") + to_chat(user, SPAN_WARNING("[src] lets out a weak hiss and doesn't react!")) return if(user && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(75)) - user.visible_message("[user] loses [user.p_their()] grip on [src], causing it to go off!", "[src] slips out of your hands and goes off!") + user.visible_message(SPAN_WARNING("[user] loses [user.p_their()] grip on [src], causing it to go off!"), SPAN_USERDANGER("[src] slips out of your hands and goes off!")) user.drop_item() has_discharged = TRUE if(prob(10)) @@ -129,8 +129,8 @@ var/list/possible_targets = range(3,src) target = pick(possible_targets) if(!has_discharged) - user.visible_message("[user] fires [src]!", \ - "You fire [src]!") + user.visible_message(SPAN_DANGER("[user] fires [src]!"), \ + SPAN_DANGER("You fire [src]!")) add_attack_logs(user, target, "Fired [src]") playsound(loc, 'sound/weapons/sonic_jackhammer.ogg', 50, TRUE) for(var/obj/item/loaded_item in loaded_items) @@ -140,16 +140,16 @@ loaded_item.forceMove(get_turf(src)) loaded_item.throw_at(target, pressure_setting * 5, pressure_setting * 2, user) if(pressure_setting >= 3 && user) - user.visible_message("[user] is thrown down by the force of the cannon!", "[src] slams into your shoulder, knocking you down!") + user.visible_message(SPAN_WARNING("[user] is thrown down by the force of the cannon!"), "[src] slams into your shoulder, knocking you down!") user.KnockDown(3 SECONDS) /obj/item/pneumatic_cannon/proc/add_tank(obj/item/tank/new_tank, mob/living/carbon/human/user) if(tank) - to_chat(user, "[src] already has a tank.") + to_chat(user, SPAN_WARNING("[src] already has a tank.")) return if(!user.unequip(new_tank)) return - to_chat(user, "You hook [new_tank] up to [src].") + to_chat(user, SPAN_NOTICE("You hook [new_tank] up to [src].")) new_tank.forceMove(src) tank = new_tank update_icons() @@ -157,7 +157,7 @@ /obj/item/pneumatic_cannon/proc/remove_tank(mob/living/carbon/human/user) if(!tank) return FALSE - to_chat(user, "You detach [tank] from [src].") + to_chat(user, SPAN_NOTICE("You detach [tank] from [src].")) user.put_in_hands(tank) tank = null update_icons() diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm index 0c30c93f707..363a1fde685 100644 --- a/code/game/objects/items/weapons/powerfist.dm +++ b/code/game/objects/items/weapons/powerfist.dm @@ -22,19 +22,19 @@ /obj/item/melee/powerfist/examine(mob/user) . = ..() if(!in_range(user, src)) - . += "You'll need to get closer to see any more." + . += SPAN_NOTICE("You'll need to get closer to see any more.") else if(tank) - . += "[bicon(tank)] It has [tank] mounted onto it." + . += SPAN_NOTICE("[bicon(tank)] It has [tank] mounted onto it.") /obj/item/melee/powerfist/attackby__legacy__attackchain(obj/item/W, mob/user, params) if(istype(W, /obj/item/tank/internals)) if(!user.is_holding(src)) - to_chat(user, "You have to hold [src] in your hand!") + to_chat(user, SPAN_WARNING("You have to hold [src] in your hand!")) return if(!tank) var/obj/item/tank/internals/IT = W if(IT.volume <= 3) - to_chat(user, "[IT] is too small for [src].") + to_chat(user, SPAN_WARNING("[IT] is too small for [src].")) return updateTank(W, 0, user) return @@ -51,7 +51,7 @@ fisto_setting = 3 if(3) fisto_setting = 1 - to_chat(user, "You tweak [src]'s piston valve to [fisto_setting].") + to_chat(user, SPAN_NOTICE("You tweak [src]'s piston valve to [fisto_setting].")) /obj/item/melee/powerfist/screwdriver_act(mob/user, obj/item/I) if(!tank) @@ -64,33 +64,33 @@ /obj/item/melee/powerfist/proc/updateTank(obj/item/tank/thetank, removing = 0, mob/living/carbon/human/user) if(removing) if(!tank) - to_chat(user, "[src] currently has no tank attached to it.") + to_chat(user, SPAN_NOTICE("[src] currently has no tank attached to it.")) return - to_chat(user, "As you detach [thetank] from [src], the fist unlocks.") + to_chat(user, SPAN_NOTICE("As you detach [thetank] from [src], the fist unlocks.")) set_nodrop(FALSE, user) tank.forceMove(get_turf(user)) user.put_in_hands(tank) tank = null if(!removing) if(tank) - to_chat(user, "[src] already has a tank.") + to_chat(user, SPAN_WARNING("[src] already has a tank.")) return if(!user.unequip(thetank)) return - to_chat(user, "As you hook [thetank] up to [src], the fist locks into place around your arm.") + to_chat(user, SPAN_NOTICE("As you hook [thetank] up to [src], the fist locks into place around your arm.")) tank = thetank thetank.forceMove(src) set_nodrop(TRUE, user) /obj/item/melee/powerfist/attack__legacy__attackchain(mob/living/target, mob/living/user) if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm other living beings!") + to_chat(user, SPAN_WARNING("You don't want to harm other living beings!")) return if(!tank) - to_chat(user, "[src] can't operate without a source of gas!") + to_chat(user, SPAN_WARNING("[src] can't operate without a source of gas!")) return if(!use_air()) - to_chat(user, "[src]'s piston-ram lets out a weak hiss, it needs more gas!") + to_chat(user, SPAN_WARNING("[src]'s piston-ram lets out a weak hiss, it needs more gas!")) playsound(loc, 'sound/effects/refill.ogg', 50, 1) return @@ -103,8 +103,8 @@ var/armor_block = target.run_armor_check(affecting, MELEE) target.apply_damage(force * fisto_setting, BRUTE, affecting, armor_block) - target.visible_message("[user]'s powerfist lets out a loud hiss as [user.p_they()] punch[user.p_es()] [target.name]!", \ - "You cry out in pain as [user]'s punch flings you backwards!") + target.visible_message(SPAN_DANGER("[user]'s powerfist lets out a loud hiss as [user.p_they()] punch[user.p_es()] [target.name]!"), \ + SPAN_USERDANGER("You cry out in pain as [user]'s punch flings you backwards!")) new /obj/effect/temp_visual/kinetic_blast(target.loc) playsound(loc, 'sound/weapons/resonator_blast.ogg', 50, 1) playsound(loc, 'sound/weapons/genhit2.ogg', 50, 1) diff --git a/code/game/objects/items/weapons/scissors.dm b/code/game/objects/items/weapons/scissors.dm index dc4217225fc..0eceac4c6e3 100644 --- a/code/game/objects/items/weapons/scissors.dm +++ b/code/game/objects/items/weapons/scissors.dm @@ -27,17 +27,17 @@ var/mob/living/carbon/human/H = M var/obj/item/organ/external/head/C = H.get_organ("head") if(!C) - to_chat(user, "[M] doesn't have a head!") + to_chat(user, SPAN_WARNING("[M] doesn't have a head!")) return //facial hair var/f_new_style = tgui_input_list(user, "Select a facial hair style", "Grooming", H.generate_valid_facial_hairstyles()) //handle normal hair var/h_new_style = tgui_input_list(user, "Select a hair style", "Grooming", H.generate_valid_hairstyles()) - user.visible_message("[user] starts cutting [M]'s hair!", "You start cutting [M]'s hair!") //arguments for this are: 1. what others see 2. what the user sees. --Fixed grammar, (TGameCo) + user.visible_message(SPAN_NOTICE("[user] starts cutting [M]'s hair!"), SPAN_NOTICE("You start cutting [M]'s hair!")) //arguments for this are: 1. what others see 2. what the user sees. --Fixed grammar, (TGameCo) playsound(loc, 'sound/goonstation/misc/scissor.ogg', 100, 1) if(do_after(user, 50 * toolspeed, target = H)) //this is the part that adds a delay. delay is in deciseconds. --Made it 5 seconds, because hair isn't cut in one second in real life, and I want at least a little bit longer time, (TGameCo) if(!(M in view(1))) //Adjacency test - user.visible_message("[user] stops cutting [M]'s hair.", "You stop cutting [M]'s hair.") + user.visible_message(SPAN_NOTICE("[user] stops cutting [M]'s hair."), SPAN_NOTICE("You stop cutting [M]'s hair.")) return if(f_new_style) C.f_style = f_new_style @@ -46,4 +46,4 @@ H.update_hair() H.update_fhair() - user.visible_message("[user] finishes cutting [M]'s hair!") + user.visible_message(SPAN_NOTICE("[user] finishes cutting [M]'s hair!")) diff --git a/code/game/objects/items/weapons/shards.dm b/code/game/objects/items/weapons/shards.dm index 82bfc83a486..d8239b0f146 100644 --- a/code/game/objects/items/weapons/shards.dm +++ b/code/game/objects/items/weapons/shards.dm @@ -21,8 +21,8 @@ var/obj/item/stack/sheet/welded_type = /obj/item/stack/sheet/glass /obj/item/shard/suicide_act(mob/user) - to_chat(viewers(user), pick("[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide!", - "[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) + to_chat(viewers(user), pick(SPAN_DANGER("[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide!"), + SPAN_DANGER("[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))) return BRUTELOSS /obj/item/shard/proc/set_initial_icon_state() @@ -62,7 +62,7 @@ var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand") if(affecting.is_robotic()) return - to_chat(H, "[src] cuts into your hand!") + to_chat(H, SPAN_WARNING("[src] cuts into your hand!")) if(affecting.receive_damage(force * 0.5)) H.UpdateDamageIcon() @@ -71,7 +71,7 @@ if(!I.use_tool(src, user, volume = I.tool_volume)) return new welded_type(user.loc) - to_chat(user, "You add the newly-formed glass to the stack.") + to_chat(user, SPAN_NOTICE("You add the newly-formed glass to the stack.")) qdel(src) /obj/item/shard/proc/on_atom_entered(datum/source, atom/movable/entered) diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index f4cd0aab451..a60855b026b 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -35,7 +35,7 @@ /obj/item/shield/riot/attackby__legacy__attackchain(obj/item/W, mob/user, params) if(is_type_in_list(W, allowed_bashers)) if(cooldown < world.time - 2.5 SECONDS) - user.visible_message("[user] bashes [src] with [W]!") + user.visible_message(SPAN_WARNING("[user] bashes [src] with [W]!")) playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1) cooldown = world.time else @@ -97,7 +97,7 @@ var/obj/projectile/P = hitby if(P.shield_buster && active) toggle(owner, TRUE) - to_chat(owner, "[hitby] overloaded your [src]!") + to_chat(owner, SPAN_WARNING("[hitby] overloaded your [src]!")) return 0 /obj/item/shield/energy/IsReflect() @@ -108,7 +108,7 @@ /obj/item/shield/energy/proc/toggle(mob/living/carbon/human/user, forced) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50) && !forced) - to_chat(user, "You beat yourself in the head with [src].") + to_chat(user, SPAN_WARNING("You beat yourself in the head with [src].")) user.take_organ_damage(5) active = !active icon_state = "eshield[active]" @@ -119,14 +119,14 @@ throw_speed = 2 w_class = WEIGHT_CLASS_BULKY playsound(user, 'sound/weapons/saberon.ogg', 35, 1) - to_chat(user, "[src] is now active.") + to_chat(user, SPAN_NOTICE("[src] is now active.")) else force = 3 throwforce = 3 throw_speed = 3 w_class = WEIGHT_CLASS_TINY playsound(user, 'sound/weapons/saberoff.ogg', 35, 1) - to_chat(user, "[src] can now be concealed.") + to_chat(user, SPAN_NOTICE("[src] can now be concealed.")) if(ishuman(user)) var/mob/living/carbon/human/H = user H.update_inv_l_hand() @@ -164,7 +164,7 @@ throw_speed = 3 w_class = WEIGHT_CLASS_NORMAL slot_flags = null - to_chat(user, "[src] can now be concealed.") + to_chat(user, SPAN_NOTICE("[src] can now be concealed.")) else ADD_TRAIT(src, TRAIT_ITEM_ACTIVE, TRAIT_GENERIC) force = 8 @@ -172,7 +172,7 @@ throw_speed = 2 w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK - to_chat(user, "You extend \the [src].") + to_chat(user, SPAN_NOTICE("You extend \the [src].")) icon_state = "teleriot[HAS_TRAIT(src, TRAIT_ITEM_ACTIVE)]" playsound(loc, 'sound/weapons/batonextend.ogg', 50, TRUE) if(ishuman(user)) diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index bca4bfd57f5..033a982054d 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -32,15 +32,15 @@ for(var/obj/item/I in contents) space_used += I.w_class if(!space_used) - . += "[src] is empty." + . += SPAN_NOTICE("[src] is empty.") else if(space_used <= max_combined_w_class * 0.6) - . += "[src] still has plenty of remaining space." + . += SPAN_NOTICE("[src] still has plenty of remaining space.") else if(space_used <= max_combined_w_class * 0.8) - . += "[src] is beginning to run out of space." + . += SPAN_NOTICE("[src] is beginning to run out of space.") else if(space_used < max_combined_w_class) - . += "[src] doesn't have much space left." + . += SPAN_NOTICE("[src] doesn't have much space left.") else - . += "[src] is full." + . += SPAN_NOTICE("[src] is full.") /* * Backpack Types @@ -64,17 +64,17 @@ if(istype(W, /obj/item/storage/backpack/holding)) var/response = tgui_alert(user, "This creates a singularity, destroying you and much of the station. Are you SURE?", "IMMINENT DEATH!", list("No", "Yes")) if(response == "Yes") - user.visible_message("[user] grins as [user.p_they()] begin[user.p_s()] to put a Bag of Holding into a Bag of Holding!", "You begin to put the Bag of Holding into the Bag of Holding!") + user.visible_message(SPAN_WARNING("[user] grins as [user.p_they()] begin[user.p_s()] to put a Bag of Holding into a Bag of Holding!"), SPAN_WARNING("You begin to put the Bag of Holding into the Bag of Holding!")) if(do_after(user, 30, target=src)) if(GLOB.disable_explosions) if(istype(user)) - to_chat(user, "You seem to stuff yourself into the quantum hellscape between the two bags. That wasn't wise.") + to_chat(user, SPAN_USERDANGER("You seem to stuff yourself into the quantum hellscape between the two bags. That wasn't wise.")) user.gib() return investigate_log("has become a singularity. Caused by [user.key]",INVESTIGATE_SINGULO) - user.visible_message("[user] erupts in evil laughter as [user.p_they()] put[user.p_s()] the Bag of Holding into another Bag of Holding!", "You can't help but laugh wildly as you put the Bag of Holding into another Bag of Holding, complete darkness surrounding you."," You hear the sound of scientific evil brewing!") + user.visible_message(SPAN_WARNING("[user] erupts in evil laughter as [user.p_they()] put[user.p_s()] the Bag of Holding into another Bag of Holding!"), SPAN_WARNING("You can't help but laugh wildly as you put the Bag of Holding into another Bag of Holding, complete darkness surrounding you."),SPAN_DANGER(" You hear the sound of scientific evil brewing!")) qdel(W) var/obj/singularity/singulo = new /obj/singularity(get_turf(user)) singulo.energy = 300 //To give it a small boost @@ -219,7 +219,7 @@ /obj/item/storage/backpack/satchel/examine(mob/user) . = ..() - . += "You can Alt-Shift-Click [src] to flip its strap side." + . += SPAN_NOTICE("You can Alt-Shift-Click [src] to flip its strap side.") /obj/item/storage/backpack/satchel/AltShiftClick(mob/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) @@ -371,7 +371,7 @@ /obj/item/storage/backpack/duffel/examine(mob/user) . = ..() - . += "It is currently [zipped ? "zipped" : "unzipped"]. Alt+Shift+Click to [zipped ? "un-" : ""]zip it!" + . += SPAN_NOTICE("It is currently [zipped ? "zipped" : "unzipped"]. Alt+Shift+Click to [zipped ? "un-" : ""]zip it!") /obj/item/storage/backpack/duffel/AltShiftClick(mob/user) . = ..() @@ -419,21 +419,21 @@ return ..() if(zipped) - to_chat(usr, "[src] is zipped shut!") + to_chat(usr, SPAN_NOTICE("[src] is zipped shut!")) return FALSE return ..() /obj/item/storage/backpack/duffel/removal_allowed_check(mob/user) if(zipped) - to_chat(user, "[src] is zipped shut!") + to_chat(user, SPAN_NOTICE("[src] is zipped shut!")) return FALSE return TRUE /obj/item/storage/backpack/duffel/drop_inventory(user) if(zipped) - to_chat(usr, "[src] is zipped shut!") + to_chat(usr, SPAN_NOTICE("[src] is zipped shut!")) return FALSE return ..() @@ -443,7 +443,7 @@ return ..() if(zipped) - to_chat(usr, "[src] is zipped shut!") + to_chat(usr, SPAN_NOTICE("[src] is zipped shut!")) return FALSE return ..() diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index a9ac3aeafda..7f8e3f0cd73 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -56,12 +56,12 @@ /obj/item/storage/bag/trash/can_be_inserted(obj/item/I, stop_messages = FALSE) if(isstorage(loc) && !istype(loc, /obj/item/storage/backpack/holding)) - to_chat(usr, "You can't seem to fit [I] into [src].") + to_chat(usr, SPAN_WARNING("You can't seem to fit [I] into [src].")) return FALSE if(ishuman(loc)) // If the trashbag is on a humanoid, they can't store things in it while it's in their pockets var/mob/living/carbon/human/H = loc if(H.l_store == src || H.r_store == src) - to_chat(usr, "You can't seem to fit [I] into [src].") + to_chat(usr, SPAN_WARNING("You can't seem to fit [I] into [src].")) return FALSE . = ..() @@ -74,7 +74,7 @@ update_weight() /obj/item/storage/bag/trash/suicide_act(mob/user) - user.visible_message("[user] puts [src] over [user.p_their()] head and starts chomping at the insides! Disgusting!") + user.visible_message(SPAN_SUICIDE("[user] puts [src] over [user.p_their()] head and starts chomping at the insides! Disgusting!")) playsound(loc, 'sound/items/eatfood.ogg', 50, TRUE, -1) return TOXLOSS @@ -123,7 +123,7 @@ /obj/item/storage/bag/plasticbag/mob_can_equip(mob/M, slot, disable_warning = FALSE) if(slot == ITEM_SLOT_HEAD && length(contents)) - to_chat(M, "You need to empty the bag first!") + to_chat(M, SPAN_WARNING("You need to empty the bag first!")) return FALSE return ..() @@ -273,11 +273,11 @@ /obj/item/storage/bag/plants/portaseeder/examine(mob/user) . = ..() if(Adjacent(user)) - . += "You can Ctrl-Shift-Click to convert the plants inside to seeds." + . += SPAN_NOTICE("You can Ctrl-Shift-Click to convert the plants inside to seeds.") /obj/item/storage/bag/plants/portaseeder/proc/process_plants(mob/user) if(!length(contents)) - to_chat(user, "[src] has no seeds inside!") + to_chat(user, SPAN_WARNING("[src] has no seeds inside!")) return var/had_anything = FALSE var/seed_amount = 1 @@ -290,9 +290,9 @@ had_anything |= seedify(O, seed_amount) hide_from_all() if(had_anything) - to_chat(user, "[src] whirrs a bit as it converts the plants inside to seeds.") + to_chat(user, SPAN_NOTICE("[src] whirrs a bit as it converts the plants inside to seeds.")) else - to_chat(user, "[src] whirrs a bit but stops. Doesn't seem like it could convert anything inside.") + to_chat(user, SPAN_WARNING("[src] whirrs a bit but stops. Doesn't seem like it could convert anything inside.")) playsound(user, "sound/machines/ding.ogg", 25) /obj/item/storage/bag/plants/portaseeder/CtrlShiftClick(mob/user) @@ -318,7 +318,7 @@ /obj/item/storage/bag/plants/seed_sorting_tray/examine(mob/user) . = ..() if(Adjacent(user)) - . += "You can Ctrl-Shift-Click to sort seeds inside." + . += SPAN_NOTICE("You can Ctrl-Shift-Click to sort seeds inside.") //////////////////////////////////////// // MARK: Cash bag @@ -455,9 +455,9 @@ INVOKE_ASYNC(src, PROC_REF(do_scatter), I) if(found_table) - user.visible_message("[user] unloads [user.p_their()] serving tray.") + user.visible_message(SPAN_NOTICE("[user] unloads [user.p_their()] serving tray.")) else - user.visible_message("[user] upends [user.p_their()] serving tray, sending everything on it crashing down to the floor!") + user.visible_message(SPAN_WARNING("[user] upends [user.p_their()] serving tray, sending everything on it crashing down to the floor!")) update_icon(UPDATE_OVERLAYS) return ..() diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 3f42e9b4174..0c28ecdbcf0 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -35,7 +35,7 @@ /obj/item/storage/belt/can_be_inserted(obj/item/I, stop_messages = FALSE) if(isstorage(loc) && !istype(loc, /obj/item/storage/backpack/holding) && !istype(loc, /obj/item/storage/hidden_implant) && !storable) - to_chat(usr, "You can't seem to fit [I] into [src].") + to_chat(usr, SPAN_WARNING("You can't seem to fit [I] into [src].")) return FALSE . = ..() @@ -506,7 +506,7 @@ /obj/item/storage/belt/military/assault/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(I.w_class > WEIGHT_CLASS_NORMAL) - to_chat(user, "[I] is too big for [src].") + to_chat(user, SPAN_WARNING("[I] is too big for [src].")) return return ..() @@ -775,11 +775,11 @@ if(length(contents)) var/obj/item/I = contents[1] - H.visible_message("[H] takes [I] out of [src].", "You take [I] out of [src].") + H.visible_message(SPAN_NOTICE("[H] takes [I] out of [src]."), SPAN_NOTICE("You take [I] out of [src].")) H.put_in_hands(I) update_icon() else - to_chat(user, "[src] is empty!") + to_chat(user, SPAN_WARNING("[src] is empty!")) /obj/item/storage/belt/sheath/handle_item_insertion(obj/item/W, mob/user, prevent_warning) if(!..()) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index cd8b5b0d1fc..6f1de657a2b 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -262,11 +262,11 @@ // some inventories might be of different sizes or accept different items, // for consistency, we dissalow painting with items inside if(length(contents)) - to_chat(usr, "\The [src] is too unstable to be painted, empty it first.") + to_chat(usr, SPAN_WARNING("\The [src] is too unstable to be painted, empty it first.")) return if(crayon.crayon_color == COLOR_WHITE) //if the box can be recolored, also allow clearing of color - to_chat(usr, "You clear [src] of its color.") + to_chat(usr, SPAN_NOTICE("You clear [src] of its color.")) new_box = make_new_box(/obj/item/storage/box) else var/selected_icon = show_radial_menu(user, user, color_list) @@ -345,7 +345,7 @@ /obj/item/storage/box/examine(mob/user) . = ..() if(color_state != null || icon_state == "box") - . += "Alt-Click [src] with an appropriate crayon in hand to color it." + . += SPAN_NOTICE("Alt-Click [src] with an appropriate crayon in hand to color it.") /// helper function to add to the colors a box can turn into /// * name - the name of the new box in the radial menu @@ -1224,7 +1224,7 @@ . = list() if(!length(contents)) . += "There are no shells in the box." - . += "Ctrl-click to open or close the box!" + . += SPAN_NOTICE("Ctrl-click to open or close the box!") return var/list/shell_list = list() // Associated list of all shells in the box @@ -1236,7 +1236,7 @@ . += "There is one [thing] in the box." else . += "There are [shell_list[thing]] [thing]s in the box." - . += "Ctrl-click to open or close the box!" + . += SPAN_NOTICE("Ctrl-click to open or close the box!") /obj/item/storage/fancy/shell/attackby__legacy__attackchain(obj/item/W, mob/user, params) if(!is_pen(W)) @@ -1246,12 +1246,12 @@ if(!switchDesign) return if(we_are_open) - to_chat(user, "Close the box first!") + to_chat(user, SPAN_WARNING("Close the box first!")) return if(get_dist(user, src) > 1 && !user.incapacitated()) - to_chat(user, "You have moved too far away!") + to_chat(user, SPAN_WARNING("You have moved too far away!")) return - to_chat(user, "You make some modifications to [src] using your pen.") + to_chat(user, SPAN_NOTICE("You make some modifications to [src] using your pen.")) switch(switchDesign) if(TRANQ) icon_state = "tranqbox" @@ -1683,30 +1683,30 @@ if(is_pen(W)) //if a pen is used on the sack, dialogue to change its design appears if(length(contents)) - to_chat(user, "You can't modify [src] with items still inside!") + to_chat(user, SPAN_WARNING("You can't modify [src] with items still inside!")) return var/list/designs = list(NODESIGN, NANOTRASEN, SYNDI, HEART, SMILE) var/switchDesign = tgui_input_list(user, "Select a Design", "Paper Sack Design", designs) if(!switchDesign) return if(get_dist(usr, src) > 1 && !usr.incapacitated()) - to_chat(usr, "You have moved too far away!") + to_chat(usr, SPAN_WARNING("You have moved too far away!")) return if(design == switchDesign) return - to_chat(usr, "You make some modifications to [src] using your pen.") + to_chat(usr, SPAN_NOTICE("You make some modifications to [src] using your pen.")) design = switchDesign update_appearance(UPDATE_DESC|UPDATE_ICON_STATE) return else if(W.sharp) if(!length(contents)) if(icon_state == "paperbag_None") - to_chat(user, "You cut eyeholes into [src].") + to_chat(user, SPAN_NOTICE("You cut eyeholes into [src].")) new /obj/item/clothing/head/papersack(user.loc) qdel(src) return else if(icon_state == "paperbag_SmileyFace") - to_chat(user, "You cut eyeholes into [src] and modify the design.") + to_chat(user, SPAN_NOTICE("You cut eyeholes into [src] and modify the design.")) new /obj/item/clothing/head/papersack/smiley(user.loc) qdel(src) return @@ -1877,14 +1877,14 @@ foldable = null /obj/item/storage/box/hug/suicide_act(mob/user) - user.visible_message("[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all..") + user.visible_message(SPAN_SUICIDE("[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all..")) return (BRUTELOSS) /obj/item/storage/box/hug/attack_self__legacy__attackchain(mob/user) ..() user.changeNext_move(CLICK_CD_MELEE) playsound(loc, "rustle", 50, TRUE, -5) - user.visible_message("[user] hugs \the [src].","You hug \the [src].") + user.visible_message(SPAN_NOTICE("[user] hugs \the [src]."),SPAN_NOTICE("You hug \the [src].")) /obj/item/storage/box/hug/empty/populate_contents() return diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index d1ed97e4a46..c7a820a786e 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -48,19 +48,19 @@ /obj/item/storage/briefcase/false_bottomed/attackby__legacy__attackchain(obj/item/I, mob/user) if(bottom_open) if(stored_item) - to_chat(user, "There's already something in the false bottom!") + to_chat(user, SPAN_WARNING("There's already something in the false bottom!")) return if(I.w_class > WEIGHT_CLASS_NORMAL) - to_chat(user, "[I] is too big to fit in the false bottom!") + to_chat(user, SPAN_WARNING("[I] is too big to fit in the false bottom!")) return if(!user.drop_item(I)) - to_chat(user, "[I] is stuck to your hands!") + to_chat(user, SPAN_WARNING("[I] is stuck to your hands!")) return stored_item = I max_w_class = WEIGHT_CLASS_NORMAL - stored_item.w_class I.moveToNullspace() // to stop it showing up in the briefcase - to_chat(user, "You place [I] into the false bottom of the briefcase.") + to_chat(user, SPAN_NOTICE("You place [I] into the false bottom of the briefcase.")) else return ..() @@ -71,7 +71,7 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(!bottom_open) - to_chat(user, "You begin to hunt around the rim of [src]...") + to_chat(user, SPAN_NOTICE("You begin to hunt around the rim of [src]...")) busy_hunting = TRUE if(do_after(user, 20, target = src)) if(user) @@ -79,13 +79,13 @@ bottom_open = TRUE busy_hunting = FALSE else - to_chat(user, "You push the false bottom down and close it with a click[stored_item ? ", with [stored_item] snugly inside." : "."]") + to_chat(user, SPAN_NOTICE("You push the false bottom down and close it with a click[stored_item ? ", with [stored_item] snugly inside." : "."]")) bottom_open = FALSE /obj/item/storage/briefcase/false_bottomed/attack_hand(mob/user) if(bottom_open && stored_item) user.put_in_hands(stored_item) - to_chat(user, "You pull out [stored_item] from [src]'s false bottom.") + to_chat(user, SPAN_NOTICE("You pull out [stored_item] from [src]'s false bottom.")) stored_item = null max_w_class = initial(max_w_class) else diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm index 3b101ab6dce..2d0a564e8ec 100644 --- a/code/game/objects/items/weapons/storage/lockbox.dm +++ b/code/game/objects/items/weapons/storage/lockbox.dm @@ -16,21 +16,21 @@ /obj/item/storage/lockbox/attackby__legacy__attackchain(obj/item/W as obj, mob/user as mob, params) if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda)) if(broken) - to_chat(user, "It appears to be broken.") + to_chat(user, SPAN_WARNING("It appears to be broken.")) return if(check_access(W)) locked = !locked if(locked) - to_chat(user, "You lock \the [src]!") + to_chat(user, SPAN_WARNING("You lock \the [src]!")) if(user.s_active) user.s_active.close(user) else - to_chat(user, "You unlock \the [src]!") + to_chat(user, SPAN_WARNING("You unlock \the [src]!")) origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D. update_icon() return else - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return else if((istype(W, /obj/item/card/emag) || (istype(W, /obj/item/melee/energy/blade)) && !broken)) emag_act(user) @@ -38,25 +38,25 @@ if(!locked) ..() else - to_chat(user, "It's locked!") + to_chat(user, SPAN_WARNING("It's locked!")) return /obj/item/storage/lockbox/AltClick(mob/user) if(!Adjacent(user)) return if(broken) - to_chat(user, "It appears to be broken.") + to_chat(user, SPAN_WARNING("It appears to be broken.")) return if(!locked && user.s_active != src) return ..() if(allowed(user)) locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] [src].") + to_chat(user, SPAN_NOTICE("You [locked ? "lock" : "unlock"] [src].")) update_icon() if(user.s_active == src) close(user) else - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) /obj/item/storage/lockbox/update_icon_state() if(broken) @@ -68,7 +68,7 @@ /obj/item/storage/lockbox/show_to(mob/user as mob) if(locked) - to_chat(user, "It's locked!") + to_chat(user, SPAN_WARNING("It's locked!")) else ..() return @@ -77,7 +77,7 @@ if(!locked) return ..() if(!stop_messages) - to_chat(usr, "[src] is locked!") + to_chat(usr, SPAN_NOTICE("[src] is locked!")) return 0 /obj/item/storage/lockbox/emag_act(user as mob) @@ -85,7 +85,7 @@ broken = TRUE locked = FALSE desc = "It appears to be broken." - to_chat(user, "You unlock \the [src].") + to_chat(user, SPAN_NOTICE("You unlock \the [src].")) origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D. update_icon() return @@ -175,12 +175,12 @@ if(istype(W, /obj/item/disk/fauna_research)) var/obj/item/disk/fauna_research/disky = W var/obj/item/pride = new disky.output(get_turf(src)) - to_chat(user, "[src] accepts [disky], and prints out [pride]!") + to_chat(user, SPAN_NOTICE("[src] accepts [disky], and prints out [pride]!")) qdel(disky) if(!is_type_in_list(pride, completed_fauna)) completed_fauna += pride.type if(length(completed_fauna) == number_of_megafauna) - to_chat(user, "[src] prints out a very fancy medal!") + to_chat(user, SPAN_NOTICE("[src] prints out a very fancy medal!")) var/obj/item/accomplishment = new /obj/item/clothing/accessory/medal/gold/heroism/hardmode_full(get_turf(src)) user.put_in_hands(accomplishment) user.put_in_hands(pride) diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index fff28d5e001..7ef44bec61b 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -50,7 +50,7 @@ /obj/item/storage/secure/screwdriver_act(mob/living/user, obj/item/I) if(I.use_tool(src, user, 2 SECONDS * I.toolspeed, volume = 10)) panel_open = !panel_open - user.visible_message("[user] [panel_open ? "opens" : "closes"] the service panel on [src].", "You [panel_open ? "open" : "close"] the service panel.") + user.visible_message(SPAN_NOTICE("[user] [panel_open ? "opens" : "closes"] the service panel on [src]."), SPAN_NOTICE("You [panel_open ? "open" : "close"] the service panel.")) return TRUE /obj/item/storage/secure/multitool_act(mob/living/user, obj/item/I) @@ -59,13 +59,13 @@ if(!I.use_tool(src, user, 0, volume = 0)) return . = TRUE - to_chat(user, "You start fiddling with the internal memory mechanisms.") + to_chat(user, SPAN_NOTICE("You start fiddling with the internal memory mechanisms.")) if(do_after_once(user, 10 SECONDS * I.toolspeed, target = src)) if(prob(40)) - to_chat(user, "The screen dims, the internal memory seems to be reset.") + to_chat(user, SPAN_NOTICE("The screen dims, the internal memory seems to be reset.")) code = null else - to_chat(user, "The screen flashes, and then goes back to normal.") + to_chat(user, SPAN_NOTICE("The screen flashes, and then goes back to normal.")) /obj/item/storage/secure/emag_act(user, weapon) @@ -96,7 +96,7 @@ /obj/item/storage/secure/proc/try_to_open() if(locked) add_fingerprint(usr) - to_chat(usr, "It's locked!") + to_chat(usr, SPAN_WARNING("It's locked!")) return FALSE return TRUE @@ -105,7 +105,7 @@ if(!locked) return ..() if(!stop_messages) - to_chat(usr, "[src] is locked!") + to_chat(usr, SPAN_NOTICE("[src] is locked!")) return FALSE /obj/item/storage/secure/update_overlays() @@ -166,14 +166,14 @@ if(length(user_entered_code) != 5) return FALSE code = user_entered_code - to_chat(ui.user, "You set the code to [code].") + to_chat(ui.user, SPAN_NOTICE("You set the code to [code].")) locked = FALSE else if(!locked) locked = TRUE - to_chat(ui.user, "You lock [src].") + to_chat(ui.user, SPAN_NOTICE("You lock [src].")) else if(user_entered_code == code) // correct code! locked = FALSE - to_chat(ui.user, "You unlock [src].") + to_chat(ui.user, SPAN_NOTICE("You unlock [src].")) update_icon(UPDATE_OVERLAYS) COOLDOWN_START(src, enter_spam, 0.1 SECONDS) if("C") @@ -214,7 +214,7 @@ /obj/item/storage/secure/briefcase/attack_hand(mob/user as mob) if(loc == user && locked) - to_chat(usr, "[src] is locked and cannot be opened!") + to_chat(usr, SPAN_WARNING("[src] is locked and cannot be opened!")) else if((loc == user) && !locked) playsound(loc, 'sound/effects/briefcase.ogg', 50, TRUE, -5) if(user.s_active) diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 761b84cd2e7..f04e383a798 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -65,7 +65,7 @@ cell = new cell(src) /obj/item/melee/baton/suicide_act(mob/user) - user.visible_message("[user] is putting the live [name] in [user.p_their()] mouth! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is putting the live [name] in [user.p_their()] mouth! It looks like [user.p_theyre()] trying to commit suicide!")) return FIRELOSS /obj/item/melee/baton/update_icon_state() @@ -79,13 +79,13 @@ /obj/item/melee/baton/examine(mob/user) . = ..() if(isrobot(user)) - . += "This baton is drawing power directly from your own internal charge." + . += SPAN_NOTICE("This baton is drawing power directly from your own internal charge.") if(cell) - . += "The baton is [round(cell.percent())]% charged." + . += SPAN_NOTICE("The baton is [round(cell.percent())]% charged.") else - . += "The baton does not have a power source installed." - . += "When turned on this item will knockdown anyone it hits after a short delay. While on harm intent, this item will also do some brute damage, even if turned on." - . += "This item can be recharged in a recharger. Using a screwdriver on this item will allow you to access its power cell, which can be replaced." + . += SPAN_WARNING("The baton does not have a power source installed.") + . += SPAN_NOTICE("When turned on this item will knockdown anyone it hits after a short delay. While on harm intent, this item will also do some brute damage, even if turned on.") + . += SPAN_NOTICE("This item can be recharged in a recharger. Using a screwdriver on this item will allow you to access its power cell, which can be replaced.") /obj/item/melee/baton/get_cell() @@ -93,13 +93,13 @@ /obj/item/melee/baton/mob_can_equip(mob/user, slot, disable_warning = TRUE) // disable the warning if(turned_on && (slot == ITEM_SLOT_BELT || slot == ITEM_SLOT_SUIT_STORE)) - to_chat(user, "You can't equip [src] while it's active!") + to_chat(user, SPAN_WARNING("You can't equip [src] while it's active!")) return FALSE return ..() /obj/item/melee/baton/can_enter_storage(obj/item/storage/S, mob/user) if(turned_on) - to_chat(user, "[S] can't hold [src] while it's active!") + to_chat(user, SPAN_WARNING("[S] can't hold [src] while it's active!")) return FALSE return TRUE @@ -131,33 +131,33 @@ if(istype(used, /obj/item/stock_parts/cell)) var/obj/item/stock_parts/cell/C = used if(cell) - to_chat(user, "[src] already has a cell!") + to_chat(user, SPAN_WARNING("[src] already has a cell!")) return ITEM_INTERACT_COMPLETE if(C.maxcharge < hitcost) - to_chat(user, "[src] requires a higher capacity cell!") + to_chat(user, SPAN_WARNING("[src] requires a higher capacity cell!")) return ITEM_INTERACT_COMPLETE if(!user.unequip(used)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE used.forceMove(src) cell = used - to_chat(user, "You install [used] into [src].") + to_chat(user, SPAN_NOTICE("You install [used] into [src].")) update_icon(UPDATE_ICON_STATE) return ITEM_INTERACT_COMPLETE /obj/item/melee/baton/screwdriver_act(mob/living/user, obj/item/I) if(!cell) - to_chat(user, "There's no cell installed!") + to_chat(user, SPAN_WARNING("There's no cell installed!")) return if(!I.use_tool(src, user, volume = I.tool_volume)) return user.put_in_hands(cell) - to_chat(user, "You remove [cell] from [src].") + to_chat(user, SPAN_NOTICE("You remove [cell] from [src].")) cell.update_icon() cell = null turned_on = FALSE @@ -174,15 +174,15 @@ if(cell?.charge >= hitcost) turned_on = !turned_on - to_chat(user, "[src] is now [turned_on ? "on" : "off"].") + to_chat(user, SPAN_NOTICE("[src] is now [turned_on ? "on" : "off"].")) playsound(src, "sparks", 75, TRUE, -1) else if(isrobot(loc)) - to_chat(user, "You do not have enough reserve power to charge [src]!") + to_chat(user, SPAN_WARNING("You do not have enough reserve power to charge [src]!")) else if(!cell) - to_chat(user, "[src] does not have a power source!") + to_chat(user, SPAN_WARNING("[src] does not have a power source!")) else - to_chat(user, "[src] is out of charge.") + to_chat(user, SPAN_WARNING("[src] is out of charge.")) update_icon() add_fingerprint(user) @@ -199,8 +199,8 @@ // For those super edge cases where you clumsy baton yourself in quick succession. if(baton_stun(user, user, skip_cooldown = TRUE)) user.visible_message( - "[user] accidentally hits [user.p_themselves()] with [src]!", - "You accidentally hit yourself with [src]!" + SPAN_DANGER("[user] accidentally hits [user.p_themselves()] with [src]!"), + SPAN_USERDANGER("You accidentally hit yourself with [src]!") ) return FINISH_ATTACK @@ -219,8 +219,8 @@ if(!turned_on) user.do_attack_animation(target) target.visible_message( - "[user] has prodded [target] with [src]. Luckily it was off.", - "[target == user ? "You prod yourself" : "[user] has prodded you"] with [src]. Luckily it was off." + SPAN_WARNING("[user] has prodded [target] with [src]. Luckily it was off."), + SPAN_DANGER("[target == user ? "You prod yourself" : "[user] has prodded you"] with [src]. Luckily it was off.") ) playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1) return FINISH_ATTACK | MELEE_COOLDOWN_PREATTACK @@ -229,8 +229,8 @@ if(!ishuman(target)) user.do_attack_animation(target) target.visible_message( - "[user] has prodded [target] with [src]. It doesn't seem to have an effect.", - "[target == user ? "You prod yourself" : "[user] has prodded you"] with [src]. It doesn't seem to have an effect." + SPAN_WARNING("[user] has prodded [target] with [src]. It doesn't seem to have an effect."), + SPAN_DANGER("[target == user ? "You prod yourself" : "[user] has prodded you"] with [src]. It doesn't seem to have an effect.") ) playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1) return FINISH_ATTACK | MELEE_COOLDOWN_PREATTACK @@ -255,7 +255,7 @@ return FALSE if(hitcost > 0 && cell?.charge < hitcost) - to_chat(user, "[src] fizzles weakly as it makes contact. It needs more power!") + to_chat(user, SPAN_WARNING("[src] fizzles weakly as it makes contact. It needs more power!")) return FALSE if(ishuman(L)) @@ -279,8 +279,8 @@ if(user) L.store_last_attacker(user) L.visible_message( - "[user] has stunned [L] with [src]!", - "[L == user ? "You stun yourself" : "[user] has stunned you"] with [src]!" + SPAN_DANGER("[user] has stunned [L] with [src]!"), + SPAN_USERDANGER("[L == user ? "You stun yourself" : "[user] has stunned you"] with [src]!") ) add_attack_logs(user, L, "stunned") play_hit_sound() @@ -314,7 +314,7 @@ SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK, 33) L.store_last_attacker(user) - L.visible_message("[src] stuns [L]!") + L.visible_message(SPAN_DANGER("[src] stuns [L]!")) add_attack_logs(user, L, "stunned") playsound(src, 'sound/weapons/egloves.ogg', 50, TRUE, -1) deductcharge(hitcost) @@ -333,8 +333,8 @@ flick("baton_active", source) baton_stun(user, user, skip_cooldown = TRUE) user.visible_message( - "[user] shocks [user.p_themselves()] while attempting to wash the active [src]!", - "You unwisely attempt to wash [src] while it's still on." + SPAN_WARNING("[user] shocks [user.p_themselves()] while attempting to wash the active [src]!"), + SPAN_USERDANGER("You unwisely attempt to wash [src] while it's still on.") ) return TRUE ..() @@ -425,7 +425,7 @@ R.on = FALSE R.listening = FALSE R.broadcasting = FALSE - L.visible_message("[R] buzzes loudly as it short circuits!", blind_message = "You hear a loud, electronic buzzing.") + L.visible_message(SPAN_WARNING("[R] buzzes loudly as it short circuits!"), blind_message = SPAN_NOTICE("You hear a loud, electronic buzzing.")) /obj/item/melee/baton/flayerprod/proc/enable_radio(obj/item/radio/R) if(QDELETED(R)) @@ -440,4 +440,4 @@ /obj/item/melee/baton/flayerprod/examine(mob/user) . = ..() - . += "This one seems to be able to interfere with radio headsets." + . += SPAN_NOTICE("This one seems to be able to interfere with radio headsets.") diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index e3cdcda6e12..0ed92e8bd85 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -47,7 +47,7 @@ return FALSE if(C.internal == src) - to_chat(C, "You close \the [src] valve.") + to_chat(C, SPAN_NOTICE("You close \the [src] valve.")) C.internal = null else if(!C.get_organ_slot("breathing_tube")) // Breathing tubes can always use internals, if they have one, skip ahead and turn internals on/off @@ -58,16 +58,16 @@ // If the "mask" isn't actually a mask OR That mask isn't internals compatible AND Their headgear isn't internals compatible if(!istype(M) || (!(initial(M.flags) & AIRTIGHT) && !(C.head && C.head.flags & AIRTIGHT))) if(!silent) - to_chat(C, "You are not wearing a suitable mask or helmet.") + to_chat(C, SPAN_WARNING("You are not wearing a suitable mask or helmet.")) return FALSE if(M.up) // If the mask is equipped but pushed away M.adjustmask(C) // Adjust it back if(!silent) if(C.internal) - to_chat(C, "You switch your internals to [src].") + to_chat(C, SPAN_NOTICE("You switch your internals to [src].")) else - to_chat(C, "You open \the [src] valve.") + to_chat(C, SPAN_NOTICE("You open \the [src] valve.")) C.internal = src C.update_action_buttons_icon() @@ -81,7 +81,7 @@ if(!in_range(src, user)) if(icon == src) - . += "It's [p_a()] [bicon(icon)] [name]! If you want any more information you'll need to get closer." + . += SPAN_NOTICE("It's [p_a()] [bicon(icon)] [name]! If you want any more information you'll need to get closer.") return var/celsius_temperature = air_contents.temperature() - T0C @@ -100,8 +100,8 @@ else descriptive = "furiously hot" - . += "\The [bicon(icon)][src] feels [descriptive]" - . += "The pressure gauge displays [round(air_contents.return_pressure())] kPa" + . += SPAN_NOTICE("\The [bicon(icon)][src] feels [descriptive]") + . += SPAN_NOTICE("The pressure gauge displays [round(air_contents.return_pressure())] kPa") /obj/item/tank/blob_act(obj/structure/blob/B) if(B && B.loc == loc) @@ -116,7 +116,7 @@ /obj/item/tank/suicide_act(mob/user) var/mob/living/carbon/human/H = user - user.visible_message("[user] is putting [src]'s valve to [user.p_their()] lips! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is putting [src]'s valve to [user.p_their()] lips! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/effects/spray.ogg', 10, TRUE, -3) if(!QDELETED(H) && air_contents && air_contents.return_pressure() >= 1000) @@ -125,7 +125,7 @@ H.inflate_gib() return OBLITERATION - to_chat(user, "There isn't enough pressure in [src] to commit suicide with...") + to_chat(user, SPAN_WARNING("There isn't enough pressure in [src] to commit suicide with...")) return SHAME /obj/item/tank/deconstruct(disassembled = TRUE) @@ -238,7 +238,7 @@ if(!istype(loc,/obj/item/transfer_valve)) message_admins("Explosive tank rupture! last key to touch the tank was [fingerprintslast] (JMP)") log_game("Explosive tank rupture! last key to touch the tank was [fingerprintslast] at [x], [y], [z]") -// to_chat(world, "[x],[y] tank is exploding: [pressure] kPa") +// to_chat(world, SPAN_NOTICE("[x],[y] tank is exploding: [pressure] kPa")) //Give the gas a chance to build up more pressure through reacting air_contents.react() air_contents.react() @@ -247,7 +247,7 @@ var/range = (pressure-TANK_FRAGMENT_PRESSURE)/TANK_FRAGMENT_SCALE var/turf/epicenter = get_turf(loc) -// to_chat(world, "Exploding Pressure: [pressure] kPa, intensity: [range]") +// to_chat(world, SPAN_NOTICE("Exploding Pressure: [pressure] kPa, intensity: [range]")) explosion(epicenter, round(range*0.25), round(range*0.5), round(range), round(range*1.5), cause = "Exploding tank rupture") if(istype(loc,/obj/item/transfer_valve)) @@ -256,7 +256,7 @@ qdel(src) else if(pressure > TANK_RUPTURE_PRESSURE) -// to_chat(world, "[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]") +// to_chat(world, SPAN_NOTICE("[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]")) if(integrity <= 0) var/turf/simulated/T = get_turf(src) if(!T) @@ -268,7 +268,7 @@ integrity-- else if(pressure > TANK_LEAK_PRESSURE) -// to_chat(world, "[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]") +// to_chat(world, SPAN_NOTICE("[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]")) if(integrity <= 0) var/turf/simulated/T = get_turf(src) if(!T) diff --git a/code/game/objects/items/weapons/teleprod.dm b/code/game/objects/items/weapons/teleprod.dm index d0f5e255e42..84b1ca03ecd 100644 --- a/code/game/objects/items/weapons/teleprod.dm +++ b/code/game/objects/items/weapons/teleprod.dm @@ -19,8 +19,8 @@ var/mob/living/carbon/M = target if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) user.visible_message( - "[user] accidentally hits [user.p_themselves()] with [src]!", - "You accidentally hit yourself with [src]!" + SPAN_DANGER("[user] accidentally hits [user.p_themselves()] with [src]!"), + SPAN_USERDANGER("You accidentally hit yourself with [src]!") ) deductcharge(hitcost) do_teleport(user, get_turf(user), 50)//honk honk diff --git a/code/game/objects/items/weapons/thurible.dm b/code/game/objects/items/weapons/thurible.dm index dd62e04b1ab..fce597c103a 100644 --- a/code/game/objects/items/weapons/thurible.dm +++ b/code/game/objects/items/weapons/thurible.dm @@ -35,8 +35,8 @@ /obj/item/thurible/examine(mob/user) . = ..() - . += "[src] can hold up to [reagents.maximum_volume] units." - . += "Contains [reagents.total_volume] units of various reagents." + . += SPAN_NOTICE("[src] can hold up to [reagents.maximum_volume] units.") + . += SPAN_NOTICE("Contains [reagents.total_volume] units of various reagents.") /obj/item/thurible/process() swing() @@ -57,21 +57,21 @@ . = ..() if(fire_source.get_heat()) user.visible_message( - "[user] lights [src] with [fire_source].", - "You light [src] with [fire_source].", - "You hear a low whoosh." + SPAN_NOTICE("[user] lights [src] with [fire_source]."), + SPAN_NOTICE("You light [src] with [fire_source]."), + SPAN_WARNING("You hear a low whoosh.") ) light(user) /obj/item/thurible/attack_self__legacy__attackchain(mob/user) if(lit) - to_chat(user, "You extinguish [src].") + to_chat(user, SPAN_WARNING("You extinguish [src].")) put_out(user) return ..() /obj/item/thurible/can_enter_storage(obj/item/storage/S, mob/user) if(lit) - to_chat(user, "[S] can't hold \the [initial(name)] while it's lit!") // initial(name) so it doesn't say "lit" twice in a row + to_chat(user, SPAN_WARNING("[S] can't hold \the [initial(name)] while it's lit!")) // initial(name) so it doesn't say "lit" twice in a row return FALSE return TRUE @@ -88,8 +88,8 @@ if(R.id == "unholywater") corrupted = TRUE visible_message( - "You corrupt [src] with unholy water!", - "You hear a strange gurgling." + SPAN_NOTICE("You corrupt [src] with unholy water!"), + SPAN_WARNING("You hear a strange gurgling.") ) return if(!safe_chem_list.Find(R.id)) @@ -97,18 +97,18 @@ found_forbidden_reagent = TRUE if(found_forbidden_reagent) visible_message( - "[src] banishes an unholy substance!", - "You hear a strange fizzing." + SPAN_NOTICE("[src] banishes an unholy substance!"), + SPAN_WARNING("You hear a strange fizzing.") ) /// Lights the thurible and starts processing reagents /obj/item/thurible/proc/light(mob/user) if(lit) - to_chat(user, "[src] is already lit!") + to_chat(user, SPAN_WARNING("[src] is already lit!")) return if(!reagents.total_volume) - to_chat(user, "[src] is out of fuel!") + to_chat(user, SPAN_WARNING("[src] is out of fuel!")) return // Plasma explodes when exposed to fire. diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 62717fe25ea..eb3eefa8072 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -83,7 +83,7 @@ var/mob/living/target = M charge = 0 playsound(loc, 'sound/magic/lightningbolt.ogg', 5, 1) - user.visible_message("[user] slams the charged axe into [M.name] with all [user.p_their()] might!") + user.visible_message(SPAN_DANGER("[user] slams the charged axe into [M.name] with all [user.p_their()] might!")) do_sparks(1, 1, src) target.KnockDown(8 SECONDS) var/atom/throw_target = get_edge_target_turf(M, get_dir(src, get_step_away(M, src))) @@ -156,13 +156,13 @@ return if(HAS_TRAIT(user, TRAIT_HULK)) - to_chat(user, "You grip the blade too hard and accidentally drop it!") + to_chat(user, SPAN_WARNING("You grip the blade too hard and accidentally drop it!")) if(HAS_TRAIT(src, TRAIT_WIELDED)) user.drop_item_to_ground(src) return ..() if(HAS_TRAIT(user, TRAIT_CLUMSY) && HAS_TRAIT(src, TRAIT_WIELDED) && prob(40) && force) - to_chat(user, "You twirl around a bit before losing your balance and impaling yourself on [src].") + to_chat(user, SPAN_WARNING("You twirl around a bit before losing your balance and impaling yourself on [src].")) user.take_organ_damage(20, 25) return if((HAS_TRAIT(src, TRAIT_WIELDED)) && prob(50)) @@ -174,20 +174,20 @@ return !isnull(cig) if(!HAS_TRAIT(src, TRAIT_WIELDED)) - to_chat(user, "You need to activate [src] before you can light anything with it!") + to_chat(user, SPAN_WARNING("You need to activate [src] before you can light anything with it!")) return TRUE if(target == user) user.visible_message( - "[user] flips through the air and spins [src] wildly! It brushes against [user.p_their()] [cig] and sets it alight!", - "You flip through the air and twist [src] so it brushes against [cig], lighting it with the blade.", - "You hear an energy blade slashing something!" + SPAN_DANGER("[user] flips through the air and spins [src] wildly! It brushes against [user.p_their()] [cig] and sets it alight!"), + SPAN_NOTICE("You flip through the air and twist [src] so it brushes against [cig], lighting it with the blade."), + SPAN_DANGER("You hear an energy blade slashing something!") ) else user.visible_message( - "[user] flips through the air and slashes at [user] with [src]! The blade barely misses, brushing against [user.p_their()] [cig] and setting it alight!", - "You flip through the air and slash [src] at [cig], lighting it for [target].", - "You hear an energy blade slashing something!" + SPAN_DANGER("[user] flips through the air and slashes at [user] with [src]! The blade barely misses, brushing against [user.p_their()] [cig] and setting it alight!"), + SPAN_NOTICE("You flip through the air and slash [src] at [cig], lighting it for [target]."), + SPAN_DANGER("You hear an energy blade slashing something!") ) user.do_attack_animation(target) playsound(user.loc, hitsound, 50, TRUE) @@ -223,7 +223,7 @@ /obj/item/dualsaber/attack_hulk(mob/living/carbon/human/user, does_attack_animation = FALSE) //In case thats just so happens that it is still activated on the groud, prevents hulk from picking it up if(HAS_TRAIT(src, TRAIT_WIELDED)) - to_chat(user, "You can't pick up such a dangerous item with your meaty hands without losing fingers, better not to!") + to_chat(user, SPAN_WARNING("You can't pick up such a dangerous item with your meaty hands without losing fingers, better not to!")) return TRUE /obj/item/dualsaber/green @@ -240,7 +240,7 @@ /obj/item/dualsaber/proc/on_wield(obj/item/source, mob/living/carbon/user) if(user && HAS_TRAIT(user, TRAIT_HULK)) - to_chat(user, "You lack the grace to wield this!") + to_chat(user, SPAN_WARNING("You lack the grace to wield this!")) return COMPONENT_TWOHANDED_BLOCK_WIELD w_class = w_class_on @@ -257,11 +257,11 @@ return if(!hacked) hacked = TRUE - to_chat(user, "2XRNBW_ENGAGE") + to_chat(user, SPAN_WARNING("2XRNBW_ENGAGE")) blade_color = "rainbow" update_icon() else - to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.") + to_chat(user, SPAN_WARNING("It's starting to look like a triple rainbow - no, nevermind.")) //spears /obj/item/spear @@ -388,7 +388,7 @@ /obj/item/spear/attackby__legacy__attackchain(obj/item/I, mob/living/user) if(istype(I, /obj/item/organ/external/head)) if(user.unequip(src) && user.drop_item()) - to_chat(user, "You stick [I] onto the spear and stand it upright on the ground.") + to_chat(user, SPAN_NOTICE("You stick [I] onto the spear and stand it upright on the ground.")) var/obj/structure/headspear/HS = new /obj/structure/headspear(get_turf(src)) var/matrix/M = matrix() I.transform = M @@ -416,7 +416,7 @@ return ..() /obj/structure/headspear/attack_hand(mob/living/user) - user.visible_message("[user] kicks over [src]!", "You kick down [src]!") + user.visible_message(SPAN_WARNING("[user] kicks over [src]!"), SPAN_DANGER("You kick down [src]!")) playsound(src, 'sound/weapons/genhit.ogg', 50, 1) var/turf/T = get_turf(src) if(contained_spear) @@ -524,9 +524,9 @@ /obj/item/mjollnir/proc/shock(mob/living/target) do_sparks(5, 1, target.loc) - target.visible_message("[target] was shocked by [src]!", - "You feel a powerful shock course through your body sending you flying!", - "You hear a heavy electrical crack!") + target.visible_message(SPAN_DANGER("[target] was shocked by [src]!"), + SPAN_USERDANGER("You feel a powerful shock course through your body sending you flying!"), + SPAN_DANGER("You hear a heavy electrical crack!")) var/atom/throw_target = get_edge_target_turf(target, get_dir(src, get_step_away(target, src))) target.throw_at(throw_target, 200, 4) @@ -592,16 +592,16 @@ if(isliving(A)) var/mob/living/Z = A if(Z.health >= 1) - Z.visible_message("[Z.name] was sent flying by a blow from [src]!", - "You feel a powerful blow connect with your body and send you flying!", - "You hear something heavy impact flesh!.") + Z.visible_message(SPAN_DANGER("[Z.name] was sent flying by a blow from [src]!"), + SPAN_USERDANGER("You feel a powerful blow connect with your body and send you flying!"), + SPAN_DANGER("You hear something heavy impact flesh!.")) var/atom/throw_target = get_edge_target_turf(Z, get_dir(src, get_step_away(Z, src))) Z.throw_at(throw_target, 200, 4) playsound(user, 'sound/weapons/marauder.ogg', 50, 1) else if(HAS_TRAIT(src, TRAIT_WIELDED) && Z.health < 1) - Z.visible_message("[Z.name] was blown to pieces by the power of [src]!", - "You feel a powerful blow rip you apart!", - "You hear a heavy impact and the sound of ripping flesh!.") + Z.visible_message(SPAN_DANGER("[Z.name] was blown to pieces by the power of [src]!"), + SPAN_USERDANGER("You feel a powerful blow rip you apart!"), + SPAN_DANGER("You hear a heavy impact and the sound of ripping flesh!.")) Z.gib() playsound(user, 'sound/weapons/marauder.ogg', 50, 1) if(HAS_TRAIT(src, TRAIT_WIELDED)) @@ -648,12 +648,12 @@ return ..() /obj/item/pyro_claws/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_they(TRUE)] [owner.p_have(FALSE)] energy claws extending [owner.p_their(FALSE)] wrists." + return SPAN_WARNING("[owner.p_they(TRUE)] [owner.p_have(FALSE)] energy claws extending [owner.p_their(FALSE)] wrists.") /obj/item/pyro_claws/process() lifetime -= 2 SECONDS if(lifetime <= 0) - visible_message("[src] slides back into the depths of [loc]'s wrists.") + visible_message(SPAN_WARNING("[src] slides back into the depths of [loc]'s wrists.")) do_sparks(rand(1,6), 1, loc) qdel(src) return @@ -673,16 +673,16 @@ return if(A.locked) - to_chat(user, "The airlock's bolts prevent it from being forced.") + to_chat(user, SPAN_NOTICE("The airlock's bolts prevent it from being forced.")) return if(A.arePowerSystemsOn()) - user.visible_message("[user] jams [user.p_their()] [name] into the airlock and starts prying it open!", "You start forcing the airlock open.", "You hear a metal screeching sound.") + user.visible_message(SPAN_WARNING("[user] jams [user.p_their()] [name] into the airlock and starts prying it open!"), SPAN_WARNING("You start forcing the airlock open."), SPAN_WARNING("You hear a metal screeching sound.")) playsound(A, 'sound/machines/airlock_alien_prying.ogg', 150, 1) if(!do_after(user, 25, target = A)) return - user.visible_message("[user] forces the airlock open with [user.p_their()] [name]!", "You force open the airlock.", "You hear a metal screeching sound.") + user.visible_message(SPAN_WARNING("[user] forces the airlock open with [user.p_their()] [name]!"), SPAN_WARNING("You force open the airlock."), SPAN_WARNING("You hear a metal screeching sound.")) A.open(2) /obj/item/clothing/gloves/color/black/pyro_claws @@ -705,9 +705,9 @@ /obj/item/clothing/gloves/color/black/pyro_claws/examine(mob/user) . = ..() if(core) - . += "[src] are fully operational!" + . += SPAN_NOTICE("[src] are fully operational!") else - . += "It is missing a pyroclastic anomaly core." + . += SPAN_WARNING("It is missing a pyroclastic anomaly core.") /obj/item/clothing/gloves/color/black/pyro_claws/item_action_slot_check(slot) if(slot == ITEM_SLOT_GLOVES) @@ -715,16 +715,16 @@ /obj/item/clothing/gloves/color/black/pyro_claws/ui_action_click(mob/user) if(!core) - to_chat(user, "[src] has no core to power it!") + to_chat(user, SPAN_NOTICE("[src] has no core to power it!")) return if(on_cooldown) - to_chat(user, "[src] is on cooldown!") + to_chat(user, SPAN_NOTICE("[src] is on cooldown!")) return if((user.l_hand && !user.drop_l_hand()) || (user.r_hand && !user.drop_r_hand())) - to_chat(user, "[src] are unable to deploy the blades with the items in your hands!") + to_chat(user, SPAN_NOTICE("[src] are unable to deploy the blades with the items in your hands!")) return var/obj/item/W = new /obj/item/pyro_claws - user.visible_message("[user] deploys [W] from [user.p_their()] wrists in a shower of sparks!", "You deploy [W] from your wrists!", "You hear the shower of sparks!") + user.visible_message(SPAN_WARNING("[user] deploys [W] from [user.p_their()] wrists in a shower of sparks!"), SPAN_NOTICE("You deploy [W] from your wrists!"), SPAN_WARNING("You hear the shower of sparks!")) user.put_in_hands(W) on_cooldown = TRUE set_nodrop(TRUE, user) @@ -736,12 +736,12 @@ /obj/item/clothing/gloves/color/black/pyro_claws/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, /obj/item/assembly/signaler/anomaly/pyro)) if(core) - to_chat(user, "[src] already has a [I]!") + to_chat(user, SPAN_NOTICE("[src] already has a [I]!")) return if(!user.drop_item()) - to_chat(user, "[I] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[I] is stuck to your hand!")) return - to_chat(user, "You insert [I] into [src], and [src] starts to warm up.") + to_chat(user, SPAN_NOTICE("You insert [I] into [src], and [src] starts to warm up.")) I.forceMove(src) core = I else @@ -783,7 +783,7 @@ icon_state = "broom0" /obj/item/push_broom/proc/wield(obj/item/source, mob/user) - to_chat(user, "You brace [src] against the ground in a firm sweeping stance.") + to_chat(user, SPAN_NOTICE("You brace [src] against the ground in a firm sweeping stance.")) RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(sweep)) /obj/item/push_broom/proc/unwield(obj/item/source, mob/user) @@ -819,7 +819,7 @@ else garbage.Move(new_item_loc, user.dir) if(trashed_into) - to_chat(user, "You sweep the pile of garbage into [trashed_into].") + to_chat(user, SPAN_NOTICE("You sweep the pile of garbage into [trashed_into].")) trash_amount++ if(trash_amount > BROOM_PUSH_LIMIT) break @@ -857,9 +857,9 @@ switch(user.a_intent) if(INTENT_HELP) - H.visible_message("[user] sweeps [H] away!", \ - "[user] sweeps you away!", \ - "You hear sweeping.") + H.visible_message(SPAN_DANGER("[user] sweeps [H] away!"), \ + SPAN_USERDANGER("[user] sweeps you away!"), \ + SPAN_ITALICS("You hear sweeping.")) playsound(loc, 'sound/weapons/sweeping.ogg', 70, TRUE, -1) var/atom/throw_target = get_edge_target_turf(H, get_dir(src, get_step_away(H, src))) @@ -871,9 +871,9 @@ if(H.stat || IS_HORIZONTAL(H)) return ..() - H.visible_message("[user] sweeps [H]'s legs out from under [H.p_them()]!", \ - "[user] sweeps your legs out from under you!", \ - "You hear sweeping.") + H.visible_message(SPAN_DANGER("[user] sweeps [H]'s legs out from under [H.p_them()]!"), \ + SPAN_USERDANGER("[user] sweeps your legs out from under you!"), \ + SPAN_ITALICS("You hear sweeping.")) user.do_attack_animation(H, ATTACK_EFFECT_KICK) playsound(get_turf(user), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) @@ -883,9 +883,9 @@ add_attack_logs(user, H, "Leg swept with titanium push broom", ATKLOG_ALL) if(INTENT_GRAB) - H.visible_message("[user] smacks [H] with the brush of [user.p_their()] broom!", \ - "[user] smacks you with the brush of [user.p_their()] broom!", \ - "You hear a smacking noise.") + H.visible_message(SPAN_DANGER("[user] smacks [H] with the brush of [user.p_their()] broom!"), \ + SPAN_USERDANGER("[user] smacks you with the brush of [user.p_their()] broom!"), \ + SPAN_ITALICS("You hear a smacking noise.")) user.do_attack_animation(H, ATTACK_EFFECT_DISARM) playsound(get_turf(user), 'sound/effects/woodhit.ogg', 50, TRUE, -1) @@ -948,20 +948,20 @@ if(isliving(A)) var/mob/living/target = A if(target.stat == DEAD) - visible_message("[user] raises [src] high, ready to bring it down on [target]!") + visible_message(SPAN_DANGER("[user] raises [src] high, ready to bring it down on [target]!")) if(do_after(user, 1 SECONDS, TRUE, target)) - visible_message("[user] brings down [src], obliterating [target] with a heavy blow!") + visible_message(SPAN_DANGER("[user] brings down [src], obliterating [target] with a heavy blow!")) playsound(loc, 'sound/effects/supermatter.ogg', 50, TRUE) target.dust() return - to_chat(user, "You lower [src]. There'll be time to obliterate them later...") + to_chat(user, SPAN_NOTICE("You lower [src]. There'll be time to obliterate them later...")) return if(charged) playsound(loc, 'sound/magic/lightningbolt.ogg', 5, TRUE) - target.visible_message("[src] flares with energy and shocks [target]!", \ - "You're shocked by [src]!", \ - "You hear shocking.") + target.visible_message(SPAN_DANGER("[src] flares with energy and shocks [target]!"), \ + SPAN_USERDANGER("You're shocked by [src]!"), \ + SPAN_WARNING("You hear shocking.")) target.KnockDown(4 SECONDS) do_sparks(3, FALSE, src) charged = FALSE @@ -974,7 +974,7 @@ if(istype(A, /turf/simulated/wall/indestructible)) return - to_chat(user, "You start to obliterate [A].") + to_chat(user, SPAN_NOTICE("You start to obliterate [A].")) playsound(loc, hitsound, 50, TRUE) var/obj/effect/temp_visual/obliteration_rays/rays = new(get_turf(A)) diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 60838177011..04f5349675d 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -16,7 +16,7 @@ new_attack_chain = TRUE /obj/item/banhammer/suicide_act(mob/user) - visible_message("[user] is hitting [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to ban [user.p_themselves()] from life.") + visible_message(SPAN_SUICIDE("[user] is hitting [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to ban [user.p_themselves()] from life.")) return BRUTELOSS|FIRELOSS|TOXLOSS|OXYLOSS /obj/item/banhammer/pre_attack(atom/target, mob/living/user, params) @@ -44,8 +44,8 @@ attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") /obj/item/sord/suicide_act(mob/user) - user.visible_message("[user] is trying to impale [user.p_themselves()] with [src]! It might be a suicide attempt if it weren't so shitty.", \ - "You try to impale yourself with [src], but it's USELESS...") + user.visible_message(SPAN_SUICIDE("[user] is trying to impale [user.p_themselves()] with [src]! It might be a suicide attempt if it weren't so shitty."), \ + SPAN_SUICIDE("You try to impale yourself with [src], but it's USELESS...")) return SHAME /obj/item/claymore @@ -70,7 +70,7 @@ AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = ALL_ATTACK_TYPES) /obj/item/claymore/suicide_act(mob/user) - user.visible_message("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/claymore/ceremonial @@ -103,7 +103,7 @@ AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = ALL_ATTACK_TYPES) /obj/item/katana/suicide_act(mob/user) - user.visible_message("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!") + user.visible_message(SPAN_SUICIDE("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!")) return BRUTELOSS /obj/item/harpoon @@ -141,7 +141,7 @@ user.unequip(I) user.put_in_hands(S) - to_chat(user, "You fasten the glass shard to the top of the rod with the cable.") + to_chat(user, SPAN_NOTICE("You fasten the glass shard to the top of the rod with the cable.")) qdel(I) qdel(src) @@ -153,7 +153,7 @@ user.unequip(I) user.put_in_hands(P) - to_chat(user, "You fasten [I] to the top of the rod with the cable.") + to_chat(user, SPAN_NOTICE("You fasten [I] to the top of the rod with the cable.")) qdel(I) qdel(src) @@ -215,7 +215,7 @@ if(!deflectmode) return if(prob(10)) - visible_message("[owner] Deflects [I] directly back at the thrower! It's a home run!", "You deflect [I] directly back at the thrower! It's a home run!") + visible_message(SPAN_BOLDWARNING("[owner] Deflects [I] directly back at the thrower! It's a home run!"), SPAN_BOLDWARNING("You deflect [I] directly back at the thrower! It's a home run!")) playsound(get_turf(owner), 'sound/weapons/homerun.ogg', 100, TRUE) do_attack_animation(I, ATTACK_EFFECT_DISARM) I.throw_at(locateUID(I.thrownby), 20, 20, owner) @@ -224,7 +224,7 @@ COOLDOWN_START(src, last_deflect, deflect_cooldown) return TRUE else if(prob(30)) - visible_message("[owner] swings! And [p_they()] miss[p_es()]! How embarassing.", "You swing! You miss! Oh no!") + visible_message(SPAN_WARNING("[owner] swings! And [p_they()] miss[p_es()]! How embarassing."), SPAN_WARNING("You swing! You miss! Oh no!")) playsound(get_turf(owner), 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) do_attack_animation(get_step(owner, pick(GLOB.alldirs)), ATTACK_EFFECT_DISARM) deflectmode = FALSE @@ -232,7 +232,7 @@ COOLDOWN_START(src, last_deflect, deflect_cooldown) return FALSE else - visible_message("[owner] swings and deflects [I]!", "You swing and deflect [I]!") + visible_message(SPAN_WARNING("[owner] swings and deflects [I]!"), SPAN_WARNING("You swing and deflect [I]!")) playsound(get_turf(owner), 'sound/weapons/baseball_hit.ogg', 50, TRUE, -1) do_attack_animation(src, ATTACK_EFFECT_DISARM) I.throw_at(get_edge_target_turf(owner, pick(GLOB.cardinal)), rand(8,10), 14, owner) @@ -246,21 +246,21 @@ return if(!homerun_able) if(!deflectmode && COOLDOWN_FINISHED(src, last_deflect)) - to_chat(user, "You prepare to deflect objects thrown at you. You cannot attack during this time.") + to_chat(user, SPAN_NOTICE("You prepare to deflect objects thrown at you. You cannot attack during this time.")) deflectmode = TRUE else if(deflectmode && COOLDOWN_FINISHED(src, last_deflect)) - to_chat(user, "You no longer deflect objects thrown at you. You can attack during this time") + to_chat(user, SPAN_NOTICE("You no longer deflect objects thrown at you. You can attack during this time")) deflectmode = FALSE else - to_chat(user, "You need to wait until you can deflect again. The ability will be ready in [round(COOLDOWN_TIMELEFT(src, last_deflect) / 600)] minute\s.") + to_chat(user, SPAN_WARNING("You need to wait until you can deflect again. The ability will be ready in [round(COOLDOWN_TIMELEFT(src, last_deflect) / 600)] minute\s.")) return ..() if(homerun_ready) - to_chat(user, "You're already ready to do a home run!") + to_chat(user, SPAN_NOTICE("You're already ready to do a home run!")) return ..() - to_chat(user, "You begin gathering strength...") + to_chat(user, SPAN_WARNING("You begin gathering strength...")) playsound(get_turf(src), 'sound/magic/lightning_chargeup.ogg', 65, TRUE) if(do_after(user, 9 SECONDS, target = user, hidden = TRUE)) - to_chat(user, "You gather power! Time for a home run!") + to_chat(user, SPAN_USERDANGER("You gather power! Time for a home run!")) homerun_ready = TRUE /obj/item/melee/baseball_bat/pre_attack(mob/living/target, mob/living/user, params) @@ -268,7 +268,7 @@ return FINISH_ATTACK if(deflectmode) - to_chat(user, "You cannot attack in deflect mode!") + to_chat(user, SPAN_USERDANGER("You cannot attack in deflect mode!")) return FINISH_ATTACK if(!COOLDOWN_FINISHED(src, next_throw_time)) // Limit the rate of throwing, so you can't spam it. @@ -288,7 +288,7 @@ return FINISH_ATTACK if(homerun_ready) var/atom/throw_target = get_edge_target_turf(target, user.dir) - user.visible_message("It's a home run!") + user.visible_message(SPAN_USERDANGER("It's a home run!")) target.throw_at(throw_target, rand(8,10), 14, user) target.ex_act(EXPLODE_HEAVY) playsound(get_turf(src), 'sound/weapons/homerun.ogg', 100, TRUE) diff --git a/code/game/objects/items/weapons/whetstone.dm b/code/game/objects/items/weapons/whetstone.dm index 8c908965e13..d7cdf67cbb5 100644 --- a/code/game/objects/items/weapons/whetstone.dm +++ b/code/game/objects/items/weapons/whetstone.dm @@ -15,27 +15,27 @@ /obj/item/whetstone/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(used) - to_chat(user, "The whetstone is too worn to use again!") + to_chat(user, SPAN_WARNING("The whetstone is too worn to use again!")) return if(requires_sharpness && !I.sharp) - to_chat(user, "You can only sharpen items that are already sharp, such as knives!") + to_chat(user, SPAN_WARNING("You can only sharpen items that are already sharp, such as knives!")) return var/signal_out = SEND_SIGNAL(I, COMSIG_ITEM_SHARPEN_ACT, increment, max) if((signal_out & COMPONENT_BLOCK_SHARPEN_MAXED) || I.force >= max || I.throwforce >= max) //If the item's components enforce more limits on maximum power from sharpening, we fail - to_chat(user, "[I] is much too powerful to sharpen further!") + to_chat(user, SPAN_WARNING("[I] is much too powerful to sharpen further!")) return if(signal_out & COMPONENT_BLOCK_SHARPEN_BLOCKED) - to_chat(user, "[I] is not able to be sharpened right now!") + to_chat(user, SPAN_WARNING("[I] is not able to be sharpened right now!")) return if((signal_out & COMPONENT_BLOCK_SHARPEN_ALREADY) || (I.force > initial(I.force) && !(signal_out & COMPONENT_SHARPEN_APPLIED))) //No sharpening stuff twice - to_chat(user, "[I] has already been refined before. It cannot be sharpened further!") + to_chat(user, SPAN_WARNING("[I] has already been refined before. It cannot be sharpened further!")) return if(!(signal_out & COMPONENT_SHARPEN_APPLIED)) //If the item has a relevant component and COMPONENT_BLOCK_SHARPEN_APPLIED is returned, the item only gets the throw force increase I.force = clamp(I.force + increment, 0, max) - user.visible_message("[user] sharpens [I] with [src]!", "You sharpen [I], making it much more deadly than before.") + user.visible_message(SPAN_NOTICE("[user] sharpens [I] with [src]!"), SPAN_NOTICE("You sharpen [I], making it much more deadly than before.")) if(!requires_sharpness) set_sharpness(TRUE) I.throwforce = clamp(I.throwforce + increment, 0, max) @@ -48,7 +48,7 @@ /obj/item/whetstone/attack_self__legacy__attackchain(mob/user) if(used) - to_chat(user, "The whetstone is too worn to use again!") + to_chat(user, SPAN_WARNING("The whetstone is too worn to use again!")) return if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -58,14 +58,14 @@ if(!C.has_been_sharpened) C.has_been_sharpened = TRUE attack.damage += claw_damage_increase - H.visible_message("[H] sharpens [H.p_their()] claws on [src]!", "You sharpen your claws on [src].") + H.visible_message(SPAN_NOTICE("[H] sharpens [H.p_their()] claws on [src]!"), SPAN_NOTICE("You sharpen your claws on [src].")) playsound(get_turf(H), usesound, 50, 1) name = "worn out [name]" desc = "[desc] At least, it used to." used = TRUE update_icon() else - to_chat(user, "You can not sharpen your claws any further!") + to_chat(user, SPAN_WARNING("You can not sharpen your claws any further!")) /obj/item/whetstone/super name = "super whetstone block" diff --git a/code/game/objects/mail.dm b/code/game/objects/mail.dm index 46625acee8d..580ed364de9 100644 --- a/code/game/objects/mail.dm +++ b/code/game/objects/mail.dm @@ -18,7 +18,7 @@ var/has_been_scanned = FALSE /obj/item/envelope/suicide_act(mob/user) - user.visible_message("[user] is licking a sharp corner of the envelope. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is licking a sharp corner of the envelope. It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/effects/-adminhelp.ogg', 50, TRUE, -1) return BRUTELOSS @@ -26,10 +26,10 @@ if(!user?.mind) return if(user.real_name != recipient) - to_chat(user, "You don't want to open up another person's mail, that's an invasion of their privacy!") + to_chat(user, SPAN_WARNING("You don't want to open up another person's mail, that's an invasion of their privacy!")) return if(do_after(user, 1 SECONDS, target = user) && !QDELETED(src)) - to_chat(user, "You begin to open the envelope.") + to_chat(user, SPAN_NOTICE("You begin to open the envelope.")) playsound(loc, 'sound/items/poster_ripped.ogg', 50, TRUE) user.unequip(src) for(var/obj/item/I in contents) @@ -244,22 +244,22 @@ /obj/item/mail_scanner/examine(mob/user) . = ..() - . += "Scan a letter to log it into the active database, then scan the person you wish to hand the letter to. Correctly scanning the recipient of the letter logged into the active database will add credits to the Supply budget." + . += SPAN_NOTICE("Scan a letter to log it into the active database, then scan the person you wish to hand the letter to. Correctly scanning the recipient of the letter logged into the active database will add credits to the Supply budget.") /obj/item/mail_scanner/attack__legacy__attackchain() return /obj/item/mail_scanner/afterattack__legacy__attackchain(atom/A, mob/user) if(get_dist(A, user) > scanner_range) - to_chat(user, "The scanner doesn't reach that far!") + to_chat(user, SPAN_WARNING("The scanner doesn't reach that far!")) return if(istype(A, /obj/item/envelope)) var/obj/item/envelope/envelope = A if(envelope.has_been_scanned) - to_chat(user, "This letter has already been logged to the active database!") + to_chat(user, SPAN_WARNING("This letter has already been logged to the active database!")) playsound(loc, 'sound/mail/maildenied.ogg', 50, TRUE) return - to_chat(user, "You add [envelope] to the active database.") + to_chat(user, SPAN_NOTICE("You add [envelope] to the active database.")) playsound(loc, 'sound/mail/mailscanned.ogg', 50, TRUE) saved = A SSblackbox.record_feedback("amount", "successful_mail_scan", 1) @@ -267,28 +267,28 @@ if(isliving(A)) var/mob/living/M = A if(!saved) - to_chat(user, "Error: You have not logged mail to the mail scanner!") + to_chat(user, SPAN_WARNING("Error: You have not logged mail to the mail scanner!")) playsound(loc, 'sound/mail/maildenied.ogg', 50, TRUE) return if(M.stat == DEAD) - to_chat(user, "Consent Verification failed: You can't deliver mail to a corpse!") + to_chat(user, SPAN_WARNING("Consent Verification failed: You can't deliver mail to a corpse!")) playsound(loc, 'sound/mail/maildenied.ogg', 50, TRUE) return if(M.real_name != saved.recipient) - to_chat(user, "'Identity Verification failed: Target is not an authorized recipient of this package!") + to_chat(user, SPAN_WARNING("'Identity Verification failed: Target is not an authorized recipient of this package!")) playsound(loc, 'sound/mail/maildenied.ogg', 50, TRUE) return if(!M.client) - to_chat(user, "Consent Verification failed: The scanner will not accept confirmation of orders from SSD people!") + to_chat(user, SPAN_WARNING("Consent Verification failed: The scanner will not accept confirmation of orders from SSD people!")) playsound(loc, 'sound/mail/maildenied.ogg', 50, TRUE) return saved.has_been_scanned = TRUE saved = null - to_chat(user, "Successful delivery acknowledged! [MAIL_DELIVERY_BONUS] credits added to Supply account!") + to_chat(user, SPAN_NOTICE("Successful delivery acknowledged! [MAIL_DELIVERY_BONUS] credits added to Supply account!")) playsound(loc, 'sound/mail/mailapproved.ogg', 50, TRUE) GLOB.station_money_database.credit_account(SSeconomy.cargo_account, MAIL_DELIVERY_BONUS, "Mail Delivery Compensation", "Nanotrasen Mail and Interstellar Logistics", supress_log = FALSE) SSblackbox.record_feedback("amount", "successful_mail_delivery", 1) diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index d63596800e0..56f75059e65 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -88,7 +88,7 @@ /obj/bullet_act(obj/projectile/P) . = ..() playsound(src, P.hitsound, 50, TRUE) - visible_message("[src] is hit by \a [P]!") + visible_message(SPAN_DANGER("[src] is hit by \a [P]!")) if(!QDELETED(src)) //Bullet on_hit effect might have already destroyed this object take_damage(P.damage, P.damage_type, P.flag, 0, turn(P.dir, 180), P.armor_penetration_flat, P.armor_penetration_percentage) @@ -99,7 +99,7 @@ /obj/attack_hulk(mob/living/carbon/human/user, does_attack_animation = FALSE) if(user.a_intent == INTENT_HARM) ..(user, TRUE) - visible_message("[user] smashes [src]!") + visible_message(SPAN_DANGER("[user] smashes [src]!")) if(density) playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1) user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" )) @@ -192,7 +192,7 @@ return 0 else return 0 - M.visible_message("[M.name] hits [src]!", "You hit [src]!") + M.visible_message(SPAN_DANGER("[M.name] hits [src]!"), SPAN_DANGER("You hit [src]!")) return take_damage(M.force*3, mech_damtype, MELEE, play_soundeffect, get_dir(src, M)) // multiplied by 3 so we can hit objs hard but not be overpowered against mobs. /obj/singularity_act() diff --git a/code/game/objects/obj_vv.dm b/code/game/objects/obj_vv.dm index 9268c4486ca..bdb85ae180d 100644 --- a/code/game/objects/obj_vv.dm +++ b/code/game/objects/obj_vv.dm @@ -38,7 +38,7 @@ i++ qdel(Obj) if(!i) - to_chat(usr, "No objects of this type exist.") + to_chat(usr, SPAN_NOTICE("No objects of this type exist.")) return log_admin("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted)") message_admins("[key_name_admin(usr)] deleted all objects of type [O_type] ([i] objects deleted)") @@ -49,7 +49,7 @@ i++ qdel(Obj) if(!i) - to_chat(usr, "No objects of this type exist.") + to_chat(usr, SPAN_NOTICE("No objects of this type exist.")) return log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted)") message_admins("[key_name_admin(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted)") @@ -61,7 +61,7 @@ var_edited = TRUE makeSpeedProcess() log_admin("[key_name(usr)] has made [src] speed process") - message_admins("[key_name(usr)] has made [src] speed process") + message_admins(SPAN_NOTICE("[key_name(usr)] has made [src] speed process")) if(href_list[VV_HK_MAKENORMALSPEED]) if(!check_rights(R_DEBUG|R_ADMIN)) return @@ -69,7 +69,7 @@ var_edited = TRUE makeNormalProcess() log_admin("[key_name(usr)] has made [src] process normally") - message_admins("[key_name(usr)] has made [src] process normally") + message_admins(SPAN_NOTICE("[key_name(usr)] has made [src] process normally")) if(href_list[VV_HK_MODIFYARMOR]) if(!check_rights(R_DEBUG|R_ADMIN)) return @@ -118,7 +118,7 @@ armor = armor.setRating(armorlist[MELEE], armorlist[BULLET], armorlist[LASER], armorlist[ENERGY], armorlist[BOMB], armorlist[RAD], armorlist[FIRE], armorlist[ACID], armorlist[MAGIC]) log_admin("[key_name(usr)] modified the armor on [src] to: melee = [armorlist[MELEE]], bullet = [armorlist[BULLET]], laser = [armorlist[LASER]], energy = [armorlist[ENERGY]], bomb = [armorlist[BOMB]], rad = [armorlist[RAD]], fire = [armorlist[FIRE]], acid = [armorlist[ACID]], magic = [armorlist[MAGIC]]") - message_admins("[key_name(usr)] modified the armor on [src] to: melee = [armorlist[MELEE]], bullet = [armorlist[BULLET]], laser = [armorlist[LASER]], energy = [armorlist[ENERGY]], bomb = [armorlist[BOMB]], rad = [armorlist[RAD]], fire = [armorlist[FIRE]], acid = [armorlist[ACID]], magic = [armorlist[MAGIC]]") + message_admins(SPAN_NOTICE("[key_name(usr)] modified the armor on [src] to: melee = [armorlist[MELEE]], bullet = [armorlist[BULLET]], laser = [armorlist[LASER]], energy = [armorlist[ENERGY]], bomb = [armorlist[BOMB]], rad = [armorlist[RAD]], fire = [armorlist[FIRE]], acid = [armorlist[ACID]], magic = [armorlist[MAGIC]]")) if(href_list[VV_HK_MODIFY_ACCESS]) if(!check_rights(R_ADMIN)) return diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 7e387ff58a5..99b0cc5630a 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -187,7 +187,7 @@ /// Returns `TRUE` if the object was successfully repaired. Fully repairs an object (setting `BROKEN` to `FALSE`), default repair time = 40. /obj/proc/default_welder_repair(mob/user, obj/item/I) if(obj_integrity >= max_integrity) - to_chat(user, "[src] does not need repairs.") + to_chat(user, SPAN_NOTICE("[src] does not need repairs.")) return if(I.tool_behaviour != TOOL_WELDER) return @@ -204,16 +204,16 @@ /// Handles (un)anchoring. Returns `TRUE` if successful, otherwise returns `FALSE`. /obj/proc/default_unfasten_wrench(mob/user, obj/item/I, time = 20) if(!anchored && !isfloorturf(loc)) - user.visible_message("A floor must be present to secure [src]!") + user.visible_message(SPAN_WARNING("A floor must be present to secure [src]!")) return FALSE if(I.tool_behaviour != TOOL_WRENCH) return FALSE if(!I.tool_use_check(user, 0)) return FALSE if(!(flags & NODECONSTRUCT)) - to_chat(user, "Now [anchored ? "un" : ""]securing [name].") + to_chat(user, SPAN_NOTICE("Now [anchored ? "un" : ""]securing [name].")) if(I.use_tool(src, user, time, volume = I.tool_volume)) - to_chat(user, "You've [anchored ? "un" : ""]secured [name].") + to_chat(user, SPAN_NOTICE("You've [anchored ? "un" : ""]secured [name].")) anchored = !anchored return TRUE return FALSE @@ -278,7 +278,7 @@ playsound(src, 'sound/weapons/punch1.ogg', 35, 1) if(mob_hurt) //Density check probably not needed, one should only bump into something if it is dense, and blob tiles are not dense, because of course they are not. return - C.visible_message("[C] slams into [src]!", "You slam into [src]!") + C.visible_message(SPAN_DANGER("[C] slams into [src]!"), SPAN_USERDANGER("You slam into [src]!")) if(!self_hurt) take_damage(damage, BRUTE) diff --git a/code/game/objects/starline_phone.dm b/code/game/objects/starline_phone.dm index 44ae70badd0..2a0f76f751b 100644 --- a/code/game/objects/starline_phone.dm +++ b/code/game/objects/starline_phone.dm @@ -32,7 +32,7 @@ else return // no stinky mobs/xenos allowed if(phone_state != NO_CALLS) - to_chat(user, "There is already an ongoing call!") + to_chat(user, SPAN_WARNING("There is already an ongoing call!")) return var/list/available_phones = list() @@ -43,7 +43,7 @@ return var/obj/machinery/phone/target_phone = available_phones[phone_choice] if(target_phone.phone_state != NO_CALLS) - to_chat(user, "Call attemp failed: Line busy.") + to_chat(user, SPAN_WARNING("Call attemp failed: Line busy.")) return handheld = new handheld.parent_phone = src @@ -70,7 +70,7 @@ switch(phone_state) if(NO_CALLS) - to_chat(user, "There are no calls at the moment to pick up.") + to_chat(user, SPAN_WARNING("There are no calls at the moment to pick up.")) return if(RINGING) handheld = new @@ -80,13 +80,13 @@ icon_state = "answered" start_call() else - to_chat(user, "The receiver is already off the dock!") + to_chat(user, SPAN_WARNING("The receiver is already off the dock!")) return /obj/machinery/phone/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/radio/phone_receiver)) if(phone_state == ACTIVE_CALL) - to_chat(user, "You hang up the call.") + to_chat(user, SPAN_INFORMATION("You hang up the call.")) end_call() playsound(src, 'sound/machines/starline_hangup.ogg', 50, 0) handheld.dropped() @@ -121,13 +121,13 @@ phone_state = ACTIVE_CALL handheld.listening = TRUE connected_line.handheld.listening = TRUE - connected_line.audible_message("The receiver clicks as the other line picks up.", hearing_distance = 3) + connected_line.audible_message(SPAN_INFORMATION("The receiver clicks as the other line picks up."), hearing_distance = 3) /obj/machinery/phone/proc/end_call() handheld.listening = FALSE phone_state = NO_CALLS if(connected_line) - connected_line.audible_message("The receiver clicks as the other line hangs up", hearing_distance = 3) + connected_line.audible_message(SPAN_INFORMATION("The receiver clicks as the other line hangs up"), hearing_distance = 3) connected_line.connected_line = null if(connected_line.phone_state == RINGING) connected_line.phone_state = NO_CALLS @@ -160,7 +160,7 @@ freqlock = TRUE /obj/item/radio/phone_receiver/dropped(mob/user, silent) - visible_message("The receiver snaps back into its dock.") + visible_message(SPAN_INFORMATION("The receiver snaps back into its dock.")) parent_phone.icon_state = "base" if(parent_phone.phone_state == ACTIVE_CALL) parent_phone.end_call() diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 4ec63703ab3..a1d25eda5ce 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -78,18 +78,18 @@ return FALSE var/blocking_object = density_check() if(blocking_object) - to_chat(user, "You cannot climb onto [src], as it is blocked by \a [blocking_object]!") + to_chat(user, SPAN_WARNING("You cannot climb onto [src], as it is blocked by \a [blocking_object]!")) return FALSE if(!isturf(loc)) return FALSE var/freerunner_multiplier = HAS_TRAIT(user, TRAIT_FREERUNNER) ? 0.8 : 1 if(HAS_MIND_TRAIT(user, TRAIT_TABLE_LEAP)) - user.visible_message("[user] gets ready to vault up onto [src]!") + user.visible_message(SPAN_WARNING("[user] gets ready to vault up onto [src]!")) if(!do_after(user, 0.5 SECONDS * freerunner_multiplier, target = src)) return FALSE else - user.visible_message("[user] starts climbing onto [src]!") + user.visible_message(SPAN_WARNING("[user] starts climbing onto [src]!")) if(!do_after(user, 5 SECONDS * freerunner_multiplier, target = src)) return FALSE @@ -104,9 +104,9 @@ if(do_climb(user)) user.forceMove(get_turf(src)) if(HAS_MIND_TRAIT(user, TRAIT_TABLE_LEAP)) - user.visible_message("[user] leaps up onto [src]!") + user.visible_message(SPAN_WARNING("[user] leaps up onto [src]!")) else - user.visible_message("[user] climbs onto [src]!") + user.visible_message(SPAN_WARNING("[user] climbs onto [src]!")) if(QDELETED(src)) // Table was destroyed while we were climbing it return climbers -= user @@ -126,14 +126,14 @@ return //No spamming this on people. M.Weaken(10 SECONDS) - to_chat(M, "You topple as \the [src] moves under you!") + to_chat(M, SPAN_WARNING("You topple as \the [src] moves under you!")) if(prob(25)) var/damage = rand(15,30) var/mob/living/carbon/human/H = M if(!istype(H)) - to_chat(H, "You land heavily!") + to_chat(H, SPAN_WARNING("You land heavily!")) M.adjustBruteLoss(damage) return @@ -152,12 +152,12 @@ affecting = H.get_organ("head") if(affecting) - to_chat(M, "You land heavily on your [affecting.name]!") + to_chat(M, SPAN_WARNING("You land heavily on your [affecting.name]!")) affecting.receive_damage(damage, 0) if(affecting.parent) affecting.parent.add_autopsy_data("Misadventure", damage) else - to_chat(H, "You land heavily!") + to_chat(H, SPAN_WARNING("You land heavily!")) H.adjustBruteLoss(damage) H.UpdateDamageIcon() @@ -168,25 +168,25 @@ if(!Adjacent(user)) return FALSE if(user.restrained() || user.buckled) - to_chat(user, "You need your hands and legs free for this.") + to_chat(user, SPAN_NOTICE("You need your hands and legs free for this.")) return FALSE if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return FALSE if(issilicon(user)) - to_chat(user, "You need hands for this.") + to_chat(user, SPAN_NOTICE("You need hands for this.")) return FALSE return TRUE /obj/structure/proc/get_climb_text() - return "You can Click-Drag yourself to [src] to climb on top of it after a short delay." + return SPAN_NOTICE("You can Click-Drag yourself to [src] to climb on top of it after a short delay.") /obj/structure/examine(mob/user) . = ..() if(!(resistance_flags & INDESTRUCTIBLE)) if(resistance_flags & ON_FIRE) - . += "It's on fire!" + . += SPAN_WARNING("It's on fire!") if(broken) - . += "It appears to be broken." + . += SPAN_NOTICE("It appears to be broken.") var/examine_status = examine_status(user) if(examine_status) . += examine_status @@ -202,7 +202,7 @@ return "It appears heavily damaged." if(0 to 25) if(!broken) - return "It's falling apart!" + return SPAN_WARNING("It's falling apart!") /obj/structure/proc/prevents_buckled_mobs_attacking() return FALSE diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index ddb88523019..3890570184b 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -83,7 +83,7 @@ /obj/structure/alien/resin/attack_alien(mob/living/carbon/alien/humanoid/user) if(user.a_intent != INTENT_HARM) return - to_chat(user, "We begin tearing down this resin structure.") + to_chat(user, SPAN_NOTICEALIEN("We begin tearing down this resin structure.")) if(!do_after(user, 40, target = src) || QDELETED(src)) return qdel(src) @@ -160,7 +160,7 @@ if(!C.handcuffed) operate(bumped_open) return - to_chat(user, "Your lack of connection to the hive prevents the resin door from opening") + to_chat(user, SPAN_NOTICEALIEN("Your lack of connection to the hive prevents the resin door from opening")) /* * This 2nd try_to_operate() is needed so that CALLBACK can close the door without having to either call operate() and get bugged when clicked much or * call try_to_operate(atom/user) and not be able to use it due to not having a mob using it @@ -205,7 +205,7 @@ if(user.a_intent != INTENT_HARM) try_to_operate(user) return - to_chat(user, "We begin tearing down this resin structure.") + to_chat(user, SPAN_NOTICEALIEN("We begin tearing down this resin structure.")) if(!do_after(user, 40, target = src) || QDELETED(src)) return qdel(src) @@ -483,19 +483,19 @@ if(user.get_int_organ(/obj/item/organ/internal/alien/plasmavessel)) switch(status) if(BURST) - to_chat(user, "You clear the hatched egg.") + to_chat(user, SPAN_NOTICE("You clear the hatched egg.")) playsound(loc, 'sound/effects/attackblob.ogg', 100, 1) qdel(src) return if(GROWING) - to_chat(user, "The child is not developed yet.") + to_chat(user, SPAN_NOTICE("The child is not developed yet.")) return if(GROWN) - to_chat(user, "You retrieve the child.") + to_chat(user, SPAN_NOTICE("You retrieve the child.")) burst(FALSE) return else - to_chat(user, "It feels slimy.") + to_chat(user, SPAN_NOTICE("It feels slimy.")) user.changeNext_move(CLICK_CD_MELEE) diff --git a/code/game/objects/structures/barsign.dm b/code/game/objects/structures/barsign.dm index f3127df147d..132eaf23076 100644 --- a/code/game/objects/structures/barsign.dm +++ b/code/game/objects/structures/barsign.dm @@ -109,15 +109,15 @@ . = ..() switch(build_stage) if(BARSIGN_FRAME) - . += "It's missing a circuit board and the bolts are exposed." + . += SPAN_NOTICE("It's missing a circuit board and the bolts are exposed.") if(BARSIGN_CIRCUIT) - . += "The frame needs wiring and the circuit board could be pried out." + . += SPAN_NOTICE("The frame needs wiring and the circuit board could be pried out.") if(BARSIGN_WIRED) - . += "The frame lacks a glass screen and is filled with wires that could be cut." + . += SPAN_NOTICE("The frame lacks a glass screen and is filled with wires that could be cut.") if(BARSIGN_COMPLETE) - . += "Alt-Click to toggle its power." + . += SPAN_NOTICE("Alt-Click to toggle its power.") if(panel_open) - . += "It is disabled by its unscrewed maintenance panel that exposes an area from which the screen could be pried out." + . += SPAN_NOTICE("It is disabled by its unscrewed maintenance panel that exposes an area from which the screen could be pried out.") /obj/machinery/barsign/proc/is_on() if(power_state == ACTIVE_POWER_USE) @@ -158,16 +158,16 @@ if(..()) return if(stat & MAINT) - to_chat(user, "Wait until the repairs are complete!") + to_chat(user, SPAN_WARNING("Wait until the repairs are complete!")) return if((stat & (BROKEN|NOPOWER|EMPED)) || build_stage < BARSIGN_COMPLETE) - to_chat(user, "The controls seem unresponsive.") + to_chat(user, SPAN_WARNING("The controls seem unresponsive.")) return if(panel_open) - to_chat(user, "Close the maintenance panel first!") + to_chat(user, SPAN_WARNING("Close the maintenance panel first!")) return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return pick_sign(user) @@ -191,7 +191,7 @@ req_access = list(ACCESS_BAR) else req_access = list() - to_chat(user, "You insert the circuit!") + to_chat(user, SPAN_NOTICE("You insert the circuit!")) qdel(electronic) build_stage = BARSIGN_CIRCUIT update_icon() @@ -202,13 +202,13 @@ if(BARSIGN_CIRCUIT) if(istype(used, /obj/item/stack/cable_coil)) if(!used.use(5)) - to_chat(user, "You need a total of five cables to wire [src]!") + to_chat(user, SPAN_WARNING("You need a total of five cables to wire [src]!")) return ITEM_INTERACT_COMPLETE stat &= ~EMPED build_stage = BARSIGN_WIRED update_icon() playsound(get_turf(src), used.usesound, 50, TRUE) - to_chat(user, "You wire [src]!") + to_chat(user, SPAN_NOTICE("You wire [src]!")) power_state = IDLE_POWER_USE add_fingerprint(user) return ITEM_INTERACT_COMPLETE @@ -216,7 +216,7 @@ if(BARSIGN_WIRED) if(istype(used, /obj/item/stack/sheet/glass)) if(!used.use(2)) - to_chat(user, "You need at least 2 sheets of glass for this!") + to_chat(user, SPAN_WARNING("You need at least 2 sheets of glass for this!")) return ITEM_INTERACT_COMPLETE build_stage = BARSIGN_COMPLETE playsound(get_turf(src), used.usesound, 50, TRUE) @@ -253,7 +253,7 @@ return . = TRUE if(obj_integrity >= max_integrity) - to_chat(user, "[src] does not need repairs.") + to_chat(user, SPAN_NOTICE("[src] does not need repairs.")) return if(I.tool_behaviour != TOOL_WELDER) return @@ -283,10 +283,10 @@ if(!panel_open) panel_open = TRUE turn_off() - to_chat(user, "You open the maintenance panel of [src].") + to_chat(user, SPAN_NOTICE("You open the maintenance panel of [src].")) else panel_open = FALSE - to_chat(user, "You close the maintenance panel of [src].") + to_chat(user, SPAN_NOTICE("You close the maintenance panel of [src].")) I.play_tool_sound(user, I.tool_volume) add_fingerprint(user) @@ -322,10 +322,10 @@ var/obj/item/barsign_electronics/electronic electronic = new /obj/item/barsign_electronics if(!emagged) - to_chat(user, "You pull the electronics out from [src].") + to_chat(user, SPAN_NOTICE("You pull the electronics out from [src].")) else // Give fried electronics if the sign is emagged - to_chat(user, "You pull the fried electronics out from [src].") + to_chat(user, SPAN_NOTICE("You pull the fried electronics out from [src].")) electronic.destroyed = TRUE electronic.icon_state = "door_electronics_smoked" if(!length(req_access)) @@ -337,14 +337,14 @@ // Removing the glass screen else if(build_stage == BARSIGN_COMPLETE) if(!panel_open) - to_chat(user, "Open the maintenance panel first!") + to_chat(user, SPAN_WARNING("Open the maintenance panel first!")) return // Drop a shard if the glass is broken if(stat & BROKEN) - to_chat(user, "You remove the broken screen from [src].") + to_chat(user, SPAN_NOTICE("You remove the broken screen from [src].")) new /obj/item/shard(get_turf(user)) else - to_chat(user, "You pull the glass screen out from [src].") + to_chat(user, SPAN_NOTICE("You pull the glass screen out from [src].")) new /obj/item/stack/sheet/glass(get_turf(user), 2) build_stage = BARSIGN_WIRED update_icon() @@ -363,9 +363,9 @@ return if(!(flags & NODECONSTRUCT)) if(stat & EMPED) - to_chat(user, "You remove the burnt wires out from [src].") + to_chat(user, SPAN_NOTICE("You remove the burnt wires out from [src].")) else - to_chat(user, "You cut the wires out from [src].") + to_chat(user, SPAN_NOTICE("You cut the wires out from [src].")) new /obj/item/stack/cable_coil(get_turf(user), 5) build_stage = BARSIGN_CIRCUIT update_icon() @@ -375,12 +375,12 @@ /obj/machinery/barsign/emag_act(mob/user) if(stat & (BROKEN|NOPOWER|EMPED)) - to_chat(user, "[src] cannot be taken over right now!") + to_chat(user, SPAN_WARNING("[src] cannot be taken over right now!")) return if(emagged) - to_chat(user, "[src] is already taken over!") + to_chat(user, SPAN_WARNING("[src] is already taken over!")) return - to_chat(user, "You emag the barsign. Takeover in progress...") + to_chat(user, SPAN_NOTICE("You emag the barsign. Takeover in progress...")) add_fingerprint(user) addtimer(CALLBACK(src, PROC_REF(post_emag)), 10 SECONDS) return TRUE @@ -427,19 +427,19 @@ var/placing_on = get_step(user_turf, user.dir) // Return FALSE if the user isn't facing a wall/window. if(!is_valid_turf(placing_on)) - to_chat(user, "You need to be facing a wall or window to place the [title].") + to_chat(user, SPAN_WARNING("You need to be facing a wall or window to place the [title].")) return FALSE // Return FALSE if there isn't space for the entire sign. if((user.dir != NORTH && user.dir != SOUTH) || !is_valid_turf(get_step(placing_on, EAST))) - to_chat(user, "There is not enough space to place the [title].") + to_chat(user, SPAN_WARNING("There is not enough space to place the [title].")) return FALSE // Return FALSE if there's already stuff on the wall. if(gotwallitem(user_turf, FLIP_DIR_VERTICALLY(user.dir)) || gotwallitem(get_step(user_turf, EAST), FLIP_DIR_VERTICALLY(user.dir))) - to_chat(user, "There's already an item on the wall!") + to_chat(user, SPAN_WARNING("There's already an item on the wall!")) return FALSE // Return FALSE if it would cause two bar signs to overlap. if((locate(/obj/machinery/barsign) in get_step(user_turf, WEST))) - to_chat(user, "There's already a bar sign here!") + to_chat(user, SPAN_WARNING("There's already a bar sign here!")) return FALSE return TRUE @@ -480,14 +480,14 @@ /obj/item/barsign_electronics/examine(mob/user) . = ..() - . += "Use it while in your active hand to toggle the access restrictions." + . += SPAN_NOTICE("Use it while in your active hand to toggle the access restrictions.") /obj/item/barsign_electronics/attack_self__legacy__attackchain(mob/user) . = ..() if(destroyed) return restricts_access = !restricts_access - to_chat(user, "You [restricts_access ? "enable" : "disable"] the access restrictions of [src].") + to_chat(user, SPAN_NOTICE("You [restricts_access ? "enable" : "disable"] the access restrictions of [src].")) // For the ghost bar since occupants don't have bar access. /obj/machinery/barsign/ghost_bar diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 888c4812e0e..e57ca69313f 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -54,7 +54,7 @@ LINEN BINS var/obj/item/stack/sheet/cloth/C = new (get_turf(src), 3) transfer_fingerprints_to(C) C.add_fingerprint(user) - to_chat(user, "You tear [src] up.") + to_chat(user, SPAN_NOTICE("You tear [src] up.")) qdel(src) /obj/item/bedsheet/blue @@ -280,23 +280,23 @@ LINEN BINS /obj/structure/bedsheetbin/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/bedsheet)) if(!user.drop_item()) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_NOTICE("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE used.forceMove(src) sheets.Add(used) amount++ update_icon(UPDATE_ICON_STATE) - to_chat(user, "You put [used] in [src].") + to_chat(user, SPAN_NOTICE("You put [used] in [src].")) return ITEM_INTERACT_COMPLETE else if(amount && !hidden && used.w_class < WEIGHT_CLASS_BULKY) //make sure there's sheets to hide it among, make sure nothing else is hidden in there. if(used.flags & ABSTRACT) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_NOTICE("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE used.forceMove(src) hidden = used - to_chat(user, "You hide [used] among the sheets.") + to_chat(user, SPAN_NOTICE("You hide [used] among the sheets.")) return ITEM_INTERACT_COMPLETE @@ -314,11 +314,11 @@ LINEN BINS B.loc = user.loc user.put_in_hands(B) - to_chat(user, "You take [B] out of [src].") + to_chat(user, SPAN_NOTICE("You take [B] out of [src].")) if(hidden) hidden.loc = user.loc - to_chat(user, "[hidden] falls out of [B]!") + to_chat(user, SPAN_NOTICE("[hidden] falls out of [B]!")) hidden = null update_icon(UPDATE_ICON_STATE) @@ -338,7 +338,7 @@ LINEN BINS B = new /obj/item/bedsheet(loc) B.loc = loc - to_chat(user, "You telekinetically remove [B] from [src].") + to_chat(user, SPAN_NOTICE("You telekinetically remove [B] from [src].")) update_icon(UPDATE_ICON_STATE) if(hidden) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index d0cc5a94a6d..9243880886b 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -188,7 +188,7 @@ if(user.m_intent != MOVE_INTENT_RUN) return if(!COOLDOWN_FINISHED(user, skittish_cooldown)) - to_chat(user, "Wait a few seconds to do that again.") + to_chat(user, SPAN_NOTICE("Wait a few seconds to do that again.")) return if(locked && !allowed(user)) return @@ -293,7 +293,7 @@ /obj/structure/closet/proc/toggle(mob/user) if(!(opened ? close(user) : open())) - to_chat(user, "It won't budge!") + to_chat(user, SPAN_NOTICE("It won't budge!")) /obj/structure/closet/proc/bust_open() welded = FALSE //applies to all lockers @@ -322,7 +322,7 @@ if(large) MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet else - to_chat(user, "[src] is too small to stuff [G.affecting] into!") + to_chat(user, SPAN_NOTICE("[src] is too small to stuff [G.affecting] into!")) if(istype(W, /obj/item/tk_grab)) return // passthrough if(user.a_intent != INTENT_HELP) // Stops you from putting your baton in the closet on accident @@ -330,7 +330,7 @@ if(isrobot(user) && !istype(W.loc, /obj/item/gripper)) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) //couldn't drop the item - to_chat(user, "\The [W] is stuck to your hand, you cannot put it in \the [src]!") + to_chat(user, SPAN_NOTICE("\The [W] is stuck to your hand, you cannot put it in \the [src]!")) return ITEM_INTERACT_COMPLETE if(W.loc != user.loc) // It went somewhere else, don't teleport it back. @@ -356,7 +356,7 @@ /obj/structure/closet/welder_act(mob/user, obj/item/I) . = TRUE if(!opened && user.loc == src) - to_chat(user, "You can't weld [src] from inside!") + to_chat(user, SPAN_WARNING("You can't weld [src] from inside!")) return if(!I.tool_use_check(user, 0)) return @@ -368,12 +368,12 @@ return else var/adjective = welded ? "open" : "shut" - user.visible_message("[user] begins welding [src] [adjective]...", "You begin welding [src] [adjective]...", "You hear welding.") + user.visible_message(SPAN_NOTICE("[user] begins welding [src] [adjective]..."), SPAN_NOTICE("You begin welding [src] [adjective]..."), SPAN_WARNING("You hear welding.")) if(I.use_tool(src, user, 15, volume = I.tool_volume)) if(opened) - to_chat(user, "Keep [src] shut while doing that!") + to_chat(user, SPAN_NOTICE("Keep [src] shut while doing that!")) return - user.visible_message("[user] welds [src] [adjective]!", "You weld [src] [adjective]!") + user.visible_message(SPAN_NOTICE("[user] welds [src] [adjective]!"), SPAN_NOTICE("You weld [src] [adjective]!")) welded = !welded update_icon() return @@ -400,7 +400,7 @@ return step_towards(O, loc) if(user != O) - user.visible_message("[user] stuffs [O] into [src]!", "You stuff [O] into [src]!") + user.visible_message(SPAN_DANGER("[user] stuffs [O] into [src]!"), SPAN_DANGER("You stuff [O] into [src]!")) add_fingerprint(user) return TRUE @@ -413,7 +413,7 @@ return if(!open()) - to_chat(user, "It won't budge!") + to_chat(user, SPAN_NOTICE("It won't budge!")) if(!lastbang) lastbang = 1 for(var/mob/M in hearers(src, null)) @@ -478,9 +478,9 @@ // breakout_time++ //Harder to get out of welded lockers than locked lockers //okay, so the closet is either welded or locked... resist!!! - to_chat(L, "You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)") + to_chat(L, SPAN_WARNING("You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)")) for(var/mob/O in viewers(usr.loc)) - O.show_message("[src] begins to shake violently!", 1) + O.show_message(SPAN_DANGER("[src] begins to shake violently!"), 1) spawn(0) @@ -495,9 +495,9 @@ //Well then break it! welded = FALSE update_icon() - to_chat(usr, "You successfully break out!") + to_chat(usr, SPAN_WARNING("You successfully break out!")) for(var/mob/O in viewers(L.loc)) - O.show_message("\the [usr] successfully broke out of \the [src]!", 1) + O.show_message(SPAN_DANGER("\the [usr] successfully broke out of \the [src]!"), 1) if(istype(loc, /obj/structure/big_delivery)) //nullspace ect.. read the comment above var/obj/structure/big_delivery/BD = loc BD.attack_hand(usr) @@ -527,14 +527,14 @@ /obj/structure/closet/shove_impact(mob/living/target, mob/living/attacker) if(opened && can_close()) target.forceMove(src) - visible_message("[attacker] shoves [target] inside [src]!", "You hear a thud, and something clangs shut.") + visible_message(SPAN_DANGER("[attacker] shoves [target] inside [src]!"), SPAN_WARNING("You hear a thud, and something clangs shut.")) close(attacker) add_attack_logs(attacker, target, "shoved into [src]") return TRUE if(!opened && can_open()) open() - visible_message("[attacker] shoves [target] against [src], knocking it open!") + visible_message(SPAN_DANGER("[attacker] shoves [target] against [src], knocking it open!")) target.KnockDown(3 SECONDS) return TRUE diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index 1e692232876..160531df02b 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -74,7 +74,7 @@ var/obj/item/wirecutters/WC = W new /obj/item/stack/sheet/cardboard(src.loc, amt) for(var/mob/M in viewers(src)) - M.show_message("\The [src] has been cut apart by [user] with \the [WC].", 3, "You hear cutting.", 2) + M.show_message(SPAN_NOTICE("\The [src] has been cut apart by [user] with \the [WC]."), 3, "You hear cutting.", 2) qdel(src) return ITEM_INTERACT_COMPLETE if(is_pen(W)) diff --git a/code/game/objects/structures/crates_lockers/closets/coffin.dm b/code/game/objects/structures/crates_lockers/closets/coffin.dm index 53ee749d84c..05d07d41b1d 100644 --- a/code/game/objects/structures/crates_lockers/closets/coffin.dm +++ b/code/game/objects/structures/crates_lockers/closets/coffin.dm @@ -34,7 +34,7 @@ . = ..() name = "\proper the coffin of [user.mind.name]" desc += "
This coffin's owner may not actually have been dear to anyone, or even departed quite yet.
\ - It appears impervious to everything but lasers and fire! Especially fire!" + [SPAN_WARNING("It appears impervious to everything but lasers and fire! Especially fire!")]" vampire = user /obj/structure/closet/coffin/vampire/welder_act(mob/user, obj/item/I) @@ -43,8 +43,8 @@ if(!I.tool_use_check(user, 30)) // it's a cursed coffin, you will need something better than a maintenance welder to ignite it return ITEM_INTERACT_COMPLETE igniting = TRUE - to_chat(user, "You attempt to set [src] on fire with [I].") - to_chat(vampire, "Your lair is being attacked!") + to_chat(user, SPAN_NOTICE("You attempt to set [src] on fire with [I].")) + to_chat(vampire, SPAN_WARNING("Your lair is being attacked!")) if(do_after(user, 15 SECONDS, target = src)) fire_act() igniting = FALSE @@ -60,19 +60,19 @@ . = ..() if(!COOLDOWN_FINISHED(src, fire_act_cooldown)) return - to_chat(vampire, "Your lair is being attacked!") + to_chat(vampire, SPAN_WARNING("Your lair is being attacked!")) switch(rand(1, 4)) if(1) - visible_message("The wood howls as fire bursts out from seemingly nowhere!") + visible_message(SPAN_DANGER("The wood howls as fire bursts out from seemingly nowhere!")) playsound(src, "sound/goonstation/voice/howl.ogg", 30) if(2 to 3) - visible_message("The wood hisses as fire bursts out from seemingly nowhere!") + visible_message(SPAN_DANGER("The wood hisses as fire bursts out from seemingly nowhere!")) if(prob(50)) playsound(src, "sound/effects/unathihiss.ogg", 30) else playsound(src, "sound/effects/tajaranhiss.ogg", 30) if(4) - visible_message("The wood growls as fire bursts out from seemingly nowhere!") + visible_message(SPAN_DANGER("The wood growls as fire bursts out from seemingly nowhere!")) playsound(src, 'sound/goonstation/voice/growl3.ogg', 30) var/turf/new_fire = pick(oview(2, src)) new /obj/effect/fire(get_turf(new_fire), T20C, 30 SECONDS, 1) @@ -81,7 +81,7 @@ /obj/structure/closet/coffin/vampire/burn() playsound(src, 'sound/hallucinations/wail.ogg', 20, extrarange = SOUND_RANGE_SET(5)) - visible_message("Fire bursts out from [name] as it falls apart!") + visible_message(SPAN_DANGER("Fire bursts out from [name] as it falls apart!")) for(var/turf/T in range(1, src)) new /obj/effect/fire(T, T20C, 30 SECONDS, 1) ..() diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm index e52e7730991..e19ecceb917 100644 --- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm +++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm @@ -25,14 +25,14 @@ /obj/structure/closet/fireaxecabinet/examine(mob/user) . = ..() if(!smashed) - . += "Use a multitool to lock/unlock it." + . += SPAN_NOTICE("Use a multitool to lock/unlock it.") else - . += "It is damaged beyond repair." + . += SPAN_NOTICE("It is damaged beyond repair.") /obj/structure/closet/fireaxecabinet/item_interaction(mob/living/user, obj/item/O, list/modifiers) if(isrobot(user) || locked) if(istype(O, /obj/item/multitool)) - to_chat(user, "Resetting circuitry...") + to_chat(user, SPAN_WARNING("Resetting circuitry...")) playsound(user, 'sound/machines/lockreset.ogg', 50, 1) if(do_after(user, 20 * O.toolspeed, target = src)) locked = FALSE @@ -50,7 +50,7 @@ user.do_attack_animation(src) playsound(user, 'sound/effects/Glasshit.ogg', 100, 1) //We don't want this playing every time if(W.force < 15) - to_chat(user, "The cabinet's protective glass glances off the hit.") + to_chat(user, SPAN_NOTICE("The cabinet's protective glass glances off the hit.")) else hitstaken++ if(hitstaken == 4) @@ -64,15 +64,15 @@ if(!fireaxe) var/obj/item/fireaxe/F = O if(HAS_TRAIT(F, TRAIT_WIELDED)) - to_chat(user, "Unwield \the [F] first.") + to_chat(user, SPAN_WARNING("Unwield \the [F] first.")) return ITEM_INTERACT_COMPLETE if(!user.unequip(F, FALSE)) - to_chat(user, "\The [F] stays stuck to your hands!") + to_chat(user, SPAN_WARNING("\The [F] stays stuck to your hands!")) return ITEM_INTERACT_COMPLETE fireaxe = F has_axe = "full" contents += F - to_chat(user, "You place \the [F] back in the [name].") + to_chat(user, SPAN_NOTICE("You place \the [F] back in the [name].")) update_icon(UPDATE_ICON_STATE) else if(smashed) @@ -88,7 +88,7 @@ operate_panel() return ITEM_INTERACT_COMPLETE else - to_chat(user, "Resetting circuitry...") + to_chat(user, SPAN_WARNING("Resetting circuitry...")) playsound(user, 'sound/machines/lockenable.ogg', 50, 1) if(do_after(user, 20 * O.toolspeed, target = src)) locked = TRUE @@ -100,11 +100,11 @@ /obj/structure/closet/fireaxecabinet/attack_hand(mob/user as mob) if(locked) - to_chat(user, "The cabinet won't budge!") + to_chat(user, SPAN_WARNING("The cabinet won't budge!")) return if(localopened && fireaxe) user.put_in_hands(fireaxe) - to_chat(user, "You take \the [fireaxe] from [src].") + to_chat(user, SPAN_NOTICE("You take \the [fireaxe] from [src].")) has_axe = "empty" fireaxe = null @@ -118,7 +118,7 @@ /obj/structure/closet/fireaxecabinet/attack_tk(mob/user as mob) if(localopened && fireaxe) fireaxe.forceMove(loc) - to_chat(user, "You telekinetically remove \the [fireaxe].") + to_chat(user, SPAN_NOTICE("You telekinetically remove \the [fireaxe].")) has_axe = "empty" fireaxe = null update_icon(UPDATE_ICON_STATE) @@ -131,14 +131,14 @@ /obj/structure/closet/fireaxecabinet/attack_ai(mob/user as mob) if(smashed) - to_chat(user, "The security of the cabinet is compromised.") + to_chat(user, SPAN_WARNING("The security of the cabinet is compromised.")) return else locked = !locked if(locked) - to_chat(user, "Cabinet locked.") + to_chat(user, SPAN_WARNING("Cabinet locked.")) else - to_chat(user, "Cabinet unlocked.") + to_chat(user, SPAN_NOTICE("Cabinet unlocked.")) /obj/structure/closet/fireaxecabinet/proc/operate_panel() if(operating) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/depot_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/depot_closets.dm index e19cc0773c7..95f10a0eb86 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/depot_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/depot_closets.dm @@ -32,13 +32,13 @@ /obj/structure/closet/secure_closet/depot/attack_animal(mob/M) if(isanimal_or_basicmob(M) && ("syndicate" in M.faction)) - to_chat(M, "[src] resists your attack!") + to_chat(M, SPAN_WARNING("[src] resists your attack!")) return return ..() /obj/structure/closet/secure_closet/depot/item_interaction(mob/living/user, obj/item/W, list/modifiers) if(istype(W, /obj/item/rcs)) - to_chat(user, "Bluespace interference prevents [W] from locking onto [src]!") + to_chat(user, SPAN_WARNING("Bluespace interference prevents [W] from locking onto [src]!")) return ITEM_INTERACT_COMPLETE return ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm index 6d959437069..6c029b446e6 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm @@ -18,7 +18,7 @@ if(!broken) broken = TRUE locked = FALSE - to_chat(user, "You break the lock on [src].") + to_chat(user, SPAN_NOTICE("You break the lock on [src].")) update_icon() return TRUE diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index 5c31946fd21..0eb6637a6ae 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -39,15 +39,15 @@ return ..() if(broken) - to_chat(user, "The locker appears to be broken.") + to_chat(user, SPAN_WARNING("The locker appears to be broken.")) return ITEM_INTERACT_COMPLETE if(user.loc == src) - to_chat(user, "You can't reach the lock from inside.") + to_chat(user, SPAN_NOTICE("You can't reach the lock from inside.")) return ITEM_INTERACT_COMPLETE if(istype(W, /obj/item/card/id/guest)) - to_chat(user, "Invalid identification card.") + to_chat(user, SPAN_WARNING("Invalid identification card.")) return ITEM_INTERACT_COMPLETE var/obj/item/card/id/I = W @@ -67,6 +67,6 @@ desc = "Owned by [I.registered_name]." else - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ITEM_INTERACT_COMPLETE diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index df6eb1cb989..b463ad12229 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -33,20 +33,20 @@ /obj/structure/closet/secure_closet/proc/togglelock(mob/user) if(opened) - to_chat(user, "Close the locker first.") + to_chat(user, SPAN_NOTICE("Close the locker first.")) return if(broken) - to_chat(user, "The locker appears to be broken.") + to_chat(user, SPAN_WARNING("The locker appears to be broken.")) return if(user.loc == src) - to_chat(user, "You can't reach the lock from inside.") + to_chat(user, SPAN_NOTICE("You can't reach the lock from inside.")) return if(allowed(user)) locked = !locked - visible_message("The locker has been [locked ? null : "un"]locked by [user].") + visible_message(SPAN_NOTICE("The locker has been [locked ? null : "un"]locked by [user].")) update_icon() else - to_chat(user, "Access Denied.") + to_chat(user, SPAN_NOTICE("Access Denied.")) /obj/structure/closet/secure_closet/closed_item_click(mob/user) togglelock(user) @@ -62,7 +62,7 @@ broken = TRUE locked = FALSE flick_overlay_view(image(icon, src, "sparking"), src, 1 SECONDS) - to_chat(user, "You break the lock on [src].") + to_chat(user, SPAN_NOTICE("You break the lock on [src].")) addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 1 SECONDS) // Update the icon so the lock actually appears broken return TRUE @@ -83,9 +83,9 @@ return //It's a secure closet, but isn't locked. Easily escapable from, no need to 'resist' //okay, so the closet is either welded or locked... resist!!! - to_chat(L, "You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)") + to_chat(L, SPAN_WARNING("You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)")) for(var/mob/O in viewers(src)) - O.show_message("[src] begins to shake violently!", 1) + O.show_message(SPAN_DANGER("[src] begins to shake violently!"), 1) spawn(0) @@ -103,9 +103,9 @@ locked = FALSE welded = FALSE update_icon() - to_chat(usr, "You successfully break out!") + to_chat(usr, SPAN_WARNING("You successfully break out!")) for(var/mob/O in viewers(L.loc)) - O.show_message("\the [usr] successfully broke out of \the [src]!", 1) + O.show_message(SPAN_DANGER("\the [usr] successfully broke out of \the [src]!"), 1) if(istype(loc, /obj/structure/big_delivery)) //Do this to prevent contents from being opened into nullspace (read: bluespace) var/obj/structure/big_delivery/BD = loc BD.attack_hand(usr) diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm index 88a815a8d19..6a28e772554 100644 --- a/code/game/objects/structures/crates_lockers/closets/statue.dm +++ b/code/game/objects/structures/crates_lockers/closets/statue.dm @@ -114,7 +114,7 @@ if(user) user.dust() dump_contents() - visible_message("[src] shatters!") + visible_message(SPAN_WARNING("[src] shatters!")) /obj/structure/closet/statue/indestructible resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 8af09563ec9..b14178b56d3 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -90,26 +90,26 @@ /obj/structure/closet/crate/toggle(mob/user, by_hand = FALSE) if(!(opened ? close() : open(by_hand))) - to_chat(user, "It won't budge!") + to_chat(user, SPAN_NOTICE("It won't budge!")) /obj/structure/closet/crate/proc/try_rig(obj/item/W, mob/user) if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = W if(rigged) - to_chat(user, "[src] is already rigged!") + to_chat(user, SPAN_NOTICE("[src] is already rigged!")) return TRUE if(C.use(15)) - to_chat(user, "You rig [src].") + to_chat(user, SPAN_NOTICE("You rig [src].")) rigged = TRUE else - to_chat(user, "You need at least 15 wires to rig [src]!") + to_chat(user, SPAN_WARNING("You need at least 15 wires to rig [src]!")) return TRUE if(istype(W, /obj/item/electropack)) if(rigged) if(!user.drop_item()) - to_chat(user, "[W] seems to be stuck to your hand!") + to_chat(user, SPAN_WARNING("[W] seems to be stuck to your hand!")) return TRUE - to_chat(user, "You attach [W] to [src].") + to_chat(user, SPAN_NOTICE("You attach [W] to [src].")) W.forceMove(src) return TRUE @@ -120,7 +120,7 @@ return if(I.use_tool(src, user)) - to_chat(user, "You cut away the wiring.") + to_chat(user, SPAN_NOTICE("You cut away the wiring.")) playsound(loc, I.usesound, 100, 1) rigged = FALSE return TRUE @@ -130,7 +130,7 @@ /obj/structure/closet/crate/attack_hand(mob/user) if(manifest) - to_chat(user, "You tear the manifest off of the crate.") + to_chat(user, SPAN_NOTICE("You tear the manifest off of the crate.")) playsound(loc, 'sound/items/poster_ripped.ogg', 75, TRUE) manifest.forceMove(loc) if(ishuman(user)) @@ -196,7 +196,7 @@ /obj/structure/closet/crate/secure/proc/boom(mob/user) if(user) - to_chat(user, "The crate's anti-tamper system activates!") + to_chat(user, SPAN_DANGER("The crate's anti-tamper system activates!")) investigate_log("[key_name(user)] has detonated a [src]", INVESTIGATE_BOMB) add_attack_logs(user, src, "has detonated", ATKLOG_MOST) for(var/atom/movable/AM in src) @@ -209,21 +209,21 @@ /obj/structure/closet/crate/secure/proc/togglelock(mob/user) if(opened) - to_chat(user, "Close the crate first.") + to_chat(user, SPAN_NOTICE("Close the crate first.")) return FALSE if(broken) - to_chat(user, "The crate appears to be broken.") + to_chat(user, SPAN_WARNING("The crate appears to be broken.")) return FALSE if(user.loc == src) - to_chat(user, "You can't reach the lock from inside.") + to_chat(user, SPAN_NOTICE("You can't reach the lock from inside.")) return FALSE if(allowed(user)) locked = !locked - visible_message("The crate has been [locked ? null : "un"]locked by [user].") + visible_message(SPAN_NOTICE("The crate has been [locked ? null : "un"]locked by [user].")) update_icon() return TRUE else - to_chat(user, "Access Denied.") + to_chat(user, SPAN_NOTICE("Access Denied.")) return FALSE /obj/structure/closet/crate/secure/AltClick(mob/user) @@ -237,7 +237,7 @@ /obj/structure/closet/crate/secure/attack_hand(mob/user) if(manifest) - to_chat(user, "You tear the manifest off of the crate.") + to_chat(user, SPAN_NOTICE("You tear the manifest off of the crate.")) playsound(loc, 'sound/items/poster_ripped.ogg', 75, 1) manifest.forceMove(loc) if(ishuman(user)) @@ -259,7 +259,7 @@ broken = TRUE update_icon() do_sparks(2, TRUE, src) - to_chat(user, "You unlock \the [src].") + to_chat(user, SPAN_NOTICE("You unlock \the [src].")) return TRUE /obj/structure/closet/crate/secure/emp_act(severity) @@ -317,12 +317,12 @@ return ..() if(broken) - to_chat(user, "It appears to be broken.") + to_chat(user, SPAN_WARNING("It appears to be broken.")) return ITEM_INTERACT_COMPLETE var/obj/item/card/id/id = I if(!is_usable_id(id)) - to_chat(user, "Invalid identification card.") + to_chat(user, SPAN_WARNING("Invalid identification card.")) return ITEM_INTERACT_COMPLETE if(registered_name && allowed(user)) @@ -330,7 +330,7 @@ if(!registered_name) registered_name = id.registered_name - to_chat(user, "Crate reserved") + to_chat(user, SPAN_NOTICE("Crate reserved")) return ITEM_INTERACT_COMPLETE if(registered_name == id.registered_name) @@ -750,7 +750,7 @@ if(!istype(keycard)) return - to_chat(user, "You swipe [keycard] in [src]'s keycard slot.") + to_chat(user, SPAN_NOTICE("You swipe [keycard] in [src]'s keycard slot.")) return TRUE /obj/item/card/sec_shuttle_ruin diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index e0189655921..1250a73bcc4 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -17,7 +17,7 @@ /obj/structure/largecrate/attack_hand(mob/user as mob) if(manifest) - to_chat(user, "You tear the manifest off of the crate.") + to_chat(user, SPAN_NOTICE("You tear the manifest off of the crate.")) playsound(src.loc, 'sound/items/poster_ripped.ogg', 75, 1) manifest.forceMove(loc) if(ishuman(user)) @@ -26,7 +26,7 @@ update_icon() return else - to_chat(user, "You need a crowbar to pry this open!") + to_chat(user, SPAN_NOTICE("You need a crowbar to pry this open!")) return /obj/structure/largecrate/item_interaction(mob/living/user, obj/item/used, list/modifiers) @@ -39,9 +39,9 @@ if(!I.use_tool(src, user, 20, volume = I.tool_volume)) return TRUE break_open() - user.visible_message("[user] pries [src] open.", \ - "You pry open [src].", \ - "You hear splitting wood.") + user.visible_message(SPAN_NOTICE("[user] pries [src] open."), \ + SPAN_NOTICE("You pry open [src]."), \ + SPAN_NOTICE("You hear splitting wood.")) if(manifest) manifest.forceMove(loc) manifest = null diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 33b654ac3b3..faa33cb3057 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -30,7 +30,7 @@ if(!istype(target, /obj/structure/window) && !istype(target, /turf/simulated/wall)) return var/on_wall = get_turf(target) - to_chat(user, "You begin attaching [src] to [on_wall].") + to_chat(user, SPAN_NOTICE("You begin attaching [src] to [on_wall].")) playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE) if(!do_after(user, 3 SECONDS, target = on_wall)) return @@ -39,13 +39,13 @@ curtain.fingerprintshidden = src.fingerprintshidden curtain.fingerprintslast = src.fingerprintslast - user.visible_message("[user] attaches the [src] to [on_wall].", \ - "You attach the [src] to [on_wall].") + user.visible_message(SPAN_NOTICE("[user] attaches the [src] to [on_wall]."), \ + SPAN_NOTICE("You attach the [src] to [on_wall].")) qdel(src) /obj/item/mounted/curtain/curtain_fixture/activate_self(mob/user) . = ..() - to_chat(user, "You begin attaching [src] to the ceiling.") + to_chat(user, SPAN_NOTICE("You begin attaching [src] to the ceiling.")) playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE) if(!do_after(user, 3 SECONDS, target = get_turf(user))) return @@ -54,22 +54,22 @@ curtain.fingerprintshidden = src.fingerprintshidden curtain.fingerprintslast = src.fingerprintslast - user.visible_message("[user] attaches the [src] to the ceiling.", \ - "You attach the [src] to the ceiling.") + user.visible_message(SPAN_NOTICE("[user] attaches the [src] to the ceiling."), \ + SPAN_NOTICE("You attach the [src] to the ceiling.")) qdel(src) /obj/structure/curtain/examine(mob/user) . = ..() if(!assembled) - . += "Alt-Click to take it down." + . += SPAN_NOTICE("Alt-Click to take it down.") /obj/structure/curtain/AltClick(mob/user) if(assembled) return if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(!Adjacent(user)) return @@ -86,7 +86,7 @@ if(!assembled && istype(used, /obj/item/stack/sheet/cloth)) // Are we putting the cloth onto the assembly on the wall? var/obj/item/stack/sheet/cloth/cloth_used = used if(!cloth_used.use(2)) - to_chat(user, " You need two sheets of cloth to hang the curtains.") + to_chat(user, SPAN_WARNING(" You need two sheets of cloth to hang the curtains.")) return ITEM_INTERACT_COMPLETE assembled = TRUE @@ -153,24 +153,24 @@ /obj/structure/curtain/screwdriver_act(mob/user, obj/item/I) . = TRUE if(!assembled) - to_chat(user, "You should probably add some drapes to [src] before anchoring it in place...") + to_chat(user, SPAN_NOTICE("You should probably add some drapes to [src] before anchoring it in place...")) return if(!I.tool_start_check(src, user, 0)) return if(anchored) - user.visible_message("[user] unscrews [src] from the floor.", "You start to unscrew [src] from the floor...", "You hear rustling noises.") + user.visible_message(SPAN_NOTICE("[user] unscrews [src] from the floor."), SPAN_NOTICE("You start to unscrew [src] from the floor..."), "You hear rustling noises.") if(I.use_tool(src, user, 5 SECONDS, volume = I.tool_volume) && anchored) anchored = FALSE - to_chat(user, "You unscrew [src] from the floor.") + to_chat(user, SPAN_NOTICE("You unscrew [src] from the floor.")) else - user.visible_message("[user] screws [src] to the floor.", "You start to screw [src] to the floor...", "You hear rustling noises.") + user.visible_message(SPAN_NOTICE("[user] screws [src] to the floor."), SPAN_NOTICE("You start to screw [src] to the floor..."), "You hear rustling noises.") if(I.use_tool(src, user, 5 SECONDS, volume = I.tool_volume) && !anchored) anchored = TRUE - to_chat(user, "You screw [src] to the floor.") + to_chat(user, SPAN_NOTICE("You screw [src] to the floor.")) /obj/structure/curtain/wirecutter_act(mob/user, obj/item/I) if(anchored) - to_chat(user, "You will need to undo the screws anchoring [src] before removing the drapes.") + to_chat(user, SPAN_WARNING("You will need to undo the screws anchoring [src] before removing the drapes.")) return TRUE . = TRUE if(!I.tool_start_check(src, user, 0)) diff --git a/code/game/objects/structures/depot_structures.dm b/code/game/objects/structures/depot_structures.dm index 1668c331d58..223e9ee6cca 100644 --- a/code/game/objects/structures/depot_structures.dm +++ b/code/game/objects/structures/depot_structures.dm @@ -40,7 +40,7 @@ . = TRUE if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return - to_chat(user, "You try to screwdriver open [src], but accidentally release some radiation!") + to_chat(user, SPAN_DANGER("You try to screwdriver open [src], but accidentally release some radiation!")) if(prob(50)) empulse(src, 4, 10) else @@ -50,7 +50,7 @@ . = TRUE if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return - to_chat(user, "[src] is too well secured to the floor.") + to_chat(user, SPAN_NOTICE("[src] is too well secured to the floor.")) /obj/structure/fusionreactor/proc/overload(containment_failure = FALSE, skip_qdel = FALSE) if(has_overloaded) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index f8f1978e9e4..366e9dfffcc 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -48,7 +48,7 @@ /obj/structure/displaycase/emag_act(mob/user) if(!emagged) - to_chat(user, "You override the ID lock on [src].") + to_chat(user, SPAN_WARNING("You override the ID lock on [src].")) trigger_alarm() emagged = TRUE @@ -58,23 +58,23 @@ /obj/structure/displaycase/examine(mob/user) . = ..() if(showpiece) - . += "There's \a [showpiece] displayed inside." + . += SPAN_NOTICE("There's \a [showpiece] displayed inside.") else - . += "It's empty." + . += SPAN_NOTICE("It's empty.") if(trophy_message) . += "The plaque reads:\n [trophy_message]" if(!openable) - . += "It seems to be sealed shut, there's no way you're getting that open." + . += SPAN_NOTICE("It seems to be sealed shut, there's no way you're getting that open.") else if(!open) - . += "The ID lock is active, you need to swipe an ID to open it." + . += SPAN_NOTICE("The ID lock is active, you need to swipe an ID to open it.") else if((broken || open) && showpiece) - . += "[showpiece] is held in a loose low gravity suspension field. You can take [showpiece] out[broken ? "." : ", or lock [src] with an ID"]." + . += SPAN_NOTICE("[showpiece] is held in a loose low gravity suspension field. You can take [showpiece] out[broken ? "." : ", or lock [src] with an ID"].") if(alert) - . += "It is hooked up with an anti-theft system." + . += SPAN_NOTICE("It is hooked up with an anti-theft system.") if(emagged) - . += "The ID lock has been shorted out." + . += SPAN_WARNING("The ID lock has been shorted out.") /obj/structure/displaycase/proc/dump(mob/user) if(showpiece) @@ -112,7 +112,7 @@ if(alert && (is_station_contact(z) || force_alarm)) var/area/alarmed = get_area(src) alarmed.burglaralert(src) - visible_message("The burglar alarm goes off!") + visible_message(SPAN_DANGER("The burglar alarm goes off!")) // Play the burglar alarm three times for(var/i = 0, i < 4, i++) playsound(src, 'sound/machines/burglar_alarm.ogg', 50, 0) @@ -133,30 +133,30 @@ /obj/structure/displaycase/item_interaction(mob/living/user, obj/item/I, list/modifiers) if(I.GetID()) if(!openable) - to_chat(user, "There is no ID scanner, looks like this one is sealed shut.") + to_chat(user, SPAN_WARNING("There is no ID scanner, looks like this one is sealed shut.")) return ITEM_INTERACT_COMPLETE if(broken) - to_chat(user, "[src] is broken, the ID lock won't do anything.") + to_chat(user, SPAN_WARNING("[src] is broken, the ID lock won't do anything.")) return ITEM_INTERACT_COMPLETE if(allowed(user) || emagged) - to_chat(user, "You use [I] to [open ? "close" : "open"] [src].") + to_chat(user, SPAN_NOTICE("You use [I] to [open ? "close" : "open"] [src].")) toggle_lock() else - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ITEM_INTERACT_COMPLETE else if(open && !showpiece) if(!(I.flags & (ABSTRACT | DROPDEL)) && user.drop_item()) I.forceMove(src) showpiece = I - to_chat(user, "You put [I] on display") + to_chat(user, SPAN_NOTICE("You put [I] on display")) update_icon() return ITEM_INTERACT_COMPLETE else if(istype(I, /obj/item/stack/sheet/glass) && broken) var/obj/item/stack/sheet/glass/G = I if(G.get_amount() < 2) - to_chat(user, "You need two glass sheets to fix the case!") + to_chat(user, SPAN_WARNING("You need two glass sheets to fix the case!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start fixing [src]...") + to_chat(user, SPAN_NOTICE("You start fixing [src]...")) if(do_after(user, 20, target = src)) G.use(2) broken = FALSE @@ -177,7 +177,7 @@ return if((open || broken) && user.a_intent == INTENT_HARM) if(showpiece) - to_chat(user, "Remove the displayed object first.") + to_chat(user, SPAN_NOTICE("Remove the displayed object first.")) return if(!I.use_tool(src, user, 15, volume = I.tool_volume)) return @@ -185,7 +185,7 @@ new /obj/item/stack/sheet/glass(drop_location(), 10) else new /obj/item/shard(drop_location()) - to_chat(user, "You start dismantling the case.") + to_chat(user, SPAN_NOTICE("You start dismantling the case.")) var/obj/structure/displaycase_chassis/display = new(loc) if(electronics) electronics.forceMove(display) @@ -193,10 +193,10 @@ qdel(src) return if(!alert) - to_chat(user, "You start to [open ? "close":"open"] [src].") + to_chat(user, SPAN_NOTICE("You start to [open ? "close":"open"] [src].")) if(!I.use_tool(src, user, 20, volume = I.tool_volume)) return - to_chat(user, "You [open ? "close":"open"] [src].") + to_chat(user, SPAN_NOTICE("You [open ? "close":"open"] [src].")) toggle_lock() /obj/structure/displaycase/welder_act(mob/user, obj/item/I) @@ -211,18 +211,18 @@ /obj/structure/displaycase/attack_hand(mob/user) user.changeNext_move(CLICK_CD_MELEE) if(showpiece && (broken || open)) - to_chat(user, "You deactivate the hover field built into the case.") + to_chat(user, SPAN_NOTICE("You deactivate the hover field built into the case.")) dump(user) add_fingerprint(user) update_icon(UPDATE_OVERLAYS) return if(!open && openable) - to_chat(user, "The ID lock is active, you'll need to unlock it first.") + to_chat(user, SPAN_NOTICE("The ID lock is active, you'll need to unlock it first.")) return //prevents remote "kicks" with TK if(!Adjacent(user)) return - user.visible_message("[user] kicks the display case.") + user.visible_message(SPAN_DANGER("[user] kicks the display case.")) user.do_attack_animation(src, ATTACK_EFFECT_KICK) take_damage(2) @@ -236,22 +236,22 @@ /obj/structure/displaycase_chassis/item_interaction(mob/living/user, obj/item/I, list/modifiers) if(istype(I, /obj/item/airlock_electronics)) - to_chat(user, "You start installing the electronics into [src]...") + to_chat(user, SPAN_NOTICE("You start installing the electronics into [src]...")) playsound(loc, I.usesound, 50, TRUE) if(do_after(user, 30, target = src)) var/obj/item/airlock_electronics/new_electronics = I if(user.drop_item() && !new_electronics.is_installed) new_electronics.forceMove(src) electronics = new_electronics - to_chat(user, "You install the airlock electronics.") + to_chat(user, SPAN_NOTICE("You install the airlock electronics.")) electronics.is_installed = TRUE return ITEM_INTERACT_COMPLETE else if(istype(I, /obj/item/stack/sheet/glass)) var/obj/item/stack/sheet/glass/G = I if(G.get_amount() < 10) - to_chat(user, "You need ten glass sheets to do this!") + to_chat(user, SPAN_WARNING("You need ten glass sheets to do this!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start adding [G] to [src]...") + to_chat(user, SPAN_NOTICE("You start adding [G] to [src]...")) if(do_after(user, 20, target = src)) G.use(10) var/obj/structure/displaycase/display = new(loc) @@ -274,7 +274,7 @@ return if(electronics) if(I.use_tool(src, user, 0, volume = I.tool_volume)) - to_chat(user, "You remove the airlock electronics.") + to_chat(user, SPAN_NOTICE("You remove the airlock electronics.")) new /obj/item/airlock_electronics(drop_location(), 1) electronics.is_installed = FALSE electronics = null @@ -284,7 +284,7 @@ if(!I.tool_use_check(user, 0)) return if(electronics) - to_chat(user, "Remove the airlock electronics first.") + to_chat(user, SPAN_NOTICE("Remove the airlock electronics first.")) return TOOL_ATTEMPT_DISMANTLE_MESSAGE if(!I.use_tool(src, user, 30, volume = I.tool_volume)) diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index e7c50db3dc2..a82d58f298d 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -41,19 +41,19 @@ switch(state) if(AIRLOCK_ASSEMBLY_NEEDS_WIRES) if(anchored) - . += "The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring." + . += SPAN_NOTICE("The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring.") else - . += "The assembly is welded together, but the anchoring bolts are unwrenched." + . += SPAN_NOTICE("The assembly is welded together, but the anchoring bolts are unwrenched.") if(AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS) - . += "The maintenance panel is wired, but the circuit slot is empty." + . += SPAN_NOTICE("The maintenance panel is wired, but the circuit slot is empty.") if(AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) - . += "The circuit is connected loosely to its slot, but the maintenance panel is unscrewed and open." + . += SPAN_NOTICE("The circuit is connected loosely to its slot, but the maintenance panel is unscrewed and open.") if(glass) - . += "The assembly has its electrochromic windows [polarized_glass ? "enabled" : "disabled"] and can be configured." + . += SPAN_NOTICE("The assembly has its electrochromic windows [polarized_glass ? "enabled" : "disabled"] and can be configured.") if(!glass && !noglass) - . += "There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows." + . += SPAN_NOTICE("There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows.") else - . += "There is a small paper placard on the assembly[doorname]." + . += SPAN_NOTICE("There is a small paper placard on the assembly[doorname].") /obj/structure/door_assembly/item_interaction(mob/living/user, obj/item/W, list/modifiers) . = ITEM_INTERACT_COMPLETE @@ -68,7 +68,7 @@ else if(iscoil(W) && state == AIRLOCK_ASSEMBLY_NEEDS_WIRES && anchored) var/obj/item/stack/cable_coil/coil = W if(coil.get_amount() < 1) - to_chat(user, "You need one length of cable to wire the airlock assembly!") + to_chat(user, SPAN_WARNING("You need one length of cable to wire the airlock assembly!")) return user.visible_message("[user] wires the airlock assembly.", "You start to wire the airlock assembly...") if(do_after(user, 40 * coil.toolspeed, target = src)) @@ -76,7 +76,7 @@ return coil.use(1) state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - to_chat(user, "You wire the airlock assembly.") + to_chat(user, SPAN_NOTICE("You wire the airlock assembly.")) else if(istype(W, /obj/item/airlock_electronics) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS && !istype(W, /obj/item/airlock_electronics/destroyed)) playsound(loc, W.usesound, 100, 1) @@ -88,7 +88,7 @@ return user.drop_item() new_electronics.forceMove(src) - to_chat(user, "You install the airlock electronics.") + to_chat(user, SPAN_NOTICE("You install the airlock electronics.")) state = AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER name = "near finished airlock assembly" electronics = new_electronics @@ -107,16 +107,16 @@ if(S.get_amount() < 1 || glass) return if(S.type == /obj/item/stack/sheet/rglass) - to_chat(user, "You install reinforced glass windows into the airlock assembly.") + to_chat(user, SPAN_NOTICE("You install reinforced glass windows into the airlock assembly.")) reinforced_glass = TRUE else - to_chat(user, "You install regular glass windows into the airlock assembly.") + to_chat(user, SPAN_NOTICE("You install regular glass windows into the airlock assembly.")) S.use(1) glass = TRUE else - to_chat(user, "You cannot add [S] to [src]!") + to_chat(user, SPAN_WARNING("You cannot add [S] to [src]!")) else - to_chat(user, "You cannot add [S] to [src]!") + to_chat(user, SPAN_WARNING("You cannot add [S] to [src]!")) else return ..() update_appearance(UPDATE_NAME | UPDATE_OVERLAYS) @@ -130,7 +130,7 @@ user.visible_message("[user] is removing the electronics from the airlock assembly...", "You start to remove electronics from the airlock assembly...") if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) return - to_chat(user, "You remove the airlock electronics.") + to_chat(user, SPAN_NOTICE("You remove the airlock electronics.")) state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS name = "wired airlock assembly" var/obj/item/airlock_electronics/ae @@ -150,11 +150,11 @@ if(!I.tool_use_check(user, 0)) return user.visible_message("[user] is finishing the airlock...", \ - "You start finishing the airlock...") + SPAN_NOTICE("You start finishing the airlock...")) . = TRUE if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) return - to_chat(user, "You finish the airlock.") + to_chat(user, SPAN_NOTICE("You finish the airlock.")) var/obj/machinery/door/airlock/door if(glass || reinforced_glass) door = new glass_type(loc) @@ -187,7 +187,7 @@ user.visible_message("[user] is cutting the wires from the airlock assembly...", "You start to cut the wires from airlock assembly...") if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS) return - to_chat(user, "You cut the wires from the airlock assembly.") + to_chat(user, SPAN_NOTICE("You cut the wires from the airlock assembly.")) new/obj/item/stack/cable_coil(get_turf(user), 1) state = AIRLOCK_ASSEMBLY_NEEDS_WIRES update_icon(UPDATE_OVERLAYS) @@ -204,7 +204,7 @@ user.visible_message("[user] is securing the airlock assembly to the floor...", "You start to secure the airlock assembly to the floor...") if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_WIRES) return - to_chat(user, "You [anchored ? "un" : ""]secure the airlock assembly.") + to_chat(user, SPAN_NOTICE("You [anchored ? "un" : ""]secure the airlock assembly.")) anchored = !anchored /obj/structure/door_assembly/welder_act(mob/user, obj/item/I) @@ -212,12 +212,12 @@ if(!I.tool_use_check(user, 0)) return if(glass) - user.visible_message("[user] welds the glass panel out of [src].",\ - "You start to weld the glass panel out of the [src]...",\ - "You hear welding.") + user.visible_message(SPAN_NOTICE("[user] welds the glass panel out of [src]."),\ + SPAN_NOTICE("You start to weld the glass panel out of the [src]..."),\ + SPAN_WARNING("You hear welding.")) if(!I.use_tool(src, user, 40, volume = I.tool_volume)) return - to_chat(user, "You weld the glass panel out.") + to_chat(user, SPAN_NOTICE("You weld the glass panel out.")) if(reinforced_glass) new /obj/item/stack/sheet/rglass(get_turf(src)) reinforced_glass = FALSE @@ -226,12 +226,12 @@ glass = FALSE polarized_glass = FALSE else if(!anchored) - visible_message("[user] disassembles [src].", \ - "You start to disassemble [src]...",\ - "You hear welding.") + visible_message(SPAN_WARNING("[user] disassembles [src]."), \ + SPAN_NOTICE("You start to disassemble [src]..."),\ + SPAN_WARNING("You hear welding.")) if(!I.use_tool(src, user, 40, volume = I.tool_volume)) return - to_chat(user, "You disassemble the airlock assembly.") + to_chat(user, SPAN_NOTICE("You disassemble the airlock assembly.")) deconstruct(TRUE) update_icon(UPDATE_OVERLAYS) @@ -240,10 +240,10 @@ return . = TRUE if(state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) - to_chat(user, "The airlock assembly needs its electronics before you can configure the electrochromic windows.") + to_chat(user, SPAN_NOTICE("The airlock assembly needs its electronics before you can configure the electrochromic windows.")) return if(!glass && !noglass) - to_chat(user, "The airlock assembly needs glass before you can configure the electrochromic windows.") + to_chat(user, SPAN_NOTICE("The airlock assembly needs glass before you can configure the electrochromic windows.")) return if(!I.tool_use_check(user, 0)) @@ -254,7 +254,7 @@ polarized_glass = !polarized_glass - to_chat(user, "You [polarized_glass ? "enable" : "disable"] the electrochromic windows in the airlock assembly.") + to_chat(user, SPAN_NOTICE("You [polarized_glass ? "enable" : "disable"] the electrochromic windows in the airlock assembly.")) /obj/structure/door_assembly/update_overlays() . = ..() diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index ae27d9cf907..12e227828d9 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -113,7 +113,7 @@ /obj/structure/dresser/wardrobe/examine(mob/user) . = ..() - . += "It's currently [locked ? null : "un"]locked." + . += SPAN_NOTICE("It's currently [locked ? null : "un"]locked.") /obj/structure/dresser/wardrobe/AltShiftClick(mob/user) change_undergarments(user) @@ -137,7 +137,7 @@ if(!Adjacent(user)) return item_to_retrieve.forceMove(loc) - to_chat(user, "You take [item_to_retrieve] out of [src].") + to_chat(user, SPAN_NOTICE("You take [item_to_retrieve] out of [src].")) if(issilicon(user)) return user.put_in_hands(item_to_retrieve) @@ -151,23 +151,23 @@ if(!Adjacent(user)) return ITEM_INTERACT_COMPLETE if(!is_type_in_list(used, can_hold) || is_type_in_list(used, cant_hold)) - to_chat(user, "You can't put [used] in [src]. It doesn't fit.") + to_chat(user, SPAN_NOTICE("You can't put [used] in [src]. It doesn't fit.")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) - to_chat(user, "[used] is stuck to you!") + to_chat(user, SPAN_WARNING("[used] is stuck to you!")) return ITEM_INTERACT_COMPLETE used.forceMove(src) var/mob/living/carbon/human/H = user add_fingerprint(H) - to_chat(user, "You put [used] in [src].") + to_chat(user, SPAN_NOTICE("You put [used] in [src].")) return ITEM_INTERACT_COMPLETE /obj/structure/dresser/wardrobe/proc/toggle_lock(mob/user) if(!allowed(user)) - to_chat(user, "Access Denied.") + to_chat(user, SPAN_NOTICE("Access Denied.")) return locked = !locked - visible_message("[user] [locked ? null : "un"]lock[user.p_s()] [src].") + visible_message(SPAN_NOTICE("[user] [locked ? null : "un"]lock[user.p_s()] [src].")) var/mob/living/carbon/human/H = user add_fingerprint(H) update_appearance(UPDATE_OVERLAYS) diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm index 3753873db31..3bc1b0e73cc 100644 --- a/code/game/objects/structures/electricchair.dm +++ b/code/game/objects/structures/electricchair.dm @@ -27,7 +27,7 @@ /obj/structure/chair/e_chair/examine(mob/user) . = ..() - . += "You can Alt-Click [src] to activate it." + . += SPAN_WARNING("You can Alt-Click [src] to activate it.") /obj/structure/chair/e_chair/wrench_act(mob/user, obj/item/I) . = TRUE @@ -37,16 +37,16 @@ part.loc = loc part.master = null part = null - visible_message("[user] deconstructs [src].") + visible_message(SPAN_WARNING("[user] deconstructs [src].")) qdel(src) /obj/structure/chair/e_chair/AltClick(mob/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) return if(last_time + delay_time > world.time) - to_chat(user, "[src] is not ready yet!") + to_chat(user, SPAN_WARNING("[src] is not ready yet!")) return - to_chat(user, "You activate [src].") + to_chat(user, SPAN_NOTICE("You activate [src].")) shock() /obj/structure/chair/e_chair/rotate() @@ -82,11 +82,11 @@ flick("echair_shock", src) do_sparks(12, 1, src) - visible_message("The electric chair went off!", "You hear a deep sharp shock!") + visible_message(SPAN_DANGER("The electric chair went off!"), SPAN_DANGER("You hear a deep sharp shock!")) if(has_buckled_mobs()) for(var/m in buckled_mobs) var/mob/living/buckled_mob = m buckled_mob.electrocute_act(110, src, 1) - to_chat(buckled_mob, "You feel a deep shock course through your body!") + to_chat(buckled_mob, SPAN_DANGER("You feel a deep shock course through your body!")) spawn(1) buckled_mob.electrocute_act(110, src, 1) diff --git a/code/game/objects/structures/engicart.dm b/code/game/objects/structures/engicart.dm index a476cc034a9..612557323c2 100644 --- a/code/game/objects/structures/engicart.dm +++ b/code/game/objects/structures/engicart.dm @@ -38,18 +38,18 @@ /obj/structure/engineeringcart/proc/put_in_cart(obj/item/used, mob/user) if(!user.drop_item()) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return FALSE used.loc = src - to_chat(user, "You put [used] into [src].") + to_chat(user, SPAN_NOTICE("You put [used] into [src].")) return TRUE /obj/structure/engineeringcart/item_interaction(mob/living/user, obj/item/used, list/modifiers) . = ITEM_INTERACT_COMPLETE - var/fail_msg = "There is already one of those in [src]!" + var/fail_msg = SPAN_WARNING("There is already one of those in [src]!") if(used.is_robot_module()) - to_chat(user, "You cannot interface your modules with [src]!") + to_chat(user, SPAN_WARNING("You cannot interface your modules with [src]!")) return if(istype(used, /obj/item/stack/sheet/glass)) @@ -144,9 +144,9 @@ tool.play_tool_sound(src, tool.tool_volume) anchored = FALSE user.visible_message( - "[user] loosens [src]'s casters.", - "You have loosened [src]'s casters.", - "You hear ratcheting." + SPAN_NOTICE("[user] loosens [src]'s casters."), + SPAN_NOTICE("You have loosened [src]'s casters."), + SPAN_NOTICE("You hear ratcheting.") ) return @@ -154,9 +154,9 @@ tool.play_tool_sound(src, tool.tool_volume) anchored = TRUE user.visible_message( - "[user] tightens [src]'s casters.", - "You have tightened [src]'s casters.", - "You hear ratcheting." + SPAN_NOTICE("[user] tightens [src]'s casters."), + SPAN_NOTICE("You have tightened [src]'s casters."), + SPAN_NOTICE("You hear ratcheting.") ) /obj/structure/engineeringcart/attack_hand(mob/user) @@ -190,7 +190,7 @@ return user.put_in_hands(my_glass) - to_chat(user, "You take [my_glass] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_glass] from [src].")) my_glass = null if("Metal") @@ -198,7 +198,7 @@ return user.put_in_hands(my_metal) - to_chat(user, "You take [my_metal] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_metal] from [src].")) my_metal = null if("Plasteel") @@ -206,7 +206,7 @@ return user.put_in_hands(my_plasteel) - to_chat(user, "You take [my_plasteel] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_plasteel] from [src].")) my_plasteel = null if("Flashlight") @@ -214,7 +214,7 @@ return user.put_in_hands(my_flashlight) - to_chat(user, "You take [my_flashlight] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_flashlight] from [src].")) my_flashlight = null if("Mechanical Toolbox") @@ -222,7 +222,7 @@ return user.put_in_hands(my_blue_toolbox) - to_chat(user, "You take [my_blue_toolbox] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_blue_toolbox] from [src].")) my_blue_toolbox = null if("Emergency Toolbox") @@ -230,7 +230,7 @@ return user.put_in_hands(my_red_toolbox) - to_chat(user, "You take [my_red_toolbox] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_red_toolbox] from [src].")) my_red_toolbox = null if("Electrical Toolbox") @@ -238,7 +238,7 @@ return user.put_in_hands(my_yellow_toolbox) - to_chat(user, "You take [my_yellow_toolbox] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_yellow_toolbox] from [src].")) my_yellow_toolbox = null update_icon(UPDATE_OVERLAYS) diff --git a/code/game/objects/structures/extinguisher_cabinet.dm b/code/game/objects/structures/extinguisher_cabinet.dm index 5c22c40fa9f..c8f8dc82055 100644 --- a/code/game/objects/structures/extinguisher_cabinet.dm +++ b/code/game/objects/structures/extinguisher_cabinet.dm @@ -33,11 +33,11 @@ /obj/structure/extinguisher_cabinet/examine(mob/user) . = ..() - . += "Alt-click to [opened ? "close":"open"] it." + . += SPAN_NOTICE("Alt-click to [opened ? "close":"open"] it.") /obj/structure/extinguisher_cabinet/AltClick(mob/living/user) if(!istype(user) || user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(!in_range(src, user)) return @@ -72,7 +72,7 @@ contents += O has_extinguisher = O update_icon(UPDATE_ICON_STATE) - to_chat(user, "You place [O] in [src].") + to_chat(user, SPAN_NOTICE("You place [O] in [src].")) return TRUE else playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) @@ -87,10 +87,10 @@ /obj/structure/extinguisher_cabinet/welder_act(mob/user, obj/item/I) if(has_extinguisher) - to_chat(user, "You need to remove the extinguisher before deconstructing [src]!") + to_chat(user, SPAN_WARNING("You need to remove the extinguisher before deconstructing [src]!")) return if(!opened) - to_chat(user, "Open the cabinet before cutting it apart!") + to_chat(user, SPAN_WARNING("Open the cabinet before cutting it apart!")) return . = TRUE if(!I.tool_use_check(user, 0)) @@ -102,7 +102,7 @@ /obj/structure/extinguisher_cabinet/attack_hand(mob/user) if(isrobot(user) || isalien(user)) - to_chat(user, "You don't have the dexterity to do this!") + to_chat(user, SPAN_NOTICE("You don't have the dexterity to do this!")) return if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -116,7 +116,7 @@ if(icon_state == "extinguisher_closed") playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) user.put_in_hands(has_extinguisher) - to_chat(user, "You take [has_extinguisher] from [src].") + to_chat(user, SPAN_NOTICE("You take [has_extinguisher] from [src].")) has_extinguisher = null opened = TRUE else @@ -129,7 +129,7 @@ if(icon_state == "extinguisher_closed") playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) has_extinguisher.loc = loc - to_chat(user, "You telekinetically remove [has_extinguisher] from [src].") + to_chat(user, SPAN_NOTICE("You telekinetically remove [has_extinguisher] from [src].")) has_extinguisher = null opened = TRUE else diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 4e511d2da7b..fc5a3473567 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -42,14 +42,14 @@ var/healthpercent = (obj_integrity/max_integrity) * 100 switch(healthpercent) if(100) - . += "It looks fully intact." + . += SPAN_NOTICE("It looks fully intact.") if(70 to 99) - . += "It looks slightly damaged." + . += SPAN_WARNING("It looks slightly damaged.") if(40 to 70) - . += "It looks moderately damaged." + . += SPAN_WARNING("It looks moderately damaged.") if(0 to 40) - . += "It looks heavily damaged." - . += "
Using a lit welding tool on this item will allow you to slice through it, eventually removing the outer layer." + . += SPAN_DANGER("It looks heavily damaged.") + . += "
[SPAN_NOTICE("Using a lit welding tool on this item will allow you to slice through it, eventually removing the outer layer.")]" /obj/structure/falsewall/Destroy() density = FALSE @@ -116,7 +116,7 @@ /obj/structure/falsewall/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(opening) - to_chat(user, "You must wait until the door has stopped moving.") + to_chat(user, SPAN_WARNING("You must wait until the door has stopped moving.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/gun/energy/plasmacutter) || istype(used, /obj/item/pickaxe/drill/diamonddrill) || istype(used, /obj/item/pickaxe/drill/jackhammer) || istype(used, /obj/item/melee/energy/blade) || istype(used, /obj/item/pyro_claws)) @@ -127,24 +127,24 @@ . = ..() if(. && M.environment_smash >= env_smash_level) deconstruct(FALSE) - to_chat(M, "You smash through the wall.") + to_chat(M, SPAN_NOTICE("You smash through the wall.")) /obj/structure/falsewall/screwdriver_act(mob/living/user, obj/item/I) if(opening) - to_chat(user, "You must wait until the door has stopped moving.") + to_chat(user, SPAN_WARNING("You must wait until the door has stopped moving.")) return TRUE if(!density) - to_chat(user, "You can't reach, close it first!") + to_chat(user, SPAN_WARNING("You can't reach, close it first!")) return TRUE var/turf/T = get_turf(src) if(T.density) - to_chat(user, "[src] is blocked!") + to_chat(user, SPAN_WARNING("[src] is blocked!")) return TRUE if(!isfloorturf(T)) - to_chat(user, "[src] bolts must be tightened on the floor!") + to_chat(user, SPAN_WARNING("[src] bolts must be tightened on the floor!")) return TRUE - user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.") + user.visible_message(SPAN_NOTICE("[user] tightens some bolts on the wall."), SPAN_WARNING("You tighten the bolts on the wall.")) ChangeToWall() return TRUE @@ -157,7 +157,7 @@ dismantle(user, TRUE) /obj/structure/falsewall/proc/dismantle(mob/user, disassembled = TRUE) - user.visible_message("[user] dismantles the false wall.", "You dismantle the false wall.") + user.visible_message(SPAN_NOTICE("[user] dismantles the false wall."), SPAN_WARNING("You dismantle the false wall.")) playsound(src, 'sound/items/welder.ogg', 100, TRUE) deconstruct(disassembled) @@ -192,7 +192,7 @@ /obj/structure/falsewall/reinforced/examine_status(mob/user) . = ..() - . += "
The outer grille is fully intact." //not going to fake other states of disassembly + . += "
[SPAN_NOTICE("The outer grille is fully intact.")]" //not going to fake other states of disassembly /obj/structure/falsewall/reinforced/ChangeToWall(delete = 1) var/turf/T = get_turf(src) diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm index b3babf75ef3..1995c457b81 100644 --- a/code/game/objects/structures/fence.dm +++ b/code/game/objects/structures/fence.dm @@ -66,15 +66,15 @@ var/obj/item/stack/rods/R = used if(R.get_amount() < HOLE_REPAIR) - to_chat(user, "You need [HOLE_REPAIR] rods to fix this fence!") + to_chat(user, SPAN_WARNING("You need [HOLE_REPAIR] rods to fix this fence!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You begin repairing the fence...") + to_chat(user, SPAN_NOTICE("You begin repairing the fence...")) if(do_after_once(user, 3 SECONDS * used.toolspeed, target = src) && hole_size != NO_HOLE && R.use(HOLE_REPAIR)) playsound(src, used.usesound, 80, 1) hole_size = NO_HOLE obj_integrity = max_integrity - to_chat(user, "You repair the fence.") + to_chat(user, SPAN_NOTICE("You repair the fence.")) update_cut_status() return ITEM_INTERACT_COMPLETE @@ -84,18 +84,18 @@ return if(flags & NODECONSTRUCT) - to_chat(user, "This fence is too strong to cut through!") + to_chat(user, SPAN_WARNING("This fence is too strong to cut through!")) return user.visible_message( - "[user] starts cutting through [src] with [I].", - "You start cutting through [src] with [I]." + SPAN_WARNING("[user] starts cutting through [src] with [I]."), + SPAN_NOTICE("You start cutting through [src] with [I].") ) if(!can_have_holes) if(I.use_tool(src, user, FULL_CUT_TIME, volume = I.tool_volume, do_after_once = TRUE)) user.visible_message( - "[user] completely dismantles [src].", - "You completely dismantle [src]." + SPAN_WARNING("[user] completely dismantles [src]."), + SPAN_NOTICE("You completely dismantle [src].") ) deconstruct() return @@ -103,22 +103,22 @@ // Required to avoid tool spam from stacking and instantly cutting multiple stages at once. if(!I.use_tool(src, user, CUT_TIME * I.toolspeed, volume = I.tool_volume, do_after_once = TRUE)) return - + switch(hole_size) if(NO_HOLE) user.visible_message( - "[user] cuts a hole into [src].", - "You could probably fit yourself through that hole. Although climbing through would be much faster if you made it even bigger..." + SPAN_WARNING("[user] cuts a hole into [src]."), + SPAN_NOTICE("You could probably fit yourself through that hole. Although climbing through would be much faster if you made it even bigger...") ) if(SMALL_HOLE) user.visible_message( - "[user] completely cuts through [src].", - "The hole in [src] is now big enough to walk through." + SPAN_WARNING("[user] completely cuts through [src]."), + SPAN_NOTICE("The hole in [src] is now big enough to walk through.") ) if(LARGE_HOLE) user.visible_message( - "[user] completely dismantles [src].", - "You completely dismantle [src]." + SPAN_WARNING("[user] completely dismantles [src]."), + SPAN_NOTICE("You completely dismantle [src].") ) deconstruct() return @@ -222,7 +222,7 @@ /obj/structure/fence/door/proc/toggle(mob/user) open = !open - visible_message("[user] [open ? "opens" : "closes"] [src].") + visible_message(SPAN_NOTICE("[user] [open ? "opens" : "closes"] [src].")) update_door_status() playsound(src, 'sound/machines/door_open.ogg', 20, TRUE) diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 5cc1f08153e..0d51d107694 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -272,9 +272,9 @@ /obj/item/kirbyplants/examine(mob/user) . = ..() if(hideable) - . += "You can hide behind [src] by picking it up with both hands free." + . += SPAN_NOTICE("You can hide behind [src] by picking it up with both hands free.") else - . += "It's too small to hide behind." + . += SPAN_NOTICE("It's too small to hide behind.") /obj/item/kirbyplants/equipped(mob/living/carbon/user) . = ..() @@ -536,12 +536,12 @@ if(istype(I, /obj/item/hatchet) && !stump) if(indestructable) //this bush marks the edge of the map, you can't destroy it - to_chat(user, "You flail away at the undergrowth, but it's too thick here.") + to_chat(user, SPAN_WARNING("You flail away at the undergrowth, but it's too thick here.")) else - user.visible_message("[user] begins clearing away [src].
","You begin clearing away [src].
") + user.visible_message(SPAN_DANGER("[user] begins clearing away [src]."), SPAN_WARNING("You begin clearing away [src].")) spawn(rand(15,30)) if(get_dist(user,src) < 2) - to_chat(user, "You clear away [src].") + to_chat(user, SPAN_NOTICE("You clear away [src].")) var/obj/item/stack/sheet/wood/W = new(src.loc) W.amount = rand(3,15) if(prob(50)) diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm index a703b4c4663..5df774b4a18 100644 --- a/code/game/objects/structures/fluff.dm +++ b/code/game/objects/structures/fluff.dm @@ -12,10 +12,10 @@ if(!deconstructible) return FALSE - user.visible_message("[user] starts disassembling [src]...", "You start disassembling [src]...") + user.visible_message(SPAN_NOTICE("[user] starts disassembling [src]..."), SPAN_NOTICE("You start disassembling [src]...")) playsound(loc, I.usesound, 50, TRUE) if(I.use_tool(src, user, 5 SECONDS, 0, 50)) - user.visible_message("[user] disassembles [src]!", "You break down [src] into scrap metal.") + user.visible_message(SPAN_NOTICE("[user] disassembles [src]!"), SPAN_NOTICE("You break down [src] into scrap metal.")) playsound(user, 'sound/items/deconstruct.ogg', 50, TRUE) new /obj/item/stack/sheet/metal(drop_location()) qdel(src) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 9174589af9d..b132aa55179 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -23,18 +23,18 @@ . = ..() switch(state) if(GIRDER_REINF) - . += "The support struts are screwed in place." + . += SPAN_NOTICE("The support struts are screwed in place.") if(GIRDER_REINF_STRUTS) - . += "The support struts are unscrewed and the inner grille is intact." + . += SPAN_NOTICE("The support struts are unscrewed and the inner grille is intact.") if(GIRDER_NORMAL) - . += "The bolts are lodged in place." + . += SPAN_NOTICE("The bolts are lodged in place.") if(GIRDER_DISPLACED) - . += "The bolts are loosened, but the screws are holding [src] together." + . += SPAN_NOTICE("The bolts are loosened, but the screws are holding [src] together.") if(GIRDER_DISASSEMBLED) - . += "[src] is disassembled! You probably shouldn't be able to see this examine message." - . += "Various types of metal sheets can be used on this to create different kinds of walls." + . += SPAN_NOTICE("[src] is disassembled! You probably shouldn't be able to see this examine message.") + . += SPAN_NOTICE("Various types of metal sheets can be used on this to create different kinds of walls.") if(can_displace) - . += "Apply a crowbar to this item to cause any walls to be made to be false walls. Use a wrench on this item to deconstruct it." + . += SPAN_NOTICE("Apply a crowbar to this item to cause any walls to be made to be false walls. Use a wrench on this item to deconstruct it.") /obj/structure/girder/proc/refundMetal(metalAmount) //refunds metal used in construction when deconstructed @@ -50,82 +50,82 @@ /obj/structure/girder/item_interaction(mob/living/user, obj/item/W, list/modifiers) add_fingerprint(user) if(istype(W, /obj/item/gun/energy/plasmacutter)) - to_chat(user, "You start slicing apart the girder...") + to_chat(user, SPAN_NOTICE("You start slicing apart the girder...")) if(do_after(user, 40 * W.toolspeed, target = src)) if(!src) return ITEM_INTERACT_COMPLETE playsound(loc, W.usesound, 100, 1) - to_chat(user, "You slice apart the girder.") + to_chat(user, SPAN_NOTICE("You slice apart the girder.")) refundMetal(metalUsed) qdel(src) return ITEM_INTERACT_COMPLETE else if(istype(W, /obj/item/pickaxe/drill/diamonddrill)) - to_chat(user, "You drill through the girder!") + to_chat(user, SPAN_NOTICE("You drill through the girder!")) refundMetal(metalUsed) qdel(src) return ITEM_INTERACT_COMPLETE else if(istype(W, /obj/item/pickaxe/drill/jackhammer)) playsound(loc, W.usesound, 100, 1) - to_chat(user, "You disintegrate the girder!") + to_chat(user, SPAN_NOTICE("You disintegrate the girder!")) refundMetal(metalUsed) qdel(src) return ITEM_INTERACT_COMPLETE else if(istype(W, /obj/item/pyro_claws)) playsound(loc, W.usesound, 100, 1) - to_chat(user, "You melt the girder!") + to_chat(user, SPAN_NOTICE("You melt the girder!")) refundMetal(metalUsed) qdel(src) return ITEM_INTERACT_COMPLETE else if(istype(W, /obj/item/stack)) if(iswallturf(loc)) - to_chat(user, "There is already a wall present!") + to_chat(user, SPAN_WARNING("There is already a wall present!")) return ITEM_INTERACT_COMPLETE if(!isfloorturf(loc)) - to_chat(user, "A floor must be present to build a false wall!") + to_chat(user, SPAN_WARNING("A floor must be present to build a false wall!")) return ITEM_INTERACT_COMPLETE if(locate(/obj/structure/falsewall) in loc.contents) - to_chat(user, "There is already a false wall present!") + to_chat(user, SPAN_WARNING("There is already a false wall present!")) return ITEM_INTERACT_COMPLETE if(islava(loc)) - to_chat(user, "You can't do that while [src] is in lava!") + to_chat(user, SPAN_WARNING("You can't do that while [src] is in lava!")) return ITEM_INTERACT_COMPLETE if(istype(W, /obj/item/stack/sheet/runed_metal)) - to_chat(user, "You can't seem to make the metal bend.") + to_chat(user, SPAN_WARNING("You can't seem to make the metal bend.")) return ITEM_INTERACT_COMPLETE if(istype(W, /obj/item/stack/sheet/bamboo)) // pending wall resprite(tm) - to_chat(user, "The bamboo doesn't seem to fit around the girder.") + to_chat(user, SPAN_WARNING("The bamboo doesn't seem to fit around the girder.")) return ITEM_INTERACT_COMPLETE if(istype(W,/obj/item/stack/rods)) var/obj/item/stack/rods/S = W if(state == GIRDER_DISPLACED) if(S.get_amount() < 5) - to_chat(user, "You need at least five rods to create a false wall!") + to_chat(user, SPAN_WARNING("You need at least five rods to create a false wall!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start building a reinforced false wall...") + to_chat(user, SPAN_NOTICE("You start building a reinforced false wall...")) if(do_after(user, 20, target = src)) if(!loc || !S || S.get_amount() < 5) return ITEM_INTERACT_COMPLETE S.use(5) - to_chat(user, "You create a false wall. Push on it to open or close the passage.") + to_chat(user, SPAN_NOTICE("You create a false wall. Push on it to open or close the passage.")) var/obj/structure/falsewall/iron/FW = new (loc) transfer_fingerprints_to(FW) qdel(src) return ITEM_INTERACT_COMPLETE else if(S.get_amount() < 5) - to_chat(user, "You need at least five rods to add plating!") + to_chat(user, SPAN_WARNING("You need at least five rods to add plating!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start adding plating...") + to_chat(user, SPAN_NOTICE("You start adding plating...")) if(do_after(user, 40, target = src)) if(!loc || !S || S.get_amount() < 5) return ITEM_INTERACT_COMPLETE S.use(5) - to_chat(user, "You add the plating.") + to_chat(user, SPAN_NOTICE("You add the plating.")) var/turf/T = get_turf(src) T.ChangeTurf(/turf/simulated/wall/mineral/iron) transfer_fingerprints_to(T) @@ -136,27 +136,27 @@ var/obj/item/stack/ore/glass/basalt/A = W if(state == GIRDER_DISPLACED) if(A.get_amount() < 2) - to_chat(user, "You need at least two [A] to create a false wall!") + to_chat(user, SPAN_WARNING("You need at least two [A] to create a false wall!")) return ITEM_INTERACT_COMPLETE if(do_after(user, 2 SECONDS, target = src)) if(!loc || !A || A.get_amount() < 2) return ITEM_INTERACT_COMPLETE A.use(2) - to_chat(user, "You create a false wall. Push on it to open or close the passage.") + to_chat(user, SPAN_NOTICE("You create a false wall. Push on it to open or close the passage.")) var/obj/structure/falsewall/rock_ancient/FW = new (loc) transfer_fingerprints_to(FW) qdel(src) return ITEM_INTERACT_COMPLETE else if(A.get_amount() < 2) - to_chat(user, "You need at least two [A] to add plating!") + to_chat(user, SPAN_WARNING("You need at least two [A] to add plating!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start adding [A]...") + to_chat(user, SPAN_NOTICE("You start adding [A]...")) if(do_after(user, 4 SECONDS, target = src)) if(!src || !A || A.get_amount() < 2) return ITEM_INTERACT_COMPLETE A.use(2) - to_chat(user, "You add [A].") + to_chat(user, SPAN_NOTICE("You add [A].")) var/turf/parent_turf = get_turf(src) parent_turf.ChangeTurf(/turf/simulated/mineral/ancient) for(var/turf/simulated/mineral/X in parent_turf.loc) @@ -169,34 +169,34 @@ var/obj/item/stack/sheet/S = W if(!S.wall_allowed) - to_chat(user, "You don't think that is good material for a wall!") + to_chat(user, SPAN_WARNING("You don't think that is good material for a wall!")) return ITEM_INTERACT_COMPLETE if(istype(S, /obj/item/stack/sheet/wood)) if(state == GIRDER_DISPLACED) if(S.get_amount() < 2) - to_chat(user, "You need two planks of wood to create a false wall!") + to_chat(user, SPAN_WARNING("You need two planks of wood to create a false wall!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start building a false wall...") + to_chat(user, SPAN_NOTICE("You start building a false wall...")) if(do_after(user, 20, target = src)) if(!loc || !S || S.get_amount() < 2) return ITEM_INTERACT_COMPLETE S.use(2) - to_chat(user, "You create a false wall. Push on it to open or close the passage.") + to_chat(user, SPAN_NOTICE("You create a false wall. Push on it to open or close the passage.")) var/obj/structure/falsewall/wood/falsewood = new(loc) transfer_fingerprints_to(falsewood) qdel(src) return ITEM_INTERACT_COMPLETE else if(S.get_amount() < 2) - to_chat(user, "You need two planks of wood to finish a wall!") + to_chat(user, SPAN_WARNING("You need two planks of wood to finish a wall!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start adding plating...") + to_chat(user, SPAN_NOTICE("You start adding plating...")) if(do_after(user, 40 * W.toolspeed, target = src)) if(!src || !S || S.get_amount() < 2) return ITEM_INTERACT_COMPLETE S.use(2) - to_chat(user, "You add the plating.") + to_chat(user, SPAN_NOTICE("You add the plating.")) var/turf/Tsrc = get_turf(src) Tsrc.ChangeTurf(/turf/simulated/wall/mineral/wood) for(var/turf/simulated/wall/mineral/wood/X in Tsrc.loc) @@ -207,28 +207,28 @@ else if(istype(S, /obj/item/stack/sheet/metal)) if(state == GIRDER_DISPLACED) if(S.get_amount() < 2) - to_chat(user, "You need two sheets of metal to create a false wall!") + to_chat(user, SPAN_WARNING("You need two sheets of metal to create a false wall!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start building a false wall...") + to_chat(user, SPAN_NOTICE("You start building a false wall...")) if(do_after(user, 20, target = src)) if(!loc || !S || S.get_amount() < 2) return ITEM_INTERACT_COMPLETE S.use(2) - to_chat(user, "You create a false wall. Push on it to open or close the passage.") + to_chat(user, SPAN_NOTICE("You create a false wall. Push on it to open or close the passage.")) var/obj/structure/falsewall/F = new(loc) transfer_fingerprints_to(F) qdel(src) return ITEM_INTERACT_COMPLETE else if(S.get_amount() < 2) - to_chat(user, "You need two sheets of metal to finish a wall!") + to_chat(user, SPAN_WARNING("You need two sheets of metal to finish a wall!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start adding plating...") + to_chat(user, SPAN_NOTICE("You start adding plating...")) if(do_after(user, 40 * W.toolspeed, target = src)) if(!src || !S || S.get_amount() < 2) return ITEM_INTERACT_COMPLETE S.use(2) - to_chat(user, "You add the plating.") + to_chat(user, SPAN_NOTICE("You add the plating.")) var/turf/Tsrc = get_turf(src) Tsrc.ChangeTurf(/turf/simulated/wall) for(var/turf/simulated/wall/X in Tsrc.loc) @@ -240,14 +240,14 @@ if(istype(S, /obj/item/stack/sheet/plasteel)) if(state == GIRDER_DISPLACED) if(S.get_amount() < 2) - to_chat(user, "You need at least two sheets to create a false wall!") + to_chat(user, SPAN_WARNING("You need at least two sheets to create a false wall!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start building a reinforced false wall...") + to_chat(user, SPAN_NOTICE("You start building a reinforced false wall...")) if(do_after(user, 20, target = src)) if(!loc || !S || S.get_amount() < 2) return ITEM_INTERACT_COMPLETE S.use(2) - to_chat(user, "You create a reinforced false wall. Push on it to open or close the passage.") + to_chat(user, SPAN_NOTICE("You create a reinforced false wall. Push on it to open or close the passage.")) var/obj/structure/falsewall/reinforced/FW = new (loc) transfer_fingerprints_to(FW) qdel(src) @@ -256,12 +256,12 @@ if(state == GIRDER_REINF) if(S.get_amount() < 1) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start finalizing the reinforced wall...") + to_chat(user, SPAN_NOTICE("You start finalizing the reinforced wall...")) if(do_after(user, 50, target = src)) if(!src || !S || S.get_amount() < 1) return ITEM_INTERACT_COMPLETE S.use(1) - to_chat(user, "You fully reinforce the wall.") + to_chat(user, SPAN_NOTICE("You fully reinforce the wall.")) var/turf/Tsrc = get_turf(src) Tsrc.ChangeTurf(/turf/simulated/wall/r_wall) for(var/turf/simulated/wall/r_wall/X in Tsrc.loc) @@ -272,12 +272,12 @@ else if(S.get_amount() < 1) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start reinforcing the girder...") + to_chat(user, SPAN_NOTICE("You start reinforcing the girder...")) if(do_after(user,60, target = src)) if(!src || !S || S.get_amount() < 1) return ITEM_INTERACT_COMPLETE S.use(1) - to_chat(user, "You reinforce the girder.") + to_chat(user, SPAN_NOTICE("You reinforce the girder.")) var/obj/structure/girder/reinforced/R = new (loc) transfer_fingerprints_to(R) qdel(src) @@ -287,13 +287,13 @@ var/M = S.sheettype if(state == GIRDER_DISPLACED) if(S.get_amount() < 2) - to_chat(user, "You need at least two sheets to create a false wall!") + to_chat(user, SPAN_WARNING("You need at least two sheets to create a false wall!")) return ITEM_INTERACT_COMPLETE if(do_after(user, 20, target = src)) if(!loc || !S || S.get_amount() < 2) return ITEM_INTERACT_COMPLETE S.use(2) - to_chat(user, "You create a false wall. Push on it to open or close the passage.") + to_chat(user, SPAN_NOTICE("You create a false wall. Push on it to open or close the passage.")) var/F = text2path("/obj/structure/falsewall/[M]") var/obj/structure/FW = new F (loc) transfer_fingerprints_to(FW) @@ -301,14 +301,14 @@ return ITEM_INTERACT_COMPLETE else if(S.get_amount() < 2) - to_chat(user, "You need at least two sheets to add plating!") + to_chat(user, SPAN_WARNING("You need at least two sheets to add plating!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start adding plating...") + to_chat(user, SPAN_NOTICE("You start adding plating...")) if(do_after(user,40, target = src)) if(!src || !S || S.get_amount() < 2) return ITEM_INTERACT_COMPLETE S.use(2) - to_chat(user, "You add the plating.") + to_chat(user, SPAN_NOTICE("You add the plating.")) var/turf/Tsrc = get_turf(src) Tsrc.ChangeTurf(text2path("/turf/simulated/wall/mineral/[M]")) for(var/turf/simulated/wall/mineral/X in Tsrc.loc) @@ -325,10 +325,10 @@ . = TRUE if(!I.tool_use_check(user, 0)) return - to_chat(user, "You start dislodging the girder...") + to_chat(user, SPAN_NOTICE("You start dislodging the girder...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_NORMAL) return - to_chat(user, "You dislodge the girder.") + to_chat(user, SPAN_NOTICE("You dislodge the girder.")) var/obj/structure/girder/displaced/D = new (loc) transfer_fingerprints_to(D) qdel(src) @@ -350,16 +350,16 @@ M.add_fingerprint(user) qdel(src) if(GIRDER_REINF) - to_chat(user, "You start unsecuring support struts...") + to_chat(user, SPAN_NOTICE("You start unsecuring support struts...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_REINF) return - to_chat(user, "You unsecure the support struts.") + to_chat(user, SPAN_NOTICE("You unsecure the support struts.")) state = GIRDER_REINF_STRUTS if(GIRDER_REINF_STRUTS) - to_chat(user, "You start securing support struts...") + to_chat(user, SPAN_NOTICE("You start securing support struts...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_REINF_STRUTS) return - to_chat(user, "You secure the support struts.") + to_chat(user, SPAN_NOTICE("You secure the support struts.")) state = GIRDER_REINF /obj/structure/girder/wirecutter_act(mob/user, obj/item/I) @@ -368,10 +368,10 @@ . = TRUE if(!I.tool_use_check(user, 0)) return - to_chat(user, "You start removing the inner grille...") + to_chat(user, SPAN_NOTICE("You start removing the inner grille...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_REINF_STRUTS) return - to_chat(user, "You remove the inner grille.") + to_chat(user, SPAN_NOTICE("You remove the inner grille.")) new /obj/item/stack/sheet/plasteel(get_turf(src)) var/obj/structure/girder/G = new (loc) transfer_fingerprints_to(G) @@ -393,12 +393,12 @@ qdel(src) else if(!isfloorturf(loc)) - to_chat(user, "A floor must be present to secure the girder!") + to_chat(user, SPAN_WARNING("A floor must be present to secure the girder!")) return - to_chat(user, "You start securing the girder...") + to_chat(user, SPAN_NOTICE("You start securing the girder...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_DISPLACED) return - to_chat(user, "You secure the girder.") + to_chat(user, SPAN_NOTICE("You secure the girder.")) var/obj/structure/girder/G = new(loc) transfer_fingerprints_to(G) qdel(src) @@ -473,15 +473,15 @@ /obj/structure/girder/cult/item_interaction(mob/living/user, obj/item/W, list/modifiers) add_fingerprint(user) if(istype(W, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user)) //Cultists can demolish cult girders instantly with their dagger - user.visible_message("[user] strikes [src] with [W]!", "You demolish [src].") + user.visible_message(SPAN_WARNING("[user] strikes [src] with [W]!"), SPAN_NOTICE("You demolish [src].")) refundMetal(metalUsed) qdel(src) return ITEM_INTERACT_COMPLETE else if(istype(W, /obj/item/gun/energy/plasmacutter)) - to_chat(user, "You start slicing apart the girder...") + to_chat(user, SPAN_NOTICE("You start slicing apart the girder...")) if(do_after(user, 40* W.toolspeed, target = src)) playsound(loc, W.usesound, 100, 1) - to_chat(user, "You slice apart the girder.") + to_chat(user, SPAN_NOTICE("You slice apart the girder.")) var/obj/item/stack/sheet/runed_metal/R = new(get_turf(src)) R.amount = 1 transfer_fingerprints_to(R) @@ -489,7 +489,7 @@ return ITEM_INTERACT_COMPLETE else if(istype(W, /obj/item/pickaxe/drill/jackhammer)) var/obj/item/pickaxe/drill/jackhammer/D = W - to_chat(user, "Your jackhammer smashes through the girder!") + to_chat(user, SPAN_NOTICE("Your jackhammer smashes through the girder!")) var/obj/item/stack/sheet/runed_metal/R = new(get_turf(src)) R.amount = 1 transfer_fingerprints_to(R) @@ -499,13 +499,13 @@ else if(istype(W, /obj/item/stack/sheet/runed_metal)) var/obj/item/stack/sheet/runed_metal/R = W if(R.get_amount() < 1) - to_chat(user, "You need at least one sheet of runed metal to construct a runed wall!") + to_chat(user, SPAN_WARNING("You need at least one sheet of runed metal to construct a runed wall!")) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] begins laying runed metal on [src]...", "You begin constructing a runed wall...") + user.visible_message(SPAN_NOTICE("[user] begins laying runed metal on [src]..."), SPAN_NOTICE("You begin constructing a runed wall...")) if(do_after(user, 10, target = src)) if(R.get_amount() < 1 || !R) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] plates [src] with runed metal.", "You construct a runed wall.") + user.visible_message(SPAN_NOTICE("[user] plates [src] with runed metal."), SPAN_NOTICE("You construct a runed wall.")) R.use(1) var/turf/T = get_turf(src) T.ChangeTurf(/turf/simulated/wall/cult) diff --git a/code/game/objects/structures/grey_autocloner.dm b/code/game/objects/structures/grey_autocloner.dm index a45fd1d8a7d..dc865a1268b 100644 --- a/code/game/objects/structures/grey_autocloner.dm +++ b/code/game/objects/structures/grey_autocloner.dm @@ -84,7 +84,7 @@ clonemind.transfer_to(H) //INSTANTLY INTO THE CLONE H.ckey = R.ckey - to_chat(H, "Consciousness slowly creeps over you as your body regenerates.
So this is what cloning feels like?
") + to_chat(H, SPAN_NOTICE("Consciousness slowly creeps over you as your body regenerates.
So this is what cloning feels like?")) update_icon() diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index aeb75e705cd..d4a7ac8f2a8 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -24,12 +24,12 @@ /obj/structure/grille/examine(mob/user) . = ..() - . += "A powered wire underneath this will cause the grille to shock anyone who touches the grill. An electric shock may leap forth if the grill is damaged." - . += "Use wirecutters to deconstruct this item." + . += SPAN_NOTICE("A powered wire underneath this will cause the grille to shock anyone who touches the grill. An electric shock may leap forth if the grill is damaged.") + . += SPAN_NOTICE("Use wirecutters to deconstruct this item.") if(anchored) - . += "It's secured in place with screws. The rods look like they could be cut through." + . += SPAN_NOTICE("It's secured in place with screws. The rods look like they could be cut through.") else - . += "The anchoring screws are unscrewed. The rods look like they could be cut through." + . += SPAN_NOTICE("The anchoring screws are unscrewed. The rods look like they could be cut through.") /obj/structure/grille/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() @@ -60,7 +60,7 @@ if(user.environment_smash >= ENVIRONMENT_SMASH_STRUCTURES) playsound(src, 'sound/effects/grillehit.ogg', 80, TRUE) obj_break() - user.visible_message("[user] smashes through [src]!", "You smash through [src].") + user.visible_message(SPAN_DANGER("[user] smashes through [src]!"), SPAN_NOTICE("You smash through [src].")) return take_damage(rand(5,10), BRUTE, MELEE, 1) @@ -73,7 +73,7 @@ if(attacker.environment_smash >= ENVIRONMENT_SMASH_STRUCTURES) playsound(src, 'sound/effects/grillehit.ogg', 80, TRUE) obj_break() - attacker.visible_message("[attacker] smashes through [src]!", "You smash through [src].") + attacker.visible_message(SPAN_DANGER("[attacker] smashes through [src]!"), SPAN_NOTICE("You smash through [src].")) return take_damage(rand(5, 10), BRUTE, MELEE, 1) @@ -93,14 +93,14 @@ return user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_KICK) - user.visible_message("[user] hits [src].") + user.visible_message(SPAN_WARNING("[user] hits [src].")) if(!shock(user, 70)) take_damage(rand(5,10), BRUTE, MELEE, 1) /obj/structure/grille/attack_alien(mob/living/user) user.do_attack_animation(src) user.changeNext_move(CLICK_CD_MELEE) - user.visible_message("[user] mangles [src].") + user.visible_message(SPAN_WARNING("[user] mangles [src].")) if(!shock(user, 70)) take_damage(20, BRUTE, MELEE, 1) @@ -134,8 +134,8 @@ /obj/structure/grille/proc/repair(mob/user, obj/item/stack/rods/R) if(R.get_amount() >= 1) - user.visible_message("[user] rebuilds the broken grille.", - "You rebuild the broken grille.") + user.visible_message(SPAN_NOTICE("[user] rebuilds the broken grille."), + SPAN_NOTICE("You rebuild the broken grille.")) new grille_type(loc) R.use(1) qdel(src) @@ -160,31 +160,31 @@ var/support = locate(/obj/structure/lattice) in get_turf(src) if(!support) support = get_turf(src) - user.visible_message("[user] [anchored ? "fastens" : "unfastens"] [src].", \ - "You [anchored ? "fasten [src] to" : "unfasten [src] from"] \the [support].") + user.visible_message(SPAN_NOTICE("[user] [anchored ? "fastens" : "unfastens"] [src]."), \ + SPAN_NOTICE("You [anchored ? "fasten [src] to" : "unfasten [src] from"] \the [support].")) /obj/structure/grille/proc/build_window(obj/item/stack/sheet/S, mob/user) var/dir_to_set = SOUTHWEST if(!istype(S) || !user) return if(broken) - to_chat(user, "You must repair or replace [src] first!") + to_chat(user, SPAN_WARNING("You must repair or replace [src] first!")) return if(S.get_amount() < 2) - to_chat(user, "You need at least two sheets of glass for that!") + to_chat(user, SPAN_WARNING("You need at least two sheets of glass for that!")) return if(!anchored) - to_chat(user, "[src] needs to be fastened to the floor first!") + to_chat(user, SPAN_WARNING("[src] needs to be fastened to the floor first!")) return for(var/obj/structure/window/WINDOW in loc) - to_chat(user, "There is already a window there!") + to_chat(user, SPAN_WARNING("There is already a window there!")) return - to_chat(user, "You start placing the window...") + to_chat(user, SPAN_NOTICE("You start placing the window...")) if(do_after(user, 20, target = src)) if(!loc || !anchored) //Grille destroyed or unanchored while waiting return for(var/obj/structure/window/WINDOW in loc) //checking this for a 2nd time to check if a window was made while we were waiting. - to_chat(user, "There is already a window there!") + to_chat(user, SPAN_WARNING("There is already a window there!")) return var/obj/structure/window/W = new S.full_window(drop_location()) W.setDir(dir_to_set) @@ -194,7 +194,7 @@ W.update_nearby_icons() W.state = WINDOW_OUT_OF_FRAME S.use(2) - to_chat(user, "You place [W] on [src].") + to_chat(user, SPAN_NOTICE("You place [W] on [src].")) /obj/structure/grille/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index e8e2fea71ba..a917068a899 100644 --- a/code/game/objects/structures/guillotine.dm +++ b/code/game/objects/structures/guillotine.dm @@ -77,8 +77,8 @@ if(GUILLOTINE_BLADE_RAISED) if(has_buckled_mobs()) if(user.a_intent == INTENT_HARM) - user.visible_message("[user] begins to pull the lever!", - "You begin to the pull the lever.") + user.visible_message(SPAN_WARNING("[user] begins to pull the lever!"), + SPAN_WARNING("You begin to the pull the lever.")) current_action = GUILLOTINE_ACTION_INUSE if(do_after(user, GUILLOTINE_ACTIVATE_DELAY, target = src) && blade_status == GUILLOTINE_BLADE_RAISED) @@ -165,16 +165,16 @@ blade_status = GUILLOTINE_BLADE_SHARPENING if(do_after(user, W.toolspeed, target = src)) blade_status = GUILLOTINE_BLADE_RAISED - user.visible_message("[user] sharpens the large blade of the guillotine.", - "You sharpen the large blade of the guillotine.") + user.visible_message(SPAN_NOTICE("[user] sharpens the large blade of the guillotine."), + SPAN_NOTICE("You sharpen the large blade of the guillotine.")) blade_sharpness += 1 playsound(src, 'sound/items/screwdriver.ogg', 100, 1) else blade_status = GUILLOTINE_BLADE_RAISED else - to_chat(user, "The blade is sharp enough!") + to_chat(user, SPAN_WARNING("The blade is sharp enough!")) else - to_chat(user, "You need to raise the blade in order to sharpen it!") + to_chat(user, SPAN_WARNING("You need to raise the blade in order to sharpen it!")) return ITEM_INTERACT_COMPLETE @@ -189,11 +189,11 @@ current_action = 0 return if(has_buckled_mobs()) - to_chat(user, "Can't unfasten, someone's strapped in!") + to_chat(user, SPAN_WARNING("Can't unfasten, someone's strapped in!")) return current_action = 0 - to_chat(user, "You [anchored ? "un" : ""]secure [src].") + to_chat(user, SPAN_NOTICE("You [anchored ? "un" : ""]secure [src].")) anchored = !anchored playsound(src, 'sound/items/deconstruct.ogg', 50, 1) dir = SOUTH @@ -216,15 +216,15 @@ /obj/structure/guillotine/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE) if(!anchored) - to_chat(usr, "[src] needs to be wrenched to the floor!") + to_chat(usr, SPAN_WARNING("[src] needs to be wrenched to the floor!")) return FALSE if(!ishuman(M)) - to_chat(usr, "It doesn't look like [M.p_they()] can fit into this properly!") + to_chat(usr, SPAN_WARNING("It doesn't look like [M.p_they()] can fit into this properly!")) return FALSE // Can't decapitate non-humans if(blade_status != GUILLOTINE_BLADE_RAISED) - to_chat(usr, "You need to raise the blade before buckling someone in!") + to_chat(usr, SPAN_WARNING("You need to raise the blade before buckling someone in!")) return FALSE return ..(M, force, FALSE) diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index 10d9a702950..d1cf749bc57 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -11,9 +11,9 @@ /obj/item/inflatable/examine(mob/user) . = ..() if(!torn) - . += "Use this item in hand to create an inflatable wall." + . += SPAN_NOTICE("Use this item in hand to create an inflatable wall.") else - . += "[src] is torn and cannot hold air anymore. It's completely useless now." + . += SPAN_WARNING("[src] is torn and cannot hold air anymore. It's completely useless now.") /obj/item/inflatable/activate_self(mob/user) @@ -26,11 +26,11 @@ /obj/item/inflatable/interact_with_atom(atom/target, mob/living/user, list/modifiers) inflate(user, target) return ITEM_INTERACT_COMPLETE - + /obj/item/inflatable/proc/inflate(mob/user, atom/target) if(torn) add_fingerprint(user) - to_chat(user, "[src] is torn and cannot be inflated anymore!") + to_chat(user, SPAN_WARNING("[src] is torn and cannot be inflated anymore!")) return var/turf/T = get_turf(target) @@ -38,21 +38,21 @@ return if((locate(/obj/structure/inflatable) in T) || (locate(/obj/structure/window/full) in T)) - to_chat(user, "There's no room to deploy [src] here!") + to_chat(user, SPAN_WARNING("There's no room to deploy [src] here!")) return var/obj/machinery/door/airlock = locate(/obj/machinery/door) in T var/obj/structure/mineral_door/mineral_door = locate(/obj/structure/mineral_door) in T if(mineral_door && mineral_door.density) - to_chat(user, "You need to open [mineral_door] before you can deploy [src] there!") + to_chat(user, SPAN_WARNING("You need to open [mineral_door] before you can deploy [src] there!")) return if(airlock && airlock.density && !istype(airlock, /obj/machinery/door/window)) - to_chat(user, "You need to open [airlock] before you can deploy [src] there!") + to_chat(user, SPAN_WARNING("You need to open [airlock] before you can deploy [src] there!")) return playsound(loc, 'sound/items/zip.ogg', 75, 1) - to_chat(user, "You inflate [src].") + to_chat(user, SPAN_NOTICE("You inflate [src].")) var/obj/structure/inflatable/R = new structure_type(T) src.transfer_fingerprints_to(R) R.add_fingerprint(user) @@ -77,7 +77,7 @@ /obj/structure/inflatable/examine(mob/user) . = ..() - . += "Alt-Click to deflate [src]." + . += SPAN_NOTICE("Alt-Click to deflate [src].") /obj/structure/inflatable/Initialize(mapload, location) . = ..() @@ -231,7 +231,7 @@ /obj/item/inflatable/cyborg/examine(mob/user) . = ..() - . += "As a synthetic, you will synthesise these directly from your cell's energy reserves." + . += SPAN_NOTICE("As a synthetic, you will synthesise these directly from your cell's energy reserves.") /obj/item/inflatable/cyborg/activate_self(mob/user) if(!do_after(user, delay, FALSE, user)) @@ -247,7 +247,7 @@ return ITEM_INTERACT_COMPLETE if(!useResource(user)) - return ITEM_INTERACT_COMPLETE + return ITEM_INTERACT_COMPLETE return ..() @@ -257,7 +257,7 @@ var/mob/living/silicon/robot/R = user if(R.cell.charge < power_cost) - to_chat(user, "Not enough power!") + to_chat(user, SPAN_WARNING("Not enough power!")) return FALSE return R.cell.use(power_cost) diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index cb30fbc53a0..cfe7721c8ef 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -51,11 +51,11 @@ /obj/structure/janitorialcart/proc/put_in_cart(mob/user, obj/item/I) if(!user.unequip(I)) // We can do this here because everything below wants to - to_chat(user, "[I] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[I] is stuck to your hand!")) return I.forceMove(src) - to_chat(user, "You put [I] into [src].") + to_chat(user, SPAN_NOTICE("You put [I] into [src].")) update_icon(UPDATE_OVERLAYS) return @@ -87,18 +87,18 @@ return if(robot_module) - to_chat(user, "You cannot store [used] in [src]!") + to_chat(user, SPAN_WARNING("You cannot store [used] in [src]!")) return if(!my_mop) my_mop = attacking_mop put_in_cart(user, attacking_mop) else - to_chat(user, "There is already one of those in [src].") + to_chat(user, SPAN_NOTICE("There is already one of those in [src].")) return if(robot_module) - to_chat(user, "You cannot store [used] in [src]!") + to_chat(user, SPAN_WARNING("You cannot store [used] in [src]!")) return if(istype(used, /obj/item/caution)) @@ -106,7 +106,7 @@ signs++ put_in_cart(user, used) else - to_chat(user, "[src] can't hold any more signs.") + to_chat(user, SPAN_NOTICE("[src] can't hold any more signs.")) return if(istype(used, /obj/item/push_broom)) @@ -138,7 +138,7 @@ item_present = TRUE if(item_present) - to_chat(user, "There is already one of those in [src].") + to_chat(user, SPAN_NOTICE("There is already one of those in [src].")) return return FALSE @@ -146,17 +146,17 @@ /obj/structure/janitorialcart/crowbar_act(mob/living/user, obj/item/I) . = TRUE user.visible_message( - "[user] begins to empty the contents of [src].", - "You begin to empty the contents of [src].", - "You hear a prying sound." + SPAN_WARNING("[user] begins to empty the contents of [src]."), + SPAN_NOTICE("You begin to empty the contents of [src]."), + SPAN_WARNING("You hear a prying sound.") ) if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume)) return user.visible_message( - "[user] empties the contents of [src]'s bucket onto the floor!", - "You empty the contents of [src]'s bucket onto the floor.", - "You hear liquid spilling onto the floor." + SPAN_WARNING("[user] empties the contents of [src]'s bucket onto the floor!"), + SPAN_NOTICE("You empty the contents of [src]'s bucket onto the floor."), + SPAN_WARNING("You hear liquid spilling onto the floor.") ) reagents.reaction(loc) reagents.clear_reagents() @@ -168,9 +168,9 @@ return user.visible_message( \ - "[user] tightens [src]'s casters.", - "You have tightened [src]'s casters.", - "You hear ratcheting." + SPAN_NOTICE("[user] tightens [src]'s casters."), + SPAN_NOTICE("You have tightened [src]'s casters."), + SPAN_NOTICE("You hear ratcheting.") ) anchored = TRUE return @@ -180,9 +180,9 @@ return user.visible_message( \ - "[user] loosens [src]'s casters.", - "You have loosened [src]'s casters.", - "You hear ratcheting." + SPAN_NOTICE("[user] loosens [src]'s casters."), + SPAN_NOTICE("You have loosened [src]'s casters."), + SPAN_NOTICE("You hear ratcheting.") ) anchored = FALSE @@ -216,38 +216,38 @@ if(!my_bag) return user.put_in_hands(my_bag) - to_chat(user, "You take [my_bag] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_bag] from [src].")) my_bag = null if("Mop") if(!my_mop) return user.put_in_hands(my_mop) - to_chat(user, "You take [my_mop] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_mop] from [src].")) my_mop = null if("Broom") if(!my_broom) return user.put_in_hands(my_broom) - to_chat(user, "You take [my_broom] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_broom] from [src].")) my_broom = null if("Spray Bottle") if(!my_spray) return user.put_in_hands(my_spray) - to_chat(user, "You take [my_spray] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_spray] from [src].")) my_spray = null if("Light Replacer") if(!my_replacer) return user.put_in_hands(my_replacer) - to_chat(user, "You take [my_replacer] from [src].") + to_chat(user, SPAN_NOTICE("You take [my_replacer] from [src].")) my_replacer = null if("Sign") if(!signs) return if(sign) user.put_in_hands(sign) - to_chat(user, "You take \a [sign] from [src].") + to_chat(user, SPAN_NOTICE("You take \a [sign] from [src].")) signs-- else WARNING("Signs ([signs]) didn't match contents") diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index 1fa497e829b..b8bee52e005 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -26,7 +26,7 @@ var/obj/item/stack/rods/R = I if(R.get_amount() >= 4) R.use(4) - to_chat(user, "You add spikes to the frame.") + to_chat(user, SPAN_NOTICE("You add spikes to the frame.")) new /obj/structure/kitchenspike(loc) add_fingerprint(user) qdel(src) @@ -36,7 +36,7 @@ /obj/structure/kitchenspike_frame/examine(mob/user) . = ..() - . += "Add metal rods to complete construction, or use a wrench to deconstruct it." + . += SPAN_NOTICE("Add metal rods to complete construction, or use a wrench to deconstruct it.") /obj/structure/kitchenspike_frame/deconstruct(disassembled = TRUE) if(disassembled) @@ -60,7 +60,7 @@ /obj/structure/kitchenspike/examine(mob/user) . = ..() - . += "To deconstruct, pry out the spikes with a crowbar, then deconstruct the frame with a wrench." + . += SPAN_NOTICE("To deconstruct, pry out the spikes with a crowbar, then deconstruct the frame with a wrench.") //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/structure/kitchenspike/attack_hand(mob/user) @@ -82,11 +82,11 @@ /obj/structure/kitchenspike/crowbar_act(mob/living/user, obj/item/I) . = TRUE if(has_buckled_mobs()) - to_chat(user, "You can't do that while something's on the spike!") + to_chat(user, SPAN_NOTICE("You can't do that while something's on the spike!")) return if(!I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume)) return - to_chat(user, "You pry the spikes out of the frame.") + to_chat(user, SPAN_NOTICE("You pry the spikes out of the frame.")) deconstruct(TRUE) /obj/structure/kitchenspike/MouseDrop_T(mob/living/victim, mob/living/user) @@ -100,11 +100,11 @@ /obj/structure/kitchenspike/proc/start_spike(mob/living/victim, mob/user) if(has_buckled_mobs()) - to_chat(user, "The spike already has something on it, finish collecting its meat first!") + to_chat(user, SPAN_DANGER("The spike already has something on it, finish collecting its meat first!")) return victim.visible_message( - "[user] tries to slam [victim] onto the meat spike!", - "[user] tries to slam you onto the meat spike!" + SPAN_DANGER("[user] tries to slam [victim] onto the meat spike!"), + SPAN_USERDANGER("[user] tries to slam you onto the meat spike!") ) if(do_mob(user, victim, impale_time)) end_spike(victim, user) @@ -122,9 +122,9 @@ victim.forceMove(drop_location()) victim.emote("scream") victim.visible_message( - "[user] slams [victim] onto the meat spike!", - "[user] slams you onto the meat spike!", - "You hear a squishy wet noise." + SPAN_DANGER("[user] slams [victim] onto the meat spike!"), + SPAN_USERDANGER("[user] slams you onto the meat spike!"), + SPAN_ITALICS("You hear a squishy wet noise.") ) if(ishuman(victim)) var/mob/living/carbon/human/H = victim @@ -143,23 +143,23 @@ if(buckled_mob) var/mob/living/M = buckled_mob if(M != user) - M.visible_message("[user] tries to pull [M] free of [src]!",\ - "[user] is trying to pull you off [src], opening up fresh wounds!",\ - "You hear a squishy wet noise.") + M.visible_message(SPAN_NOTICE("[user] tries to pull [M] free of [src]!"),\ + SPAN_NOTICE("[user] is trying to pull you off [src], opening up fresh wounds!"),\ + SPAN_ITALICS("You hear a squishy wet noise.")) if(!do_after(user, 15 SECONDS, target = src)) if(M && M.buckled) - M.visible_message("[user] fails to free [M]!",\ - "[user] fails to pull you off of [src].") + M.visible_message(SPAN_NOTICE("[user] fails to free [M]!"),\ + SPAN_NOTICE("[user] fails to pull you off of [src].")) return else - M.visible_message("[M] struggles to break free from [src]!",\ - "You struggle to break free from [src], exacerbating your wounds! (Stay still for two minutes.)",\ - "You hear a wet squishing noise..") + M.visible_message(SPAN_WARNING("[M] struggles to break free from [src]!"),\ + SPAN_NOTICE("You struggle to break free from [src], exacerbating your wounds! (Stay still for two minutes.)"),\ + SPAN_ITALICS("You hear a wet squishing noise..")) M.adjustBruteLoss(30) if(!do_after(M, 2 MINUTES, target = src, hidden = TRUE)) if(M && M.buckled) - to_chat(M, "You fail to free yourself!") + to_chat(M, SPAN_WARNING("You fail to free yourself!")) return if(!M.buckled) return @@ -167,7 +167,7 @@ /obj/structure/kitchenspike/proc/release_mob(mob/living/M) M.adjustBruteLoss(30) - visible_message(text("[M] falls free of [src]!")) + visible_message(SPAN_DANGER("[M] falls free of [src]!")) unbuckle_mob(M, force = TRUE) M.emote("scream") M.AdjustWeakened(20 SECONDS) diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index 7ec90313aee..f6e67cf47e0 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -23,10 +23,10 @@ /obj/structure/lattice/examine(mob/user) . = ..() . += deconstruction_hints(user) - . += "Add a floor tile to build a floor on top of the lattice." + . += SPAN_NOTICE("Add a floor tile to build a floor on top of the lattice.") /obj/structure/lattice/proc/deconstruction_hints(mob/user) - return "The rods look like they could be cut. There's space for more rods or a tile." + return SPAN_NOTICE("The rods look like they could be cut. There's space for more rods or a tile.") /obj/structure/lattice/wirecutter_act(mob/living/user, obj/item/wirecutters/wirecutters) if(resistance_flags & INDESTRUCTIBLE) @@ -35,7 +35,7 @@ return playsound(loc, wirecutters.usesound, 50, 1) - to_chat(user, "Slicing [name] joints...") + to_chat(user, SPAN_NOTICE("Slicing [name] joints...")) deconstruct() return ITEM_INTERACT_COMPLETE @@ -75,7 +75,7 @@ canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_CATWALK) /obj/structure/lattice/catwalk/deconstruction_hints(mob/user) - to_chat(user, "The supporting rods look like they could be cut.") + to_chat(user, SPAN_NOTICE("The supporting rods look like they could be cut.")) /obj/structure/lattice/catwalk/Move() var/turf/T = loc @@ -103,5 +103,5 @@ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF /obj/structure/lattice/lava/deconstruction_hints(mob/user) - to_chat(user, "The supporting rods look like they could be cut., but the heat treatment will shatter off.") + to_chat(user, "[SPAN_NOTICE("The supporting rods look like they could be cut.")], but the heat treatment will shatter off.") diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm index 2891e79533c..db2131eb29a 100644 --- a/code/game/objects/structures/lavaland/necropolis_tendril.dm +++ b/code/game/objects/structures/lavaland/necropolis_tendril.dm @@ -74,8 +74,8 @@ GLOBAL_LIST_EMPTY(tendrils) /obj/effect/collapse/Initialize(mapload) . = ..() emitted_light = new(loc) - visible_message("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!") - visible_message("Something falls free of the tendril!") + visible_message(SPAN_BOLDANNOUNCEIC("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!")) + visible_message(SPAN_WARNING("Something falls free of the tendril!")) playsound(loc, 'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE) addtimer(CALLBACK(src, PROC_REF(collapse)), 50) @@ -87,7 +87,7 @@ GLOBAL_LIST_EMPTY(tendrils) for(var/mob/M in range(7, src)) shake_camera(M, 15, 1) playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, TRUE) - visible_message("The tendril falls inward, the ground around it widening into a yawning chasm!") + visible_message(SPAN_BOLDANNOUNCEIC("The tendril falls inward, the ground around it widening into a yawning chasm!")) for(var/turf/T in range(LAVALAND_TENDRIL_COLLAPSE_RANGE, src)) if(!T.density) T.TerraformTurf(/turf/simulated/floor/chasm/straight_down/lava_land_surface) diff --git a/code/game/objects/structures/loom.dm b/code/game/objects/structures/loom.dm index 9105d5a5db4..d0a9a1f074a 100644 --- a/code/game/objects/structures/loom.dm +++ b/code/game/objects/structures/loom.dm @@ -44,17 +44,17 @@ if(!istype(W)) return FALSE if(!anchored) - user.show_message("The loom needs to be wrenched down.", 1) + user.show_message(SPAN_NOTICE("The loom needs to be wrenched down."), 1) return FALSE if(W.amount < FABRIC_PER_SHEET) - user.show_message("You need at least [FABRIC_PER_SHEET] units of fabric before using this.", 1) + user.show_message(SPAN_NOTICE("You need at least [FABRIC_PER_SHEET] units of fabric before using this."), 1) return FALSE - user.show_message("You start weaving [W] through the loom...", 1) + user.show_message(SPAN_NOTICE("You start weaving [W] through the loom..."), 1) if(do_after(user, W.pull_effort, target = src)) if(W.amount >= FABRIC_PER_SHEET) new W.loom_result(drop_location()) W.use(FABRIC_PER_SHEET) - user.show_message("You weave [W] into a workable fabric.", 1) + user.show_message(SPAN_NOTICE("You weave [W] into a workable fabric."), 1) return TRUE #undef FABRIC_PER_SHEET diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 63b4db7a3b8..74406c94b80 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -28,8 +28,8 @@ /obj/structure/mineral_door/examine(mob/user) . = ..() - . += "It is held inside its frame by screws." - . += "It could be smashed or drilled with a digging tool." + . += SPAN_NOTICE("It is held inside its frame by screws.") + . += SPAN_NOTICE("It could be smashed or drilled with a digging tool.") /obj/structure/mineral_door/Initialize(mapload) . = ..() @@ -123,7 +123,7 @@ /obj/structure/mineral_door/screwdriver_act(mob/living/user, obj/item/I) if(flags & NODECONSTRUCT) - to_chat(user, "You can't figure out how to deconstruct [src]!") + to_chat(user, SPAN_WARNING("You can't figure out how to deconstruct [src]!")) return TRUE if(!I.use_tool(src, user, 4 SECONDS * I.toolspeed * hardness, volume = I.tool_volume)) @@ -135,12 +135,12 @@ /obj/structure/mineral_door/item_interaction(mob/living/user, obj/item/W, list/modifiers) if(istype(W, /obj/item/pickaxe)) if(flags & NODECONSTRUCT) - to_chat(user, "You can't figure out how to deconstruct [src]!") + to_chat(user, SPAN_WARNING("You can't figure out how to deconstruct [src]!")) return var/obj/item/pickaxe/digTool = W - to_chat(user, "You start digging \the [src].") + to_chat(user, SPAN_NOTICE("You start digging \the [src].")) if(do_after(user, 4 SECONDS * digTool.toolspeed * hardness, target = src) && src) - to_chat(user, "You finished digging.") + to_chat(user, SPAN_NOTICE("You finished digging.")) deconstruct(TRUE) return ITEM_INTERACT_COMPLETE else if(user.a_intent != INTENT_HARM) diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 49ec8cd590f..bedf401f8c6 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -69,14 +69,14 @@ . = TRUE if(!I.tool_use_check(user, 0)) return - user.visible_message("[user] begins to unfasten [src].", "You begin to unfasten [src].") + user.visible_message(SPAN_NOTICE("[user] begins to unfasten [src]."), SPAN_NOTICE("You begin to unfasten [src].")) if(!I.use_tool(src, user, 30, volume = I.tool_volume)) return if(broken) - user.visible_message("[user] drops the broken shards to the floor.", "You drop the broken shards on the floor.") + user.visible_message(SPAN_NOTICE("[user] drops the broken shards to the floor."), SPAN_NOTICE("You drop the broken shards on the floor.")) new /obj/item/shard(get_turf(user)) else - user.visible_message("[user] carefully places [src] on the floor.", "You carefully place [src] on the floor.") + user.visible_message(SPAN_NOTICE("[user] carefully places [src] on the floor."), SPAN_NOTICE("You carefully place [src] on the floor.")) new /obj/item/mounted/mirror(get_turf(user)) qdel(src) @@ -169,7 +169,7 @@ if("Body") if(organ_warn) - to_chat(user, "Using the mirror will destroy any non biochip implants in you!") + to_chat(user, SPAN_BOLDWARNING("Using the mirror will destroy any non biochip implants in you!")) var/list/race_list = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Grey", "Drask") if(actually_magical) race_list = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Grey", "Drask", "Vox", "Plasmaman", "Kidan", "Slime People") diff --git a/code/game/objects/structures/misc_structures.dm b/code/game/objects/structures/misc_structures.dm index 50b6fbe3ded..dfa0b0b50d4 100644 --- a/code/game/objects/structures/misc_structures.dm +++ b/code/game/objects/structures/misc_structures.dm @@ -63,10 +63,10 @@ /obj/structure/signpost/wood/AltClick(mob/living/user) if(!scarf) scarf = TRUE - to_chat(user, "You tie a memorial wreath around the sign.") + to_chat(user, SPAN_NOTICE("You tie a memorial wreath around the sign.")) else scarf = FALSE - to_chat(user, "You untie the memorial wreath from the sign.") + to_chat(user, SPAN_NOTICE("You untie the memorial wreath from the sign.")) update() /obj/structure/signpost/wood/update() @@ -96,14 +96,14 @@ playsound(user.loc, 'sound/effects/phasein.ogg', 25, 1) playsound(user.loc, 'sound/effects/sparks2.ogg', 50, 1) new /obj/effect/temp_visual/dir_setting/ninja/phase(get_turf(user), user.dir) - to_chat(user, "VOID-Shift translocation successful") + to_chat(user, "[SPAN_BOLDNOTICE("VOID-Shift")] translocation successful") if("No") - to_chat(user, "Process aborted!") + to_chat(user, SPAN_DANGER("Process aborted!")) return else - to_chat(user, "FĆAL �Rr�R: ŧer nt recgnized, c-cntr-r䣧-ç äcked.") + to_chat(user, "[SPAN_DANGER("FĆAL �Rr�R")]: ŧer nt recgnized, c-cntr-r䣧-ç äcked.") /obj/structure/respawner name = "\improper Long-Distance Cloning Machine" @@ -184,7 +184,7 @@ /obj/structure/ghost_beacon/attack_hand(mob/user) if(!is_admin(user)) return - to_chat(user, "You [active ? "disable" : "enable"] \the [src].") + to_chat(user, SPAN_NOTICE("You [active ? "disable" : "enable"] \the [src].")) if(active) STOP_PROCESSING(SSobj, src) else diff --git a/code/game/objects/structures/monster_spawner.dm b/code/game/objects/structures/monster_spawner.dm index 7ed71b15440..2c9f63c787d 100644 --- a/code/game/objects/structures/monster_spawner.dm +++ b/code/game/objects/structures/monster_spawner.dm @@ -141,7 +141,7 @@ /obj/structure/spawner/sentient/proteon_spawner/examine_status(mob/user) if(IS_CULTIST(user) || !isliving(user)) - return "It's at [round(obj_integrity * 100 / max_integrity)]% stability." + return SPAN_CULT("It's at [round(obj_integrity * 100 / max_integrity)]% stability.") return ..() /obj/structure/spawner/sentient/proteon_spawner/examine(mob/user) @@ -149,14 +149,14 @@ if(!IS_CULTIST(user) && isliving(user)) var/mob/living/living_user = user living_user.adjustBrainLoss(5) - . += "The voices of the damned echo relentlessly in your mind, continously rebounding on the walls of your self the more you focus on [src]. Your head pounds, better keep away..." + . += SPAN_USERDANGER("The voices of the damned echo relentlessly in your mind, continously rebounding on the walls of your self the more you focus on [src]. Your head pounds, better keep away...") else - . += "The gateway will create one weak proteon construct every [spawn_time * 0.1] seconds, up to a total of [max_mobs], that may be controlled by the spirits of the dead." + . += SPAN_CULT("The gateway will create one weak proteon construct every [spawn_time * 0.1] seconds, up to a total of [max_mobs], that may be controlled by the spirits of the dead.") /obj/structure/spawner/sentient/proteon_spawner/became_player_controlled(mob/living/simple_animal/hostile/construct/proteon/hostile/proteon) proteon.mind.add_antag_datum(/datum/antagonist/cultist) proteon.add_filter("awoken_proteon", 3, list("type" = "outline", "color" = LIGHT_COLOR_RED, "size" = 2)) - visible_message("[proteon] awakens, glowing an eerie red as it stirs from its stupor!") + visible_message(SPAN_CULT("[proteon] awakens, glowing an eerie red as it stirs from its stupor!")) addtimer(CALLBACK(src, PROC_REF(remove_wake_outline), proteon), 8 SECONDS) /obj/structure/spawner/sentient/proteon_spawner/proc/remove_wake_outline(mob/proteon) @@ -165,7 +165,7 @@ /obj/structure/spawner/sentient/proteon_spawner/obj_destruction(damage_flag) playsound(src, 'sound/hallucinations/veryfar_noise.ogg', 75) - visible_message("[src] completely falls apart, the screams of the damned reaching a feverous pitch before slowly fading away into nothing.") + visible_message(SPAN_CULT("[src] completely falls apart, the screams of the damned reaching a feverous pitch before slowly fading away into nothing.")) return ..() /obj/item/gps/internal/proteon diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index 6b80c702a99..0c2c419a072 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -49,15 +49,15 @@ return if(robot_mop) - to_chat(user, "You cannot store [used] in [src]!") + to_chat(user, SPAN_WARNING("You cannot store [used] in [src]!")) return if(stored_mop) - to_chat(user, "There is already a mop in [src].") + to_chat(user, SPAN_NOTICE("There is already a mop in [src].")) return if(!put_in_cart(user, attacking_mop)) - to_chat(user, "[attacking_mop] is stuck to your hand!") + to_chat(user, SPAN_NOTICE("[attacking_mop] is stuck to your hand!")) /obj/structure/mopbucket/proc/put_in_cart(mob/user, obj/item/mop/I) if(!user.unequip(I)) @@ -65,7 +65,7 @@ stored_mop = I I.forceMove(src) - to_chat(user, "You put [I] into [src].") + to_chat(user, SPAN_NOTICE("You put [I] into [src].")) update_icon(UPDATE_OVERLAYS) return TRUE @@ -95,7 +95,7 @@ . = ..() if(stored_mop) user.put_in_hands(stored_mop) - to_chat(user, "You take [stored_mop] from [src].") + to_chat(user, SPAN_NOTICE("You take [stored_mop] from [src].")) stored_mop = null update_icon(UPDATE_OVERLAYS) return diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 85de7d134d4..dffcef3a137 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -184,7 +184,7 @@ /obj/structure/morgue/wirecutter_act(mob/user) if(name != initial(name)) - to_chat(user, "You cut the tag off the morgue.") + to_chat(user, SPAN_NOTICE("You cut the tag off the morgue.")) name = initial(name) update_icon(UPDATE_OVERLAYS) return TRUE @@ -232,7 +232,7 @@ if(CM.stat || CM.restrained()) return - to_chat(CM, "You attempt to slide yourself out of \the [src]...") + to_chat(CM, SPAN_ALERT("You attempt to slide yourself out of \the [src]...")) src.attack_hand(CM) @@ -280,7 +280,7 @@ O.forceMove(loc) if(user != O) - user.visible_message("[user] stuffs [O] into [src]!") + user.visible_message(SPAN_WARNING("[user] stuffs [O] into [src]!")) return TRUE @@ -359,7 +359,7 @@ GLOBAL_LIST_EMPTY(crematoriums) /obj/structure/crematorium/attack_hand(mob/user as mob) if(cremating) - to_chat(usr, "It's locked.") + to_chat(usr, SPAN_WARNING("It's locked.")) return if(connected && !locked) @@ -380,7 +380,7 @@ GLOBAL_LIST_EMPTY(crematoriums) /obj/structure/crematorium/obj_break(damage_flag) if(broken) return - visible_message("[src] dims as its paneling collapses and it becomes non-functional.") + visible_message(SPAN_WARNING("[src] dims as its paneling collapses and it becomes non-functional.")) icon_state = "crema_broke" // this will need a proper sprite when possible, as it's just a shitty codersprite resistance_flags = INDESTRUCTIBLE // prevents it from being destroyed instead of just broken name = "broken crematorium" @@ -395,12 +395,12 @@ GLOBAL_LIST_EMPTY(crematoriums) if(user.a_intent == INTENT_HARM) // if you want to damage it with a welder you should be able to return if(!broken) - to_chat(user, "The crematorium does not seem to need fixing.") + to_chat(user, SPAN_NOTICE("The crematorium does not seem to need fixing.")) return TRUE if(!I.tool_use_check(user, 0)) return TRUE if(repairstate != CREMATOR_IN_REPAIR) - to_chat(user, "[src] needs a new igniter before you weld the paneling closed.") + to_chat(user, SPAN_NOTICE("[src] needs a new igniter before you weld the paneling closed.")) return TRUE WELDER_ATTEMPT_REPAIR_MESSAGE if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume)) @@ -423,12 +423,12 @@ GLOBAL_LIST_EMPTY(crematoriums) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/assembly/igniter)) if(repairstate == CREMATOR_DESTROYED) - user.visible_message("[user] replaces [src]'s igniter.", "You replace [src]'s damaged igniter. Now it just needs its paneling welded.") + user.visible_message(SPAN_NOTICE("[user] replaces [src]'s igniter."), SPAN_NOTICE("You replace [src]'s damaged igniter. Now it just needs its paneling welded.")) repairstate = CREMATOR_IN_REPAIR desc = "A broken human incinerator. No longer works well on barbeque nights. It requires its paneling to be welded to function." qdel(used) else - to_chat(user, "[src] does not need its igniter replaced.") + to_chat(user, SPAN_NOTICE("[src] does not need its igniter replaced.")) return ITEM_INTERACT_COMPLETE return ..() @@ -464,16 +464,16 @@ GLOBAL_LIST_EMPTY(crematoriums) if(!length(contents)) for(var/mob/M in viewers(src)) - M.show_message("You hear a hollow crackle.", EMOTE_VISIBLE) + M.show_message(SPAN_WARNING("You hear a hollow crackle."), EMOTE_VISIBLE) return for(var/mob/living/M in search_contents_for(/mob/living)) //search for this for funny cling shenaigins first. if(HAS_TRAIT(M, TRAIT_CLING_BURSTING)) - visible_message("The crematorium fails to start, something big is blocking the pipes!") + visible_message(SPAN_WARNING("The crematorium fails to start, something big is blocking the pipes!")) return for(var/mob/M in viewers(src)) - M.show_message("You hear a roar as the crematorium activates.", EMOTE_VISIBLE) + M.show_message(SPAN_WARNING("You hear a roar as the crematorium activates."), EMOTE_VISIBLE) cremating = TRUE locked = TRUE @@ -527,7 +527,7 @@ GLOBAL_LIST_EMPTY(crematoriums) if(CM.stat || CM.restrained()) return - to_chat(CM, "You attempt to slide yourself out of \the [src]...") + to_chat(CM, SPAN_ALERT("You attempt to slide yourself out of \the [src]...")) attack_hand(CM) /obj/structure/crematorium/get_remote_view_fullscreens(mob/user) @@ -570,7 +570,7 @@ GLOBAL_LIST_EMPTY(crematoriums) return O.forceMove(loc) if(user != O) - user.visible_message("[user] stuffs [O] into [src]!") + user.visible_message(SPAN_WARNING("[user] stuffs [O] into [src]!")) //Foreach goto(99) return TRUE @@ -606,7 +606,7 @@ GLOBAL_LIST_EMPTY(crematoriums) return if(!(allowed(usr) || user.can_advanced_admin_interact())) - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_WARNING("Access denied.")) return use_power(400000) diff --git a/code/game/objects/structures/nest.dm b/code/game/objects/structures/nest.dm index b86a0f6a252..2baba3c8fd6 100644 --- a/code/game/objects/structures/nest.dm +++ b/code/game/objects/structures/nest.dm @@ -34,7 +34,7 @@ /obj/structure/nest/examine(mob/user) . = ..() if(!spawn_is_triggered) - . += "You can hear a cacophony of growling snores from within." + . += SPAN_WARNING("You can hear a cacophony of growling snores from within.") /obj/structure/nest/attack_animal(mob/living/simple_animal/M) if(faction_check(faction, M.faction, FALSE) && !M.client) @@ -56,7 +56,7 @@ /obj/structure/nest/proc/try_spawn(mob/living/L) var/chosen_mob = pick(spawn_mob_options) - to_chat(L, "As you stumble across \the [name], you can hear ominous rumbling from beneath your feet!") + to_chat(L, SPAN_DANGER("As you stumble across \the [name], you can hear ominous rumbling from beneath your feet!")) playsound(src, 'sound/effects/break_stone.ogg', 50, 1) for(var/obj/structure/nest/N in range(spawn_trigger_distance, src)) N.spawn_is_triggered = TRUE @@ -68,7 +68,7 @@ for(var/i in 1 to spawn_max) var/mob/spawned_mob = new M(get_turf(src)) - visible_message("\A [spawned_mob.name] crawls out of \the [name]!") + visible_message(SPAN_DANGER("\A [spawned_mob.name] crawls out of \the [name]!")) /obj/structure/nest/lavaland spawn_mob_options = list( diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm index 67d21107983..917e3bee7f4 100644 --- a/code/game/objects/structures/noticeboard.dm +++ b/code/game/objects/structures/noticeboard.dm @@ -94,7 +94,7 @@ usr.put_in_hands(paper) paper.add_fingerprint(usr) notices-- - to_chat(usr, "You take a [paper.name] out of [src].") + to_chat(usr, SPAN_NOTICE("You take a [paper.name] out of [src].")) update_icon(UPDATE_ICON_STATE) if("showFull") var/obj/item/paper/paper = locate(params["paper"]) @@ -106,13 +106,13 @@ /obj/structure/noticeboard/item_interaction(mob/living/user, obj/item/I, list/modifiers) if(istype(I, /obj/item/paper)) if(notices >= MAX_NOTICES) - to_chat(user, "You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached.") + to_chat(user, SPAN_NOTICE("You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached.")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) return ITEM_INTERACT_COMPLETE I.forceMove(src) notices++ - to_chat(user, "You pin the paper to the noticeboard.") + to_chat(user, SPAN_NOTICE("You pin the paper to the noticeboard.")) update_icon(UPDATE_ICON_STATE) add_fingerprint(user) SStgui.update_uis(src) diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index cf6f9b19454..f169603a70f 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -12,28 +12,28 @@ . = ..() switch(state) if(PLASTIC_FLAPS_NORMAL) - . += "[src] are screwed to the floor." + . += SPAN_NOTICE("[src] are screwed to the floor.") if(PLASTIC_FLAPS_DETACHED) - . += "[src] are no longer screwed to the floor, and the flaps can be sliced apart." + . += SPAN_NOTICE("[src] are no longer screwed to the floor, and the flaps can be sliced apart.") /obj/structure/plasticflaps/screwdriver_act(mob/user, obj/item/I) . = TRUE if(!I.tool_use_check(user, 0)) return if(state == PLASTIC_FLAPS_NORMAL) - user.visible_message("[user] starts unscrewing [src] from the floor...", "You start to unscrew [src] from the floor...", "You hear rustling noises.") + user.visible_message(SPAN_WARNING("[user] starts unscrewing [src] from the floor..."), SPAN_NOTICE("You start to unscrew [src] from the floor..."), "You hear rustling noises.") if(!I.use_tool(src, user, 180, volume = I.tool_volume) || state != PLASTIC_FLAPS_NORMAL) return state = PLASTIC_FLAPS_DETACHED anchored = FALSE - to_chat(user, "You unscrew [src] from the floor.") + to_chat(user, SPAN_NOTICE("You unscrew [src] from the floor.")) else if(state == PLASTIC_FLAPS_DETACHED) - user.visible_message("[user] starts screwing [src] to the floor.", "You start to screw [src] to the floor...", "You hear rustling noises.") + user.visible_message(SPAN_WARNING("[user] starts screwing [src] to the floor."), SPAN_NOTICE("You start to screw [src] to the floor..."), "You hear rustling noises.") if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != PLASTIC_FLAPS_DETACHED) return state = PLASTIC_FLAPS_NORMAL anchored = TRUE - to_chat(user, "You screw [src] to the floor.") + to_chat(user, SPAN_NOTICE("You screw [src] to the floor.")) /obj/structure/plasticflaps/welder_act(mob/user, obj/item/I) if(state != PLASTIC_FLAPS_DETACHED) diff --git a/code/game/objects/structures/pondering_orb.dm b/code/game/objects/structures/pondering_orb.dm index b709183132d..7e8792a8fe1 100644 --- a/code/game/objects/structures/pondering_orb.dm +++ b/code/game/objects/structures/pondering_orb.dm @@ -9,18 +9,18 @@ /obj/structure/pondering_orb/attack_hand(mob/user) ADD_TRAIT(user, SCRYING, SCRYING_ORB) - user.visible_message("[user] stares into [src], [user.p_their()] eyes glazing over.", - "You stare into [src], you can see the entire universe!") + user.visible_message(SPAN_NOTICE("[user] stares into [src], [user.p_their()] eyes glazing over."), + SPAN_DANGER("You stare into [src], you can see the entire universe!")) ghost = user.ghostize(ghost_name = "Magic Spirit of [user.name]", ghost_color = COLOR_BLUE) while(!QDELETED(user)) if(user.key || QDELETED(src)) - user.visible_message("[user] blinks, returning to the world around [user.p_them()].", - "You look away from [src].") + user.visible_message(SPAN_NOTICE("[user] blinks, returning to the world around [user.p_them()]."), + SPAN_DANGER("You look away from [src].")) break if(!Adjacent(user)) user.grab_ghost() - user.visible_message("[user]'s focus is forced away from [src].", - "Your vision is ripped away from [src].") + user.visible_message(SPAN_NOTICE("[user]'s focus is forced away from [src]."), + SPAN_USERDANGER("Your vision is ripped away from [src].")) break sleep(5) if(QDELETED(user)) diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index 27e8ff37ca1..6896acb84b0 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -23,7 +23,7 @@ AddElement(/datum/element/connect_loc, loc_connections) /obj/structure/railing/get_climb_text() - return "You can Click-Drag yourself to [src] to climb over it after a short delay." + return SPAN_NOTICE("You can Click-Drag yourself to [src] to climb over it after a short delay.") /// aesthetic corner sharp edges hurt oof ouch /obj/structure/railing/corner @@ -51,26 +51,26 @@ . = ..() if(. && M.environment_smash >= ENVIRONMENT_SMASH_WALLS) deconstruct(FALSE) - M.visible_message("[M] tears apart [src]!", "You tear apart [src]!") + M.visible_message(SPAN_DANGER("[M] tears apart [src]!"), SPAN_NOTICE("You tear apart [src]!")) /obj/structure/railing/welder_act(mob/living/user, obj/item/I) if(user.intent != INTENT_HELP) return if(obj_integrity >= max_integrity) - to_chat(user, "[src] is already in good condition!") + to_chat(user, SPAN_WARNING("[src] is already in good condition!")) return if(!I.tool_start_check(user, amount = 0)) return - to_chat(user, "You begin repairing [src]...") + to_chat(user, SPAN_NOTICE("You begin repairing [src]...")) if(I.use_tool(src, user, 4 SECONDS, I.tool_volume)) obj_integrity = max_integrity - to_chat(user, "You repair [src].") + to_chat(user, SPAN_NOTICE("You repair [src].")) /obj/structure/railing/wirecutter_act(mob/living/user, obj/item/I) if(anchored) return - to_chat(user, "You cut apart the railing.") + to_chat(user, SPAN_WARNING("You cut apart the railing.")) I.play_tool_sound(src, 100) deconstruct() return TRUE @@ -85,10 +85,10 @@ /obj/structure/railing/wrench_act(mob/living/user, obj/item/I) if(flags & NODECONSTRUCT) return - to_chat(user, "You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor...") + to_chat(user, SPAN_NOTICE("You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor...")) if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored))) anchored = !anchored - to_chat(user, "You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor.") + to_chat(user, SPAN_NOTICE("You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor.")) return TRUE /obj/structure/railing/corner/CanPass() @@ -187,13 +187,13 @@ /obj/structure/railing/proc/can_be_rotated(mob/user) if(anchored) - to_chat(user, "[src] cannot be rotated while it is fastened to the floor!") + to_chat(user, SPAN_WARNING("[src] cannot be rotated while it is fastened to the floor!")) return FALSE var/target_dir = turn(dir, -45) if(!valid_window_location(loc, target_dir)) //Expanded to include rails, as well! - to_chat(user, "[src] cannot be rotated in that direction!") + to_chat(user, SPAN_WARNING("[src] cannot be rotated in that direction!")) return FALSE return TRUE @@ -206,7 +206,7 @@ /obj/structure/railing/AltClick(mob/user) if(user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(!Adjacent(user)) return diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm index abac74a4b70..f7f86d6abab 100644 --- a/code/game/objects/structures/reflector.dm +++ b/code/game/objects/structures/reflector.dm @@ -23,7 +23,7 @@ if(new_dir && anchored) reflect_turf = get_step(reflect_turf, new_dir) else - visible_message("[src] is hit by [P]!") + visible_message(SPAN_NOTICE("[src] is hit by [P]!")) new_dir = 0 return ..() //Hits as normal, explodes or emps or whatever @@ -48,7 +48,7 @@ var/obj/item/stack/sheet/S = W if(istype(W, /obj/item/stack/sheet/glass)) if(S.get_amount() < 5) - to_chat(user, "You need five sheets of glass to create a reflector!") + to_chat(user, SPAN_WARNING("You need five sheets of glass to create a reflector!")) return else S.use(5) @@ -56,7 +56,7 @@ qdel(src) if(istype(W,/obj/item/stack/sheet/rglass)) if(S.get_amount() < 10) - to_chat(user, "You need ten sheets of reinforced glass to create a double reflector!") + to_chat(user, SPAN_WARNING("You need ten sheets of reinforced glass to create a double reflector!")) return else S.use(10) @@ -112,7 +112,7 @@ return if(anchored) - to_chat(user, "You cannot rotate [src] right now. It is fastened to the floor!") + to_chat(user, SPAN_WARNING("You cannot rotate [src] right now. It is fastened to the floor!")) return dir = turn(dir, 90) diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index da5949c0a85..6804d6cb38b 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -173,7 +173,7 @@ GLOBAL_LIST_EMPTY(safes) STOP_PROCESSING(SSobj, src) if("Remove Drill") if(drill_timer) - to_chat(user, "You cannot remove the drill while it's running!") + to_chat(user, SPAN_WARNING("You cannot remove the drill while it's running!")) else if(do_after(user, 2 SECONDS, target = src)) user.put_in_hands(drill) drill = null @@ -192,7 +192,7 @@ GLOBAL_LIST_EMPTY(safes) if(I.flags && ABSTRACT) return ITEM_INTERACT_COMPLETE if(broken && istype(I, /obj/item/safe_internals) && do_after(user, 2 SECONDS, target = src)) - to_chat(user, "You replace the broken mechanism.") + to_chat(user, SPAN_NOTICE("You replace the broken mechanism.")) qdel(I) broken = FALSE locked = FALSE @@ -200,15 +200,15 @@ GLOBAL_LIST_EMPTY(safes) return ITEM_INTERACT_COMPLETE else if(I.w_class + space <= maxspace) if(!user.drop_item()) - to_chat(user, "\The [I] is stuck to your hand, you cannot put it in the safe!") + to_chat(user, SPAN_WARNING("\The [I] is stuck to your hand, you cannot put it in the safe!")) return ITEM_INTERACT_COMPLETE space += I.w_class I.forceMove(src) - to_chat(user, "You put [I] in [src].") + to_chat(user, SPAN_NOTICE("You put [I] in [src].")) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE else - to_chat(user, "[I] won't fit in [src].") + to_chat(user, SPAN_WARNING("[I] won't fit in [src].")) return ITEM_INTERACT_COMPLETE else if(istype(I, /obj/item/clothing/neck/stethoscope)) @@ -216,10 +216,10 @@ GLOBAL_LIST_EMPTY(safes) return ITEM_INTERACT_COMPLETE else if(istype(I, /obj/item/thermal_drill)) if(drill) - to_chat(user, "There is already a drill attached!") + to_chat(user, SPAN_WARNING("There is already a drill attached!")) else if(do_after(user, 2 SECONDS, target = src)) if(!user.drop_item()) - to_chat(user, "[I] is stuck to your hand, you cannot put it in the safe!") + to_chat(user, SPAN_WARNING("[I] is stuck to your hand, you cannot put it in the safe!")) return I.forceMove(src) drill = I @@ -227,7 +227,7 @@ GLOBAL_LIST_EMPTY(safes) update_icon() return ITEM_INTERACT_COMPLETE else - to_chat(user, "You can't put [I] into the safe while it is closed!") + to_chat(user, SPAN_WARNING("You can't put [I] into the safe while it is closed!")) return ITEM_INTERACT_COMPLETE /obj/structure/safe/ui_state(mob/user) @@ -265,7 +265,7 @@ GLOBAL_LIST_EMPTY(safes) return if(!usr.IsAdvancedToolUser() && !isobserver(usr)) - to_chat(usr, "You are not able to operate the safe.") + to_chat(usr, SPAN_WARNING("You are not able to operate the safe.")) return var/canhear = FALSE @@ -281,16 +281,16 @@ GLOBAL_LIST_EMPTY(safes) switch(action) if("open") if(check_unlocked() || open || broken) - to_chat(usr, "You [open ? "close" : "open"] [src].") + to_chat(usr, SPAN_NOTICE("You [open ? "close" : "open"] [src].")) open = !open update_icon() else - to_chat(usr, "You cannot open [src], as its lock is engaged!") + to_chat(usr, SPAN_WARNING("You cannot open [src], as its lock is engaged!")) if("turnright") if(open) return if(broken) - to_chat(usr, "The dial will not turn, as the mechanism is destroyed!") + to_chat(usr, SPAN_WARNING("The dial will not turn, as the mechanism is destroyed!")) return var/ticks = text2num(params["num"]) for(var/i = 1 to ticks) @@ -310,7 +310,7 @@ GLOBAL_LIST_EMPTY(safes) if(open) return if(broken) - to_chat(usr, "The dial will not turn, as the mechanism is destroyed!") + to_chat(usr, SPAN_WARNING("The dial will not turn, as the mechanism is destroyed!")) return var/ticks = text2num(params["num"]) for(var/i = 1 to ticks) @@ -384,7 +384,7 @@ GLOBAL_LIST_EMPTY(safes) /obj/structure/safe/proc/check_unlocked() if(current_tumbler_index > number_of_tumblers) locked = FALSE - visible_message("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!") + visible_message(SPAN_BOLDNOTICE("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!")) return TRUE locked = TRUE return FALSE @@ -397,7 +397,7 @@ GLOBAL_LIST_EMPTY(safes) return if(current_tick == 2) - to_chat(user, "The sounds from [src] are too fast and blend together.") + to_chat(user, SPAN_ITALICS("The sounds from [src] are too fast and blend together.")) if(total_ticks == 1 || prob(SOUND_CHANCE)) to_chat(user, "You hear a [pick(sounds)] from [src].") diff --git a/code/game/objects/structures/shelves.dm b/code/game/objects/structures/shelves.dm index c90eacdf015..730f0928af7 100644 --- a/code/game/objects/structures/shelves.dm +++ b/code/game/objects/structures/shelves.dm @@ -40,7 +40,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec", return ..() if(!COOLDOWN_FINISHED(src, spraypaint_cd)) - to_chat(user, "The paint on [src] is still drying!") + to_chat(user, SPAN_WARNING("The paint on [src] is still drying!")) return ITEM_INTERACT_COMPLETE var/cur_idx = GLOB.shelf_colors.Find(shelf_style) @@ -77,7 +77,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec", if(!I.use_tool(src, user, (2.5 SECONDS) * I.toolspeed, volume = I.tool_volume)) return - to_chat(user, "You disassemble [src].") + to_chat(user, SPAN_NOTICE("You disassemble [src].")) deconstruct() /obj/structure/shelf/deconstruct(disassembled) @@ -150,7 +150,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec", if(!I.use_tool(src, user, 2.5 SECONDS, volume = I.tool_volume)) return - to_chat(user, "You disassemble [src].") + to_chat(user, SPAN_NOTICE("You disassemble [src].")) deconstruct() /obj/structure/gunrack/deconstruct(disassembled) @@ -196,7 +196,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec", if(!I.use_tool(src, user, 2.5 SECONDS, volume = I.tool_volume)) return - to_chat(user, "You disassemble [src].") + to_chat(user, SPAN_NOTICE("You disassemble [src].")) deconstruct() /obj/structure/spear_rack/deconstruct(disassembled) diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 2fe3bf74e08..1ab96ed47db 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -80,7 +80,7 @@ S.name = name S.desc = desc S.icon_state = sign_state - to_chat(user, "You fasten [S] with your [I].") + to_chat(user, SPAN_NOTICE("You fasten [S] with your [I].")) qdel(src) /obj/structure/sign/double diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm index dc5a16a6d70..e978ef72205 100644 --- a/code/game/objects/structures/spirit_board.dm +++ b/code/game/objects/structures/spirit_board.dm @@ -39,7 +39,7 @@ var/turf/T = loc sleep(rand(20,30)) if(T == loc) - visible_message("The planchette slowly moves... and stops at the letter \"[planchette]\".") + visible_message(SPAN_NOTICE("The planchette slowly moves... and stops at the letter \"[planchette]\".")) /obj/structure/spirit_board/proc/spirit_board_checks(mob/M) @@ -60,7 +60,7 @@ light_amount = 10 if(light_amount > 2) - to_chat(M, "It's too bright here to use [src.name]!") + to_chat(M, SPAN_WARNING("It's too bright here to use [src.name]!")) return 0 //mobs in range check @@ -68,12 +68,12 @@ for(var/mob/living/L in orange(1,src)) if(L.ckey && L.client) if((world.time - L.client.inactivity) < (world.time - 300) || L.stat != CONSCIOUS || L.restrained())//no playing with braindeads or corpses or handcuffed dudes. - to_chat(M, "[L] doesn't seem to be paying attention...") + to_chat(M, SPAN_WARNING("[L] doesn't seem to be paying attention...")) else users_in_range++ if(users_in_range < 2) - to_chat(M, "There aren't enough people to use [src]!") + to_chat(M, SPAN_WARNING("There aren't enough people to use [src]!")) return 0 return 1 diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index cb77dcf8f86..e1d0da04a3d 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -16,12 +16,12 @@ if(istype(W, /obj/item/gun/energy/plasmacutter)) playsound(src, W.usesound, 100, 1) user.visible_message("[user] is slicing apart the [name]...", \ - "You are slicing apart the [name]...") + SPAN_NOTICE("You are slicing apart the [name]...")) if(do_after(user, 40 * W.toolspeed, target = src)) if(!loc) return user.visible_message("[user] slices apart the [name].", \ - "You slice apart the [name].") + SPAN_NOTICE("You slice apart the [name].")) deconstruct(TRUE) return ITEM_INTERACT_COMPLETE return ..() @@ -41,7 +41,7 @@ user.changeNext_move(CLICK_CD_MELEE) add_fingerprint(user) user.visible_message("[user] rubs some dust off from the [name]'s surface.", \ - "You rub some dust off from the [name]'s surface.") + SPAN_NOTICE("You rub some dust off from the [name]'s surface.")) /obj/structure/statue/deconstruct(disassembled = TRUE) if(!(flags & NODECONSTRUCT)) @@ -120,9 +120,9 @@ . = TRUE if(!I.use_tool(src, user, volume = I.tool_volume)) return - user.visible_message("[user] sets [src] on fire!",\ - "[src] disintegrates into a cloud of plasma!",\ - "You hear a 'whoompf' and a roar.") + user.visible_message(SPAN_DANGER("[user] sets [src] on fire!"),\ + SPAN_DANGER("[src] disintegrates into a cloud of plasma!"),\ + SPAN_WARNING("You hear a 'whoompf' and a roar.")) message_admins("[key_name_admin(user)] ignited a plasma statue at [COORD(loc)]") log_game("[key_name(user)] ignited plasma a statue at [COORD(loc)]") investigate_log("[key_name(user)] ignited a plasma statue at [COORD(loc)]", INVESTIGATE_ATMOS) @@ -268,7 +268,7 @@ /obj/structure/statue/tranquillite/mime/AltClick(mob/user)//has 4 dirs if(user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(!Adjacent(user)) return @@ -323,7 +323,7 @@ /obj/structure/snowman/built/item_interaction(mob/living/user, obj/item/I, list/modifiers) if(istype(I, /obj/item/snowball) && obj_integrity < max_integrity) - to_chat(user, "You patch some of the damage on [src] with [I].") + to_chat(user, SPAN_NOTICE("You patch some of the damage on [src] with [I].")) obj_integrity = max_integrity qdel(I) return ITEM_INTERACT_COMPLETE diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm index 61d636dc8c2..17a747d4aab 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -26,22 +26,22 @@ return if(M != user) - M.visible_message("[user.name] pulls [M.name] free from the sticky nest!",\ - "[user.name] pulls you free from the gelatinous resin.",\ - "You hear squelching...") + M.visible_message(SPAN_NOTICE("[user.name] pulls [M.name] free from the sticky nest!"),\ + SPAN_NOTICE("[user.name] pulls you free from the gelatinous resin."),\ + SPAN_ITALICS("You hear squelching...")) else - M.visible_message("[M.name] struggles to break free from the gelatinous resin!",\ - "You struggle to break free from the gelatinous resin... (Stay still for two minutes.)",\ - "You hear squelching...") + M.visible_message(SPAN_WARNING("[M.name] struggles to break free from the gelatinous resin!"),\ + SPAN_NOTICE("You struggle to break free from the gelatinous resin... (Stay still for two minutes.)"),\ + SPAN_ITALICS("You hear squelching...")) if(!do_after(M, 120 SECONDS, target = src, hidden = TRUE)) if(M && M.buckled) - to_chat(M, "You fail to escape \the [src]!") + to_chat(M, SPAN_WARNING("You fail to escape \the [src]!")) return if(!M.buckled) return - M.visible_message("[M.name] breaks free from the gelatinous resin!",\ - "You break free from the gelatinous resin!",\ - "You hear squelching...") + M.visible_message(SPAN_WARNING("[M.name] breaks free from the gelatinous resin!"),\ + SPAN_NOTICE("You break free from the gelatinous resin!"),\ + SPAN_ITALICS("You hear squelching...")) unbuckle_mob(M) add_fingerprint(user) @@ -54,20 +54,20 @@ return FALSE if(M.get_int_organ(/obj/item/organ/internal/alien/hivenode)) - to_chat(user, "[M]'s linkage with the hive prevents you from securing them into [src]") + to_chat(user, SPAN_NOTICEALIEN("[M]'s linkage with the hive prevents you from securing them into [src]")) return if(!user.get_int_organ(/obj/item/organ/internal/alien/hivenode)) - to_chat(user, "Your lack of linkage to the hive prevents you from buckling [M] into [src]") + to_chat(user, SPAN_NOTICEALIEN("Your lack of linkage to the hive prevents you from buckling [M] into [src]")) return if(has_buckled_mobs()) unbuckle_all_mobs() if(buckle_mob(M)) - M.visible_message("[user.name] secretes a thick vile goo, securing [M.name] into [src]!",\ - "[user.name] drenches you in a foul-smelling resin, trapping you in [src]!",\ - "You hear squelching...") + M.visible_message(SPAN_NOTICE("[user.name] secretes a thick vile goo, securing [M.name] into [src]!"),\ + SPAN_DANGER("[user.name] drenches you in a foul-smelling resin, trapping you in [src]!"),\ + SPAN_ITALICS("You hear squelching...")) ghost_timer = addtimer(CALLBACK(src, PROC_REF(ghost_check), user), 15 SECONDS, TIMER_UNIQUE|TIMER_STOPPABLE) /obj/structure/bed/nest/proc/ghost_check(mob/user) @@ -79,7 +79,7 @@ if(user && !isalien(user)) return buckled_mob.throw_alert("ghost_nest", /atom/movable/screen/alert/ghost/xeno) - to_chat(buckled_mob, "You may now click on the ghost prompt on your screen to leave your body. You will be alerted when you're removed from the nest.") + to_chat(buckled_mob, SPAN_GHOSTALERT("You may now click on the ghost prompt on your screen to leave your body. You will be alerted when you're removed from the nest.")) if(tgui_alert(buckled_mob, "You may now ghost and keep respawnability, you will be notified if you leave the nest, would you like to do so?", "Ghosting", list("Yes", "No")) != "Yes") return buckled_mob.ghostize() diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index 3bee7bd0167..4f8dc06c91a 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -27,7 +27,7 @@ /obj/structure/bed/examine(mob/user) . = ..() - . += "Click dragging someone to a bed will buckle them in. Functions just like a chair except you can walk over them." + . += SPAN_NOTICE("Click dragging someone to a bed will buckle them in. Functions just like a chair except you can walk over them.") /obj/structure/bed/attack_hand(mob/user) if(user.Move_Pulled(src)) @@ -52,7 +52,7 @@ /obj/structure/bed/wrench_act(mob/user, obj/item/I) . = TRUE if(flags & NODECONSTRUCT) - to_chat(user, "You can't figure out how to deconstruct [src]!") + to_chat(user, SPAN_WARNING("You can't figure out how to deconstruct [src]!")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -103,15 +103,15 @@ // nighty night target.visible_message( - "[attacker] puts [target] to bed!", - "[attacker] shoves you under the covers, and you're out like a light!", - "You hear someone getting into bed." + SPAN_DANGER("[attacker] puts [target] to bed!"), + SPAN_USERDANGER("[attacker] shoves you under the covers, and you're out like a light!"), + SPAN_NOTICE("You hear someone getting into bed.") ) if(sleep_ratio > 1) target.visible_message( - "[target] seems especially cozy...[target.p_they()] probably won't be up for a while.", - "You feel so cozy, you could probably stay here for a while..." + SPAN_NOTICE("[target] seems especially cozy...[target.p_they()] probably won't be up for a while."), + SPAN_NOTICE("You feel so cozy, you could probably stay here for a while...") ) target.forceMove(loc) @@ -169,11 +169,11 @@ if(has_buckled_mobs()) if(length(buckled_mobs) > 1) unbuckle_all_mobs() - user.visible_message("[user] unbuckles all creatures from [src].") + user.visible_message(SPAN_NOTICE("[user] unbuckles all creatures from [src].")) else user_unbuckle_mob(buckled_mobs[1], user) else - user.visible_message("[user] collapses \the [name].", "You collapse \the [name].") + user.visible_message(SPAN_NOTICE("[user] collapses \the [name]."), SPAN_NOTICE("You collapse \the [name].")) new folded(get_turf(src)) qdel(src) @@ -248,7 +248,7 @@ return if(has_buckled_mobs()) return 0 - usr.visible_message("[usr] collapses \the [name].", "You collapse \the [name].") + usr.visible_message(SPAN_NOTICE("[usr] collapses \the [name]."), SPAN_NOTICE("You collapse \the [name].")) new folded(get_turf(src)) qdel(src) return @@ -275,13 +275,13 @@ return ITEM_INTERACT_COMPLETE if(held) - to_chat(user, "[src] is already full!") + to_chat(user, SPAN_WARNING("[src] is already full!")) return ITEM_INTERACT_COMPLETE var/obj/item/roller/bed = target user.visible_message( - "[user] collects [target].", - "You collect [target]." + SPAN_NOTICE("[user] collects [target]."), + SPAN_NOTICE("You collect [target].") ) bed.forceMove(src) held = target @@ -292,10 +292,10 @@ return if(!held) - to_chat(user, "[src] is empty!") + to_chat(user, SPAN_WARNING("[src] is empty!")) return - to_chat(user, "You deploy [held].") + to_chat(user, SPAN_NOTICE("You deploy [held].")) var/obj/structure/bed/roller/R = new held.extended(user.loc) R.add_fingerprint(user) QDEL_NULL(held) diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index 429ab14f3f2..cfc02b98bd1 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -27,7 +27,7 @@ /obj/structure/chair/examine(mob/user) . = ..() - . += "You can Alt-Click [src] to rotate it." + . += SPAN_NOTICE("You can Alt-Click [src] to rotate it.") /obj/structure/chair/narsie_act() if(prob(20)) @@ -39,7 +39,7 @@ if(istype(W, /obj/item/assembly/shock_kit)) var/obj/item/assembly/shock_kit/SK = W if(!SK.status) - to_chat(user, "[SK] is not ready to be attached!") + to_chat(user, SPAN_NOTICE("[SK] is not ready to be attached!")) return ITEM_INTERACT_COMPLETE user.drop_item() var/obj/structure/chair/e_chair/E = new /obj/structure/chair/e_chair(get_turf(src), SK) @@ -53,7 +53,7 @@ /obj/structure/chair/wrench_act(mob/user, obj/item/I) . = TRUE if(flags & NODECONSTRUCT) - to_chat(user, "Try as you might, you can't figure out how to deconstruct [src].") + to_chat(user, SPAN_WARNING("Try as you might, you can't figure out how to deconstruct [src].")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -70,17 +70,17 @@ if(!item_chair || has_buckled_mobs()) return if(usr.incapacitated()) - to_chat(usr, "You can't do that right now!") + to_chat(usr, SPAN_WARNING("You can't do that right now!")) return if(!usr.has_right_hand() && !usr.has_left_hand()) - to_chat(usr, "You try to grab the chair, but you are missing both of your hands!") + to_chat(usr, SPAN_WARNING("You try to grab the chair, but you are missing both of your hands!")) return if(usr.get_active_hand() && usr.get_inactive_hand()) - to_chat(usr, "You try to grab the chair, but your hands are already full!") + to_chat(usr, SPAN_WARNING("You try to grab the chair, but your hands are already full!")) return if(!ishuman(usr)) return - usr.visible_message("[usr] grabs \the [src.name].", "You grab \the [src.name].") + usr.visible_message(SPAN_NOTICE("[usr] grabs \the [src.name]."), SPAN_NOTICE("You grab \the [src.name].")) var/C = new item_chair(loc) usr.put_in_hands(C) qdel(src) @@ -271,7 +271,7 @@ buckled_mob.Stuttering(12 SECONDS) buckled_mob.take_organ_damage(10) playsound(loc, 'sound/weapons/punch1.ogg', 50, TRUE, -1) - buckled_mob.visible_message("[buckled_mob] crashed into [A]!") + buckled_mob.visible_message(SPAN_DANGER("[buckled_mob] crashed into [A]!")) /obj/structure/chair/office/post_buckle_mob(mob/living/M) . = ..() @@ -591,10 +591,10 @@ return for(var/obj/A in get_turf(loc)) if(istype(A, /obj/structure/chair)) - to_chat(user, "There is already \a [A] here.") + to_chat(user, SPAN_WARNING("There is already \a [A] here.")) return - user.visible_message("[user] rights [src].", "You right [src].") + user.visible_message(SPAN_NOTICE("[user] rights [src]."), SPAN_NOTICE("You right [src].")) var/obj/structure/chair/C = new origin_type(get_turf(loc)) C.setDir(user.dir) qdel(src) @@ -612,7 +612,7 @@ /obj/item/chair/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(attack_type == UNARMED_ATTACK && prob(hit_reaction_chance)) - owner.visible_message("[owner] fends off [attack_text] with [src]!") + owner.visible_message(SPAN_DANGER("[owner] fends off [attack_text] with [src]!")) return 1 return 0 @@ -621,7 +621,7 @@ . = ..() if(!proximity_flag || !prob(break_chance)) return - user.visible_message("[user] smashes \the [src] to pieces against \the [target]") + user.visible_message(SPAN_DANGER("[user] smashes \the [src] to pieces against \the [target]")) if(iscarbon(target)) var/mob/living/carbon/C = target if(C.health < C.maxHealth*0.5) @@ -635,7 +635,7 @@ return FINISH_ATTACK if(prob(5) && isliving(target)) - user.visible_message("[user] breaks [src] over [target]'s back!.") + user.visible_message(SPAN_DANGER("[user] breaks [src] over [target]'s back!.")) user.unequip(src) var/obj/item/stack/sheet/metal/m = new/obj/item/stack/sheet/metal m.loc = get_turf(src) @@ -646,7 +646,7 @@ /obj/item/chair/examine(mob/user) . = ..() - . += "You can Alt-Click [src] to place it down." + . += SPAN_NOTICE("You can Alt-Click [src] to place it down.") /obj/item/chair/wood name = "wooden chair" @@ -695,12 +695,12 @@ if(!istype(user) || user.incapacitated() || !in_range(src, user)) return if(!isprocessing) - user.visible_message("[user] spins [src] around, and Ratvarian technology keeps it spinning FOREVER.", \ - "Automated spinny chairs. The pinnacle of Ratvarian technology.") + user.visible_message(SPAN_NOTICE("[user] spins [src] around, and Ratvarian technology keeps it spinning FOREVER."), \ + SPAN_NOTICE("Automated spinny chairs. The pinnacle of Ratvarian technology.")) START_PROCESSING(SSfastprocess, src) else - user.visible_message("[user] stops [src]'s uncontrollable spinning.", \ - "You grab [src] and stop its wild spinning.") + user.visible_message(SPAN_NOTICE("[user] stops [src]'s uncontrollable spinning."), \ + SPAN_NOTICE("You grab [src] and stop its wild spinning.")) STOP_PROCESSING(SSfastprocess, src) /obj/structure/chair/comfy/cult diff --git a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm index eeb1744f7bb..dd4c1c4f16f 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm @@ -107,7 +107,7 @@ victim.Stuttering(12 SECONDS) victim.take_organ_damage(10) - occupant.visible_message("[occupant] crashed into \the [A]!") + occupant.visible_message(SPAN_DANGER("[occupant] crashed into \the [A]!")) /obj/structure/chair/wheelchair/plasteel name = "hardened wheelchair" diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm index 013444b743d..45f05f078b7 100644 --- a/code/game/objects/structures/table_frames.dm +++ b/code/game/objects/structures/table_frames.dm @@ -50,20 +50,20 @@ return FALSE if(stack.get_amount() < 1) - to_chat(user, "You need at least one sheet of [stack] to do this!") + to_chat(user, SPAN_WARNING("You need at least one sheet of [stack] to do this!")) return TRUE - to_chat(user, "You start adding [stack] to [src]...") + to_chat(user, SPAN_NOTICE("You start adding [stack] to [src]...")) if(!do_after(user, construction_time, target = src)) return TRUE if(!stack.use(1)) - to_chat(user, "You need at least one sheet of [stack] to do this!") + to_chat(user, SPAN_WARNING("You need at least one sheet of [stack] to do this!")) return TRUE var/obj/structure/table/table_already_there = locate(/obj/structure/table) in get_turf(src) if(table_already_there) //check again after to make sure one wasnt added since - to_chat(user, "There is already [table_already_there] here.") + to_chat(user, SPAN_WARNING("There is already [table_already_there] here.")) return TRUE if(!istype(new_table_type, /obj/structure/table)) //if its something unique, skip the table parts diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 9283fb880cb..df9941fd0aa 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -57,12 +57,12 @@ . += deconstruction_hints(user) if(can_be_flipped) if(flipped) - . += "Alt-Shift-Click to right the table again." + . += SPAN_NOTICE("Alt-Shift-Click to right the table again.") else - . += "Alt-Shift-Click to flip over the table." + . += SPAN_NOTICE("Alt-Shift-Click to flip over the table.") /obj/structure/table/proc/deconstruction_hints(mob/user) - return "The top is screwed on, but the main bolts are also visible." + return SPAN_NOTICE("The top is screwed on, but the main bolts are also visible.") /obj/structure/table/update_icon(updates=ALL) . = ..() @@ -114,12 +114,16 @@ if(length(climbers)) for(var/mob/living/climber as anything in climbers) climber.Weaken(4 SECONDS) - climber.visible_message("[climber.name] has been knocked off the table", "You've been knocked off the table", "You hear [climber.name] get knocked off the table") + climber.visible_message( + SPAN_WARNING("[climber.name] has been knocked off the table"), + SPAN_WARNING("You've been knocked off the table"), + SPAN_WARNING("You hear [climber.name] get knocked off the table"), + ) else if(Adjacent(user) && user.pulling && user.pulling.pass_flags & PASSTABLE) user.Move_Pulled(src) if(user.pulling.loc == loc) - user.visible_message("[user] places [user.pulling] onto [src].", - "You place [user.pulling] onto [src].") + user.visible_message(SPAN_NOTICE("[user] places [user.pulling] onto [src]."), + SPAN_NOTICE("You place [user.pulling] onto [src].")) user.stop_pulling() /obj/structure/table/attack_tk() // no telehulk sorry @@ -199,26 +203,26 @@ /obj/structure/table/proc/tablepush(obj/item/grab/G, mob/user) if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "Throwing [G.affecting] onto the table might hurt them!") + to_chat(user, SPAN_DANGER("Throwing [G.affecting] onto the table might hurt them!")) return if(get_dist(src, user) < 2) if(G.affecting.buckled) - to_chat(user, "[G.affecting] is buckled to [G.affecting.buckled]!") + to_chat(user, SPAN_WARNING("[G.affecting] is buckled to [G.affecting.buckled]!")) return FALSE if(G.state < GRAB_AGGRESSIVE) - to_chat(user, "You need a better grip to do that!") + to_chat(user, SPAN_WARNING("You need a better grip to do that!")) return FALSE if(!G.confirm()) return FALSE var/blocking_object = density_check() if(blocking_object) - to_chat(user, "You cannot do this there is \a [blocking_object] in the way!") + to_chat(user, SPAN_WARNING("You cannot do this there is \a [blocking_object] in the way!")) return FALSE G.affecting.forceMove(get_turf(src)) G.affecting.Weaken(4 SECONDS) item_placed(G.affecting) - G.affecting.visible_message("[G.assailant] pushes [G.affecting] onto [src].", \ - "[G.assailant] pushes [G.affecting] onto [src].") + G.affecting.visible_message(SPAN_DANGER("[G.assailant] pushes [G.affecting] onto [src]."), \ + SPAN_USERDANGER("[G.assailant] pushes [G.affecting] onto [src].")) add_attack_logs(G.assailant, G.affecting, "Pushed onto a table") qdel(G) return TRUE @@ -243,7 +247,7 @@ I.pixel_y = clamp(text2num(modifiers["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2) if(slippery) step_away(I, user) - visible_message("[I] slips right off [src]!") + visible_message(SPAN_WARNING("[I] slips right off [src]!")) playsound(loc, 'sound/misc/slip.ogg', 50, TRUE, -1) else //Don't want slippery moving tables to have the item attached to them if it slides off. item_placed(I) @@ -255,7 +259,7 @@ . = ..() if(. && M.environment_smash >= minimum_env_smash) deconstruct(FALSE) - M.visible_message("[M] smashes [src]!", "You smash [src].") + M.visible_message(SPAN_DANGER("[M] smashes [src]!"), SPAN_NOTICE("You smash [src].")) /obj/structure/table/shove_impact(mob/living/target, mob/living/attacker) if(locate(/obj/structure/table) in get_turf(target)) @@ -331,28 +335,28 @@ if(!flipped) if(flip_speed > 0) - user.visible_message("[user] starts trying to flip [src]!", "You start trying to flip [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""].") + user.visible_message(SPAN_WARNING("[user] starts trying to flip [src]!"), SPAN_WARNING("You start trying to flip [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""].")) if(!do_after(user, flip_speed, TRUE, src)) - user.visible_message("[user] gives up on trying to flip [src].") + user.visible_message(SPAN_NOTICE("[user] gives up on trying to flip [src].")) return if(!flip(get_cardinal_dir(user, src))) - to_chat(user, "It won't budge.") + to_chat(user, SPAN_NOTICE("It won't budge.")) return - user.visible_message("[user] flips [src]!") + user.visible_message(SPAN_WARNING("[user] flips [src]!")) if(climbable) structure_shaken() else if(flip_speed > 0) - user.visible_message("[user] starts trying to right [src]!", "You start trying to right [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""]") + user.visible_message(SPAN_WARNING("[user] starts trying to right [src]!"), SPAN_WARNING("You start trying to right [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""]")) if(!do_after(user, flip_speed, TRUE, src)) - user.visible_message("[user] gives up on trying to right [src].") + user.visible_message(SPAN_NOTICE("[user] gives up on trying to right [src].")) return if(!unflip()) - to_chat(user, "It won't budge.") - user.visible_message("[user] rights [src]!") + to_chat(user, SPAN_NOTICE("It won't budge.")) + user.visible_message(SPAN_WARNING("[user] rights [src]!")) /obj/structure/table/proc/get_flip_speed(mob/living/flipper) if(!istype(flipper)) @@ -500,8 +504,8 @@ deconstruct(FALSE) /obj/structure/table/glass/proc/table_shatter(mob/living/L) - visible_message("[src] breaks!", - "You hear breaking glass.") + visible_message(SPAN_WARNING("[src] breaks!"), + SPAN_DANGER("You hear breaking glass.")) var/turf/T = get_turf(src) playsound(T, "shatter", 50, 1) for(var/I in debris) @@ -565,9 +569,9 @@ /obj/structure/table/glass/reinforced/deconstruction_hints(mob/user) //look, it was either copy paste these 4 procs, or copy paste all of the glass stuff if(deconstruction_ready) - to_chat(user, "The top cover has been welded loose and the main frame's bolts are exposed.") + to_chat(user, SPAN_NOTICE("The top cover has been welded loose and the main frame's bolts are exposed.")) else - to_chat(user, "The top cover is firmly welded on.") + to_chat(user, SPAN_NOTICE("The top cover is firmly welded on.")) /obj/structure/table/glass/reinforced/flip(direction) if(!deconstruction_ready) @@ -579,9 +583,9 @@ . = TRUE if(!I.tool_use_check(user, 0)) return - to_chat(user, "You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table...") + to_chat(user, SPAN_NOTICE("You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table...")) if(I.use_tool(src, user, 50, volume = I.tool_volume)) - to_chat(user, "You [deconstruction_ready ? "strengthen" : "weaken"] the table.") + to_chat(user, SPAN_NOTICE("You [deconstruction_ready ? "strengthen" : "weaken"] the table.")) deconstruction_ready = !deconstruction_ready /obj/structure/table/glass/reinforced/shove_impact(mob/living/target, mob/living/attacker) @@ -751,9 +755,9 @@ /obj/structure/table/reinforced/deconstruction_hints(mob/user) if(deconstruction_ready) - to_chat(user, "The top cover has been welded loose and the main frame's bolts are exposed.") + to_chat(user, SPAN_NOTICE("The top cover has been welded loose and the main frame's bolts are exposed.")) else - to_chat(user, "The top cover is firmly welded on.") + to_chat(user, SPAN_NOTICE("The top cover is firmly welded on.")) /obj/structure/table/reinforced/flip(direction) if(!deconstruction_ready) @@ -765,9 +769,9 @@ if(!I.tool_use_check(user, 0)) return . = TRUE - to_chat(user, "You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table...") + to_chat(user, SPAN_NOTICE("You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table...")) if(I.use_tool(src, user, 50, volume = I.tool_volume)) - to_chat(user, "You [deconstruction_ready ? "strengthen" : "weaken"] the table.") + to_chat(user, SPAN_NOTICE("You [deconstruction_ready ? "strengthen" : "weaken"] the table.")) deconstruction_ready = !deconstruction_ready /obj/structure/table/reinforced/brass @@ -881,7 +885,7 @@ qdel(src) /obj/structure/table/tray/deconstruction_hints(mob/user) - to_chat(user, "It is held together by some screws and bolts.") + to_chat(user, SPAN_NOTICE("It is held together by some screws and bolts.")) /obj/structure/table/tray/flip() return FALSE @@ -905,7 +909,7 @@ /obj/structure/rack/examine(mob/user) . = ..() - . += "It's held together by a couple of bolts." + . += SPAN_NOTICE("It's held together by a couple of bolts.") /obj/structure/rack/CanPass(atom/movable/mover, border_dir) if(!density) //Because broken racks -Agouri |TODO: SPRITE!| @@ -950,7 +954,7 @@ /obj/structure/rack/wrench_act(mob/user, obj/item/I) . = TRUE if(flags & NODECONSTRUCT) - to_chat(user, "Try as you might, you can't figure out how to deconstruct this.") + to_chat(user, SPAN_WARNING("Try as you might, you can't figure out how to deconstruct this.")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -961,8 +965,8 @@ return user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_KICK) - user.visible_message("[user] kicks [src].", \ - "You kick [src].") + user.visible_message(SPAN_WARNING("[user] kicks [src]."), \ + SPAN_DANGER("You kick [src].")) take_damage(rand(4,8), BRUTE, MELEE, 1) /obj/structure/rack/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) @@ -1024,13 +1028,13 @@ if(building) return building = TRUE - to_chat(user, "You start constructing a rack...") + to_chat(user, SPAN_NOTICE("You start constructing a rack...")) if(do_after(user, 50, target = user, progress=TRUE)) if(!user.drop_item(src)) return var/obj/structure/rack/R = new /obj/structure/rack(user.loc) user.visible_message("[user] assembles \a [R].\ - ", "You assemble \a [R].") +
", SPAN_NOTICE("You assemble \a [R].")) R.add_fingerprint(user) qdel(src) building = FALSE diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm index a5958cc4bfe..7ac4ca33acd 100644 --- a/code/game/objects/structures/tank_dispenser.dm +++ b/code/game/objects/structures/tank_dispenser.dm @@ -108,10 +108,10 @@ /obj/structure/dispenser/wrench_act(mob/living/user, obj/item/I) I.play_tool_sound(src, 50) if(anchored) - to_chat(user, "You lean down and unwrench [src].") + to_chat(user, SPAN_NOTICE("You lean down and unwrench [src].")) anchored = FALSE else - to_chat(user, "You wrench [src] into place.") + to_chat(user, SPAN_NOTICE("You wrench [src] into place.")) anchored = TRUE return TRUE @@ -127,23 +127,23 @@ if(!user.put_in_hands(T)) T.forceMove(loc) // If the user's hands are full, place it on the tile of the dispenser. - to_chat(user, "You take [T] out of [src].") + to_chat(user, SPAN_NOTICE("You take [T] out of [src].")) update_icon(UPDATE_OVERLAYS) /// Called when the user clicks on the dispenser with a tank. Tries to insert the tank into the dispenser, and updates the UI if successful. /obj/structure/dispenser/proc/try_insert_tank(mob/living/user, list/tank_list, obj/item/tank/T) if(LAZYLEN(tank_list) >= MAX_TANK_STORAGE) - to_chat(user, "[src] is full.") + to_chat(user, SPAN_WARNING("[src] is full.")) return if(!user.drop_item()) // Antidrop check - to_chat(user, "[T] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[T] is stuck to your hand!")) return T.forceMove(src) tank_list.Add(T) update_icon(UPDATE_OVERLAYS) - to_chat(user, "You put [T] in [src].") + to_chat(user, SPAN_NOTICE("You put [T] in [src].")) SStgui.update_uis(src) /obj/structure/dispenser/deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index ae290e549d2..13a34cd9236 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -34,8 +34,8 @@ /obj/structure/transit_tube/station/examine(mob/user) . = ..() - . += "While in transit, hold the directional key matching the pod's direction to skip a station." - . += "While at a station, press a directional key to quickly leave the station in that direction." + . += SPAN_NOTICE("While in transit, hold the directional key matching the pod's direction to skip a station.") + . += SPAN_NOTICE("While at a station, press a directional key to quickly leave the station in that direction.") /obj/structure/transit_tube/station/init_tube_dirs() // Tube station directions are simply 90 to either side of @@ -70,7 +70,7 @@ if(!pod_moving && L.dir == boarding_dir && hatch_state == TRANSIT_TUBE_OPEN && isliving(L) && !is_type_in_list(L, disallowed_mobs)) for(var/obj/structure/transit_tube_pod/pod in loc) if(length(pod.contents)) - to_chat(L, "The pod is already occupied.") + to_chat(L, SPAN_WARNING("The pod is already occupied.")) return if(!pod.moving && ((pod.dir in directions()) || (reverse_launch && (turn(pod.dir, 180) in directions())))) pod.move_into(L) @@ -92,8 +92,8 @@ // Can't empty it when inside or when there is nothing inside if(!length(pod.contents) || user.loc == pod) return - user.visible_message("[user] starts emptying [pod]'s contents onto the floor!", \ - "You start emptying [pod]'s contents onto the floor.", "You hear a loud noise! As if somebody is throwing stuff on the floor!") + user.visible_message(SPAN_WARNING("[user] starts emptying [pod]'s contents onto the floor!"), \ + SPAN_NOTICE("You start emptying [pod]'s contents onto the floor."), SPAN_WARNING("You hear a loud noise! As if somebody is throwing stuff on the floor!")) if(!do_after(user, 20, target = pod)) return for(var/atom/movable/AM in pod) @@ -109,7 +109,7 @@ if(ismob(G.affecting) && G.state >= GRAB_AGGRESSIVE) var/mob/living/GM = G.affecting for(var/obj/structure/transit_tube_pod/pod in loc) - pod.visible_message("[user] starts putting [GM] into [pod]!") + pod.visible_message(SPAN_WARNING("[user] starts putting [GM] into [pod]!")) if(do_after(user, 30, target = GM) && GM && G && G.affecting == GM) GM.Weaken(10 SECONDS) Bumped(GM) @@ -232,8 +232,8 @@ /obj/structure/transit_tube/station/dispenser/examine(mob/user) . = ..() - . += "This station will create a pod for you to ride, no need to wait for one." - . += "Any pods arriving at this station will be reclaimed." + . += SPAN_NOTICE("This station will create a pod for you to ride, no need to wait for one.") + . += SPAN_NOTICE("Any pods arriving at this station will be reclaimed.") /obj/structure/transit_tube/station/dispenser/close_hatch() . = ..() @@ -254,7 +254,7 @@ if(isliving(L) && !is_type_in_list(L, disallowed_mobs)) var/obj/structure/transit_tube_pod/dispensed/pod = new(loc) - L.visible_message("[pod] forms around [L].", "[pod] materializes around you.") + L.visible_message(SPAN_NOTICE("[pod] forms around [L]."), SPAN_NOTICE("[pod] materializes around you.")) playsound(src, 'sound/weapons/emitter2.ogg', 50, TRUE) pod.dir = turn(dir, -90) pod.move_into(L) diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm index 772c295f2ed..9d2e135f4bb 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube.dm @@ -150,7 +150,7 @@ /obj/structure/transit_tube/wrench_act(mob/living/user, obj/item/I) . = TRUE - to_chat(user, "You must uninstall [src] before disassembling it!") + to_chat(user, SPAN_NOTICE("You must uninstall [src] before disassembling it!")) /obj/structure/transit_tube/screwdriver_act(mob/living/user, obj/item/I) var/obj/structure/transit_tube_construction/construction = new uninstalled_type(get_turf(src)) @@ -163,7 +163,7 @@ if(leaf == "flipped") construction.flip() - user.visible_message("[user] uninstalls [src].") + user.visible_message(SPAN_NOTICE("[user] uninstalls [src].")) qdel(src) /obj/structure/transit_tube/deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm index 3f2aadae9f5..08f1712de14 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm @@ -14,7 +14,7 @@ /obj/structure/transit_tube_construction/examine(mob/user) . = ..() - . += "Alt-Click to rotate it, Alt-Shift-Click to flip it." + . += SPAN_NOTICE("Alt-Click to rotate it, Alt-Shift-Click to flip it.") /obj/structure/transit_tube_construction/AltClick(mob/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) @@ -42,21 +42,21 @@ . = TRUE var/turf/T = get_turf(src) if(!isfloorturf(T) && !isspaceturf(T)) - to_chat(user, "You cannot install [src] here.") + to_chat(user, SPAN_WARNING("You cannot install [src] here.")) return for(var/obj/turf_contents in T) // It's okay for tube parts to be installed over existing pods. if(!istype(turf_contents, /obj/structure/transit_tube_pod) && turf_contents.density) - to_chat(user, "There is not enough space to install [src] here.") + to_chat(user, SPAN_WARNING("There is not enough space to install [src] here.")) return if(is_station && !user.can_reach(src)) - to_chat(user, "[src] must be installed manually.") + to_chat(user, SPAN_WARNING("[src] must be installed manually.")) return var/install_type = flipped ? installed_type_flipped : installed_type var/atom/installed = new install_type(T) installed.dir = dir - user.visible_message("[user] installs [src].") + user.visible_message(SPAN_NOTICE("[user] installs [src].")) I.play_tool_sound(src, I.tool_volume) qdel(src) @@ -65,7 +65,7 @@ /obj/structure/transit_tube_construction/wrench_act(mob/living/user, obj/item/I) . = TRUE if(I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume)) - user.visible_message("[user] disassembles [src].") + user.visible_message(SPAN_NOTICE("[user] disassembles [src].")) qdel(src) /obj/structure/transit_tube_construction/rpd_act(mob/user, obj/item/rpd/our_rpd) @@ -93,11 +93,11 @@ if(istype(turf_contents, /obj/structure/transit_tube)) var/atom/installed = new installed_type(T) installed.dir = dir - user.visible_message("[user] installs [src].") + user.visible_message(SPAN_NOTICE("[user] installs [src].")) qdel(src) - to_chat(user, "[src] can only be installed in a transit tube!") + to_chat(user, SPAN_WARNING("[src] can only be installed in a transit tube!")) /obj/structure/transit_tube_construction/straight installed_type = /obj/structure/transit_tube diff --git a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm index 29a9b47f636..79b46a1c6e3 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm @@ -69,19 +69,19 @@ if(length(contents)) I.play_tool_sound(src) - user.visible_message("[user] pries [src] open.") + user.visible_message(SPAN_NOTICE("[user] pries [src] open.")) empty_pod() /obj/structure/transit_tube_pod/screwdriver_act(mob/living/user, obj/item/I) . = TRUE var/obj/structure/transit_tube_construction/pod/P = new(get_turf(src)) P.dir = dir - to_chat(user, "You uninstall [src].") + to_chat(user, SPAN_NOTICE("You uninstall [src].")) qdel(src) /obj/structure/transit_tube_pod/wrench_act(mob/living/user, obj/item/I) . = TRUE - to_chat(user, "You must uninstall [src] before disassembling it!") + to_chat(user, SPAN_NOTICE("You must uninstall [src] before disassembling it!")) /obj/structure/transit_tube_pod/process() ..() @@ -101,7 +101,7 @@ var/list/savedcontents = contents.Copy() var/saveddir = dir var/turf/destination = get_edge_target_turf(src, saveddir) - visible_message("[src] ejects its insides out!") + visible_message(SPAN_WARNING("[src] ejects its insides out!")) for(var/i in savedcontents) var/atom/movable/AM = i AM.throw_at(destination, rand(1, 3), 5) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 3ea788a5ce7..26f25a6de7b 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -30,15 +30,15 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0) if(swirlie) user.changeNext_move(CLICK_CD_MELEE) playsound(src.loc, "swing_hit", 25, TRUE) - user.visible_message("[user] slams the toilet seat onto [swirlie]'s head!", - "You slam the toilet seat onto [swirlie]'s head!", - "You hear reverberating porcelain.") + user.visible_message(SPAN_DANGER("[user] slams the toilet seat onto [swirlie]'s head!"), + SPAN_USERDANGER("You slam the toilet seat onto [swirlie]'s head!"), + SPAN_ITALICS("You hear reverberating porcelain.")) swirlie.apply_damage(5, BRUTE, BODY_ZONE_HEAD, swirlie.run_armor_check(BODY_ZONE_HEAD, MELEE)) return if(cistern && !open) if(!length(contents)) - to_chat(user, "The cistern is empty.") + to_chat(user, SPAN_NOTICE("The cistern is empty.")) return else var/obj/item/I = pick(contents) @@ -46,7 +46,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0) user.put_in_hands(I) else I.loc = get_turf(src) - to_chat(user, "You find [I] in the cistern.") + to_chat(user, SPAN_NOTICE("You find [I] in the cistern.")) w_items -= I.w_class return @@ -75,17 +75,17 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0) var/obj/item/reagent_containers/container = used if(container.is_refillable()) if(container.reagents.holder_full()) - to_chat(user, "[container] is full.") + to_chat(user, SPAN_WARNING("[container] is full.")) else container.reagents.add_reagent("toiletwater", min(container.volume - container.reagents.total_volume, container.amount_per_transfer_from_this)) - to_chat(user, "You fill [container] from [src]. Gross.") + to_chat(user, SPAN_NOTICE("You fill [container] from [src]. Gross.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/grab)) user.changeNext_move(CLICK_CD_MELEE) var/obj/item/grab/G = used if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "Swirling [G.affecting] might hurt them!") + to_chat(user, SPAN_DANGER("Swirling [G.affecting] might hurt them!")) return ITEM_INTERACT_COMPLETE if(!G.confirm()) return ITEM_INTERACT_COMPLETE @@ -93,17 +93,17 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0) var/mob/living/target = G.affecting if(G.state >= GRAB_AGGRESSIVE) if(target.loc != get_turf(src)) - to_chat(user, "[target] needs to be on [src]!") + to_chat(user, SPAN_WARNING("[target] needs to be on [src]!")) return ITEM_INTERACT_COMPLETE if(!swirlie) if(open) - user.visible_message("[user] starts to give [target] a swirlie!", - "You start to give [target] a swirlie...") + user.visible_message(SPAN_DANGER("[user] starts to give [target] a swirlie!"), + SPAN_USERDANGER("You start to give [target] a swirlie...")) swirlie = target if(do_after(user, 3 SECONDS, FALSE, target = src)) - user.visible_message("[user] gives [target] a swirlie!", - "You give [target] a swirlie!", - "You hear a toilet flushing.") + user.visible_message(SPAN_DANGER("[user] gives [target] a swirlie!"), + SPAN_USERDANGER("You give [target] a swirlie!"), + SPAN_ITALICS("You hear a toilet flushing.")) if(iscarbon(target)) var/mob/living/carbon/C = target if(!C.internal) @@ -113,26 +113,26 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0) swirlie = null else playsound(src.loc, 'sound/effects/bang.ogg', 25, TRUE) - user.visible_message("[user] slams [target]'s head into [src]!", - "You slam [target]'s head into [src]!") + user.visible_message(SPAN_DANGER("[user] slams [target]'s head into [src]!"), + SPAN_USERDANGER("You slam [target]'s head into [src]!")) target.apply_damage(5, BRUTE, BODY_ZONE_HEAD, target.run_armor_check(BODY_ZONE_HEAD, MELEE)) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You need a tighter grip!") + to_chat(user, SPAN_WARNING("You need a tighter grip!")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/flamethrower)) var/obj/item/flamethrower/big_lighter = used if(!big_lighter.lit) - to_chat(user, "[big_lighter] isn't lit!") + to_chat(user, SPAN_WARNING("[big_lighter] isn't lit!")) return ITEM_INTERACT_COMPLETE big_lighter.default_ignite(loc, 0.01) if(!cistern) //Just changes what message you get, since fire_act handles the open cistern too. - user.visible_message("[user] torches the contents of the top of the toilet with [big_lighter]!", - "You torch the top of the toilet with [big_lighter]! Whoops.") + user.visible_message(SPAN_WARNING("[user] torches the contents of the top of the toilet with [big_lighter]!"), + SPAN_WARNING("You torch the top of the toilet with [big_lighter]! Whoops.")) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] torches the contents of the cistern with [big_lighter]!", - "You torch the contents of the cistern with [big_lighter]!") + user.visible_message(SPAN_NOTICE("[user] torches the contents of the cistern with [big_lighter]!"), + SPAN_NOTICE("You torch the contents of the cistern with [big_lighter]!")) return ITEM_INTERACT_COMPLETE if(cistern) @@ -160,12 +160,12 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0) . = TRUE if(!I.tool_use_check(user, 0)) return - to_chat(user, "You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]...") + to_chat(user, SPAN_NOTICE("You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]...")) playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, TRUE) if(I.use_tool(src, user, 30, volume = I.tool_volume)) user.visible_message("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!", - "You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!", - "You hear grinding porcelain.") + SPAN_NOTICE("You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!"), + SPAN_ITALICS("You hear grinding porcelain.")) cistern = !cistern update_icon() return @@ -189,22 +189,22 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0) if("Stash") stash_goods(I, user) if("Disconnect") - user.visible_message("[user] starts disconnecting [src].", - "You begin disconnecting [src]...") + user.visible_message(SPAN_NOTICE("[user] starts disconnecting [src]."), + SPAN_NOTICE("You begin disconnecting [src]...")) if(I.use_tool(src, user, 40, volume = I.tool_volume)) if(!loc || !anchored) return - user.visible_message("[user] disconnects [src]!", - "You disconnect [src]!") + user.visible_message(SPAN_NOTICE("[user] disconnects [src]!"), + SPAN_NOTICE("You disconnect [src]!")) anchored = FALSE if("Connect") - user.visible_message("[user] starts connecting [src].", - "You begin connecting [src]...") + user.visible_message(SPAN_NOTICE("[user] starts connecting [src]."), + SPAN_NOTICE("You begin connecting [src]...")) if(I.use_tool(src, user, 40, volume = I.tool_volume)) if(!loc || anchored) return - user.visible_message("[user] connects [src]!", - "You connect [src]!") + user.visible_message(SPAN_NOTICE("[user] connects [src]!"), + SPAN_NOTICE("You connect [src]!")) anchored = TRUE if("Rotate") var/list/dir_choices = list("North" = NORTH, "East" = EAST, "South" = SOUTH, "West" = WEST) @@ -218,17 +218,17 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0) if(!I) return if(I.w_class > WEIGHT_CLASS_NORMAL) - to_chat(user, "[I] does not fit!") + to_chat(user, SPAN_WARNING("[I] does not fit!")) return if(w_items + I.w_class > WEIGHT_CLASS_HUGE) - to_chat(user, "The cistern is full!") + to_chat(user, SPAN_WARNING("The cistern is full!")) return if(!user.drop_item()) - to_chat(user, "[I] is stuck to your hand, you cannot put it in the cistern!") + to_chat(user, SPAN_WARNING("[I] is stuck to your hand, you cannot put it in the cistern!")) return I.loc = src update_contents_weight_class() - to_chat(user, "You carefully place [I] into the cistern.") + to_chat(user, SPAN_NOTICE("You carefully place [I] into the cistern.")) /obj/structure/urinal name = "urinal" @@ -243,21 +243,21 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0) if(!G.confirm()) return ITEM_INTERACT_COMPLETE if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "Slamming [G.affecting] into [src] might hurt them!") + to_chat(user, SPAN_DANGER("Slamming [G.affecting] into [src] might hurt them!")) return ITEM_INTERACT_COMPLETE if(isliving(G.affecting)) var/mob/living/target = G.affecting if(G.state >= GRAB_AGGRESSIVE) if(target.loc != get_turf(src)) - to_chat(user, "[target] needs to be on [src].") + to_chat(user, SPAN_NOTICE("[target] needs to be on [src].")) return ITEM_INTERACT_COMPLETE user.changeNext_move(CLICK_CD_MELEE) playsound(src.loc, 'sound/effects/bang.ogg', 25, TRUE) - user.visible_message("[user] slams [target]'s head into [src]!", - "You slam [target]'s head into [src]!") + user.visible_message(SPAN_DANGER("[user] slams [target]'s head into [src]!"), + SPAN_DANGER("You slam [target]'s head into [src]!")) target.apply_damage(8, BRUTE, BODY_ZONE_HEAD, target.run_armor_check(BODY_ZONE_HEAD, MELEE)) else - to_chat(user, "You need a tighter grip!") + to_chat(user, SPAN_WARNING("You need a tighter grip!")) return ITEM_INTERACT_COMPLETE return ..() @@ -266,24 +266,24 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0) if(!I.tool_use_check(user, 0)) return if(anchored) - user.visible_message("[user] begins disconnecting [src]...", - "You begin to disconnect [src]...") + user.visible_message(SPAN_NOTICE("[user] begins disconnecting [src]..."), + SPAN_NOTICE("You begin to disconnect [src]...")) if(I.use_tool(src, user, 40, volume = I.tool_volume)) if(!loc || !anchored) return - user.visible_message("[user] disconnects [src]!", - "You disconnect [src]!") + user.visible_message(SPAN_NOTICE("[user] disconnects [src]!"), + SPAN_NOTICE("You disconnect [src]!")) anchored = FALSE pixel_x = 0 pixel_y = 0 else - user.visible_message("[user] begins connecting [src]...", - "You begin to connect [src]...") + user.visible_message(SPAN_NOTICE("[user] begins connecting [src]..."), + SPAN_NOTICE("You begin to connect [src]...")) if(I.use_tool(src, user, 40, volume = I.tool_volume)) if(!loc || anchored) return - user.visible_message("[user] connects [src]!", - "You connect [src]!") + user.visible_message(SPAN_NOTICE("[user] connects [src]!"), + SPAN_NOTICE("You connect [src]!")) anchored = TRUE pixel_x = 0 pixel_y = 32 @@ -367,14 +367,14 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0) /obj/machinery/shower/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/analyzer)) - to_chat(user, "The water temperature seems to be [current_temperature].") + to_chat(user, SPAN_NOTICE("The water temperature seems to be [current_temperature].")) return ITEM_INTERACT_COMPLETE return ..() /obj/machinery/shower/wrench_act(mob/living/user, obj/item/I) ..() - to_chat(user, "You begin to adjust the temperature valve with [I].") + to_chat(user, SPAN_NOTICE("You begin to adjust the temperature valve with [I].")) if(I.use_tool(src, user, 50)) switch(current_temperature) if(SHOWER_NORMAL) @@ -383,8 +383,8 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0) current_temperature = SHOWER_BOILING if(SHOWER_BOILING) current_temperature = SHOWER_NORMAL - user.visible_message("[user] adjusts the shower with \the [I].", - "You adjust the shower with \the [I] to [current_temperature] temperature.") + user.visible_message(SPAN_NOTICE("[user] adjusts the shower with \the [I]."), + SPAN_NOTICE("You adjust the shower with \the [I] to [current_temperature] temperature.")) add_hiddenprint(user) handle_mist() return TRUE @@ -392,15 +392,15 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0) /obj/machinery/shower/welder_act(mob/living/user, obj/item/I) . = TRUE if(on) - to_chat(user, "Turn [src] off before you attempt to cut it loose.") + to_chat(user, SPAN_WARNING("Turn [src] off before you attempt to cut it loose.")) return if(!I.tool_use_check(user, 0)) return - visible_message("[user] begins slicing [src] free...", - "You begin slicing [src] free...", - "You hear welding.") + visible_message(SPAN_NOTICE("[user] begins slicing [src] free..."), + SPAN_NOTICE("You begin slicing [src] free..."), + SPAN_WARNING("You hear welding.")) if(I.use_tool(src, user, 40, volume = I.tool_volume)) - user.visible_message("[user] cuts [src] loose!", "You cut [src] loose!") + user.visible_message(SPAN_NOTICE("[user] cuts [src] loose!"), SPAN_NOTICE("You cut [src] loose!")) var/obj/item/mounted/shower/S = new /obj/item/mounted/shower(get_turf(user)) transfer_prints_to(S, TRUE) qdel(src) @@ -486,10 +486,10 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0) var/mob/living/carbon/C = M if(current_temperature == SHOWER_FREEZING) - to_chat(C, "The water is freezing!") + to_chat(C, SPAN_WARNING("The water is freezing!")) else if(current_temperature == SHOWER_BOILING) - to_chat(C, "The water is searing!") + to_chat(C, SPAN_WARNING("The water is searing!")) #undef SHOWER_FREEZING #undef SHOWER_NORMAL @@ -531,7 +531,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0) if(..()) return if(!anchored) - to_chat(user, "[src] isn't connected, wrench it into position first!") + to_chat(user, SPAN_WARNING("[src] isn't connected, wrench it into position first!")) return var/obj/item/organ/external/temp = user.bodyparts_by_name["r_hand"] @@ -541,7 +541,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0) to_chat(user, "You try to move your [temp], but cannot!") return if(sink_flags & SINK_BUSY) - to_chat(user, "Someone's already washing here.") + to_chat(user, SPAN_NOTICE("Someone's already washing here.")) return var/selected_area = parse_zone(user.zone_selected) @@ -549,8 +549,8 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0) if(selected_area in list("head", "mouth", "eyes")) washing_face = TRUE sink_flags |= SINK_BUSY - user.visible_message("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]...", \ - "You start washing your [washing_face ? "face" : "hands"]...") + user.visible_message(SPAN_NOTICE("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]..."), \ + SPAN_NOTICE("You start washing your [washing_face ? "face" : "hands"]...")) if(!do_after(user, 4 SECONDS, target = src)) sink_flags &= ~SINK_BUSY return @@ -563,15 +563,15 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0) else user.clean_blood() sink_flags &= ~SINK_BUSY - user.visible_message("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src].", \ - "You wash your [washing_face ? "face" : "hands"] using [src].") + user.visible_message(SPAN_NOTICE("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src]."), \ + SPAN_NOTICE("You wash your [washing_face ? "face" : "hands"] using [src].")) /obj/structure/sink/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(sink_flags & SINK_BUSY) - to_chat(user, "Someone's already washing here!") + to_chat(user, SPAN_WARNING("Someone's already washing here!")) return ITEM_INTERACT_COMPLETE if(!anchored) - to_chat(user, "[src] isn't connected, wrench it into position first!") + to_chat(user, SPAN_WARNING("[src] isn't connected, wrench it into position first!")) return ITEM_INTERACT_COMPLETE sink_flags |= SINK_BUSY if(used.wash(user, src)) @@ -600,22 +600,22 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0) I.water_act(20, COLD_WATER_TEMPERATURE, src) sink_flags &= ~SINK_BUSY if("Disconnect") - user.visible_message("[user] starts disconnecting [src].", - "You begin disconnecting [src]...") + user.visible_message(SPAN_NOTICE("[user] starts disconnecting [src]."), + SPAN_NOTICE("You begin disconnecting [src]...")) if(I.use_tool(src, user, 40, volume = I.tool_volume)) if(!loc || !anchored) return - user.visible_message("[user] disconnects [src]!", - "You disconnect [src]!") + user.visible_message(SPAN_NOTICE("[user] disconnects [src]!"), + SPAN_NOTICE("You disconnect [src]!")) anchored = FALSE if("Connect") - user.visible_message("[user] starts connecting [src].", - "You begin connecting [src]...") + user.visible_message(SPAN_NOTICE("[user] starts connecting [src]."), + SPAN_NOTICE("You begin connecting [src]...")) if(I.use_tool(src, user, 40, volume = I.tool_volume)) if(!loc || anchored) return - user.visible_message("[user] connects [src]!", - "You connect [src]!") + user.visible_message(SPAN_NOTICE("[user] connects [src]!"), + SPAN_NOTICE("You connect [src]!")) anchored = TRUE if("Rotate") var/list/dir_choices = list("North" = NORTH, "East" = EAST, "South" = SOUTH, "West" = WEST) @@ -691,7 +691,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink/kitchen/old, 18, -4, 0, 0 if(!on_wall || !user) return if(!(get_dir(user, on_wall) in GLOB.cardinal)) - to_chat(user, "You need to be standing next to a wall to place \the [src].") + to_chat(user, SPAN_WARNING("You need to be standing next to a wall to place \the [src].")) return return TRUE @@ -729,13 +729,13 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink/kitchen/old, 18, -4, 0, 0 return var/turf/T = get_turf(user) if(!T) - to_chat(user, "You can't build that here!") + to_chat(user, SPAN_WARNING("You can't build that here!")) return - user.visible_message("[user] begins assembling a new [result_name].", - "You begin assembling a new [result_name].") + user.visible_message(SPAN_NOTICE("[user] begins assembling a new [result_name]."), + SPAN_NOTICE("You begin assembling a new [result_name].")) if(do_after(user, 3 SECONDS, target = user)) - user.visible_message("[user] finishes building a new [result_name]!", - "You finish building a new [result_name]!") + user.visible_message(SPAN_NOTICE("[user] finishes building a new [result_name]!"), + SPAN_NOTICE("You finish building a new [result_name]!")) var/obj/structure/S = new result(T) S.anchored = FALSE S.dir = user.dir diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 5a3c261d1a1..a4a51b333b1 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -32,20 +32,20 @@ switch(state) if(EMPTY_ASSEMBLY) if(anchored) - . += "The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring." + . += SPAN_NOTICE("The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring.") else - . += "The assembly is welded together, but the anchoring bolts are unwrenched." + . += SPAN_NOTICE("The assembly is welded together, but the anchoring bolts are unwrenched.") if(!secure) - . += "The frame has empty slots for plasteel reinforcements." + . += SPAN_NOTICE("The frame has empty slots for plasteel reinforcements.") if(WIRED_ASSEMBLY) if(electronics) - . += "The circuit is connected to its slot, but the windoor is not lifted into the frame." - . += "The assembly has its electrochromic panel [polarized_glass ? "enabled" : "disabled"] and can be configured." + . += SPAN_NOTICE("The circuit is connected to its slot, but the windoor is not lifted into the frame.") + . += SPAN_NOTICE("The assembly has its electrochromic panel [polarized_glass ? "enabled" : "disabled"] and can be configured.") else - . += "The maintenance panel is wired, but the circuit slot is empty." + . += SPAN_NOTICE("The maintenance panel is wired, but the circuit slot is empty.") - . += "Alt-Click to rotate it." - . += "Alt-Shift-Click to flip it." + . += SPAN_NOTICE("Alt-Click to rotate it.") + . += SPAN_NOTICE("Alt-Shift-Click to flip it.") /obj/structure/windoor_assembly/Initialize(mapload, set_dir) . = ..() @@ -116,9 +116,9 @@ if(istype(W, /obj/item/stack/sheet/plasteel) && !secure) var/obj/item/stack/sheet/plasteel/P = W if(P.get_amount() < 2) - to_chat(user, "You need more plasteel to do this!") + to_chat(user, SPAN_WARNING("You need more plasteel to do this!")) return - to_chat(user, "You start to reinforce the windoor with plasteel...") + to_chat(user, SPAN_NOTICE("You start to reinforce the windoor with plasteel...")) if(do_after(user, 40 * P.toolspeed, target = src)) if(!src || secure || P.get_amount() < 2) @@ -126,7 +126,7 @@ playsound(loc, P.usesound, 100, 1) P.use(2) - to_chat(user, "You reinforce the windoor.") + to_chat(user, SPAN_NOTICE("You reinforce the windoor.")) secure = TRUE if(anchored) name = "secure anchored windoor assembly" @@ -142,7 +142,7 @@ return var/obj/item/stack/cable_coil/CC = W CC.use(1) - to_chat(user, "You wire the windoor.") + to_chat(user, SPAN_NOTICE("You wire the windoor.")) playsound(loc, CC.usesound, 100, 1) state = WIRED_ASSEMBLY if(secure) @@ -165,7 +165,7 @@ if(!src || electronics) new_electronics.forceMove(loc) return - to_chat(user, "You install the windoor electronics.") + to_chat(user, SPAN_NOTICE("You install the windoor electronics.")) name = "near finished windoor assembly" electronics = new_electronics electronics.is_installed = TRUE @@ -188,7 +188,7 @@ return . = TRUE if(!electronics) - to_chat(user, "[src] is missing electronics!") + to_chat(user, SPAN_WARNING("[src] is missing electronics!")) return if(!I.tool_use_check(user, 0)) return @@ -203,7 +203,7 @@ return density = TRUE //Shouldn't matter but just incase - to_chat(user, "You finish the windoor.") + to_chat(user, SPAN_NOTICE("You finish the windoor.")) var/obj/machinery/door/window/windoor if(secure) windoor = new /obj/machinery/door/window/brigdoor(src.loc) @@ -247,7 +247,7 @@ user.visible_message("[user] removes the electronics from the windoor assembly.", "You start to uninstall the electronics from the windoor assembly...") if(!I.use_tool(src, user, 40, volume = I.tool_volume)) return - to_chat(user, "You remove the airlock electronics.") + to_chat(user, SPAN_NOTICE("You remove the airlock electronics.")) name = "wired windoor assembly" var/obj/item/airlock_electronics/ae ae = electronics @@ -264,7 +264,7 @@ user.visible_message("[user] cuts the wires from the windoor assembly.", "You start to cut the wires from windoor assembly...") if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != WIRED_ASSEMBLY) return - to_chat(user, "You cut the windoor wires.") + to_chat(user, SPAN_NOTICE("You cut the windoor wires.")) new/obj/item/stack/cable_coil(get_turf(user), 1) state = EMPTY_ASSEMBLY if(secure) @@ -282,7 +282,7 @@ if(!anchored) //Wrenching an unsecure assembly anchors it in place. Step 4 complete for(var/obj/machinery/door/window/WD in loc) if(WD.dir == dir) - to_chat(user, "There is already a windoor in that location!") + to_chat(user, SPAN_WARNING("There is already a windoor in that location!")) return user.visible_message("[user] secures the windoor assembly to the floor.", "You start to secure the windoor assembly to the floor...") @@ -290,9 +290,9 @@ return for(var/obj/machinery/door/window/WD in loc) if(WD.dir == dir) - to_chat(user, "There is already a windoor in that location!") + to_chat(user, SPAN_WARNING("There is already a windoor in that location!")) return - to_chat(user, "You secure the windoor assembly.") + to_chat(user, SPAN_NOTICE("You secure the windoor assembly.")) anchored = TRUE if(secure) name = "secure anchored windoor assembly" @@ -303,7 +303,7 @@ user.visible_message("[user] unsecures the windoor assembly from the floor.", "You start to unsecure the windoor assembly from the floor...") if(!I.use_tool(src, user, 40, volume = I.tool_volume) || !anchored || state != EMPTY_ASSEMBLY) return - to_chat(user, "You unsecure the windoor assembly.") + to_chat(user, SPAN_NOTICE("You unsecure the windoor assembly.")) anchored = FALSE if(secure) name = "secure windoor assembly" @@ -333,7 +333,7 @@ return . = TRUE if(!electronics) - to_chat(user, "[src] is missing electronics!") + to_chat(user, SPAN_WARNING("[src] is missing electronics!")) return if(!I.tool_use_check(user, 0)) return @@ -343,7 +343,7 @@ polarized_glass = !polarized_glass - to_chat(user, "You [polarized_glass ? "enable" : "disable"] the electrochromic panel in the windoor assembly.") + to_chat(user, SPAN_NOTICE("You [polarized_glass ? "enable" : "disable"] the electrochromic panel in the windoor assembly.")) /obj/structure/windoor_assembly/AltClick(mob/user) @@ -351,12 +351,12 @@ return if(anchored) - to_chat(user, "[src] cannot be rotated while it is fastened to the floor!") + to_chat(user, SPAN_WARNING("[src] cannot be rotated while it is fastened to the floor!")) return var/target_dir = turn(dir, 90) if(!valid_window_location(loc, target_dir)) - to_chat(user, "[src] cannot be rotated in that direction!") + to_chat(user, SPAN_WARNING("[src] cannot be rotated in that direction!")) return setDir(target_dir) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index eec2cc0c76f..ce0907355e7 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -51,20 +51,20 @@ . = ..() if(reinf) if(anchored && state == WINDOW_SCREWED_TO_FRAME) - . += "The window is screwed to the frame." + . += SPAN_NOTICE("The window is screwed to the frame.") else if(anchored && state == WINDOW_IN_FRAME) - . += "The window is unscrewed but pried into the frame." + . += SPAN_NOTICE("The window is unscrewed but pried into the frame.") else if(anchored && state == WINDOW_OUT_OF_FRAME) - . += "The window is out of the frame, but could be pried in. It is screwed to the floor." + . += SPAN_NOTICE("The window is out of the frame, but could be pried in. It is screwed to the floor.") else if(!anchored) - . += "The window is unscrewed from the floor, and could be deconstructed by wrenching." + . += SPAN_NOTICE("The window is unscrewed from the floor, and could be deconstructed by wrenching.") else if(anchored) - . += "The window is screwed to the floor." + . += SPAN_NOTICE("The window is screwed to the floor.") else - . += "The window is unscrewed from the floor, and could be deconstructed by wrenching." + . += SPAN_NOTICE("The window is unscrewed from the floor, and could be deconstructed by wrenching.") if(!anchored && !fulltile) - . += "Alt-Click to rotate it." + . += SPAN_NOTICE("Alt-Click to rotate it.") /obj/structure/window/Initialize(mapload, direct) . = ..() @@ -166,7 +166,7 @@ /obj/structure/window/attack_tk(mob/user) user.changeNext_move(CLICK_CD_MELEE) - user.visible_message("Something knocks on [src].") + user.visible_message(SPAN_NOTICE("Something knocks on [src].")) add_fingerprint(user) playsound(src, 'sound/effects/glassknock.ogg', 50, 1) @@ -181,8 +181,8 @@ if(user.a_intent == INTENT_HARM) user.changeNext_move(CLICK_CD_MELEE) playsound(src, 'sound/effects/glassbang.ogg', 100, 1) - user.visible_message("[user] bangs against [src]!", \ - "You bang against [src]!", \ + user.visible_message(SPAN_WARNING("[user] bangs against [src]!"), \ + SPAN_WARNING("You bang against [src]!"), \ "You hear a banging sound.") add_fingerprint(user) else @@ -203,7 +203,7 @@ . = ..() if(. && M.environment_smash >= env_smash_level) deconstruct(FALSE) - M.visible_message("[M] smashes through [src]!", "You smash through [src].", "You hear glass breaking.") + M.visible_message(SPAN_DANGER("[M] smashes through [src]!"), SPAN_WARNING("You smash through [src]."), SPAN_WARNING("You hear glass breaking.")) /obj/structure/window/handle_basic_attack(mob/living/basic/attacker, modifiers) if(!can_be_reached(attacker)) @@ -211,7 +211,7 @@ . = ..() if(. && attacker.environment_smash >= env_smash_level) deconstruct(FALSE) - attacker.visible_message("[attacker] smashes through [src]!", "You smash through [src].", "You hear glass breaking.") + attacker.visible_message(SPAN_DANGER("[attacker] smashes through [src]!"), SPAN_WARNING("You smash through [src]."), SPAN_WARNING("You hear glass breaking.")) /obj/structure/window/item_interaction(mob/living/user, obj/item/I, list/modifiers) . = ITEM_INTERACT_COMPLETE @@ -223,7 +223,7 @@ for(var/obj/structure/grille/G in get_turf(src)) if(!G.broken) continue - to_chat(user, "You start rebuilding the broken grille.") + to_chat(user, SPAN_NOTICE("You start rebuilding the broken grille.")) if(do_after(user, 4 SECONDS, FALSE, G)) G.repair(user, I) @@ -235,22 +235,22 @@ qdel(I) //gotta delete it here because if window breaks, it won't get deleted switch(state) if(1) - M.visible_message("[user] slams [M] against \the [src]!") + M.visible_message(SPAN_WARNING("[user] slams [M] against \the [src]!")) M.apply_damage(7) take_damage(10) if(2) - M.visible_message("[user] bashes [M] against \the [src]!") + M.visible_message(SPAN_DANGER("[user] bashes [M] against \the [src]!")) if(prob(50)) M.Weaken(2 SECONDS) M.apply_damage(10) take_damage(25) if(3) - M.visible_message("[user] crushes [M] against \the [src]!") + M.visible_message(SPAN_DANGER("[user] crushes [M] against \the [src]!")) M.Weaken(10 SECONDS) M.apply_damage(20) take_damage(50) if(4) - visible_message("[user] smashes [M] against \the [src]!") + visible_message(SPAN_DANGER("[user] smashes [M] against \the [src]!")) M.Weaken(10 SECONDS) M.apply_damage(30) take_damage(75) @@ -271,11 +271,11 @@ if(!can_be_reached(user)) return if(decon_speed) // Only show this if it actually takes time - to_chat(user, "You begin to lever the window [state == WINDOW_OUT_OF_FRAME ? "into":"out of"] the frame...") + to_chat(user, SPAN_NOTICE("You begin to lever the window [state == WINDOW_OUT_OF_FRAME ? "into":"out of"] the frame...")) if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) return state = (state == WINDOW_OUT_OF_FRAME ? WINDOW_IN_FRAME : WINDOW_OUT_OF_FRAME) - to_chat(user, "You pry the window [state == WINDOW_IN_FRAME ? "into":"out of"] the frame.") + to_chat(user, SPAN_NOTICE("You pry the window [state == WINDOW_IN_FRAME ? "into":"out of"] the frame.")) /obj/structure/window/screwdriver_act(mob/user, obj/item/I) if(flags & NODECONSTRUCT) @@ -286,31 +286,31 @@ if(reinf) if(state == WINDOW_SCREWED_TO_FRAME || state == WINDOW_IN_FRAME) if(decon_speed) - to_chat(user, "You begin to [state == WINDOW_SCREWED_TO_FRAME ? "unscrew the window from":"screw the window to"] the frame...") + to_chat(user, SPAN_NOTICE("You begin to [state == WINDOW_SCREWED_TO_FRAME ? "unscrew the window from":"screw the window to"] the frame...")) if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) return state = (state == WINDOW_IN_FRAME ? WINDOW_SCREWED_TO_FRAME : WINDOW_IN_FRAME) - to_chat(user, "You [state == WINDOW_IN_FRAME ? "unfasten the window from":"fasten the window to"] the frame.") + to_chat(user, SPAN_NOTICE("You [state == WINDOW_IN_FRAME ? "unfasten the window from":"fasten the window to"] the frame.")) else if(state == WINDOW_OUT_OF_FRAME) if(decon_speed) - to_chat(user, "You begin to [anchored ? "unscrew the frame from":"screw the frame to"] the floor...") + to_chat(user, SPAN_NOTICE("You begin to [anchored ? "unscrew the frame from":"screw the frame to"] the floor...")) if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored))) return anchored = !anchored recalculate_atmos_connectivity() update_nearby_icons() - to_chat(user, "You [anchored ? "fasten the frame to":"unfasten the frame from"] the floor.") + to_chat(user, SPAN_NOTICE("You [anchored ? "fasten the frame to":"unfasten the frame from"] the floor.")) else //if we're not reinforced, we don't need to check or update state if(decon_speed) - to_chat(user, "You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor...") + to_chat(user, SPAN_NOTICE("You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor...")) if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored))) return anchored = !anchored recalculate_atmos_connectivity() update_nearby_icons() - to_chat(user, "You [anchored ? "fasten the window to":"unfasten the window from"] the floor.") + to_chat(user, SPAN_NOTICE("You [anchored ? "fasten the window to":"unfasten the window from"] the floor.")) /obj/structure/window/wrench_act(mob/user, obj/item/I) if(flags & NODECONSTRUCT) @@ -327,7 +327,7 @@ var/obj/item/stack/sheet/G = new glass_type(user.loc, glass_amount) G.add_fingerprint(user) playsound(src, 'sound/items/deconstruct.ogg', 50, 1) - to_chat(user, "You successfully disassemble [src].") + to_chat(user, SPAN_NOTICE("You successfully disassemble [src].")) qdel(src) /obj/structure/window/welder_act(mob/user, obj/item/I) @@ -337,7 +337,7 @@ if(!can_be_reached(user)) return if(obj_integrity >= max_integrity) - to_chat(user, "[src] is already in good condition!") + to_chat(user, SPAN_WARNING("[src] is already in good condition!")) return if(!I.tool_use_check(user, 0)) return @@ -413,7 +413,7 @@ return if(anchored) - to_chat(user, "[src] cannot be rotated while it is fastened to the floor!") + to_chat(user, SPAN_WARNING("[src] cannot be rotated while it is fastened to the floor!")) return FALSE var/target_dir = turn(dir, 270) @@ -421,7 +421,7 @@ if(!valid_window_location(loc, target_dir)) target_dir = turn(dir, 90) if(!valid_window_location(loc, target_dir)) - to_chat(user, "There is no room to rotate [src].") + to_chat(user, SPAN_WARNING("There is no room to rotate [src].")) return FALSE setDir(target_dir) @@ -599,7 +599,7 @@ . = TRUE if(!I.tool_use_check(user, 0)) return - user.visible_message("[user] starts unwrenching [src] from the wall...", "You are unwrenching [src] from the wall...", "You hear ratcheting.") + user.visible_message(SPAN_NOTICE("[user] starts unwrenching [src] from the wall..."), SPAN_NOTICE("You are unwrenching [src] from the wall..."), SPAN_WARNING("You hear ratcheting.")) if(!I.use_tool(src, user, 50, volume = I.tool_volume)) return WRENCH_UNANCHOR_WALL_MESSAGE diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 300d259b064..3796749ce6a 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -151,7 +151,7 @@ var/obj/item/organ/external/affected = M.get_organ("head") if(affected) M.apply_damage(5, BRUTE, "head") - M.visible_message("[M] hits their head on the ice!") + M.visible_message(SPAN_WARNING("[M] hits their head on the ice!")) playsound(src, 'sound/weapons/genhit1.ogg', 50, 1) if(TURF_WET_PERMAFROST) // Permafrost diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 90a333a5229..fd6c6c0dcc1 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -167,7 +167,7 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama if(P.pipe_type != -1) // ANY PIPE user.visible_message( \ "[user] starts sliding [P] along \the [src].", \ - "You slide [P] along \the [src].", \ + SPAN_NOTICE("You slide [P] along \the [src]."), \ "You hear the scrape of metal against something.") user.drop_item() @@ -218,10 +218,10 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama burnt = FALSE current_overlay = null if(user && !silent) - to_chat(user, "You remove the broken plating.") + to_chat(user, SPAN_DANGER("You remove the broken plating.")) else if(user && !silent) - to_chat(user, "You remove the floor tile.") + to_chat(user, SPAN_DANGER("You remove the floor tile.")) if(floor_tile && make_tile) new floor_tile(src) return make_plating() diff --git a/code/game/turfs/simulated/floor/asteroid_floors.dm b/code/game/turfs/simulated/floor/asteroid_floors.dm index e4619fdfcea..ee7f6b4da01 100644 --- a/code/game/turfs/simulated/floor/asteroid_floors.dm +++ b/code/game/turfs/simulated/floor/asteroid_floors.dm @@ -34,7 +34,7 @@ if(!dug) return TRUE if(user) - to_chat(user, "Looks like someone has dug here already.") + to_chat(user, SPAN_NOTICE("Looks like someone has dug here already.")) /turf/simulated/floor/plating/asteroid/try_replace_tile(obj/item/stack/tile/T, mob/user, params) return @@ -78,13 +78,13 @@ if(!istype(T)) return - to_chat(user, "You start digging...") + to_chat(user, SPAN_NOTICE("You start digging...")) playsound(src, used.usesound, 50, TRUE) if(do_after(user, 40 * used.toolspeed, target = src)) if(!can_dig(user)) return TRUE - to_chat(user, "You dig a hole.") + to_chat(user, SPAN_NOTICE("You dig a hole.")) getDug(used.bit_productivity_mod) return TRUE @@ -229,7 +229,7 @@ /turf/simulated/floor/plating/asteroid/snow/burn_tile() if(!burnt) - visible_message("[src] melts away!.") + visible_message(SPAN_DANGER("[src] melts away!.")) slowdown = 0 burnt = TRUE icon_state = "snow_dug" diff --git a/code/game/turfs/simulated/floor/chasm.dm b/code/game/turfs/simulated/floor/chasm.dm index 06a58abac66..dd3d1e3605a 100644 --- a/code/game/turfs/simulated/floor/chasm.dm +++ b/code/game/turfs/simulated/floor/chasm.dm @@ -90,15 +90,15 @@ break if(!inactive || inactive.tool_behaviour != TOOL_SCREWDRIVER) - to_chat(user, "You need to hold a screwdriver in your other hand to secure this lattice.") + to_chat(user, SPAN_WARNING("You need to hold a screwdriver in your other hand to secure this lattice.")) return ITEM_INTERACT_COMPLETE var/obj/item/stack/rods/R = used if(R.use(1)) - to_chat(user, "You construct a lattice.") + to_chat(user, SPAN_NOTICE("You construct a lattice.")) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) ReplaceWithLattice() else - to_chat(user, "You need one rod to build a lattice.") + to_chat(user, SPAN_WARNING("You need one rod to build a lattice.")) return ITEM_INTERACT_COMPLETE @@ -109,12 +109,12 @@ if(S.use(1)) qdel(L) playsound(src, 'sound/weapons/genhit.ogg', 50, 1) - to_chat(user, "You build a floor.") + to_chat(user, SPAN_NOTICE("You build a floor.")) ChangeTurf(/turf/simulated/floor/plating, keep_icon = FALSE) else - to_chat(user, "You need one floor tile to build a floor!") + to_chat(user, SPAN_WARNING("You need one floor tile to build a floor!")) else - to_chat(user, "The plating is going to need some support! Place metal rods first.") + to_chat(user, SPAN_WARNING("The plating is going to need some support! Place metal rods first.")) return ITEM_INTERACT_COMPLETE @@ -159,7 +159,7 @@ if(istype(H.belt, /obj/item/wormhole_jaunter)) var/obj/item/wormhole_jaunter/J = H.belt //To freak out any bystanders - visible_message("[H] falls into [src]!") + visible_message(SPAN_BOLDWARNING("[H] falls into [src]!")) J.chasm_react(H) return FALSE return TRUE @@ -171,8 +171,8 @@ falling_atoms[AM] = TRUE var/turf/T = locate(drop_x, drop_y, drop_z) if(T) - AM.visible_message("[AM] falls into [src]!", "GAH! Ah... where are you?") - T.visible_message("[AM] falls from above!") + AM.visible_message(SPAN_BOLDWARNING("[AM] falls into [src]!"), SPAN_USERDANGER("GAH! Ah... where are you?")) + T.visible_message(SPAN_BOLDWARNING("[AM] falls from above!")) AM.forceMove(T) if(isliving(AM)) var/mob/living/L = AM @@ -219,7 +219,7 @@ if(!AM || QDELETED(AM)) return falling_atoms[AM] = TRUE - AM.visible_message("[AM] falls into [src]!", "You stumble and stare into an abyss before you. It stares back, and you fall \ + AM.visible_message(SPAN_BOLDWARNING("[AM] falls into [src]!"), "You stumble and stare into an abyss before you. It stares back, and you fall \ into the enveloping dark.") if(isliving(AM)) var/mob/living/L = AM @@ -264,7 +264,7 @@ qdel(AM) if(!QDELETED(AM)) //It's indestructible, mobs have already returned above! - visible_message("[src] spits out [AM]!") + visible_message(SPAN_BOLDWARNING("[src] spits out [AM]!")) AM.alpha = oldalpha AM.color = oldcolor AM.transform = oldtransform @@ -300,10 +300,10 @@ SIGNAL_HANDLER var/turf/ourturf = get_turf(src) if(istype(ourturf, /turf/simulated/floor/chasm/straight_down/lava_land_surface)) - ourturf.visible_message("After a long climb, [escapee] leaps out of [ourturf]!") + ourturf.visible_message(SPAN_BOLDWARNING("After a long climb, [escapee] leaps out of [ourturf]!")) else playsound(ourturf, 'sound/effects/bang.ogg', 50, TRUE) - ourturf.visible_message("[escapee] busts through [ourturf], leaping out of the chasm below!") + ourturf.visible_message(SPAN_BOLDWARNING("[escapee] busts through [ourturf], leaping out of the chasm below!")) ourturf.ChangeTurf(ourturf.baseturf) ADD_TRAIT(escapee, TRAIT_FLYING, "chasm_escape") escapee.forceMove(ourturf) @@ -354,8 +354,8 @@ falling_atoms[AM] = TRUE pick_a_turf(AM) if(T) - AM.visible_message("[AM] falls into [src]!", "GAH! Ah... where are you?") - T.visible_message("[AM] falls from above!") + AM.visible_message(SPAN_BOLDWARNING("[AM] falls into [src]!"), SPAN_USERDANGER("GAH! Ah... where are you?")) + T.visible_message(SPAN_BOLDWARNING("[AM] falls from above!")) AM.forceMove(T) if(isliving(AM)) var/mob/living/L = AM diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index 21e3ad6acae..01abef7f4be 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -28,16 +28,16 @@ broken = FALSE burnt = FALSE if(user && !silent) - to_chat(user, "You remove the broken planks.") + to_chat(user, SPAN_NOTICE("You remove the broken planks.")) else if(make_tile) if(user && !silent) - to_chat(user, "You unscrew the planks.") + to_chat(user, SPAN_NOTICE("You unscrew the planks.")) if(floor_tile) new floor_tile(src) else if(user && !silent) - to_chat(user, "You forcefully pry off the planks, destroying them in the process.") + to_chat(user, SPAN_WARNING("You forcefully pry off the planks, destroying them in the process.")) return make_plating() /turf/simulated/floor/wood/airless @@ -83,7 +83,7 @@ /turf/simulated/floor/grass/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/shovel)) - to_chat(user, "You shovel the grass.") + to_chat(user, SPAN_NOTICE("You shovel the grass.")) playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1) remove_tile() return ITEM_INTERACT_COMPLETE diff --git a/code/game/turfs/simulated/floor/lava.dm b/code/game/turfs/simulated/floor/lava.dm index 1bb428f7f37..25f71102cdf 100644 --- a/code/game/turfs/simulated/floor/lava.dm +++ b/code/game/turfs/simulated/floor/lava.dm @@ -132,31 +132,31 @@ var/obj/item/stack/rods/lava/R = used var/obj/structure/lattice/lava/H = locate(/obj/structure/lattice/lava, src) if(H) - to_chat(user, "There is already a lattice here!") + to_chat(user, SPAN_WARNING("There is already a lattice here!")) return ITEM_INTERACT_COMPLETE if(R.use(1)) - to_chat(user, "You construct a lattice.") + to_chat(user, SPAN_WARNING("You construct a lattice.")) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) new /obj/structure/lattice/lava(locate(x, y, z)) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You need one rod to build a heatproof lattice.") + to_chat(user, SPAN_WARNING("You need one rod to build a heatproof lattice.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/stack/tile/plasteel)) var/obj/structure/lattice/L = locate(/obj/structure/lattice/lava, src) if(!L) - to_chat(user, "The plating is going to need some support! Place metal rods first.") + to_chat(user, SPAN_WARNING("The plating is going to need some support! Place metal rods first.")) return ITEM_INTERACT_COMPLETE var/obj/item/stack/tile/plasteel/S = used if(S.use(1)) qdel(L) playsound(src, 'sound/weapons/genhit.ogg', 50, 1) - to_chat(user, "You build a floor.") + to_chat(user, SPAN_NOTICE("You build a floor.")) ChangeTurf(/turf/simulated/floor/plating, keep_icon = FALSE) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You need one floor tile to build a floor!") + to_chat(user, SPAN_WARNING("You need one floor tile to build a floor!")) return ITEM_INTERACT_COMPLETE /turf/simulated/floor/lava/screwdriver_act() @@ -198,16 +198,16 @@ /turf/simulated/floor/lava/lava_land_surface/plasma/examine(mob/user) . = ..() - . += "Some liquid plasma could probably be scooped up with a container." + . += SPAN_NOTICE("Some liquid plasma could probably be scooped up with a container.") /turf/simulated/floor/lava/lava_land_surface/plasma/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!used.is_open_container()) return ..() if(!used.reagents.add_reagent("plasma", 10)) - to_chat(user, "[used] is full.") + to_chat(user, SPAN_WARNING("[used] is full.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You scoop out some plasma from the [src] using [used].") + to_chat(user, SPAN_NOTICE("You scoop out some plasma from the [src] using [used].")) return ITEM_INTERACT_COMPLETE /turf/simulated/floor/lava/lava_land_surface/plasma/burn_stuff(AM) diff --git a/code/game/turfs/simulated/floor/light_floor.dm b/code/game/turfs/simulated/floor/light_floor.dm index 61c5982b4ba..4c270088541 100644 --- a/code/game/turfs/simulated/floor/light_floor.dm +++ b/code/game/turfs/simulated/floor/light_floor.dm @@ -74,12 +74,12 @@ var/list/rgb = hsl2rgb(arglist(hsl)) color = "#[num2hex(rgb[1], 2)][num2hex(rgb[2], 2)][num2hex(rgb[3], 2)]" - to_chat(user, "You change [src]'s light bulb color.") + to_chat(user, SPAN_NOTICE("You change [src]'s light bulb color.")) update_icon() /turf/simulated/floor/light/proc/toggle_light(light) if(!on && !power_check()) - visible_message("[src] doesn't react, it seems to be out of power.") + visible_message(SPAN_DANGER("[src] doesn't react, it seems to be out of power.")) return var/area/A = get_area(src) // 0 = OFF @@ -95,7 +95,7 @@ /turf/simulated/floor/light/extinguish_light(force = FALSE) toggle_light(FALSE) - visible_message("[src] flickers and falls dark.") + visible_message(SPAN_DANGER("[src] flickers and falls dark.")) /turf/simulated/floor/light/clean(floor_only) var/color_save = color diff --git a/code/game/turfs/simulated/floor/mineral_floors.dm b/code/game/turfs/simulated/floor/mineral_floors.dm index 138e8f272e1..87e6de97bdb 100644 --- a/code/game/turfs/simulated/floor/mineral_floors.dm +++ b/code/game/turfs/simulated/floor/mineral_floors.dm @@ -47,9 +47,9 @@ /turf/simulated/floor/mineral/plasma/welder_act(mob/user, obj/item/I) if(I.use_tool(src, user, volume = I.tool_volume)) - user.visible_message("[user] sets [src] on fire!",\ - "[src] disintegrates into a cloud of plasma!",\ - "You hear a 'whoompf' and a roar.") + user.visible_message(SPAN_DANGER("[user] sets [src] on fire!"),\ + SPAN_DANGER("[src] disintegrates into a cloud of plasma!"),\ + SPAN_WARNING("You hear a 'whoompf' and a roar.")) ignite(2500) //Big enough to ignite message_admins("Plasma wall ignited by [key_name_admin(user)] in ([x], [y], [z] - JMP)",0,1) log_game("Plasma wall ignited by [key_name(user)] in ([x], [y], [z])") @@ -210,7 +210,7 @@ /turf/simulated/floor/mineral/bananium/lubed/pry_tile(obj/item/C, mob/user, silent = FALSE) //I want to get off Mr Honk's Wild Ride if(ishuman(user)) var/mob/living/carbon/human/H = user - to_chat(H, "You lose your footing trying to pry off the tile!") + to_chat(H, SPAN_WARNING("You lose your footing trying to pry off the tile!")) H.slip("the floor", 10 SECONDS, tilesSlipped = 4, walkSafely = 0, slipAny = 1) return diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm index 85d2327278b..bc90dd1eced 100644 --- a/code/game/turfs/simulated/floor/misc_floor.dm +++ b/code/game/turfs/simulated/floor/misc_floor.dm @@ -165,7 +165,7 @@ /turf/simulated/floor/lubed/pry_tile(obj/item/C, mob/user, silent = FALSE) //I want to get off Mr Honk's Wild Ride if(ishuman(user)) var/mob/living/carbon/human/H = user - to_chat(H, "You lose your footing trying to pry off the tile!") + to_chat(H, SPAN_WARNING("You lose your footing trying to pry off the tile!")) H.slip("the floor", 10 SECONDS, tilesSlipped = 4, walkSafely = 0, slipAny = 1) return @@ -216,10 +216,10 @@ . = TRUE if(!I.tool_use_check(user, 0)) return - user.visible_message("[user] begins slowly prying up [src]...", "You begin painstakingly prying up [src]...") + user.visible_message(SPAN_NOTICE("[user] begins slowly prying up [src]..."), SPAN_NOTICE("You begin painstakingly prying up [src]...")) if(!I.use_tool(src, user, 70, volume = I.tool_volume)) return - user.visible_message("[user] pries up [src]!", "You pry up [src]!") + user.visible_message(SPAN_NOTICE("[user] pries up [src]!"), SPAN_NOTICE("You pry up [src]!")) make_plating() /turf/simulated/floor/clockwork/make_plating() diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 195d50a4e2b..be3182b7cb1 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -43,25 +43,25 @@ . = ..() if(unfastened) - . += "It has been unfastened." + . += SPAN_WARNING("It has been unfastened.") /turf/simulated/floor/plating/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/stack/rods)) if(broken || burnt) - to_chat(user, "Repair the plating first!") + to_chat(user, SPAN_WARNING("Repair the plating first!")) return ITEM_INTERACT_COMPLETE var/obj/item/stack/rods/R = used if(R.get_amount() < 2) - to_chat(user, "You need two rods to make a reinforced floor!") + to_chat(user, SPAN_WARNING("You need two rods to make a reinforced floor!")) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You begin reinforcing the floor...") + to_chat(user, SPAN_NOTICE("You begin reinforcing the floor...")) if(do_after(user, 30 * used.toolspeed, target = src)) if(R.get_amount() >= 2 && !istype(src, /turf/simulated/floor/engine)) ChangeTurf(/turf/simulated/floor/engine) playsound(src, used.usesound, 80, 1) R.use(2) - to_chat(user, "You reinforce the floor.") + to_chat(user, SPAN_NOTICE("You reinforce the floor.")) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/stack/tile)) @@ -73,17 +73,17 @@ playsound(src, 'sound/weapons/genhit.ogg', 50, 1) return ITEM_INTERACT_COMPLETE else - to_chat(user, "This section is too damaged to support a tile! Use a welder to fix the damage.") + to_chat(user, SPAN_WARNING("This section is too damaged to support a tile! Use a welder to fix the damage.")) return ITEM_INTERACT_COMPLETE else if(is_glass_sheet(used)) if(broken || burnt) - to_chat(user, "Repair the plating first!") + to_chat(user, SPAN_WARNING("Repair the plating first!")) return ITEM_INTERACT_COMPLETE var/obj/item/stack/sheet/R = used if(R.get_amount() < 2) - to_chat(user, "You need two sheets to build a [used.name] floor!") + to_chat(user, SPAN_WARNING("You need two sheets to build a [used.name] floor!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You begin swapping the plating for [used]...") + to_chat(user, SPAN_NOTICE("You begin swapping the plating for [used]...")) if(do_after(user, 3 SECONDS * used.toolspeed, target = src)) if(R.get_amount() >= 2 && !transparent_floor) if(istype(used, /obj/item/stack/sheet/plasmaglass)) //So, what type of glass floor do we want today? @@ -100,7 +100,7 @@ ChangeTurf(/turf/simulated/floor/transparent/glass/titanium/plasma) playsound(src, used.usesound, 80, TRUE) R.use(2) - to_chat(user, "You swap the plating for [used].") + to_chat(user, SPAN_NOTICE("You swap the plating for [used].")) new /obj/item/stack/sheet/metal(src, 2) return ITEM_INTERACT_COMPLETE @@ -117,12 +117,12 @@ return . = TRUE if(locate(/obj/structure/cable) in src) - to_chat(user, "There is a cable still attached to [src]. Remove it first!") + to_chat(user, SPAN_NOTICE("There is a cable still attached to [src]. Remove it first!")) return - to_chat(user, "You start [unfastened ? "fastening" : "unfastening"] [src].") + to_chat(user, SPAN_NOTICE("You start [unfastened ? "fastening" : "unfastening"] [src].")) if(!I.use_tool(src, user, 20, volume = I.tool_volume)) return - to_chat(user, "You [unfastened ? "fasten" : "unfasten"] [src].") + to_chat(user, SPAN_NOTICE("You [unfastened ? "fasten" : "unfasten"] [src].")) unfastened = !unfastened /turf/simulated/floor/plating/welder_act(mob/user, obj/item/I) @@ -134,14 +134,14 @@ if(user.a_intent == INTENT_HARM) // no repairing on harm intent, so you can use the welder in a fight near damaged paneling without welding your eyes out return if(unfastened) - to_chat(user, "You start removing [src], exposing space after you're done!") + to_chat(user, SPAN_WARNING("You start removing [src], exposing space after you're done!")) if(!I.use_tool(src, user, 50, volume = I.tool_volume * 2)) //extra loud to let people know something's going down return new /obj/item/stack/tile/plasteel(get_turf(src)) remove_plating(user) return if(I.use_tool(src, user, volume = I.tool_volume)) //If we got this far, something needs fixing - to_chat(user, "You fix some dents on the broken plating.") + to_chat(user, SPAN_NOTICE("You fix some dents on the broken plating.")) overlays -= current_overlay current_overlay = null burnt = FALSE @@ -211,7 +211,7 @@ if(!user) return . = TRUE - to_chat(user, "You begin removing rods...") + to_chat(user, SPAN_NOTICE("You begin removing rods...")) if(W.use_tool(src, user, 3 SECONDS, 0, 50)) if(!istype(src, /turf/simulated/floor/engine)) return @@ -432,25 +432,25 @@ var/smash_prob = max(0, attacking.force * 17 - metal_kind * 25) // A crowbar will have a 60% chance of a breakthrough on alum, 35% on iron if(prob(smash_prob)) // YAR BE CAUSIN A HULL BREACH - visible_message("[user] smashes through \the [src] with \the [attacking]!") + visible_message(SPAN_DANGER("[user] smashes through \the [src] with \the [attacking]!")) smash() return FINISH_ATTACK else - visible_message("[user]'s [attacking.name] bounces against \the [src]!") + visible_message(SPAN_WARNING("[user]'s [attacking.name] bounces against \the [src]!")) return FINISH_ATTACK /turf/simulated/floor/plating/metalfoam/attack_animal(mob/living/simple_animal/M) M.do_attack_animation(src) if(M.melee_damage_upper == 0) - M.visible_message("[M] nudges \the [src].") + M.visible_message(SPAN_NOTICE("[M] nudges \the [src].")) else if(M.attack_sound) playsound(loc, M.attack_sound, 50, TRUE, 1) - M.visible_message("\The [M] [M.attacktext] [src]!") + M.visible_message(SPAN_DANGER("\The [M] [M.attacktext] [src]!")) smash(src) /turf/simulated/floor/plating/metalfoam/attack_alien(mob/living/carbon/alien/humanoid/M) - M.visible_message("[M] tears apart \the [src]!") + M.visible_message(SPAN_DANGER("[M] tears apart \the [src]!")) smash(src) /turf/simulated/floor/plating/metalfoam/burn_tile() diff --git a/code/game/turfs/simulated/floor/transparent.dm b/code/game/turfs/simulated/floor/transparent.dm index 8307228b5c7..e7a1794ae72 100644 --- a/code/game/turfs/simulated/floor/transparent.dm +++ b/code/game/turfs/simulated/floor/transparent.dm @@ -50,7 +50,7 @@ if(!I.tool_use_check(user, 0)) return if(I.use_tool(src, user, volume = I.tool_volume)) - to_chat(user, "You fix some cracks in the glass.") + to_chat(user, SPAN_NOTICE("You fix some cracks in the glass.")) overlays -= current_overlay current_overlay = null burnt = FALSE @@ -70,10 +70,10 @@ R = robouser.all_active_items[metal_slot] if(!istype(R, /obj/item/stack/sheet/metal) || R.get_amount() < 2) - to_chat(user, "You also need to hold two sheets of metal to dismantle \the [src]!") + to_chat(user, SPAN_DANGER("You also need to hold two sheets of metal to dismantle \the [src]!")) return - to_chat(user, "You begin replacing [src]...") + to_chat(user, SPAN_NOTICE("You begin replacing [src]...")) playsound(src, I.usesound, 80, TRUE) if(do_after(user, 3 SECONDS * I.toolspeed, target = src)) @@ -137,7 +137,7 @@ var/obj/item/thing = user.get_inactive_hand() if(!thing || !(thing.tool_behaviour in get_prying_tools())) return - to_chat(user, "You need to hold two sheets of metal to dismantle \the [src]!") + to_chat(user, SPAN_DANGER("You need to hold two sheets of metal to dismantle \the [src]!")) /turf/simulated/floor/transparent/glass/reinforced name = "reinforced glass floor" diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 1128b229074..6d45d4cc727 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -73,7 +73,7 @@ return FINISH_ATTACK if(!user.IsAdvancedToolUser()) - to_chat(usr, "You don't have the dexterity to do this!") + to_chat(usr, SPAN_WARNING("You don't have the dexterity to do this!")) return FINISH_ATTACK if(istype(attacking, /obj/item/pickaxe)) @@ -89,12 +89,12 @@ return FINISH_ATTACK last_act = world.time - to_chat(user, "You start picking...") + to_chat(user, SPAN_NOTICE("You start picking...")) P.playDigSound() if(do_after(user, mine_time * P.toolspeed, target = src)) if(ismineralturf(src)) //sanity check against turf being deleted during digspeed delay - to_chat(user, "You finish cutting into the rock.") + to_chat(user, SPAN_NOTICE("You finish cutting into the rock.")) gets_drilled(user, productivity_mod = P.bit_productivity_mod) SSblackbox.record_feedback("tally", "pick_used_mining", 1, P.name) @@ -125,10 +125,10 @@ ..() /turf/simulated/mineral/attack_alien(mob/living/carbon/alien/M) - to_chat(M, "You start digging into the rock...") + to_chat(M, SPAN_NOTICE("You start digging into the rock...")) playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE) if(do_after(M, 40, target = src)) - to_chat(M, "You tunnel into the rock.") + to_chat(M, SPAN_NOTICE("You tunnel into the rock.")) gets_drilled(M) /turf/simulated/mineral/Bumped(atom/movable/AM) @@ -255,7 +255,7 @@ return TRUE if(!(is_type_in_typecache(axe, allowed_picks_typecache))) - to_chat(user, "Only diamond tools or a sonic jackhammer can break this rock.") + to_chat(user, SPAN_NOTICE("Only diamond tools or a sonic jackhammer can break this rock.")) return TRUE /turf/simulated/mineral/ancient/lava_land_surface_hard @@ -285,7 +285,7 @@ return TRUE if(!(is_type_in_typecache(axe, allowed_picks_typecache))) - to_chat(user, "Only diamond tools or a sonic jackhammer can break this rock.") + to_chat(user, SPAN_NOTICE("Only diamond tools or a sonic jackhammer can break this rock.")) return TRUE /turf/simulated/mineral/random/high_chance diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index bd290989d0a..522c9811d57 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -71,20 +71,20 @@ . = ..() if(!damage) - . += "It looks fully intact." + . += SPAN_NOTICE("It looks fully intact.") else var/dam = damage / damage_cap if(dam <= 0.3) - . += "It looks slightly damaged." + . += SPAN_WARNING("It looks slightly damaged.") else if(dam <= 0.6) - . += "It looks moderately damaged." + . += SPAN_WARNING("It looks moderately damaged.") else - . += "It looks heavily damaged." + . += SPAN_DANGER("It looks heavily damaged.") if(rotting) - . += "There is fungus growing on [src]." + . += SPAN_WARNING("There is fungus growing on [src].") if(can_dismantle_with_welder) - . += "Using a lit welding tool on this item will allow you to slice through it, eventually removing the outer layer." + . += SPAN_NOTICE("Using a lit welding tool on this item will allow you to slice through it, eventually removing the outer layer.") /turf/simulated/wall/update_overlays() . = ..() @@ -188,7 +188,7 @@ if(our_rpd.mode == RPD_ATMOS_MODE) if(!our_rpd.ranged) playsound(src, "sound/weapons/circsawhit.ogg", 50, 1) - user.visible_message("[user] starts drilling a hole in [src]...", "You start drilling a hole in [src]...", "You hear drilling.") + user.visible_message(SPAN_NOTICE("[user] starts drilling a hole in [src]..."), SPAN_NOTICE("You start drilling a hole in [src]..."), SPAN_WARNING("You hear drilling.")) if(!do_after(user, our_rpd.walldelay, target = src)) //Drilling into walls takes time return our_rpd.create_atmos_pipe(user, src) @@ -202,7 +202,7 @@ switch(M.damtype) if(BRUTE) playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) - M.visible_message("[M.name] hits [src]!", "You hit [src]!") + M.visible_message(SPAN_DANGER("[M.name] hits [src]!"), SPAN_DANGER("You hit [src]!")) if(prob(hardness + M.force) && M.force > 20) dismantle_wall(1) playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) @@ -244,7 +244,7 @@ O.layer = 5 if(user) - to_chat(user, "The thermite starts melting through the wall.") + to_chat(user, SPAN_WARNING("The thermite starts melting through the wall.")) if(speed) melting = TRUE @@ -285,13 +285,13 @@ if(M.environment_smash & ENVIRONMENT_SMASH_RWALLS) playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1) dismantle_wall(1) - to_chat(M, "You smash through the wall.") + to_chat(M, SPAN_NOTICE("You smash through the wall.")) else - to_chat(M, "You smash against the wall.") + to_chat(M, SPAN_NOTICE("You smash against the wall.")) take_damage(rand(25, 75)) return - to_chat(M, "You push the wall but nothing happens!") + to_chat(M, SPAN_NOTICE("You push the wall but nothing happens!")) return /turf/simulated/wall/attack_hulk(mob/user, does_attack_animation = FALSE) @@ -304,21 +304,21 @@ else playsound(src, 'sound/effects/bang.ogg', 50, 1) add_dent(PROJECTILE_IMPACT_WALL_DENT_HIT) - to_chat(user, "You punch the wall.") + to_chat(user, SPAN_NOTICE("You punch the wall.")) return TRUE /turf/simulated/wall/attack_hand(mob/user) user.changeNext_move(CLICK_CD_MELEE) if(rotting) if(hardness <= 10) - to_chat(user, "This wall feels rather unstable.") + to_chat(user, SPAN_NOTICE("This wall feels rather unstable.")) return else - to_chat(user, "The wall crumbles under your touch.") + to_chat(user, SPAN_NOTICE("The wall crumbles under your touch.")) dismantle_wall() return - to_chat(user, "You push the wall but nothing happens!") + to_chat(user, SPAN_NOTICE("You push the wall but nothing happens!")) playsound(src, 'sound/weapons/genhit.ogg', 25, 1) add_fingerprint(user) return ..() @@ -358,7 +358,7 @@ for(var/obj/effect/overlay/wall_rot/WR in src) qdel(WR) rotting = FALSE - to_chat(user, "You burn off the fungi with [I].") + to_chat(user, SPAN_NOTICE("You burn off the fungi with [I].")) return // Wall repair stuff @@ -381,7 +381,7 @@ time = max(5, damage / 5) WELDER_ATTEMPT_REPAIR_MESSAGE else - to_chat(user, "[src] doesn't need repairing.") + to_chat(user, SPAN_WARNING("[src] doesn't need repairing.")) return if(I.use_tool(src, user, time, volume = I.tool_volume)) @@ -396,20 +396,20 @@ /turf/simulated/wall/proc/try_rot(obj/item/I, mob/user, params) if((!I.sharp && I.force >= 10) || I.force >= 20) - to_chat(user, "[src] crumbles away under the force of your [I.name].") + to_chat(user, SPAN_NOTICE("[src] crumbles away under the force of your [I.name].")) dismantle_wall(1) return TRUE return FALSE /turf/simulated/wall/proc/try_decon(obj/item/I, mob/user, params) if(istype(I, /obj/item/gun/energy/plasmacutter)) - to_chat(user, "You begin slicing through the outer plating.") + to_chat(user, SPAN_NOTICE("You begin slicing through the outer plating.")) playsound(src, I.usesound, 100, 1) if(do_after(user, istype(sheet_type, /obj/item/stack/sheet/mineral/diamond) ? 120 * I.toolspeed : 60 * I.toolspeed, target = src)) - to_chat(user, "You remove the outer plating.") + to_chat(user, SPAN_NOTICE("You remove the outer plating.")) dismantle_wall() - visible_message("[user] slices apart [src]!", "You hear metal being sliced apart.") + visible_message(SPAN_WARNING("[user] slices apart [src]!"), SPAN_WARNING("You hear metal being sliced apart.")) return TRUE return FALSE @@ -418,38 +418,38 @@ var/isdiamond = istype(sheet_type, /obj/item/stack/sheet/mineral/diamond) // snowflake bullshit if(istype(I, /obj/item/pickaxe/drill/diamonddrill)) - to_chat(user, "You begin to drill though the wall.") + to_chat(user, SPAN_NOTICE("You begin to drill though the wall.")) if(do_after(user, isdiamond ? 480 * I.toolspeed : 240 * I.toolspeed, target = src)) // Diamond pickaxe has 0.25 toolspeed, so 120/60 - to_chat(user, "Your [I.name] tears though the last of the reinforced plating.") + to_chat(user, SPAN_NOTICE("Your [I.name] tears though the last of the reinforced plating.")) dismantle_wall() - visible_message("[user] drills through [src]!", "You hear the grinding of metal.") + visible_message(SPAN_WARNING("[user] drills through [src]!"), SPAN_WARNING("You hear the grinding of metal.")) return TRUE else if(istype(I, /obj/item/pickaxe/drill/jackhammer)) - to_chat(user, "You begin to disintegrates the wall.") + to_chat(user, SPAN_NOTICE("You begin to disintegrates the wall.")) if(do_after(user, isdiamond ? 600 * I.toolspeed : 300 * I.toolspeed, target = src)) // Jackhammer has 0.1 toolspeed, so 60/30 - to_chat(user, "Your [I.name] disintegrates the reinforced plating.") + to_chat(user, SPAN_NOTICE("Your [I.name] disintegrates the reinforced plating.")) dismantle_wall() - visible_message("[user] disintegrates [src]!","You hear the grinding of metal.") + visible_message(SPAN_WARNING("[user] disintegrates [src]!"),SPAN_WARNING("You hear the grinding of metal.")) return TRUE else if(istype(I, /obj/item/pyro_claws)) - to_chat(user, "You begin to melt the wall.") + to_chat(user, SPAN_NOTICE("You begin to melt the wall.")) if(do_after(user, isdiamond ? 60 * I.toolspeed : 30 * I.toolspeed, target = src)) // claws has 0.5 toolspeed, so 3/1.5 seconds - to_chat(user, "Your [I.name] melts the reinforced plating.") + to_chat(user, SPAN_NOTICE("Your [I.name] melts the reinforced plating.")) dismantle_wall() - visible_message("[user] melts [src]!","You hear the hissing of steam.") + visible_message(SPAN_WARNING("[user] melts [src]!"),SPAN_WARNING("You hear the hissing of steam.")) return TRUE else if(istype(I, /obj/item/zombie_claw)) - to_chat(user, "You begin to claw apart the wall.") + to_chat(user, SPAN_NOTICE("You begin to claw apart the wall.")) if(do_after(user, isdiamond ? 2 MINUTES * I.toolspeed : 1 MINUTES * I.toolspeed, target = src)) // 120/60 seconds by default - to_chat(user, "Your [I.name] rip apart the reinforced plating.") + to_chat(user, SPAN_NOTICE("Your [I.name] rip apart the reinforced plating.")) dismantle_wall() - visible_message("[user] claws through [src]!","You hear the grinding of metal and bone.") + visible_message(SPAN_WARNING("[user] claws through [src]!"),SPAN_WARNING("You hear the grinding of metal and bone.")) return TRUE return FALSE @@ -467,15 +467,15 @@ if(P.pipe_type != -1) // ANY PIPE playsound(get_turf(src), 'sound/weapons/circsawhit.ogg', 50, 1) user.visible_message( - "[user] starts drilling a hole in [src].", - "You start drilling a hole in [src].", - "You hear a drill.") + SPAN_NOTICE("[user] starts drilling a hole in [src]."), + SPAN_NOTICE("You start drilling a hole in [src]."), + SPAN_NOTICE("You hear a drill.")) if(do_after(user, 80 * P.toolspeed, target = src)) user.visible_message( - "[user] drills a hole in [src] and pushes [P] into the void.", - "You finish drilling [src] and push [P] into the void.", - "You hear a ratchet.") + SPAN_NOTICE("[user] drills a hole in [src] and pushes [P] into the void."), + SPAN_NOTICE("You finish drilling [src] and push [P] into the void."), + SPAN_NOTICE("You hear a ratchet.")) user.drop_item() if(P.is_bent_pipe()) // bent pipe rotation fix see construction.dm diff --git a/code/game/turfs/simulated/walls_indestructible.dm b/code/game/turfs/simulated/walls_indestructible.dm index 69e18edfc51..4a85c07a832 100644 --- a/code/game/turfs/simulated/walls_indestructible.dm +++ b/code/game/turfs/simulated/walls_indestructible.dm @@ -91,8 +91,8 @@ /turf/simulated/wall/indestructible/hierophant/proc/collapse() if(prob(15)) - visible_message("[src] starts to rumble and groan as the lights fade on it, and it begins to collapse to rubble!",\ - "You hear metal groaning and tearing!") + visible_message(SPAN_WARNING("[src] starts to rumble and groan as the lights fade on it, and it begins to collapse to rubble!"),\ + SPAN_WARNING("You hear metal groaning and tearing!")) ChangeTurf(/turf/simulated/floor/indestructible/hierophant/two) return addtimer(CALLBACK(src, PROC_REF(collapse)), 10 SECONDS) diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm index 75aee1efa64..918ee89f41b 100644 --- a/code/game/turfs/simulated/walls_mineral.dm +++ b/code/game/turfs/simulated/walls_mineral.dm @@ -103,9 +103,9 @@ /turf/simulated/wall/mineral/plasma/welder_act(mob/user, obj/item/I) if(I.tool_enabled) ignite(2500) //The number's big enough - user.visible_message("[user] sets [src] on fire!",\ - "[src] disintegrates into a cloud of plasma!",\ - "You hear a 'whoompf' and a roar.") + user.visible_message(SPAN_DANGER("[user] sets [src] on fire!"),\ + SPAN_DANGER("[src] disintegrates into a cloud of plasma!"),\ + SPAN_WARNING("You hear a 'whoompf' and a roar.")) message_admins("Plasma wall ignited by [key_name_admin(user)] in ([x], [y], [z] - JMP)",0,1) log_game("Plasma wall ignited by [key_name(user)] in ([x], [y], [z])") investigate_log("was ignited by [key_name(user)]",INVESTIGATE_ATMOS) diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm index d73b19feddb..ec9a61a994f 100644 --- a/code/game/turfs/simulated/walls_misc.dm +++ b/code/game/turfs/simulated/walls_misc.dm @@ -82,14 +82,14 @@ /turf/simulated/wall/clockwork/attack_hulk(mob/living/user, does_attack_animation = 0) ..() if(heated) - to_chat(user, "The wall is searing hot to the touch!") + to_chat(user, SPAN_USERDANGER("The wall is searing hot to the touch!")) user.adjustFireLoss(5) playsound(src, 'sound/machines/fryer/deep_fryer_emerge.ogg', 50, TRUE) /turf/simulated/wall/clockwork/mech_melee_attack(obj/mecha/M) ..() if(heated) - to_chat(M.occupant, "The wall's intense heat completely reflects your [M.name]'s attack!") + to_chat(M.occupant, SPAN_USERDANGER("The wall's intense heat completely reflects your [M.name]'s attack!")) M.take_damage(20, BURN) /turf/simulated/wall/boss diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index 59a8dee1fac..6ba883bdf64 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -23,33 +23,33 @@ . = ..() switch(d_state) if(RWALL_INTACT) - . += "The outer grille is fully intact." + . += SPAN_NOTICE("The outer grille is fully intact.") if(RWALL_SUPPORT_LINES) - . += "The outer grille has been cut, and the support lines are screwed securely to the outer cover." + . += SPAN_NOTICE("The outer grille has been cut, and the support lines are screwed securely to the outer cover.") if(RWALL_COVER) - . += "The support lines have been unscrewed, and the metal cover is welded firmly in place." + . += SPAN_NOTICE("The support lines have been unscrewed, and the metal cover is welded firmly in place.") if(RWALL_CUT_COVER) - . += "The metal cover has been sliced through, and is connected loosely to the girder." + . += SPAN_NOTICE("The metal cover has been sliced through, and is connected loosely to the girder.") if(RWALL_BOLTS) - . += "The outer cover has been pried away, and the bolts anchoring the support rods are wrenched in place." + . += SPAN_NOTICE("The outer cover has been pried away, and the bolts anchoring the support rods are wrenched in place.") if(RWALL_SUPPORT_RODS) - . += "The bolts anchoring the support rods have been loosened, but are still welded firmly to the girder." + . += SPAN_NOTICE("The bolts anchoring the support rods have been loosened, but are still welded firmly to the girder.") if(RWALL_SHEATH) - . += "The support rods have been sliced through, and the outer sheath is connected loosely to the girder." + . += SPAN_NOTICE("The support rods have been sliced through, and the outer sheath is connected loosely to the girder.") /turf/simulated/wall/r_wall/attack_by(obj/item/attacking, mob/user, params) if(..()) return FINISH_ATTACK if(d_state == RWALL_COVER && istype(attacking, /obj/item/gun/energy/plasmacutter)) - to_chat(user, "You begin slicing through the metal cover...") + to_chat(user, SPAN_NOTICE("You begin slicing through the metal cover...")) if(attacking.use_tool(src, user, 40, volume = attacking.tool_volume) && d_state == RWALL_COVER) d_state = RWALL_CUT_COVER update_icon() - to_chat(user, "You press firmly on the cover, dislodging it.") + to_chat(user, SPAN_NOTICE("You press firmly on the cover, dislodging it.")) return FINISH_ATTACK else if(d_state == RWALL_SUPPORT_RODS && istype(attacking, /obj/item/gun/energy/plasmacutter)) - to_chat(user, "You begin slicing through the support rods...") + to_chat(user, SPAN_NOTICE("You begin slicing through the support rods...")) if(attacking.use_tool(src, user, 70, volume = attacking.tool_volume) && d_state == RWALL_SUPPORT_RODS) d_state = RWALL_SHEATH update_icon() @@ -59,15 +59,15 @@ // Repairing if(istype(attacking, /obj/item/stack/sheet/metal)) var/obj/item/stack/sheet/metal/MS = attacking - to_chat(user, "You begin patching-up the wall with [MS]...") + to_chat(user, SPAN_NOTICE("You begin patching-up the wall with [MS]...")) if(do_after(user, max(20 * d_state, 100) * MS.toolspeed, target = src) && d_state) if(!MS.use(1)) - to_chat(user, "You don't have enough [MS.name] for that!") + to_chat(user, SPAN_WARNING("You don't have enough [MS.name] for that!")) return FINISH_ATTACK d_state = RWALL_INTACT update_icon() QUEUE_SMOOTH_NEIGHBORS(src) - to_chat(user, "You repair the last of the damage.") + to_chat(user, SPAN_NOTICE("You repair the last of the damage.")) return FINISH_ATTACK /turf/simulated/wall/r_wall/welder_act(mob/user, obj/item/I) @@ -80,18 +80,18 @@ if(!I.tool_use_check(user, 0)) return if(d_state == RWALL_COVER) - to_chat(user, "You begin slicing through the metal cover...") + to_chat(user, SPAN_NOTICE("You begin slicing through the metal cover...")) if(I.use_tool(src, user, 60, volume = I.tool_volume) && d_state == RWALL_COVER) d_state = RWALL_CUT_COVER - to_chat(user, "You press firmly on the cover, dislodging it.") + to_chat(user, SPAN_NOTICE("You press firmly on the cover, dislodging it.")) else if(d_state == RWALL_SUPPORT_RODS) - to_chat(user, "You begin slicing through the support rods...") + to_chat(user, SPAN_NOTICE("You begin slicing through the support rods...")) if(I.use_tool(src, user, 100, volume = I.tool_volume) && d_state == RWALL_SUPPORT_RODS) d_state = RWALL_SHEATH else if(d_state == RWALL_CUT_COVER) - to_chat(user, "You begin welding the metal cover back to the frame...") + to_chat(user, SPAN_NOTICE("You begin welding the metal cover back to the frame...")) if(I.use_tool(src, user, 60, volume = I.tool_volume) && d_state == RWALL_CUT_COVER) - to_chat(user, "The metal cover has been welded securely to the frame.") + to_chat(user, SPAN_NOTICE("The metal cover has been welded securely to the frame.")) d_state = RWALL_COVER update_icon() @@ -103,25 +103,25 @@ return switch(d_state) if(RWALL_CUT_COVER) - to_chat(user, "You struggle to pry off the cover...") + to_chat(user, SPAN_NOTICE("You struggle to pry off the cover...")) if(!I.use_tool(src, user, 100, volume = I.tool_volume) || d_state != RWALL_CUT_COVER) return d_state = RWALL_BOLTS - to_chat(user, "You pry off the cover.") + to_chat(user, SPAN_NOTICE("You pry off the cover.")) if(RWALL_SHEATH) - to_chat(user, "You struggle to pry off the outer sheath...") + to_chat(user, SPAN_NOTICE("You struggle to pry off the outer sheath...")) if(!I.use_tool(src, user, 100, volume = I.tool_volume)) return if(dismantle_wall()) - to_chat(user, "You pry off the outer sheath.") + to_chat(user, SPAN_NOTICE("You pry off the outer sheath.")) if(RWALL_BOLTS) - to_chat(user, "You start to pry the cover back into place...") + to_chat(user, SPAN_NOTICE("You start to pry the cover back into place...")) playsound(src, I.usesound, 100, 1) if(!I.use_tool(src, user, 20, volume = I.tool_volume) || d_state != RWALL_BOLTS) return d_state = RWALL_CUT_COVER - to_chat(user, "The metal cover has been pried back into place.") + to_chat(user, SPAN_NOTICE("The metal cover has been pried back into place.")) update_icon() /turf/simulated/wall/r_wall/screwdriver_act(mob/user, obj/item/I) @@ -132,17 +132,17 @@ return var/state_check = d_state if(d_state == RWALL_SUPPORT_LINES) - to_chat(user, "You begin unsecuring the support lines...") + to_chat(user, SPAN_NOTICE("You begin unsecuring the support lines...")) else - to_chat(user, "You begin securing the support lines...") + to_chat(user, SPAN_NOTICE("You begin securing the support lines...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state_check != d_state) return if(d_state == RWALL_SUPPORT_LINES) d_state = RWALL_COVER - to_chat(user, "You unsecure the support lines.") + to_chat(user, SPAN_NOTICE("You unsecure the support lines.")) else d_state = RWALL_SUPPORT_LINES - to_chat(user, "The support lines have been secured.") + to_chat(user, SPAN_NOTICE("The support lines have been secured.")) update_icon() /turf/simulated/wall/r_wall/wirecutter_act(mob/user, obj/item/I) @@ -153,10 +153,10 @@ return if(d_state == RWALL_INTACT) d_state = RWALL_SUPPORT_LINES - to_chat(user, "You cut the outer grille.") + to_chat(user, SPAN_NOTICE("You cut the outer grille.")) else d_state = RWALL_INTACT - to_chat(user, "You mend the outer grille.") + to_chat(user, SPAN_NOTICE("You mend the outer grille.")) update_icon() /turf/simulated/wall/r_wall/wrench_act(mob/user, obj/item/I) @@ -167,17 +167,17 @@ return var/state_check = d_state if(d_state == RWALL_BOLTS) - to_chat(user, "You start loosening the anchoring bolts which secure the support rods to their frame...") + to_chat(user, SPAN_NOTICE("You start loosening the anchoring bolts which secure the support rods to their frame...")) else - to_chat(user, "You start tightening the bolts which secure the support rods to their frame...") + to_chat(user, SPAN_NOTICE("You start tightening the bolts which secure the support rods to their frame...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state_check != d_state) return if(d_state == RWALL_BOLTS) d_state = RWALL_SUPPORT_RODS - to_chat(user, "You remove the bolts anchoring the support rods.") + to_chat(user, SPAN_NOTICE("You remove the bolts anchoring the support rods.")) else d_state = RWALL_BOLTS - to_chat(user, "You tighten the bolts anchoring the support rods.") + to_chat(user, SPAN_NOTICE("You tighten the bolts anchoring the support rods.")) update_icon() /turf/simulated/wall/r_wall/try_decon(obj/item/I, mob/user, params) //Plasma cutter only works in the deconstruction steps! @@ -185,32 +185,32 @@ /turf/simulated/wall/r_wall/try_destroy(obj/item/I, mob/user, params) if(istype(I, /obj/item/pickaxe/drill/diamonddrill)) - to_chat(user, "You begin to drill though the wall...") + to_chat(user, SPAN_NOTICE("You begin to drill though the wall...")) if(do_after(user, 800 * I.toolspeed, target = src)) // Diamond drill has 0.25 toolspeed, so 200 - to_chat(user, "Your drill tears through the last of the reinforced plating.") + to_chat(user, SPAN_NOTICE("Your drill tears through the last of the reinforced plating.")) dismantle_wall() return TRUE if(istype(I, /obj/item/pickaxe/drill/jackhammer)) - to_chat(user, "You begin to disintegrate the wall...") + to_chat(user, SPAN_NOTICE("You begin to disintegrate the wall...")) if(do_after(user, 1000 * I.toolspeed, target = src)) // Jackhammer has 0.1 toolspeed, so 100 - to_chat(user, "Your sonic jackhammer disintegrates the reinforced plating.") + to_chat(user, SPAN_NOTICE("Your sonic jackhammer disintegrates the reinforced plating.")) dismantle_wall() return TRUE if(istype(I, /obj/item/pyro_claws)) - to_chat(user, "You begin to melt the wall...") + to_chat(user, SPAN_NOTICE("You begin to melt the wall...")) if(do_after(user, 50 * I.toolspeed, target = src)) // claws has 0.5 toolspeed, so 2.5 seconds - to_chat(user, "Your [I] melt the reinforced plating.") + to_chat(user, SPAN_NOTICE("Your [I] melt the reinforced plating.")) dismantle_wall() return TRUE if(istype(I, /obj/item/zombie_claw)) - to_chat(user, "You begin to claw apart the wall.") + to_chat(user, SPAN_NOTICE("You begin to claw apart the wall.")) if(do_after(user, 2 MINUTES * I.toolspeed, target = src)) - to_chat(user, "Your [I.name] rip apart the reinforced plating.") + to_chat(user, SPAN_NOTICE("Your [I.name] rip apart the reinforced plating.")) dismantle_wall() return TRUE diff --git a/code/game/turfs/space/space_turf.dm b/code/game/turfs/space/space_turf.dm index 647bbbd6d58..de52bdf38d5 100644 --- a/code/game/turfs/space/space_turf.dm +++ b/code/game/turfs/space/space_turf.dm @@ -71,24 +71,24 @@ var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) var/obj/structure/lattice/catwalk/W = locate(/obj/structure/lattice/catwalk, src) if(W) - to_chat(user, "There is already a catwalk here!") + to_chat(user, SPAN_WARNING("There is already a catwalk here!")) return ITEM_INTERACT_COMPLETE if(L) if(R.use(1)) - to_chat(user, "You construct a catwalk.") + to_chat(user, SPAN_NOTICE("You construct a catwalk.")) playsound(src, 'sound/weapons/genhit.ogg', 50, 1) new/obj/structure/lattice/catwalk(src) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You need two rods to build a catwalk!") + to_chat(user, SPAN_WARNING("You need two rods to build a catwalk!")) return ITEM_INTERACT_COMPLETE if(R.use(1)) - to_chat(user, "Constructing support lattice...") + to_chat(user, SPAN_NOTICE("Constructing support lattice...")) playsound(src, 'sound/weapons/genhit.ogg', 50, 1) ReplaceWithLattice() return ITEM_INTERACT_COMPLETE else - to_chat(user, "You need one rod to build a lattice.") + to_chat(user, SPAN_WARNING("You need one rod to build a lattice.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/stack/tile/plasteel)) @@ -98,14 +98,14 @@ if(S.use(1)) qdel(L) playsound(src, 'sound/weapons/genhit.ogg', 50, 1) - to_chat(user, "You build a floor.") + to_chat(user, SPAN_NOTICE("You build a floor.")) ChangeTurf(/turf/simulated/floor/plating) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You need one floor tile to build a floor!") + to_chat(user, SPAN_WARNING("You need one floor tile to build a floor!")) return ITEM_INTERACT_COMPLETE else - to_chat(user, "The plating is going to need some support! Place metal rods first.") + to_chat(user, SPAN_WARNING("The plating is going to need some support! Place metal rods first.")) return ITEM_INTERACT_COMPLETE return ..() diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 790858016ab..84983f2a0ec 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -195,7 +195,7 @@ else if(our_rpd.mode == RPD_DISPOSALS_MODE) for(var/obj/machinery/door/airlock/A in src) if(A.density) - to_chat(user, "That type of pipe won't fit under [A]!") + to_chat(user, SPAN_WARNING("That type of pipe won't fit under [A]!")) return our_rpd.create_disposals_pipe(user, src) else if(our_rpd.mode == RPD_TRANSIT_MODE) @@ -668,7 +668,7 @@ if(mob_hurt || !density) return playsound(src, 'sound/weapons/punch1.ogg', 35, 1) - C.visible_message("[C] slams into [src]!", "You slam into [src]!") + C.visible_message(SPAN_DANGER("[C] slams into [src]!"), SPAN_USERDANGER("You slam into [src]!")) if(issilicon(C)) C.adjustBruteLoss(damage) C.Weaken(3 SECONDS) diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 9947b3d0976..80d30fb9f13 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -14,18 +14,18 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") if(!mob) return if(IsGuestKey(key)) - to_chat(src, "Guests may not use OOC.", MESSAGE_TYPE_WARNING, confidential = TRUE) + to_chat(src, SPAN_DANGER("Guests may not use OOC.") , MESSAGE_TYPE_WARNING, confidential = TRUE) return if(!check_rights(R_ADMIN|R_MOD, 0)) if(!GLOB.ooc_enabled) - to_chat(src, "OOC is globally muted.", MESSAGE_TYPE_WARNING, confidential = TRUE) + to_chat(src, SPAN_DANGER("OOC is globally muted.") , MESSAGE_TYPE_WARNING, confidential = TRUE) return if(!GLOB.dooc_enabled && (mob.stat == DEAD)) - to_chat(usr, "OOC for dead mobs has been turned off.", MESSAGE_TYPE_WARNING, confidential = TRUE) + to_chat(usr, SPAN_DANGER("OOC for dead mobs has been turned off.") , MESSAGE_TYPE_WARNING, confidential = TRUE) return if(check_mute(ckey, MUTE_OOC)) - to_chat(src, "You cannot use OOC (muted).", MESSAGE_TYPE_WARNING, confidential = TRUE) + to_chat(src, SPAN_DANGER("You cannot use OOC (muted).") , MESSAGE_TYPE_WARNING, confidential = TRUE) return if(!msg) @@ -36,12 +36,12 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") return if(!(prefs.toggles & PREFTOGGLE_CHAT_OOC)) - to_chat(src, "You have OOC muted.") + to_chat(src, SPAN_DANGER("You have OOC muted.") ) return if(!check_rights(R_ADMIN|R_MOD,0)) if(!GLOB.ooc_enabled) - to_chat(src, "OOC is globally muted.") + to_chat(src, SPAN_DANGER("OOC is globally muted.") ) return if(handle_spam_prevention(msg, MUTE_OOC, OOC_COOLDOWN)) return @@ -80,7 +80,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") if(GLOB.configuration.general.enable_ooc_emoji) msg = emoji_parse(msg) - to_chat(C, "OOC: [display_name]: [msg]") + to_chat(C, "[SPAN_OOC("[SPAN_PREFIX("OOC:")] [display_name]: [SPAN_MESSAGE("[msg]")]")]") /client/proc/get_ooc_color() if(!holder || holder.fakekey) @@ -114,18 +114,18 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") if(!mob) return if(IsGuestKey(key)) - to_chat(src, "Guests may not use LOOC.", MESSAGE_TYPE_WARNING, confidential = TRUE) + to_chat(src, SPAN_DANGER("Guests may not use LOOC.") , MESSAGE_TYPE_WARNING, confidential = TRUE) return if(!check_rights(R_ADMIN|R_MOD,0)) if(!GLOB.looc_enabled) - to_chat(src, "LOOC is globally muted.", MESSAGE_TYPE_WARNING, confidential = TRUE) + to_chat(src, SPAN_DANGER("LOOC is globally muted.") , MESSAGE_TYPE_WARNING, confidential = TRUE) return if(!GLOB.dooc_enabled && (mob.stat == DEAD)) - to_chat(usr, "LOOC for dead mobs has been turned off.", MESSAGE_TYPE_WARNING, confidential = TRUE) + to_chat(usr, SPAN_DANGER("LOOC for dead mobs has been turned off.") , MESSAGE_TYPE_WARNING, confidential = TRUE) return if(check_mute(ckey, MUTE_OOC)) - to_chat(src, "You cannot use LOOC (muted).", MESSAGE_TYPE_WARNING, confidential = TRUE) + to_chat(src, SPAN_DANGER("You cannot use LOOC (muted).") , MESSAGE_TYPE_WARNING, confidential = TRUE) return if(!msg) @@ -136,7 +136,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") return if(!(prefs.toggles & PREFTOGGLE_CHAT_LOOC)) - to_chat(src, "You have LOOC muted.") + to_chat(src, SPAN_DANGER("You have LOOC muted.") ) return if(!check_rights(R_ADMIN|R_MOD,0)) @@ -192,7 +192,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") prefix = "(R)" if(send) - to_chat(target, "LOOC[prefix]: [display_name][admin_stuff]: [msg]", MESSAGE_TYPE_OOC) + to_chat(target, SPAN_OOC("[SPAN_LOOC("LOOC[SPAN_PREFIX("[prefix]: ")][display_name][admin_stuff]: [SPAN_MESSAGE("[msg]")]")]"), MESSAGE_TYPE_OOC) // Ported from /tg/, full credit to SpaceManiac and Timberpoes. @@ -291,7 +291,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") if(!key) return if(!SSdbcore.IsConnected()) - to_chat(src, "Failed to establish database connection.") + to_chat(src, SPAN_DANGER("Failed to establish database connection.") ) return var/list/output = list("") var/datum/db_query/query_get_notes = SSdbcore.NewQuery({" @@ -300,7 +300,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") "targetkey" = ckey )) if(!query_get_notes.warn_execute()) - to_chat(src, "Unfortunately, we were not able to retrieve your notes.") + to_chat(src, SPAN_DANGER("Unfortunately, we were not able to retrieve your notes.") ) qdel(query_get_notes) return output += "

Notes of [ckey]


Don't discuss warnings or other punishments from the admins in Paradise Discord.
" diff --git a/code/game/verbs/randomtip.dm b/code/game/verbs/randomtip.dm index 00df350e9a0..d49046e5608 100644 --- a/code/game/verbs/randomtip.dm +++ b/code/game/verbs/randomtip.dm @@ -13,4 +13,4 @@ m = pick(memetips) if(m) - to_chat(src, "Tip: [html_encode(m)]") + to_chat(src, SPAN_PURPLE("Tip: [html_encode(m)]")) diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm index 51919c640a5..5e79e8bf676 100644 --- a/code/game/verbs/suicide.dm +++ b/code/game/verbs/suicide.dm @@ -22,7 +22,7 @@ if(IS_CHANGELING(src)) // the alternative is to allow clings to commit suicide, but then you'd probably have them // killing themselves as soon as they're in cuffs - to_chat(src, "We refuse to take the coward's way out.") + to_chat(src, SPAN_WARNING("We refuse to take the coward's way out.")) return confirm = tgui_alert(src, "Are you sure you want to commit suicide?", "Confirm Suicide", list("Yes", "No")) @@ -53,11 +53,11 @@ setOxyLoss((health * 1.5), TRUE) /mob/living/basic/mouse/do_suicide() - visible_message("[src] is playing dead permanently! It looks like [p_theyre()] trying to commit suicide!") + visible_message(SPAN_DANGER("[src] is playing dead permanently! It looks like [p_theyre()] trying to commit suicide!")) adjustOxyLoss(max(100 - getBruteLoss(100), 0)) /mob/living/silicon/do_suicide() - to_chat(viewers(src), "[src] is powering down. It looks like [p_theyre()] trying to commit suicide!") + to_chat(viewers(src), SPAN_DANGER("[src] is powering down. It looks like [p_theyre()] trying to commit suicide!")) //put em at -175 adjustOxyLoss(max(maxHealth * 2 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0)) @@ -67,7 +67,7 @@ card.removePersonality() var/turf/T = get_turf(card.loc) for(var/mob/M in viewers(T)) - M.show_message("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", 3, "[src] bleeps electronically.", 2) + M.show_message(SPAN_NOTICE("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\""), 3, SPAN_NOTICE("[src] bleeps electronically."), 2) death(gibbed = FALSE, cleanWipe = TRUE) /mob/living/carbon/do_suicide() @@ -75,7 +75,7 @@ suiciding = FALSE /mob/living/carbon/alien/humanoid/do_suicide() - to_chat(viewers(src), "[src] is thrashing wildly! It looks like [p_theyre()] trying to commit suicide!") + to_chat(viewers(src), SPAN_DANGER("[src] is thrashing wildly! It looks like [p_theyre()] trying to commit suicide!")) //put em at -175 adjustOxyLoss(max(175 - getFireLoss() - getBruteLoss() - getOxyLoss(), 0)) @@ -107,7 +107,7 @@ human_suicide(damagetype, O) return - to_chat(viewers(src), "[src] [replacetext(pick(dna.species.suicide_messages), "their", p_their())] It looks like [p_theyre()] trying to commit suicide!") + to_chat(viewers(src), SPAN_DANGER("[src] [replacetext(pick(dna.species.suicide_messages), "their", p_their())] It looks like [p_theyre()] trying to commit suicide!")) human_suicide(0) /mob/living/carbon/human/proc/human_suicide(damagetype, byitem) @@ -160,5 +160,5 @@ updatehealth() /mob/living/brain/do_suicide() - visible_message("[src] is thinking about thinking about thinking about thinking about.... It looks like [p_theyre()] trying to commit suicide!") + visible_message(SPAN_DANGER("[src] is thinking about thinking about thinking about thinking about.... It looks like [p_theyre()] trying to commit suicide!")) death() diff --git a/code/game/verbs/switch_server.dm b/code/game/verbs/switch_server.dm index ae8b7fc96ad..78f7a99724a 100644 --- a/code/game/verbs/switch_server.dm +++ b/code/game/verbs/switch_server.dm @@ -29,7 +29,7 @@ formatted_servers["[server_data["server_name"]] - ([server_data["playercount"]] playing)"] = text2num(server_data["server_port"]) if(length(formatted_servers) == 1) - to_chat(usr, "You are already connected to the one online instance!") + to_chat(usr, SPAN_WARNING("You are already connected to the one online instance!")) return var/selected_server = input(usr, "Select a server", "Server hop") as anything in formatted_servers @@ -37,11 +37,11 @@ return // Should never happen if(formatted_servers[selected_server] == world.port) - to_chat(usr, "You are already connected to this instance!") + to_chat(usr, SPAN_WARNING("You are already connected to this instance!")) return // Now we reconnect them - to_chat(usr, "Now connecting you to: [selected_server]") + to_chat(usr, SPAN_NOTICE("Now connecting you to: [selected_server]")) if(watchlisted) // I mean why not message_admins("[key_name_admin(usr)] is on the watchlist and just jumped to [selected_server]") diff --git a/code/game/verbs/webmap.dm b/code/game/verbs/webmap.dm index e4b536e230e..cbaf152233f 100644 --- a/code/game/verbs/webmap.dm +++ b/code/game/verbs/webmap.dm @@ -3,7 +3,7 @@ set hidden = TRUE if(!SSmapping.map_datum.webmap_url) - to_chat(usr, "The current map has no defined webmap. Please file an issue report.") + to_chat(usr, SPAN_WARNING("The current map has no defined webmap. Please file an issue report.")) return if(tgui_alert(usr, "Do you want to open this map's Webmap in your browser?", "Webmap", list("Yes", "No")) != "Yes") diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm index 5bcf4e43ea4..fec6e4ef37e 100644 --- a/code/game/verbs/who.dm +++ b/code/game/verbs/who.dm @@ -165,5 +165,5 @@ final_message += mentormsg final_message += "
" if(!num_admins_online || !num_mentors_online) - final_message += "Even with no [!num_admins_online ? "admins" : ""][!num_admins_online && !num_mentors_online ? " or " : ""][!num_mentors_online ? "mentors" : ""] are online, make a ticket anyways. [!num_admins_online ? "Adminhelps" : ""][!num_admins_online && !num_mentors_online ? " and " : ""][!num_mentors_online ? "Mentorhelps" : ""] will be relayed to discord, and staff will still be informed." + final_message += SPAN_NOTICE("Even with no [!num_admins_online ? "admins" : ""][!num_admins_online && !num_mentors_online ? " or " : ""][!num_mentors_online ? "mentors" : ""] are online, make a ticket anyways. [!num_admins_online ? "Adminhelps" : ""][!num_admins_online && !num_mentors_online ? " and " : ""][!num_mentors_online ? "Mentorhelps" : ""] will be relayed to discord, and staff will still be informed.") to_chat(src, final_message.Join("")) diff --git a/code/game/world.dm b/code/game/world.dm index b46d6b08234..fa227c70cf5 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -121,7 +121,7 @@ GLOBAL_LIST_EMPTY(world_topic_handlers) return message_admins("[key_name_admin(usr)] has requested an immediate world restart via client side debugging tools") log_admin("[key_name(usr)] has requested an immediate world restart via client side debugging tools") - to_chat(world, "Rebooting world immediately due to host request") + to_chat(world, SPAN_BOLDANNOUNCEOOC("Rebooting world immediately due to host request")) rustlibs_log_close_all() // Past this point, no logging procs can be used, at risk of data loss. // Now handle a reboot if(GLOB.configuration.system.shutdown_on_reboot) @@ -147,7 +147,7 @@ GLOBAL_LIST_EMPTY(world_topic_handlers) // Send the stats URL if applicable if(GLOB.configuration.url.round_stats_url && GLOB.round_id) var/stats_link = "[GLOB.configuration.url.round_stats_url][GLOB.round_id]" - to_chat(world, "Stats for this round can be viewed at [stats_link]") + to_chat(world, SPAN_NOTICE("Stats for this round can be viewed at [stats_link]")) // If the server has been gracefully shutdown in TGS, have a 60 seconds grace period for SQL updates and stuff if(GLOB.slower_restart) diff --git a/code/goonstation/modules/power/power_transmission_laser/transmission_laser.dm b/code/goonstation/modules/power/power_transmission_laser/transmission_laser.dm index ec2eeda3ab3..6d5155554b7 100644 --- a/code/goonstation/modules/power/power_transmission_laser/transmission_laser.dm +++ b/code/goonstation/modules/power/power_transmission_laser/transmission_laser.dm @@ -116,7 +116,7 @@ /obj/machinery/power/transmission_laser/screwdriver_act(mob/living/user, obj/item/I) if(firing) - to_chat(user,"Turn the laser off first.") + to_chat(user,SPAN_INFO("Turn the laser off first.")) return if(default_deconstruction_screwdriver(user, initial(icon_state), initial(icon_state), I)) return TRUE @@ -132,7 +132,7 @@ return if(rotate()) return TRUE - to_chat(user, "Target area blocked, please clear all objects and personnel.") + to_chat(user, SPAN_INFO("Target area blocked, please clear all objects and personnel.")) return TRUE /// Rotates the laser if we have the space to do so. @@ -210,9 +210,9 @@ /obj/machinery/power/transmission_laser/examine(mob/user) . = ..() - . += "Laser currently has [unsent_earnings] unsent credits." - . += "Laser has generated [total_earnings] credits." - . += "Laser has sold [total_energy] Joules." + . += SPAN_NOTICE("Laser currently has [unsent_earnings] unsent credits.") + . += SPAN_NOTICE("Laser has generated [total_earnings] credits.") + . += SPAN_NOTICE("Laser has sold [total_energy] Joules.") /// Appearance changes are here /obj/machinery/power/transmission_laser/update_overlays() diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 06adebfaa0e..61fd2674915 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -40,7 +40,7 @@ //Guest Checking if(GLOB.configuration.general.guest_ban && check_guest && IsGuestKey(key)) log_adminwarn("Failed Login: [key] [computer_id] [address] - Guests not allowed") - // message_admins("Failed Login: [key] - Guests not allowed") + // message_admins(SPAN_NOTICE("Failed Login: [key] - Guests not allowed")) if(log_info) INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(log_connection), ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_BANNED) return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a BYOND account.") @@ -184,11 +184,11 @@ if(admin) if(bantype == "ADMIN_PERMABAN" || bantype == "ADMIN_TEMPBAN") log_admin("The admin [key] is admin banned, and has been disallowed access") - message_admins("The admin [key] is admin banned, and has been disallowed access") + message_admins(SPAN_ADMINNOTICE("The admin [key] is admin banned, and has been disallowed access")) else log_admin("The admin [key] has been allowed to bypass a matching ban on [pckey]") - message_admins("The admin [key] has been allowed to bypass a matching ban on [pckey]") - addclientmessage(ckey,"You have been allowed to bypass a matching ban on [pckey].") + message_admins(SPAN_ADMINNOTICE("The admin [key] has been allowed to bypass a matching ban on [pckey]")) + addclientmessage(ckey,SPAN_ADMINNOTICE("You have been allowed to bypass a matching ban on [pckey].")) continue var/expires = "" if(text2num(duration) > 0) @@ -217,8 +217,8 @@ //So it's safe to let admins walk thru bans here if(admin) log_admin("The admin [key] has been allowed to bypass a matching ban") - message_admins("The admin [key] has been allowed to bypass a matching ban") - addclientmessage(ckey,"You have been allowed to bypass a matching ban.") + message_admins(SPAN_ADMINNOTICE("The admin [key] has been allowed to bypass a matching ban")) + addclientmessage(ckey,SPAN_ADMINNOTICE("You have been allowed to bypass a matching ban.")) return null else log_adminwarn("Failed Login: [key] [computer_id] [address] - Banned [.["message"]]") diff --git a/code/modules/admin/admin_memo.dm b/code/modules/admin/admin_memo.dm index a6fac4b394f..314d9f7fe1b 100644 --- a/code/modules/admin/admin_memo.dm +++ b/code/modules/admin/admin_memo.dm @@ -1,6 +1,6 @@ USER_VERB(server_memo, R_SERVER, "Memo", "View and modify server memos.", VERB_CATEGORY_SERVER) if(!SSdbcore.IsConnected()) - to_chat(client, "Failed to establish database connection.") + to_chat(client, SPAN_DANGER("Failed to establish database connection.")) return var/memotask = input(client, "Choose task.", "Memo") in list("Show", "Write", "Edit", "Remove") if(!memotask) @@ -13,7 +13,7 @@ USER_VERB(server_memo, R_SERVER, "Memo", "View and modify server memos.", VERB_C if(!task) return if(!SSdbcore.IsConnected()) - to_chat(src, "Failed to establish database connection.") + to_chat(src, SPAN_DANGER("Failed to establish database connection.")) return switch(task) if("Write") @@ -126,9 +126,9 @@ USER_VERB(server_memo, R_SERVER, "Memo", "View and modify server memos.", VERB_C var/memotext = query_memoshow.item[2] var/timestamp = query_memoshow.item[3] var/last_editor = query_memoshow.item[4] - output += "Memo by [ckey] on [timestamp]" + output += "[SPAN_MEMO("Memo by [ckey]")] on [timestamp]" if(last_editor) - output += "
Last edit by [last_editor] (Click here to see edit log)" + output += "
[SPAN_MEMOEDIT("Last edit by [last_editor] (Click here to see edit log)")]" output += "
[memotext]

" if(output) to_chat(src, output) diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index 919f4bc6868..d57e7912862 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -50,7 +50,7 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons /proc/reload_one_admin(admin_ckey, silent = FALSE) if(IsAdminAdvancedProcCall()) - to_chat(usr, "Admin reload blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCE("Admin reload blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to reload an admin via advanced proc-call") log_admin("[key_name(usr)] attempted to reload an admin via advanced proc-call") return @@ -65,7 +65,7 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons if(admin_ckey in (GLOB.de_admins + GLOB.de_mentors)) if(!silent) - message_admins("Admin permissions for [admin_ckey] will reload when they re-admin.") + message_admins(SPAN_NOTICE("Admin permissions for [admin_ckey] will reload when they re-admin.")) return if(admin_ckey in GLOB.directory) @@ -73,7 +73,7 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons var/localhosted = admin.try_localhost_autoadmin() if(localhosted) if(!silent) - message_admins("Admin permissions for [admin_ckey] reloaded. Full permissions granted as they are currently connected from localhost.") + message_admins(SPAN_NOTICE("Admin permissions for [admin_ckey] reloaded. Full permissions granted as they are currently connected from localhost.")) return if(GLOB.configuration.admin.use_database_admins) @@ -105,7 +105,7 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons // If you have no rights, you don't get an admin datum. qdel(get_admin) if(!silent) - message_admins("Admin permissions for [admin_ckey] have been reloaded.") + message_admins(SPAN_NOTICE("Admin permissions for [admin_ckey] have been reloaded.")) return admin_datum = new(rank, rights, admin_ckey) qdel(get_admin) @@ -123,11 +123,11 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons admin_datum.associate(GLOB.directory[admin_ckey]) if(!silent) - message_admins("Admin permissions for [admin_ckey] have been reloaded.") + message_admins(SPAN_NOTICE("Admin permissions for [admin_ckey] have been reloaded.")) /proc/load_admins(run_async = FALSE) if(IsAdminAdvancedProcCall()) - to_chat(usr, "Admin reload blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCE("Admin reload blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to reload admins via advanced proc-call") log_admin("[key_name(usr)] attempted to reload admins via advanced proc-call") return diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 8b9d45ccc79..10c8567e6c0 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -8,7 +8,7 @@ USER_VERB(hide_verbs, R_NONE, "Adminverbs - Hide All", "Hide most of your admin client.remove_user_verbs() add_verb(client, /client/proc/show_verbs) - to_chat(client, "Almost all of your adminverbs have been hidden.") + to_chat(client, SPAN_INTERFACE("Almost all of your adminverbs have been hidden.")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Hide Admin Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/show_verbs() @@ -18,7 +18,7 @@ USER_VERB(hide_verbs, R_NONE, "Adminverbs - Hide All", "Hide most of your admin remove_verb(src, /client/proc/show_verbs) add_user_verbs() - to_chat(src, "All of your adminverbs are now visible.") + to_chat(src, SPAN_INTERFACE("All of your adminverbs are now visible.")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Show Admin Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/mentor_ghost() @@ -26,7 +26,7 @@ USER_VERB(hide_verbs, R_NONE, "Adminverbs - Hide All", "Hide most of your admin var/is_full_admin = check_rights(R_ADMIN|R_MOD, FALSE) if(!is_mentor && !is_full_admin) - to_chat(src, "You aren't allowed to use this!") + to_chat(src, SPAN_WARNING("You aren't allowed to use this!")) return // mentors are allowed only if they have the observe trait, which is given on observe. @@ -71,7 +71,7 @@ USER_VERB(admin_ghost, R_ADMIN|R_MOD, "Aghost", "Aghost self.", VERB_CATEGORY_AD /// if they attempt to do anything that would stop their orbit, they will immediately be returned to their body. USER_VERB(admin_observe, R_ADMIN|R_MOD|R_MENTOR, "Aobserve", "Admin-observe a player mob.", VERB_CATEGORY_ADMIN) if(isnewplayer(client.mob)) - to_chat(client, "You cannot aobserve while in the lobby. Please join or observe first.") + to_chat(client, SPAN_WARNING("You cannot aobserve while in the lobby. Please join or observe first.")) return var/mob/target @@ -80,15 +80,15 @@ USER_VERB(admin_observe, R_ADMIN|R_MOD|R_MENTOR, "Aobserve", "Admin-observe a pl if(isnull(target)) return if(target == client) - to_chat(client, "You can't observe yourself!") + to_chat(client, SPAN_WARNING("You can't observe yourself!")) return if(isobserver(target)) - to_chat(client, "[target] is a ghost, and cannot be observed.") + to_chat(client, SPAN_WARNING("[target] is a ghost, and cannot be observed.")) return if(isnewplayer(target)) - to_chat(client, "[target] is in the lobby, and cannot be observed.") + to_chat(client, SPAN_WARNING("[target] is in the lobby, and cannot be observed.")) return SSuser_verbs.invoke_verb(client, /datum/user_verb/admin_observe_target, target) @@ -109,15 +109,15 @@ USER_VERB(admin_observe, R_ADMIN|R_MOD|R_MENTOR, "Aobserve", "Admin-observe a pl USER_CONTEXT_MENU(admin_observe_target, R_ADMIN|R_MOD|R_MENTOR, "\[Admin\] Aobserve", mob/target as mob) if(isnewplayer(client.mob)) - to_chat(client, "You cannot aobserve while in the lobby. Please join or observe first.") + to_chat(client, SPAN_WARNING("You cannot aobserve while in the lobby. Please join or observe first.")) return if(isnewplayer(target)) - to_chat(client, "[target] is currently in the lobby.") + to_chat(client, SPAN_WARNING("[target] is currently in the lobby.")) return if(isobserver(target)) - to_chat(client, "You can't observe a ghost.") + to_chat(client, SPAN_WARNING("You can't observe a ghost.")) return var/mob/dead/observer/observer = client.mob @@ -148,7 +148,7 @@ USER_CONTEXT_MENU(admin_observe_target, R_ADMIN|R_MOD|R_MENTOR, "\[Admin\] Aobse // we need to handle this here because when you aghost, your mob gets set to the ghost. Oops! ADD_TRAIT(client.mob.mind, TRAIT_MENTOR_OBSERVING, MENTOR_OBSERVING) RegisterSignal(ghost, COMSIG_ATOM_ORBITER_STOP, TYPE_PROC_REF(/client, on_mentor_observe_end), override = TRUE) - to_chat(client, "You have temporarily observed [target], either move or observe again to un-observe.") + to_chat(client, SPAN_NOTICE("You have temporarily observed [target], either move or observe again to un-observe.")) log_admin("[key_name(client)] has mobserved out of their body to follow [target].") else log_admin("[key_name(client)] is aobserving [target].") @@ -172,7 +172,7 @@ USER_CONTEXT_MENU(admin_observe_target, R_ADMIN|R_MOD|R_MENTOR, "\[Admin\] Aobse // tell everyone since this is kinda nasty. log_debug("Mentor [key_name_mentor(src)] was unable to re-enter their body after mentor observing.") log_and_message_admins("[key_name_mentor(src)] was unable to re-enter their body after mentor observing.") - to_chat(src, "Unable to return you to your body after mentor ghosting. If your body still exists, please contact a coder, and you should probably ahelp.") + to_chat(src, SPAN_USERDANGER("Unable to return you to your body after mentor ghosting. If your body still exists, please contact a coder, and you should probably ahelp.")) USER_VERB(invisimin, R_ADMIN, "Invisimin", "Toggles ghost-like invisibility (Don't abuse this)", VERB_CATEGORY_ADMIN) if(!isliving(client.mob)) @@ -182,12 +182,12 @@ USER_VERB(invisimin, R_ADMIN, "Invisimin", "Toggles ghost-like invisibility (Don if(client_mob.invisibility == INVISIBILITY_OBSERVER) client_mob.invisibility = initial(client_mob.invisibility) client_mob.add_to_all_human_data_huds() - to_chat(client, "Invisimin off. Invisibility reset.") + to_chat(client, SPAN_DANGER("Invisimin off. Invisibility reset.")) log_admin("[key_name(client)] has turned Invisimin OFF") else client_mob.invisibility = INVISIBILITY_OBSERVER client_mob.remove_from_all_data_huds() - to_chat(client, "Invisimin on. You are now as invisible as a ghost.") + to_chat(client, SPAN_NOTICE("Invisimin on. You are now as invisible as a ghost.")) log_admin("[key_name(client)] has turned Invisimin ON") SSblackbox.record_feedback("tally", "admin_verb", 1, "Invisimin") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -299,7 +299,7 @@ USER_VERB(drop_bomb, R_EVENT, "Drop Bomb", "Cause an explosion of varying streng return explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, 1, 1, cause = "[client.ckey]: Drop Bomb command") log_admin("[key_name(client)] created an admin explosion at [epicenter.loc]") - message_admins("[key_name_admin(client)] created an admin explosion at [epicenter.loc]") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] created an admin explosion at [epicenter.loc]")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Drop Bomb") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_VERB(give_spell, R_EVENT, "Give Spell", VERB_NO_DESCRIPTION, VERB_CATEGORY_HIDDEN, mob/T) @@ -336,7 +336,7 @@ USER_VERB(give_disease, R_EVENT, "Give Disease", VERB_NO_DESCRIPTION, VERB_CATEG T.ForceContractDisease(given_disease) SSblackbox.record_feedback("tally", "admin_verb", 1, "Give Disease") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(client)] gave [key_name(T)] the disease [given_disease].") - message_admins("[key_name_admin(client)] gave [key_name(T)] the disease [given_disease].") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] gave [key_name(T)] the disease [given_disease].")) USER_VERB(disease_outbreak, R_EVENT, "Disease Outbreak", "Creates a disease and infects a random player with it.", VERB_CATEGORY_EVENT) var/datum/disease/given_disease = null @@ -374,7 +374,7 @@ USER_CONTEXT_MENU(make_sound, R_EVENT, "\[Admin\] Make Sound", obj/O in view()) for(var/mob/V in hearers(O)) V.show_message(admin_pencode_to_html(message), 2) log_admin("[key_name(client)] made [O] at [O.x], [O.y], [O.z] make a sound") - message_admins("[key_name_admin(client)] made [O] at [O.x], [O.y], [O.z] make a sound") + message_admins(SPAN_NOTICE("[key_name_admin(client)] made [O] at [O.x], [O.y], [O.z] make a sound")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_VERB(toggle_build_mode_self, R_EVENT, "Toggle Build Mode Self", "Toggle Build Mode on yourself.", VERB_CATEGORY_EVENT) @@ -398,7 +398,7 @@ USER_VERB(deadmin_self, R_ADMIN|R_MENTOR, "De-admin self", "De-admin yourself.", log_admin("[key_name(client)] deadmined themself.") message_admins("[key_name_admin(client)] deadmined themself.") client.deadmin() - to_chat(client, "You are now a normal player.") + to_chat(client, SPAN_INTERFACE("You are now a normal player.")) SSblackbox.record_feedback("tally", "admin_verb", 1, "De-admin") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_VERB(toggle_log_hrefs, R_SERVER, "Toggle href logging", "Toggle href logging", VERB_CATEGORY_SERVER) @@ -488,7 +488,7 @@ USER_VERB(free_job_slot, R_ADMIN, "Free Job Slot", "Frees a station job role.", SSblackbox.record_feedback("tally", "admin_verb", 1, "Free Job Slot") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_CONTEXT_MENU(man_up, R_ADMIN, "\[Admin\] Man Up", mob/T as mob in GLOB.player_list) - to_chat(T, chat_box_notice_thick("Man up.
Deal with it.

Move on.
")) + to_chat(T, chat_box_notice_thick(SPAN_NOTICE("Man up.
Deal with it.

Move on."))) SEND_SOUND(T, sound('sound/voice/manup1.ogg')) log_admin("[key_name(client)] told [key_name(T)] to man up and deal with it.") @@ -498,7 +498,7 @@ USER_VERB(global_man_up, R_ADMIN, "Man Up Global", "Tells everyone to man up and if(tgui_alert(client, "Are you sure you want to send the global message?", "Confirm Man Up Global", list("Yes", "No")) == "Yes") var/manned_up_sound = sound('sound/voice/manup1.ogg') for(var/sissy in GLOB.player_list) - to_chat(sissy, chat_box_notice_thick("Man up.
Deal with it.

Move on.
")) + to_chat(sissy, chat_box_notice_thick(SPAN_NOTICE("Man up.
Deal with it.

Move on."))) SEND_SOUND(sissy, manned_up_sound) log_admin("[key_name(client)] told everyone to man up and deal with it.") @@ -558,12 +558,12 @@ USER_VERB(raw_gas_scan, R_DEBUG|R_VIEWRUNTIMES, "Raw Gas Scan", "Scans your curr USER_VERB(find_interesting_turf, R_DEBUG|R_VIEWRUNTIMES, "Interesting Turf", \ "Teleports you to a random Interesting Turf from MILLA", VERB_CATEGORY_DEBUG) if(!isobserver(client.mob)) - to_chat(client.mob, "You must be an observer to do this!") + to_chat(client.mob, SPAN_WARNING("You must be an observer to do this!")) return var/list/interesting_tile = get_random_interesting_tile() if(!length(interesting_tile)) - to_chat(client, "There are no interesting turfs. How interesting!") + to_chat(client, SPAN_NOTICE("There are no interesting turfs. How interesting!")) return var/turf/T = interesting_tile[MILLA_INDEX_TURF] @@ -591,7 +591,7 @@ USER_VERB(visualize_interesting_turfs, R_DEBUG|R_VIEWRUNTIMES, "Visualize Intere var/list/coords = get_interesting_atmos_tiles() if(!length(coords)) - to_chat(client, "There are no interesting turfs. How interesting!") + to_chat(client, SPAN_NOTICE("There are no interesting turfs. How interesting!")) return while(length(coords)) @@ -612,7 +612,7 @@ USER_VERB(visualize_interesting_turfs, R_DEBUG|R_VIEWRUNTIMES, "Visualize Intere zlevel_turf_indexes = sortAssoc(zlevel_turf_indexes) for(var/key in zlevel_turf_indexes) - to_chat(client, "Z[key]: [length(zlevel_turf_indexes["[key]"])] Interesting Turfs") + to_chat(client, SPAN_NOTICE("Z[key]: [length(zlevel_turf_indexes["[key]"])] Interesting Turfs")) var/z_to_view = tgui_input_number(client, "A list of z-levels their ITs has appeared in chat. Please enter a Z to visualize. Enter 0 or close the window to cancel", "Selection", 0) @@ -665,13 +665,13 @@ USER_VERB(create_rnd_restore_disk, R_ADMIN, "Create RnD Backup Restore Disk", "C SSuser_verbs.invoke_verb(user, /datum/user_verb/admin_ghost) var/datum/target = locateUID(uid) if(QDELETED(target)) - to_chat(user, "This datum has been deleted!") + to_chat(user, SPAN_WARNING("This datum has been deleted!")) return if(istype(target, /datum/mind)) var/datum/mind/mind = target if(!ismob(mind.current)) - to_chat(user, "This can only be used on instances of type /mob") + to_chat(user, SPAN_WARNING("This can only be used on instances of type /mob")) return target = mind.current diff --git a/code/modules/admin/banjob.dm b/code/modules/admin/banjob.dm index 86718b4b673..4b14ab72e4d 100644 --- a/code/modules/admin/banjob.dm +++ b/code/modules/admin/banjob.dm @@ -43,7 +43,7 @@ if(!length(jbh.job_bans)) if(!from_client_connection) - to_chat(src, chat_box_red("You have no active jobbans!")) + to_chat(src, chat_box_red(SPAN_WARNING("You have no active jobbans!"))) return var/list/messages = list() @@ -52,12 +52,12 @@ var/datum/job_ban/JB = jbh.job_bans[ban] // Remember. Its assoc. switch(JB.bantype) if("JOB_PERMABAN") - messages.Add("[JB.bantype]: [JB.job] - REASON: [JB.reason], by [JB.a_ckey]; [JB.bantime]") + messages.Add(SPAN_WARNING("[JB.bantype]: [JB.job] - REASON: [JB.reason], by [JB.a_ckey]; [JB.bantime]")) if("JOB_TEMPBAN") - messages.Add("[JB.bantype]: [JB.job] - REASON: [JB.reason], by [JB.a_ckey]; [JB.bantime]; [JB.duration]; expires [JB.expiration_time]") + messages.Add(SPAN_WARNING("[JB.bantype]: [JB.job] - REASON: [JB.reason], by [JB.a_ckey]; [JB.bantime]; [JB.duration]; expires [JB.expiration_time]")) if(GLOB.configuration.url.banappeals_url) - messages.Add("You can appeal the bans at: [GLOB.configuration.url.banappeals_url]") + messages.Add(SPAN_WARNING("You can appeal the bans at: [GLOB.configuration.url.banappeals_url]")) to_chat(src, chat_box_red(messages.Join("
"))) diff --git a/code/modules/admin/centcom_ban_db.dm b/code/modules/admin/centcom_ban_db.dm index 79ad8254b34..6eee5558916 100644 --- a/code/modules/admin/centcom_ban_db.dm +++ b/code/modules/admin/centcom_ban_db.dm @@ -15,7 +15,7 @@ /datum/admins/proc/create_ccbdb_lookup(ckey) // Bail if disabled if(!GLOB.configuration.url.centcom_ban_db_url) - to_chat(usr, "The CentCom Ban DB lookup is disabled. Please inform a maintainer or server host.") + to_chat(usr, SPAN_WARNING("The CentCom Ban DB lookup is disabled. Please inform a maintainer or server host.")) return // Bail if no ckey is supplied if(!ckey) @@ -41,12 +41,12 @@ // Bail if it errored if(response.errored) - to_chat(user, "Error connecting to CentCom Ban DB. Please inform a maintainer or server host.") + to_chat(user, SPAN_WARNING("Error connecting to CentCom Ban DB. Please inform a maintainer or server host.")) return // Bail if the code isnt 200 if(response.status_code != 200) - to_chat(user, "Error performing CentCom Ban DB lookup (Code: [response.status_code])") + to_chat(user, SPAN_WARNING("Error performing CentCom Ban DB lookup (Code: [response.status_code])")) return var/list/popup_data = list() @@ -98,7 +98,7 @@ popup_data += "
" catch - to_chat(user, "Error parsing JSON data from CentCom Ban DB lookup. Please inform a maintainer.") + to_chat(user, SPAN_WARNING("Error parsing JSON data from CentCom Ban DB lookup. Please inform a maintainer.")) return var/datum/browser/popup = new(user, "ccbdblookup-[ckey]", "
CC Ban DB Lookup - [ckey]
", 700, 600) diff --git a/code/modules/admin/db_ban/functions.dm b/code/modules/admin/db_ban/functions.dm index 029b80de4d2..3337acbaf4b 100644 --- a/code/modules/admin/db_ban/functions.dm +++ b/code/modules/admin/db_ban/functions.dm @@ -5,7 +5,7 @@ if(!check_rights(R_BAN)) return if(!SSdbcore.IsConnected()) - to_chat(usr, "Database connection failure when attempting to make DB ban. Please freeze them and write their ckey in notepad, so they can be banned when the DB returns.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Database connection failure when attempting to make DB ban. Please freeze them and write their ckey in notepad, so they can be banned when the DB returns.")) return var/serverip = "[world.internet_address]:[world.port]" @@ -109,12 +109,12 @@ if(blockselfban) if(a_ckey == ckey) - to_chat(usr, "You cannot apply this ban type on yourself.") + to_chat(usr, SPAN_DANGER("You cannot apply this ban type on yourself.")) return // Check validity of the CID. Some have a lot of collisions due to bad industry practices (thanks walmart) if(computerid && (computerid in GLOB.configuration.admin.common_cid_map)) - to_chat(usr, "You attempted to apply a ban that includes the CID [computerid]. This CID has been ignored for the following reason: [GLOB.configuration.admin.common_cid_map[computerid]]") + to_chat(usr, SPAN_NOTICE("You attempted to apply a ban that includes the CID [computerid]. This CID has been ignored for the following reason: [GLOB.configuration.admin.common_cid_map[computerid]]")) // Cancel it out. DO NOT USE NULL HERE. IT MAKES THE DB CRY. USE AN EMPTY STRING. computerid = "" @@ -142,7 +142,7 @@ if(adm_query.NextRow()) var/adm_bans = text2num(adm_query.item[1]) if(adm_bans >= MAX_ADMIN_BANS_PER_ADMIN) - to_chat(usr, "You already logged [MAX_ADMIN_BANS_PER_ADMIN] admin ban(s) or more. Do not abuse this function!") + to_chat(usr, SPAN_DANGER("You already logged [MAX_ADMIN_BANS_PER_ADMIN] admin ban(s) or more. Do not abuse this function!")) qdel(adm_query) return qdel(adm_query) @@ -174,7 +174,7 @@ return qdel(query_insert) - to_chat(usr, "Ban saved to database.") + to_chat(usr, SPAN_NOTICE("Ban saved to database.")) message_admins("[key_name_admin(usr)] has added a [bantype_str] for [ckey] [(job)?"([job])":""] [(duration > 0)?"([duration] minutes)":""] with the reason: \"[reason]\" to the ban database.",1) if(announce_in_discord) @@ -198,7 +198,7 @@ if(!check_rights(R_BAN)) return if(!SSdbcore.IsConnected()) - to_chat(usr, "Database connection failure when attempting to remove DB ban. Please remember to unban them at a later date!.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Database connection failure when attempting to remove DB ban. Please remember to unban them at a later date!.")) return var/bantype_str @@ -260,17 +260,17 @@ qdel(query) if(ban_number == 0) - to_chat(usr, "Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.") + to_chat(usr, SPAN_WARNING("Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.")) return if(ban_number > 1) - to_chat(usr, "Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.") + to_chat(usr, SPAN_WARNING("Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.")) return if(istext(ban_id)) ban_id = text2num(ban_id) if(!isnum(ban_id)) - to_chat(usr, "Database update failed due to a ban ID mismatch. Contact the database admin.") + to_chat(usr, SPAN_WARNING("Database update failed due to a ban ID mismatch. Contact the database admin.")) return DB_ban_unban_by_id(ban_id) @@ -394,7 +394,7 @@ return if(!SSdbcore.IsConnected()) - to_chat(usr, "Database connection failure when attempting to remove DB ban. Please remember to unban them at a later date!.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Database connection failure when attempting to remove DB ban. Please remember to unban them at a later date!.")) return var/ban_number = 0 //failsafe @@ -413,11 +413,11 @@ qdel(query) if(ban_number == 0) - to_chat(usr, "Database update failed due to a ban id not being present in the database.") + to_chat(usr, SPAN_WARNING("Database update failed due to a ban id not being present in the database.")) return if(ban_number > 1) - to_chat(usr, "Database update failed due to multiple bans having the same ID. Contact the database admin.") + to_chat(usr, SPAN_WARNING("Database update failed due to multiple bans having the same ID. Contact the database admin.")) return if(!src.owner || !isclient(src.owner)) @@ -459,7 +459,7 @@ return if(!SSdbcore.IsConnected()) - to_chat(usr, "Failed to establish database connection") + to_chat(usr, SPAN_WARNING("Failed to establish database connection")) return var/cached_UID = UID() var/list/output = list() diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm index c9a7987f24f..bfa4d484636 100644 --- a/code/modules/admin/holder2.dm +++ b/code/modules/admin/holder2.dm @@ -34,7 +34,7 @@ GLOBAL_PROTECT(href_token) /datum/admins/New(initial_rank, initial_rights, ckey) if(IsAdminAdvancedProcCall()) - to_chat(usr, "Admin rank creation blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Admin rank creation blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to create a new admin rank via advanced proc-call") log_admin("[key_name(usr)] attempted to edit feedback a new admin rank via advanced proc-call") return @@ -52,7 +52,7 @@ GLOBAL_PROTECT(href_token) /datum/admins/Destroy() if(IsAdminAdvancedProcCall()) - to_chat(usr, "Admin rank deletion blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Admin rank deletion blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to delete an admin rank via advanced proc-call") log_admin("[key_name(usr)] attempted to delete an admin rank via advanced proc-call") return @@ -62,7 +62,7 @@ GLOBAL_PROTECT(href_token) /datum/admins/proc/associate(client/C, delay_2fa_complaint = FALSE) if(IsAdminAdvancedProcCall()) - to_chat(usr, "Rank association blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Rank association blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to associate an admin rank to a new client via advanced proc-call") log_admin("[key_name(usr)] attempted to associate an admin rank to a new client via advanced proc-call") return @@ -79,7 +79,7 @@ GLOBAL_PROTECT(href_token) restricted_by_2fa = TRUE if(!delay_2fa_complaint) // And tell them about it. - to_chat(owner,"You do not have 2FA enabled. Admin verbs will be unavailable until you have enabled 2FA.\nTo setup 2FA, head to the following menu: Game Preferences") // Very fucking obvious + to_chat(owner,SPAN_BOLDANNOUNCEOOC("You do not have 2FA enabled. Admin verbs will be unavailable until you have enabled 2FA.\nTo setup 2FA, head to the following menu: Game Preferences")) // Very fucking obvious // Regardless of client, tell BYOND if they should have profiler access. if(rights & (R_DEBUG | R_VIEWRUNTIMES)) @@ -121,7 +121,7 @@ GLOBAL_PROTECT(href_token) /datum/admins/proc/disassociate() if(IsAdminAdvancedProcCall()) - to_chat(usr, "Rank disassociation blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Rank disassociation blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to disassociate an admin rank from a client via advanced proc-call") log_admin("[key_name(usr)] attempted to disassociate an admin rank from a client via advanced proc-call") return @@ -196,7 +196,7 @@ NOTE: checks usr by default, not src /client/proc/deadmin() if(IsAdminAdvancedProcCall()) - to_chat(usr, "Deadmin blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Deadmin blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to de-admin a client via advanced proc-call") log_admin("[key_name(usr)] attempted to de-admin a client via advanced proc-call") return @@ -216,12 +216,12 @@ NOTE: checks usr by default, not src set desc = "Regain your admin powers." if(IsAdminAdvancedProcCall()) - to_chat(usr, "Readmin blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Readmin blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to re-admin a client via advanced proc-call") log_admin("[key_name(usr)] attempted to re-admin a client via advanced proc-call") if(holder) - to_chat(usr, "You are already an admin.") + to_chat(usr, SPAN_NOTICE("You are already an admin.")) else if(ckey in (GLOB.de_admins + GLOB.de_mentors)) GLOB.de_admins -= ckey GLOB.de_mentors -= ckey @@ -230,7 +230,7 @@ NOTE: checks usr by default, not src message_admins("[key_name_admin(usr)] re-adminned themselves.") SSblackbox.record_feedback("tally", "admin_verb", 1, "Re-admin") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! else - to_chat(usr, "Readmin blocked: You were not an admin or mentor.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Readmin blocked: You were not an admin or mentor.")) message_admins("[key_name(usr)] attempted to re-admin without being an admin or mentor") log_admin("[key_name(usr)] attempted to re-admin without being an admin or mentor") diff --git a/code/modules/admin/machine_upgrade.dm b/code/modules/admin/machine_upgrade.dm index 586ba9e2c94..0e5ffa5c092 100644 --- a/code/modules/admin/machine_upgrade.dm +++ b/code/modules/admin/machine_upgrade.dm @@ -1,6 +1,6 @@ USER_CONTEXT_MENU(machine_upgrade, R_DEBUG, "\[Admin\] Tweak Component Ratings", obj/machinery/M as obj in world) if(!istype(M)) - to_chat(client, "This can only be used on subtypes of /obj/machinery.") + to_chat(client, SPAN_DANGER("This can only be used on subtypes of /obj/machinery.")) return var/new_rating = input(client, "Enter new rating:","Num") as num diff --git a/code/modules/admin/menus/antagonist_menu.dm b/code/modules/admin/menus/antagonist_menu.dm index c19950458ad..9104e0f208b 100644 --- a/code/modules/admin/menus/antagonist_menu.dm +++ b/code/modules/admin/menus/antagonist_menu.dm @@ -165,7 +165,7 @@ RESTRICT_TYPE(/datum/ui_module/admin/antagonist_menu) if("show_player_panel") var/datum/mind/mind = locateUID(params["mind_uid"]) if(QDELETED(mind.current)) - to_chat(ui.user, "Mind doesn't have a corresponding mob.") + to_chat(ui.user, SPAN_WARNING("Mind doesn't have a corresponding mob.")) return SSuser_verbs.invoke_verb(ui.user, /datum/user_verb/show_player_panel, mind.current) if("pm") @@ -177,13 +177,13 @@ RESTRICT_TYPE(/datum/ui_module/admin/antagonist_menu) var/datum/mind/mind = locateUID(params["mind_uid"]) if(!ismob(mind.current)) - to_chat(ui.user, "This can only be used on instances of type /mob") + to_chat(ui.user, SPAN_WARNING("This can only be used on instances of type /mob")) return SSuser_verbs.invoke_verb(C, /datum/user_verb/admin_observe_target, mind.current) if("tp") var/datum/mind/mind = locateUID(params["mind_uid"]) if(QDELETED(mind)) - to_chat(ui.user, "No mind!") + to_chat(ui.user, SPAN_WARNING("No mind!")) return mind.edit_memory() if("vv") @@ -192,7 +192,7 @@ RESTRICT_TYPE(/datum/ui_module/admin/antagonist_menu) var/client/C = ui.user.client var/datum/target = locateUID(params["owner_uid"]) if(QDELETED(target)) - to_chat(ui.user, "It seems the target you are looking for is null or deleted.") + to_chat(ui.user, SPAN_WARNING("It seems the target you are looking for is null or deleted.")) return if(istype(target, /datum/antagonist)) var/datum/antagonist/antag = target @@ -200,7 +200,7 @@ RESTRICT_TYPE(/datum/ui_module/admin/antagonist_menu) if(istype(target, /datum/mind)) var/datum/mind/mind = target if(!ismob(mind.current)) - to_chat(ui.user, "This can only be used on instances of type /mob") + to_chat(ui.user, SPAN_WARNING("This can only be used on instances of type /mob")) return target = mind.current var/mob/dead/observer/A = C.mob @@ -210,4 +210,4 @@ RESTRICT_TYPE(/datum/ui_module/admin/antagonist_menu) ui.user.client.holder.team_switch_tab_index = clamp(GLOB.antagonist_teams.Find(target), 1, length(GLOB.antagonist_teams)) ui.user.client.holder.check_teams() return - to_chat(ui.user, "Type [target.type] isn't supported for finding the owner of an objective.") + to_chat(ui.user, SPAN_WARNING("Type [target.type] isn't supported for finding the owner of an objective.")) diff --git a/code/modules/admin/misc_admin_procs.dm b/code/modules/admin/misc_admin_procs.dm index f3d674bef20..781fd47ea2b 100644 --- a/code/modules/admin/misc_admin_procs.dm +++ b/code/modules/admin/misc_admin_procs.dm @@ -7,7 +7,7 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE) //////////////////////////////// /proc/message_admins(msg) - msg = "ADMIN LOG: [msg]" + msg = SPAN_ADMIN(SPAN_PREFIX("ADMIN LOG:
[msg]") ) for(var/client/C in GLOB.admins) if(R_ADMIN & C.holder.rights) if(C.prefs && !(C.prefs.toggles & PREFTOGGLE_CHAT_NO_ADMINLOGS)) @@ -15,7 +15,7 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE) /proc/msg_admin_attack(text, loglevel) if(!GLOB.nologevent) - var/rendered = "ATTACK: [text]" + var/rendered = SPAN_ADMIN(SPAN_PREFIX("ATTACK: [text]") ) for(var/client/C in GLOB.admins) if((C.holder.rights & R_ADMIN) && (C.prefs?.atklog <= loglevel)) to_chat(C, rendered, MESSAGE_TYPE_ATTACKLOG, confidential = TRUE) @@ -60,12 +60,12 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE) for(var/mob/O in GLOB.mob_list) if(O.ckey && O.ckey == ckey_to_find) if(admin_to_notify) - to_chat(admin_to_notify, "admin_ban_mobsearch: Player [ckey_to_find] is now in mob [O]. Pulling data from new mob.", MESSAGE_TYPE_ADMINLOG, confidential = TRUE) + to_chat(admin_to_notify, SPAN_WARNING("admin_ban_mobsearch: Player [ckey_to_find] is now in mob [O]. Pulling data from new mob."), MESSAGE_TYPE_ADMINLOG, confidential = TRUE) return O if(admin_to_notify) - to_chat(admin_to_notify, "admin_ban_mobsearch: Player [ckey_to_find] does not seem to have any mob, anywhere. This is probably an error.", MESSAGE_TYPE_ADMINLOG, confidential = TRUE) + to_chat(admin_to_notify, SPAN_WARNING("admin_ban_mobsearch: Player [ckey_to_find] does not seem to have any mob, anywhere. This is probably an error."), MESSAGE_TYPE_ADMINLOG, confidential = TRUE) else if(admin_to_notify) - to_chat(admin_to_notify, "admin_ban_mobsearch: No mob or ckey detected.", MESSAGE_TYPE_ADMINLOG, confidential = TRUE) + to_chat(admin_to_notify, SPAN_WARNING("admin_ban_mobsearch: No mob or ckey detected."), MESSAGE_TYPE_ADMINLOG, confidential = TRUE) return M ///////////////////////////////////////////////////////////////////////////////////////////////Panels @@ -384,7 +384,7 @@ USER_VERB(end_round, R_SERVER, "End Round", \ log_admin("[key_name(client)] has admin ended the round with message: '[input]'") SSticker.force_ending = TRUE SSticker.record_biohazard_results() - to_chat(world, "[input]") + to_chat(world, SPAN_WARNING("[input]")) SSblackbox.record_feedback("tally", "admin_verb", 1, "End Round") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! SSticker.mode_result = "admin ended" @@ -394,7 +394,7 @@ USER_VERB(announce, R_ADMIN, "Announce", "Announce your desires to the world", V if(!check_rights_client(R_SERVER, 0, client)) message = adminscrub(message,500) message = replacetext(message, "\n", "
") // required since we're putting it in a

tag - to_chat(world, chat_box_notice("[client.holder.fakekey ? "Administrator" : client.key] Announces:

[message]

")) + to_chat(world, chat_box_notice(SPAN_NOTICE("[client.holder.fakekey ? "Administrator" : client.key] Announces:

[message]

"))) log_admin("Announce: [key_name(client)] : [message]") for(var/client/clients_to_alert in GLOB.clients) window_flash(clients_to_alert) @@ -458,7 +458,7 @@ USER_VERB(start_server_now, R_SERVER, "Start Now", "Start the round RIGHT NOW", var/msg = "" if(SSticker.current_state == GAME_STATE_STARTUP) msg = " (The server is still setting up, but the round will be started as soon as possible.)" - message_admins("[client.key] has started the game.[msg]") + message_admins(SPAN_DARKMBLUE("[client.key] has started the game.[msg]")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Start Game") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return 1 else @@ -685,7 +685,7 @@ USER_VERB(toggle_guests, R_SERVER, "Toggle Guests", "Guests can't enter", VERB_C else to_chat(world, "Guests may now enter the game.") log_admin("[key_name(client)] toggled guests game entering [GLOB.configuration?.general.guest_ban ? "dis" : ""]allowed.") - message_admins("[key_name_admin(client)] toggled guests game entering [GLOB.configuration?.general.guest_ban ? "dis" : ""]allowed.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(client)] toggled guests game entering [GLOB.configuration?.general.guest_ban ? "dis" : ""]allowed."), 1) SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Guests") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/output_ai_laws() @@ -814,7 +814,7 @@ USER_CONTEXT_MENU(update_mob_sprite, R_ADMIN, "\[Admin\] Update Mob Sprite", mob var/mob/living/basic/possessed_object/tomob = new(toitem) - message_admins("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].")) log_admin("[key_name(usr)] stuffed [frommob.ckey] into [tomob.name].") SSblackbox.record_feedback("tally", "admin_verb", 1, "Ghost Drag") @@ -840,7 +840,7 @@ USER_CONTEXT_MENU(update_mob_sprite, R_ADMIN, "\[Admin\] Update Mob Sprite", mob if(tomob.client) //no need to ghostize if there is no client tomob.ghostize(GHOST_FLAGS_OBSERVE_ONLY) - message_admins("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].")) log_admin("[key_name(usr)] stuffed [frommob.ckey] into [tomob.name].") SSblackbox.record_feedback("tally", "admin_verb", 1, "Ghost Drag") @@ -860,7 +860,7 @@ USER_CONTEXT_MENU(update_mob_sprite, R_ADMIN, "\[Admin\] Update Mob Sprite", mob if(QDELETED(frommob) || QDELETED(tothing)) //make sure the mobs don't go away while we waited for a response return TRUE - message_admins("[key_name_admin(usr)] has put [frommob.ckey] in control of an empty AI core.") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] has put [frommob.ckey] in control of an empty AI core.")) log_admin("[key_name(usr)] stuffed [frommob.ckey] into an empty AI core.") SSblackbox.record_feedback("tally", "admin_verb", 1, "Ghost Drag") @@ -911,7 +911,7 @@ USER_CONTEXT_MENU(update_mob_sprite, R_ADMIN, "\[Admin\] Update Mob Sprite", mob possible_targets += possible_target.current // Allows for admins to pick off station roles if(!length(possible_targets)) - to_chat(caller_mob, "No possible target found.") + to_chat(caller_mob, SPAN_WARNING("No possible target found.")) return possible_targets = sortAtom(possible_targets) diff --git a/code/modules/admin/outfits.dm b/code/modules/admin/outfits.dm index d3a6be2a630..bdb0a12ee17 100644 --- a/code/modules/admin/outfits.dm +++ b/code/modules/admin/outfits.dm @@ -23,7 +23,7 @@ USER_VERB(outfit_manager, R_EVENT, "Outfit Manager", "Opens the outfit manager." /datum/admins/proc/delete_outfit(mob/admin,datum/outfit/O) GLOB.custom_outfits -= O qdel(O) - to_chat(admin,"Outfit deleted.") + to_chat(admin,SPAN_NOTICE("Outfit deleted.")) outfit_manager(admin) /datum/admins/proc/load_outfit(mob/admin) @@ -33,15 +33,15 @@ USER_VERB(outfit_manager, R_EVENT, "Outfit Manager", "Opens the outfit manager." var/filedata = wrap_file2text(outfit_file) var/json = json_decode(filedata) if(!json) - to_chat(admin,"JSON decode error.") + to_chat(admin,SPAN_WARNING("JSON decode error.")) return var/otype = text2path(json["outfit_type"]) if(!ispath(otype,/datum/outfit)) - to_chat(admin,"Malformed/Outdated file.") + to_chat(admin,SPAN_WARNING("Malformed/Outdated file.")) return var/datum/outfit/O = new otype if(!O.load_from(json)) - to_chat(admin,"Malformed/Outdated file.") + to_chat(admin,SPAN_WARNING("Malformed/Outdated file.")) return GLOB.custom_outfits += O outfit_manager(admin) diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm index e81dcff58ac..ec6d95f41de 100644 --- a/code/modules/admin/permissionverbs/permissionedit.dm +++ b/code/modules/admin/permissionverbs/permissionedit.dm @@ -121,14 +121,14 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi if(!check_rights(R_PERMISSIONS)) return FALSE if(IsAdminAdvancedProcCall()) - to_chat(usr, "Admin edit blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Admin edit blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to edit admin DB via advanced proc-call") log_admin("[key_name(usr)] attempted to edit admin DB via advanced proc-call") return FALSE if(!usr.client) return FALSE if(!db_available()) - to_chat(usr, "Admin database unavailable") + to_chat(usr, SPAN_WARNING("Admin database unavailable")) return FALSE return TRUE @@ -137,16 +137,16 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi return if(!istext(target_key)) - to_chat(usr, "Provided key '[target_key]' is not text!") + to_chat(usr, SPAN_WARNING("Provided key '[target_key]' is not text!")) return target_key = ckey(target_key) if(target_key == "") - to_chat(usr, "Provided key was blank after converting to ckey!") + to_chat(usr, SPAN_WARNING("Provided key was blank after converting to ckey!")) return if(!isnum(new_rank)) - to_chat(usr, "Provided rank ID '[new_rank]' is not a number!") + to_chat(usr, SPAN_WARNING("Provided rank ID '[new_rank]' is not a number!")) return var/datum/db_query/get_rank_name = SSdbcore.NewQuery("SELECT name FROM admin_ranks WHERE id = :new_rank", list( @@ -160,7 +160,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi rank_name = get_rank_name.item[1] qdel(get_rank_name) if(!rank_name) - to_chat(usr, "Rank with ID [new_rank] not found in database!") + to_chat(usr, SPAN_WARNING("Rank with ID [new_rank] not found in database!")) return var/datum/db_query/get_admin_id = SSdbcore.NewQuery("SELECT id FROM admin WHERE ckey = :target_key", list( @@ -190,7 +190,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(insert_new_admin) return qdel(insert_new_admin) - message_admins("Admin ranks updated by [usr.ckey]: [target_key] (NEW ADMIN) is now a [rank_name][display_note].") + message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: [target_key] (NEW ADMIN) is now a [rank_name][display_note].")) var/logtxt = "Added new admin [target_key] to rank [rank_name][display_note]" var/datum/db_query/add_log = SSdbcore.NewQuery("INSERT INTO admin_log (`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (Now() , :uckey, :uip, :logtxt)", list( @@ -213,7 +213,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(update_admin_rank) return qdel(update_admin_rank) - message_admins("Admin ranks updated by [usr.ckey]: [target_key] is now a [rank_name][display_note].") + message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: [target_key] is now a [rank_name][display_note].")) var/logtxt = "Edited the rank of [target_key] to [rank_name][display_note]" if(clear_custom_permissions) @@ -225,7 +225,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi return qdel(clear_permissions) logtxt += " and cleared their custom permissions" - message_admins("Admin permissions updated by [usr.ckey]: [target_key] no longer has any custom permissions.") + message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] no longer has any custom permissions.")) var/datum/db_query/add_log = SSdbcore.NewQuery("INSERT INTO admin_log (`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (Now() , :uckey, :uip, :logtxt)", list( "uckey" = usr.ckey, @@ -242,21 +242,21 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi return if(!istext(target_key)) - to_chat(usr, "Provided key '[target_key]' is not text!") + to_chat(usr, SPAN_WARNING("Provided key '[target_key]' is not text!")) return target_key = ckey(target_key) if(target_key == "") - to_chat(usr, "Provided key was blank after converting to ckey!") + to_chat(usr, SPAN_WARNING("Provided key was blank after converting to ckey!")) return if(!isnum(permission_bit) || permission_bit < 1 || floor(permission_bit) != permission_bit) - to_chat(usr, "Provided permission '[permission_bit]' is not positive whole number!") + to_chat(usr, SPAN_WARNING("Provided permission '[permission_bit]' is not positive whole number!")) return var/pow2 = round(log(2, permission_bit), 1) if((2 ** pow2) != permission_bit) - to_chat(usr, "Provided permission '[permission_bit]' is not a power of two, and would affect multiple permission bits!") + to_chat(usr, SPAN_WARNING("Provided permission '[permission_bit]' is not a power of two, and would affect multiple permission bits!")) return var/datum/db_query/get_admin_permissions = SSdbcore.NewQuery("SELECT admin.id, admin_ranks.default_permissions, admin.extra_permissions, admin.removed_permissions FROM admin LEFT OUTER JOIN admin_ranks ON admin.permissions_rank = admin_ranks.id WHERE ckey = :target_key", list( @@ -279,7 +279,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(get_admin_permissions) if(!admin_id) - to_chat(usr, "No admin found with ckey [target_key]!") + to_chat(usr, SPAN_WARNING("No admin found with ckey [target_key]!")) return flag_account_for_forum_sync(target_key) @@ -294,7 +294,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(remove_removal) return qdel(remove_removal) - message_admins("Admin permissions updated by [usr.ckey]: [target_key] is no longer excluded from having [rights2text(permission_bit)].") + message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] is no longer excluded from having [rights2text(permission_bit)].")) var/logtxt = "Un-excluded permission [rights2text(permission_bit)] (flag = [permission_bit]) from admin [target_key]" var/datum/db_query/create_log = SSdbcore.NewQuery({" @@ -318,7 +318,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(remove_extra) return qdel(remove_extra) - message_admins("Admin permissions updated by [usr.ckey]: [target_key] no longer has the extra permission [rights2text(permission_bit)].") + message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] no longer has the extra permission [rights2text(permission_bit)].")) var/logtxt = "Removed extra permission [rights2text(permission_bit)] (flag = [permission_bit]) from admin [target_key]" var/datum/db_query/create_log = SSdbcore.NewQuery({" @@ -342,7 +342,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(create_removal) return qdel(create_removal) - message_admins("Admin permissions updated by [usr.ckey]: [target_key] is now excluded from having [rights2text(permission_bit)].") + message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] is now excluded from having [rights2text(permission_bit)].")) var/logtxt = "Excluded permission [rights2text(permission_bit)] (flag = [permission_bit]) from admin [target_key]" var/datum/db_query/create_log = SSdbcore.NewQuery({" @@ -365,7 +365,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(add_extra) return qdel(add_extra) - message_admins("Admin permissions updated by [usr.ckey]: [target_key] has been granted the extra permission [rights2text(permission_bit)].") + message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] has been granted the extra permission [rights2text(permission_bit)].")) var/logtxt = "Added extra permission [rights2text(permission_bit)] (flag = [permission_bit]) to admin [target_key]" var/datum/db_query/create_log = SSdbcore.NewQuery({" @@ -383,12 +383,12 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi return if(!istext(target_key)) - to_chat(usr, "Provided key '[target_key]' is not text!") + to_chat(usr, SPAN_WARNING("Provided key '[target_key]' is not text!")) return target_key = ckey(target_key) if(target_key == "") - to_chat(usr, "Provided key was blank after converting to ckey!") + to_chat(usr, SPAN_WARNING("Provided key was blank after converting to ckey!")) return var/datum/db_query/get_admin_id = SSdbcore.NewQuery("SELECT admin.id FROM admin WHERE ckey = :target_key", list( @@ -404,7 +404,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(get_admin_id) if(!admin_id) - to_chat(usr, "No admin found with ckey [target_key]!") + to_chat(usr, SPAN_WARNING("No admin found with ckey [target_key]!")) return flag_account_for_forum_sync(target_key) @@ -416,7 +416,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(remove_admin) return qdel(remove_admin) - message_admins("Admin ranks updated by [usr.ckey]: [target_key] no longer has any admin rank.") + message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: [target_key] no longer has any admin rank.")) var/logtxt = "Removed the admin rank of [target_key]" if(clear_custom_permissions) @@ -427,7 +427,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(clear_permissions) return qdel(clear_permissions) - message_admins("Admin permissions updated by [usr.ckey]: [target_key] no longer has any custom permissions.") + message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] no longer has any custom permissions.")) logtxt += " and cleared their custom permissions" var/datum/db_query/create_log = SSdbcore.NewQuery({" @@ -454,7 +454,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi add_rank.warn_execute() qdel(add_rank) - message_admins("Admin ranks updated by [usr.ckey]: new rank [rank_name] created.") + message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: new rank [rank_name] created.")) var/logtxt = "Created the admin rank [rank_name]" var/datum/db_query/create_log = SSdbcore.NewQuery({" INSERT INTO admin_log (`datetime` ,`adminckey` ,`adminip` ,`log`) @@ -473,7 +473,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi var/rank_id = get_db_rank_id(rank_name) if(!rank_id) - to_chat(usr, "No rank named [rank_name] found!") + to_chat(usr, SPAN_WARNING("No rank named [rank_name] found!")) return var/datum/db_query/get_admins_with_rank = SSdbcore.NewQuery("SELECT ckey FROM admin WHERE permissions_rank = :rank_id", list( @@ -487,7 +487,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi admins += get_admins_with_rank.item[1] qdel(get_admins_with_rank) if(length(admins) > 0) - to_chat(usr, "[rank_name] is still in use, reassign the following admins first: [admins.Join(", ")]") + to_chat(usr, SPAN_WARNING("[rank_name] is still in use, reassign the following admins first: [admins.Join(", ")]")) return var/datum/db_query/delete_rank = SSdbcore.NewQuery("DELETE FROM admin_ranks WHERE id = :rank_id", list( @@ -498,7 +498,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi return qdel(delete_rank) - message_admins("Admin ranks updated by [usr.ckey]: unused rank [rank_name] deleted.") + message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: unused rank [rank_name] deleted.")) var/logtxt = "Deleted the unused admin rank [rank_name]" var/datum/db_query/create_log = SSdbcore.NewQuery({" INSERT INTO admin_log (`datetime` ,`adminckey` ,`adminip` ,`log`) @@ -528,16 +528,16 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi rank_permissions = get_rank_details.item[2] qdel(get_rank_details) if(!rank_id) - to_chat(usr, "No rank named [rank_name] found!") + to_chat(usr, SPAN_WARNING("No rank named [rank_name] found!")) return if(!isnum(permission_bit) || permission_bit < 1 || floor(permission_bit) != permission_bit) - to_chat(usr, "Provided permission '[permission_bit]' is not positive whole number!") + to_chat(usr, SPAN_WARNING("Provided permission '[permission_bit]' is not positive whole number!")) return var/pow2 = round(log(2, permission_bit), 1) if((2 ** pow2) != permission_bit) - to_chat(usr, "Provided permission '[permission_bit]' is not a power of two, and would affect multiple permission bits!") + to_chat(usr, SPAN_WARNING("Provided permission '[permission_bit]' is not a power of two, and would affect multiple permission bits!")) return if(rank_permissions & permission_bit) @@ -550,7 +550,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(create_removal) return qdel(create_removal) - message_admins("Admin ranks updated by [usr.ckey]: [rank_name] no longer has [rights2text(permission_bit)]. An admin reload is required to apply this change.") + message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: [rank_name] no longer has [rights2text(permission_bit)]. An admin reload is required to apply this change.")) var/logtxt = "Removed permission [rights2text(permission_bit)] (flag = [permission_bit]) from admin rank [rank_name]" var/datum/db_query/create_log = SSdbcore.NewQuery({" @@ -573,7 +573,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi qdel(grant_permission) return qdel(grant_permission) - message_admins("Admin ranks updated by [usr.ckey]: [rank_name] has been given [rights2text(permission_bit)]. An admin reload is required to apply this change.") + message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: [rank_name] has been given [rights2text(permission_bit)]. An admin reload is required to apply this change.")) var/logtxt = "Added permission [rights2text(permission_bit)] (flag = [permission_bit]) to admin rank [rank_name]" var/datum/db_query/create_log = SSdbcore.NewQuery({" diff --git a/code/modules/admin/sql_notes.dm b/code/modules/admin/sql_notes.dm index bcc40040043..77286c0a93c 100644 --- a/code/modules/admin/sql_notes.dm +++ b/code/modules/admin/sql_notes.dm @@ -3,14 +3,14 @@ return if(IsAdminAdvancedProcCall() && !sanitise_html) // *sigh* - to_chat(usr, "Unsanitized note add blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Unsanitized note add blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to possibly inject HTML into notes via advanced proc-call") log_admin("[key_name(usr)] attempted to possibly inject HTML into notes via advanced proc-call") return if(!SSdbcore.IsConnected()) if(usr) - to_chat(usr, "Failed to establish database connection.") + to_chat(usr, SPAN_DANGER("Failed to establish database connection.")) return if(!target_ckey) @@ -39,7 +39,7 @@ if(!ckey_found) if(usr) - to_chat(usr, "[target_ckey] has not been seen before, you can only add notes to known players.") + to_chat(usr, SPAN_REDTEXT("[target_ckey] has not been seen before, you can only add notes to known players.")) return var/crew_number = 0 @@ -97,7 +97,7 @@ var/adminckey if(!SSdbcore.IsConnected()) if(usr) - to_chat(usr, "Failed to establish database connection.") + to_chat(usr, SPAN_DANGER("Failed to establish database connection.")) return if(!note_id) return @@ -134,7 +134,7 @@ return if(!SSdbcore.IsConnected()) if(usr) - to_chat(usr, "Failed to establish database connection.") + to_chat(usr, SPAN_DANGER("Failed to establish database connection.")) return if(!note_id) return @@ -152,7 +152,7 @@ var/adminckey = query_find_note_edit.item[3] var/automated = query_find_note_edit.item[4] if(automated) - to_chat(usr, "That note is generated automatically. You can't edit it.") + to_chat(usr, SPAN_NOTICE("That note is generated automatically. You can't edit it.")) return var/new_note = input("Input new note", "New Note", "[old_note]") as message|null if(!new_note) @@ -254,7 +254,7 @@ if(!query_list_notes.warn_execute()) qdel(query_list_notes) return - to_chat(usr, "Started regex note search for [search]. Please wait for results...") + to_chat(usr, SPAN_NOTICE("Started regex note search for [search]. Please wait for results...")) message_admins("[usr.ckey] has started a note search with the following regex: [search] | CPU usage may be higher.") while(query_list_notes.NextRow()) index_ckey = query_list_notes.item[1] @@ -274,7 +274,7 @@ return if(!SSdbcore.IsConnected()) if(usr) - to_chat(usr, "Failed to establish database connection.") + to_chat(usr, SPAN_DANGER("Failed to establish database connection.")) return if(!note_id) return @@ -292,10 +292,10 @@ var/automated = query_find_note_edit.item[4] var/public = query_find_note_edit.item[5] if((!adminckey || adminckey != usr.ckey) && !check_rights(R_PERMISSIONS)) - to_chat(usr, "You cannot toggle the publicity of notes created by other users.") + to_chat(usr, SPAN_NOTICE("You cannot toggle the publicity of notes created by other users.")) return if(automated) - to_chat(usr, "That note is generated automatically. You can't edit it.") + to_chat(usr, SPAN_NOTICE("That note is generated automatically. You can't edit it.")) return if(public) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 34d71a60ab9..3f89118f387 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -42,39 +42,39 @@ if("1") log_admin("[key_name(usr)] has spawned traitors.") if(!makeTraitors()) - to_chat(usr, "Unfortunately there weren't enough candidates available.") + to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available.")) if("2") log_admin("[key_name(usr)] has spawned a changeling.") if(!makeChangelings()) - to_chat(usr, "Unfortunately there weren't enough candidates available.") + to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available.")) if("3") log_admin("[key_name(usr)] has spawned revolutionaries.") if(!makeRevs()) - to_chat(usr, "Unfortunately there weren't enough candidates available.") + to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available.")) if("4") log_admin("[key_name(usr)] has spawned a cultists.") if(!makeCult()) - to_chat(usr, "Unfortunately there weren't enough candidates available.") + to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available.")) if("5") log_admin("[key_name(usr)] has spawned a wizard.") if(!makeWizard()) - to_chat(usr, "Unfortunately there weren't enough candidates available.") + to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available.")) if("6") log_admin("[key_name(usr)] has spawned vampires.") if(!makeVampires()) - to_chat(usr, "Unfortunately there weren't enough candidates available.") + to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available.")) if("7") log_admin("[key_name(usr)] has spawned an abductor team.") if(!makeAbductorTeam()) - to_chat(usr, "Unfortunately there weren't enough candidates available.") + to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available.")) if("8") log_admin("[key_name(usr)] has spawned mindflayers.") if(!makeMindflayers()) - to_chat(usr, "Unfortunately there weren't enough candidates available.") + to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available.")) if("9") log_admin("[key_name(usr)] has spawned event characters.") if(!makeEventCharacters()) - to_chat(usr, "Unfortunately there weren't enough candidates available.") + to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available.")) else if(href_list["dbsearchckey"] || href_list["dbsearchadmin"] || href_list["dbsearchip"] || href_list["dbsearchcid"] || href_list["dbsearchbantype"]) var/adminckey = href_list["dbsearchadmin"] @@ -118,35 +118,35 @@ switch(bantype) if(BANTYPE_PERMA) if(!banckey || !banreason) - to_chat(usr, "Not enough parameters (Requires ckey and reason)") + to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey and reason)")) return banduration = null banjob = null if(BANTYPE_TEMP) if(!banckey || !banreason || !banduration) - to_chat(usr, "Not enough parameters (Requires ckey, reason and duration)") + to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey, reason and duration)")) return banjob = null if(BANTYPE_JOB_PERMA) if(!banckey || !banreason || !banjob) - to_chat(usr, "Not enough parameters (Requires ckey, reason and job)") + to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey, reason and job)")) return banduration = null job_ban = TRUE if(BANTYPE_JOB_TEMP) if(!banckey || !banreason || !banjob || !banduration) - to_chat(usr, "Not enough parameters (Requires ckey, reason and job)") + to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey, reason and job)")) return job_ban = TRUE if(BANTYPE_ADMIN_PERMA) if(!banckey || !banreason) - to_chat(usr, "Not enough parameters (Requires ckey and reason)") + to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey and reason)")) return banduration = null banjob = null if(BANTYPE_ADMIN_TEMP) if(!banckey || !banreason || !banduration) - to_chat(usr, "Not enough parameters (Requires ckey, reason and duration)") + to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey, reason and duration)")) return banjob = null @@ -257,7 +257,7 @@ return var/rank_id = create_db_rank(rank) if(!rank_id) - to_chat(usr, "A rank named [rank] already esists.") + to_chat(usr, SPAN_WARNING("A rank named [rank] already esists.")) return while(TRUE) @@ -265,7 +265,7 @@ if(!action) return if(action == "List Permissions") - to_chat(usr, "Rank [rank] has the permissions: [rights2text(get_db_rank_permissions(rank), " ")]") + to_chat(usr, SPAN_NOTICE("Rank [rank] has the permissions: [rights2text(get_db_rank_permissions(rank), " ")]")) continue if(action == "Toggle Permission") var/list/permissionlist = list() @@ -350,7 +350,7 @@ if(GLOB.configuration.admin.use_database_admins) rank_id = create_db_rank(new_rank) if(!rank_id) - to_chat(usr, "A rank named [new_rank] already esists.") + to_chat(usr, SPAN_WARNING("A rank named [new_rank] already esists.")) return display_rank = input("Give them a custom title?", "Admin rank for [adm_ckey]", null, null) as null|text else @@ -363,7 +363,7 @@ if(GLOB.configuration.admin.use_database_admins) rank_id = get_db_rank_id(new_rank) if(!rank_id) - to_chat(usr, "Rank '[new_rank] not found.") + to_chat(usr, SPAN_WARNING("Rank '[new_rank] not found.")) return display_rank = input("Give them a custom title?", "Admin rank for [adm_ckey]", null, null) as null|text else @@ -426,7 +426,7 @@ return SSshuttle.emergency.request() log_admin("[key_name(usr)] called the Emergency Shuttle") - message_admins("[key_name_admin(usr)] called the Emergency Shuttle to the station") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] called the Emergency Shuttle to the station")) if("2") if(SSshuttle.emergency.mode >= SHUTTLE_DOCKED) @@ -435,10 +435,10 @@ switch(SSshuttle.emergency.mode) if(SHUTTLE_CALL) log_admin("[key_name(usr)] sent the Emergency Shuttle back") - message_admins("[key_name_admin(usr)] sent the Emergency Shuttle back") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] sent the Emergency Shuttle back")) else log_admin("[key_name(usr)] called the Emergency Shuttle") - message_admins("[key_name_admin(usr)] called the Emergency Shuttle to the station") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] called the Emergency Shuttle to the station")) href_list["secrets"] = "check_antagonist" @@ -450,7 +450,7 @@ SSshuttle.emergency.setTimer(timer MINUTES) log_admin("[key_name(usr)] edited the Emergency Shuttle's timeleft to [timer] minutes") GLOB.minor_announcement.Announce("The emergency shuttle will reach its destination in [round(SSshuttle.emergency.timeLeft(600))] minutes.") - message_admins("[key_name_admin(usr)] edited the Emergency Shuttle's timeleft to [timer] minutes") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] edited the Emergency Shuttle's timeleft to [timer] minutes")) href_list["secrets"] = "check_antagonist" else if(href_list["delay_round_end"]) @@ -458,7 +458,7 @@ SSticker.delay_end = !SSticker.delay_end log_admin("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].") - message_admins("[key_name_admin(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"]."), 1) if(SSticker.delay_end) SSticker.real_reboot_time = 0 // If they set this at round end, show the "Reboot was cancelled by an admin" message instantly href_list["secretsadmin"] = "check_antagonist" @@ -468,7 +468,7 @@ var/mob/M = locateUID(href_list["mob"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return var/delmob = 0 @@ -504,7 +504,7 @@ if("shade") M.change_mob_type( /mob/living/simple_animal/shade , null, null, delmob, 1) log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]") - message_admins("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]"), 1) else if(href_list["jobban2"]) // if(!check_rights(R_BAN)) return @@ -515,14 +515,14 @@ var/mob/M = locateUID(href_list["jobban2"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return if(!M.last_known_ckey) //sanity - to_chat(usr, "This mob has no ckey") + to_chat(usr, SPAN_WARNING("This mob has no ckey")) return if(!SSjobs) - to_chat(usr, "SSjobs has not been setup!") + to_chat(usr, SPAN_WARNING("SSjobs has not been setup!")) return var/dat = "" @@ -763,7 +763,7 @@ var/mob/M = locateUID(href_list["jobban4"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return if(M != usr) //we can jobban ourselves @@ -774,7 +774,7 @@ var/ban_ckey_param = href_list["dbbanaddckey"] if(!SSjobs) - to_chat(usr, "SSjobs has not been setup!") + to_chat(usr, SPAN_WARNING("SSjobs has not been setup!")) return //get jobs for department if specified, otherwise just return the one job in a list. @@ -859,14 +859,14 @@ else msg += ", [job]" add_note(M.last_known_ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0, public = TRUE) - message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes"), 1) // Reload their job ban holder (refresh this round) if(M.client) M.client.jbh.reload_jobbans(M.client) - to_chat(M, "You have been jobbanned by [usr.client.ckey] from: [msg].") - to_chat(M, "The reason is: [reason]") - to_chat(M, "This jobban will be lifted in [mins] minutes.") + to_chat(M, SPAN_WARNING("You have been jobbanned by [usr.client.ckey] from: [msg].")) + to_chat(M, SPAN_DANGER("The reason is: [reason]")) + to_chat(M, SPAN_WARNING("This jobban will be lifted in [mins] minutes.")) href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("No") @@ -882,14 +882,14 @@ else msg += ", [job]" add_note(M.last_known_ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0, public = TRUE) - message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]"), 1) // Reload their job ban holder (refresh this round) if(M.client) M.client.jbh.reload_jobbans(M.client) - to_chat(M, "You have been jobbanned by [usr.client.ckey] from: [msg].") - to_chat(M, "The reason is: [reason]") - to_chat(M, "Jobban can be lifted only upon request.") + to_chat(M, SPAN_WARNING("You have been jobbanned by [usr.client.ckey] from: [msg].")) + to_chat(M, SPAN_DANGER("The reason is: [reason]")) + to_chat(M, SPAN_WARNING("Jobban can be lifted only upon request.")) href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("Cancel") @@ -903,15 +903,15 @@ return var/client/C = M.client if(C == null) - to_chat(usr, "Mob has no client to kick.") + to_chat(usr, SPAN_WARNING("Mob has no client to kick.")) return if(alert("Kick [C.ckey]?", null,"Yes","No") == "Yes") if(C && C.holder && (C.holder.rights & R_BAN)) - to_chat(usr, "[key_name_admin(C)] cannot be kicked from the server.") + to_chat(usr, SPAN_WARNING("[key_name_admin(C)] cannot be kicked from the server.")) return - to_chat(C, "You have been kicked from the server") + to_chat(C, SPAN_WARNING("You have been kicked from the server")) log_admin("[key_name(usr)] booted [key_name(C)].") - message_admins("[key_name_admin(usr)] booted [key_name_admin(C)].", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] booted [key_name_admin(C)]."), 1) //C = null qdel(C) @@ -1000,34 +1000,34 @@ if(!reason) return M = admin_ban_mobsearch(M, ban_ckey_param, usr) - to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason].") - to_chat(M, "This is a temporary ban, it will be removed in [mins] minutes.") + to_chat(M, SPAN_WARNING("You have been banned by [usr.client.ckey].\nReason: [reason].")) + to_chat(M, SPAN_WARNING("This is a temporary ban, it will be removed in [mins] minutes.")) DB_ban_record(BANTYPE_TEMP, M, mins, reason) add_note(M.last_known_ckey, "Banned for [mins] minutes - [reason]", null, usr.ckey, FALSE) if(M.client) M.client.link_forum_account(TRUE) if(GLOB.configuration.url.banappeals_url) - to_chat(M, "To try to resolve this matter head to [GLOB.configuration.url.banappeals_url]") + to_chat(M, SPAN_WARNING("To try to resolve this matter head to [GLOB.configuration.url.banappeals_url]")) else - to_chat(M, "No ban appeals URL has been set.") + to_chat(M, SPAN_WARNING("No ban appeals URL has been set.")) log_admin("[key_name(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") - message_admins("[key_name_admin(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")) qdel(M.client) if("No") var/reason = input(usr,"Please state the reason","Reason") as message|null if(!reason) return - to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason].") - to_chat(M, "This ban does not expire automatically and must be appealed.") + to_chat(M, SPAN_WARNING("You have been banned by [usr.client.ckey].\nReason: [reason].")) + to_chat(M, SPAN_WARNING("This ban does not expire automatically and must be appealed.")) if(M.client) M.client.link_forum_account(TRUE) if(GLOB.configuration.url.banappeals_url) - to_chat(M, "To try to resolve this matter head to [GLOB.configuration.url.banappeals_url]") + to_chat(M, SPAN_WARNING("To try to resolve this matter head to [GLOB.configuration.url.banappeals_url]")) else - to_chat(M, "No ban appeals URL has been set.") + to_chat(M, SPAN_WARNING("No ban appeals URL has been set.")) log_admin("[key_name(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis ban does not expire automatically and must be appealed.") - message_admins("[key_name_admin(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis ban does not expire automatically and must be appealed.") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis ban does not expire automatically and must be appealed.")) DB_ban_record(BANTYPE_PERMA, M, -1, reason) add_note(M.last_known_ckey, "Permanently banned - [reason]", null, usr.ckey, FALSE) @@ -1144,8 +1144,8 @@ return alert(usr, "The game has already started.", null, null, null, null) GLOB.master_mode = href_list["c_mode2"] log_admin("[key_name(usr)] set the mode as [GLOB.master_mode].") - message_admins("[key_name_admin(usr)] set the mode as [GLOB.master_mode].", 1) - to_chat(world, "The mode is now: [GLOB.master_mode]") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] set the mode as [GLOB.master_mode]."), 1) + to_chat(world, SPAN_BOLDNOTICE("The mode is now: [GLOB.master_mode]")) Game() // updates the main game menu world.save_mode(GLOB.master_mode) .(href, list("c_mode"=1)) @@ -1159,7 +1159,7 @@ return alert(usr, "The game mode has to be secret!", null, null, null, null) GLOB.secret_force_mode = href_list["f_secret2"] log_admin("[key_name(usr)] set the forced secret mode as [GLOB.secret_force_mode].") - message_admins("[key_name_admin(usr)] set the forced secret mode as [GLOB.secret_force_mode].", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] set the forced secret mode as [GLOB.secret_force_mode]."), 1) Game() // updates the main game menu .(href, list("f_secret"=1)) @@ -1177,11 +1177,11 @@ if(budget < 0) GLOB.dynamic_forced_rulesets -= "budget" log_admin("[key_name(usr)] set the ruleset budget to random.") - message_admins("[key_name_admin(usr)] set the ruleset budget to random.") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] set the ruleset budget to random.")) else GLOB.dynamic_forced_rulesets["budget"] = budget log_admin("[key_name(usr)] set the ruleset budget to [budget]") - message_admins("[key_name_admin(usr)] set the ruleset budget to [budget].") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] set the ruleset budget to [budget].")) .(href, list("f_dynamic"=1)) return @@ -1189,15 +1189,15 @@ switch(GLOB.dynamic_forced_rulesets[ruleset]) if(DYNAMIC_RULESET_FORCED) log_admin("[key_name(usr)] banned the [ruleset] ruleset.") - message_admins("[key_name_admin(usr)] banned the [ruleset.name] ([ruleset.type]) ruleset.") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] banned the [ruleset.name] ([ruleset.type]) ruleset.")) GLOB.dynamic_forced_rulesets[ruleset] = DYNAMIC_RULESET_BANNED if(DYNAMIC_RULESET_BANNED) log_admin("[key_name(usr)] set the [ruleset] ruleset to normal.") - message_admins("[key_name_admin(usr)] set the [ruleset.name] ([ruleset.type]) ruleset to normal.") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] set the [ruleset.name] ([ruleset.type]) ruleset to normal.")) GLOB.dynamic_forced_rulesets[ruleset] = DYNAMIC_RULESET_NORMAL else // not set, and already at normal log_admin("[key_name(usr)] forced the [ruleset] ruleset.") - message_admins("[key_name_admin(usr)] forced the [ruleset.name] ([ruleset.type]) ruleset.") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] forced the [ruleset.name] ([ruleset.type]) ruleset.")) GLOB.dynamic_forced_rulesets[ruleset] = DYNAMIC_RULESET_FORCED .(href, list("f_dynamic"=1)) @@ -1206,13 +1206,13 @@ var/mob/living/carbon/human/H = locateUID(href_list["monkeyone"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return if(alert(usr, "Confirm make monkey?", null, "Yes", "No") != "Yes") return log_admin("[key_name(usr)] attempting to monkeyize [key_name(H)]") - message_admins("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]"), 1) H.monkeyize() @@ -1221,14 +1221,14 @@ var/mob/living/carbon/human/H = locateUID(href_list["corgione"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return if(alert(usr, "Confirm make corgi?", null, "Yes", "No") != "Yes") return log_admin("[key_name(usr)] attempting to corgize [key_name(H)]") - message_admins("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]"), 1) H.corgize() else if(href_list["makePAI"]) @@ -1236,7 +1236,7 @@ var/mob/living/carbon/human/H = locateUID(href_list["makePAI"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return if(alert(usr, "Confirm make pai?", null, "Yes", "No") != "Yes") return @@ -1252,7 +1252,7 @@ name = painame log_admin("[key_name(usr)] attempting to pAIze [key_name(H)]") - message_admins("[key_name_admin(usr)] attempting to pAIze [key_name_admin(H)]", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] attempting to pAIze [key_name_admin(H)]"), 1) H.paize(name) else if(href_list["forcespeech"]) @@ -1260,7 +1260,7 @@ var/mob/M = locateUID(href_list["forcespeech"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return var/speech = input("What will [key_name(M)] say?.", "Force speech", "")// Don't need to sanitize, since it does that in say(), we also trust our admins. @@ -1268,7 +1268,7 @@ M.say(speech) speech = sanitize(speech) // Nah, we don't trust them log_admin("[key_name(usr)] forced [key_name(M)] to say: [speech]") - message_admins("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]")) else if(href_list["sendtoprison"]) if(!check_rights(R_ADMIN)) return @@ -1278,10 +1278,10 @@ var/mob/M = locateUID(href_list["sendtoprison"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return if(is_ai(M)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai") + to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai")) return var/turf/prison_cell = pick(GLOB.prisonwarp) @@ -1315,9 +1315,9 @@ prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(prisoner), ITEM_SLOT_JUMPSUIT) prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), ITEM_SLOT_SHOES) - to_chat(M, "You have been sent to the prison station!") + to_chat(M, SPAN_WARNING("You have been sent to the prison station!")) log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.") - message_admins("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station."), 1) else if(href_list["sendbacktolobby"]) if(!check_rights(R_ADMIN)) @@ -1326,11 +1326,11 @@ var/mob/M = locateUID(href_list["sendbacktolobby"]) if(!isobserver(M)) - to_chat(usr, "You can only send ghost players back to the Lobby.") + to_chat(usr, SPAN_NOTICE("You can only send ghost players back to the Lobby.")) return if(!M.client) - to_chat(usr, "[M] doesn't seem to have an active client.") + to_chat(usr, SPAN_WARNING("[M] doesn't seem to have an active client.")) return if(alert(usr, "Send [key_name(M)] back to Lobby?", "Message", "Yes", "No") != "Yes") @@ -1351,15 +1351,15 @@ var/mob/M = locateUID(href_list["eraseflavortext"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return if(!M.client) - to_chat(usr, "[M] doesn't seem to have an active client.") + to_chat(usr, SPAN_WARNING("[M] doesn't seem to have an active client.")) return if(M.flavor_text == "" && M.client.prefs.active_character.flavor_text == "") - to_chat(usr, "[M] has no flavor text set.") + to_chat(usr, SPAN_WARNING("[M] has no flavor text set.")) return if(alert(usr, "Erase [key_name(M)]'s flavor text?", "Message", "Yes", "No") != "Yes") @@ -1382,11 +1382,11 @@ var/mob/M = locateUID(href_list["userandomname"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return if(!M.client) - to_chat(usr, "[M] doesn't seem to have an active client.") + to_chat(usr, SPAN_WARNING("[M] doesn't seem to have an active client.")) return if(alert(usr, "Force [key_name(M)] to use a random name?", "Message", "Yes", "No") != "Yes") @@ -1419,10 +1419,10 @@ var/mob/M = locateUID(href_list["tdome1"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return if(is_ai(M)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai") + to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai")) return for(var/obj/item/I in M) @@ -1439,7 +1439,7 @@ sleep(5) M.loc = pick(GLOB.tdome1) spawn(50) - to_chat(M, "You have been sent to the Thunderdome.") + to_chat(M, SPAN_NOTICE("You have been sent to the Thunderdome.")) log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 1)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)", 1) @@ -1451,10 +1451,10 @@ var/mob/M = locateUID(href_list["tdome2"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return if(is_ai(M)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai") + to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai")) return for(var/obj/item/I in M) @@ -1471,7 +1471,7 @@ sleep(5) M.loc = pick(GLOB.tdome2) spawn(50) - to_chat(M, "You have been sent to the Thunderdome.") + to_chat(M, SPAN_NOTICE("You have been sent to the Thunderdome.")) log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 2)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)", 1) @@ -1483,10 +1483,10 @@ var/mob/M = locateUID(href_list["tdomeadmin"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return if(is_ai(M)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai") + to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai")) return if(isliving(M)) @@ -1495,7 +1495,7 @@ sleep(5) M.loc = pick(GLOB.tdomeadmin) spawn(50) - to_chat(M, "You have been sent to the Thunderdome.") + to_chat(M, SPAN_NOTICE("You have been sent to the Thunderdome.")) log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Admin.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Admin.)", 1) @@ -1507,10 +1507,10 @@ var/mob/M = locateUID(href_list["tdomeobserve"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return if(is_ai(M)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai") + to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai")) return for(var/obj/item/I in M) @@ -1531,7 +1531,7 @@ sleep(5) M.loc = pick(GLOB.tdomeobserve) spawn(50) - to_chat(M, "You have been sent to the Thunderdome.") + to_chat(M, SPAN_NOTICE("You have been sent to the Thunderdome.")) log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1) @@ -1541,15 +1541,15 @@ var/mob/M = locateUID(href_list["contractor_stop"]) if(!istype(M)) - to_chat(usr, "This can only be used on instances of type /mob.") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob.")) return var/datum/syndicate_contract/contract = LAZYACCESS(GLOB.prisoner_belongings.prisoners, M) if(!contract) - to_chat(usr, "[M] is currently not imprisoned by the Syndicate.") + to_chat(usr, SPAN_WARNING("[M] is currently not imprisoned by the Syndicate.")) return if(!contract.prisoner_timer_handle) - to_chat(usr, "[M] is already NOT scheduled to return from the Syndicate Jail.") + to_chat(usr, SPAN_WARNING("[M] is already NOT scheduled to return from the Syndicate Jail.")) return deltimer(contract.prisoner_timer_handle) @@ -1564,15 +1564,15 @@ var/mob/M = locateUID(href_list["contractor_start"]) if(!istype(M)) - to_chat(usr, "This can only be used on instances of type /mob.") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob.")) return var/datum/syndicate_contract/contract = LAZYACCESS(GLOB.prisoner_belongings.prisoners, M) if(!contract) - to_chat(usr, "[M] is currently not imprisoned by the Syndicate.") + to_chat(usr, SPAN_WARNING("[M] is currently not imprisoned by the Syndicate.")) return if(contract.prisoner_timer_handle) - to_chat(usr, "[M] is already scheduled to return from the Syndicate Jail.") + to_chat(usr, SPAN_WARNING("[M] is already scheduled to return from the Syndicate Jail.")) return var/time_seconds = input(usr, "Enter the jail time in seconds:", "Start Syndicate Jail Timer") as num|null @@ -1591,12 +1591,12 @@ var/mob/M = locateUID(href_list["contractor_release"]) if(!istype(M)) - to_chat(usr, "This can only be used on instances of type /mob.") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob.")) return var/datum/syndicate_contract/contract = LAZYACCESS(GLOB.prisoner_belongings.prisoners, M) if(!contract) - to_chat(usr, "[M] is currently not imprisoned by the Syndicate.") + to_chat(usr, SPAN_WARNING("[M] is currently not imprisoned by the Syndicate.")) return deltimer(contract.prisoner_timer_handle) @@ -1614,10 +1614,10 @@ var/mob/M = locateUID(href_list["aroomwarp"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return if(is_ai(M)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai") + to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai")) return if(isliving(M)) @@ -1626,7 +1626,7 @@ sleep(5) M.loc = pick(GLOB.aroomwarp) spawn(50) - to_chat(M, "You have been sent to the Admin Room!.") + to_chat(M, SPAN_NOTICE("You have been sent to the Admin Room!.")) log_admin("[key_name(usr)] has sent [key_name(M)] to the Admin Room") message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the Admin Room", 1) @@ -1636,11 +1636,11 @@ var/mob/living/L = locateUID(href_list["revive"]) if(!istype(L)) - to_chat(usr, "This can only be used on instances of type /mob/living") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living")) return L.revive() - message_admins("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!", 1) + message_admins(SPAN_WARNING("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!"), 1) log_admin("[key_name(usr)] healed / revived [key_name(L)]") else if(href_list["makeai"]) @@ -1648,13 +1648,13 @@ var/mob/living/carbon/human/H = locateUID(href_list["makeai"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return if(alert(usr, "Confirm make ai?", null, "Yes", "No") != "Yes") return - message_admins("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!", 1) + message_admins(SPAN_WARNING("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!"), 1) log_admin("[key_name(usr)] AIized [key_name(H)]") var/mob/living/silicon/ai/ai_character = H.AIize() ai_character.moveToAILandmark() @@ -1663,7 +1663,7 @@ // TODO: move these checks into the user verb proper probably var/mob/living/carbon/human/H = locateUID(href_list["makealien"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return if(alert(usr, "Confirm make alien?", null, "Yes", "No") != "Yes") return @@ -1674,7 +1674,7 @@ // TODO: move these checks into the user verb proper probably var/mob/living/carbon/human/H = locateUID(href_list["makeslime"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return if(alert(usr, "Confirm make slime?", null, "Yes", "No") != "Yes") return @@ -1685,7 +1685,7 @@ // TODO: move these checks into the user verb proper probably var/mob/living/carbon/human/H = locateUID(href_list["makesuper"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return if(alert(usr, "Confirm make superhero?", null, "Yes", "No") != "Yes") @@ -1697,7 +1697,7 @@ // TODO: move these checks into the user verb proper probably var/mob/living/carbon/human/H = locateUID(href_list["makerobot"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return if(alert(usr, "Confirm make robot?", null, "Yes", "No") != "Yes") return @@ -1708,7 +1708,7 @@ // TODO: move these checks into the user verb proper probably var/mob/M = locateUID(href_list["makeanimal"]) if(isnewplayer(M)) - to_chat(usr, "This cannot be used on instances of type /mob/new_player") + to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/new_player")) return if(tgui_alert(usr, "Confirm make animal?", "Confirm Choice", list("Yes", "No")) != "Yes") return @@ -1721,7 +1721,7 @@ var/mob/dead/observer/G = locateUID(href_list["incarn_ghost"]) if(!istype(G)) - to_chat(usr, "This will only work on /mob/dead/observer") + to_chat(usr, SPAN_WARNING("This will only work on /mob/dead/observer")) return var/list/potential_minds = list() @@ -1753,7 +1753,7 @@ var/mob/living/carbon/human/H = locateUID(href_list["togmutate"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return var/block=text2num(href_list["block"]) //testing("togmutate([href_list["block"]] -> [block])") @@ -1768,7 +1768,7 @@ var/mob/M = locateUID(href_list["adminobserve"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return SSuser_verbs.invoke_verb(C, /datum/user_verb/admin_observe_target, M) @@ -1776,26 +1776,26 @@ var/mob/M = locateUID(href_list["adminplayeropts"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return SSuser_verbs.invoke_verb(usr, /datum/user_verb/show_player_panel, M) else if(href_list["adminplayerobservefollow"]) if(isnewplayer(usr)) - to_chat(usr, "You cannot follow anyone from the lobby!") + to_chat(usr, SPAN_WARNING("You cannot follow anyone from the lobby!")) return var/client/C = usr.client if(!isobserver(usr)) if(!check_rights(R_ADMIN|R_MOD, show_msg=FALSE)) // Need to be mod or admin to aghost - to_chat(usr, "You must be an observer to follow someone!") + to_chat(usr, SPAN_WARNING("You must be an observer to follow someone!")) return SSuser_verbs.invoke_verb(C, /datum/user_verb/admin_ghost) var/mob/target = locateUID(href_list["adminplayerobservefollow"]) if(!ismob(target)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return var/mob/dead/observer/ghost = C.mob @@ -1843,12 +1843,12 @@ if(href_list["team"]) team = locateUID(href_list["team"]) if(QDELETED(team)) - to_chat(usr, "This team doesn't exist anymore!") + to_chat(usr, SPAN_WARNING("This team doesn't exist anymore!")) return if(href_list["member"]) member = locateUID(href_list["member"]) if(QDELETED(member)) - to_chat(usr, "This team member doesn't exist anymore!") + to_chat(usr, SPAN_WARNING("This team member doesn't exist anymore!")) return switch(href_list["team_command"]) if("communicate") @@ -1932,7 +1932,7 @@ var/mob/M = locateUID(href_list["adminmoreinfo"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return admin_mob_info(M) @@ -1942,7 +1942,7 @@ var/mob/living/carbon/human/H = locateUID(href_list["adminspawncookie"]) if(!ishuman(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return H.equip_to_slot_or_del( new /obj/item/food/cookie(H), ITEM_SLOT_LEFT_HAND ) @@ -1959,14 +1959,14 @@ log_admin("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]") message_admins("[key_name_admin(H)] got [H.p_their()] cookie, spawned by [key_name_admin(src.owner)]") SSblackbox.record_feedback("amount", "admin_cookies_spawned", 1) - to_chat(H, "Your prayers have been answered!! You received the best cookie!") + to_chat(H, SPAN_NOTICE("Your prayers have been answered!! You received the best cookie!")) else if(href_list["BlueSpaceArtillery"]) if(!check_rights(R_ADMIN|R_EVENT)) return var/mob/living/M = locateUID(href_list["BlueSpaceArtillery"]) if(!isliving(M)) - to_chat(usr, "This can only be used on instances of type /mob/living") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living")) return if(alert(owner, "Are you sure you wish to hit [key_name(M)] with Bluespace Artillery?", "Confirm Firing?" , "Yes" , "No") != "Yes") @@ -2004,7 +2004,7 @@ var/mob/M = locateUID(href_list["CentcommReply"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return usr.client.admin_headset_message(M, "Centcomm") @@ -2016,7 +2016,7 @@ var/mob/M = locateUID(href_list["SyndicateReply"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return usr.client.admin_headset_message(M, "Syndicate") @@ -2028,7 +2028,7 @@ var/mob/M = locateUID(href_list["HeadsetMessage"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return usr.client.admin_headset_message(M) @@ -2038,7 +2038,7 @@ return var/mob/living/carbon/human/H = locateUID(href_list["EvilFax"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return var/etypes = list("Borgification", "Corgification", "Death By Fire", "Total Brain Death", "Honk Tumor", "Cluwne", "Demote", "Demote with Bot", "Revoke Fax Access", "Angry Fax Machine") var/eviltype = input(src.owner, "Which type of evil fax do you wish to send [H]?","Its good to be baaaad...", "") as null|anything in etypes @@ -2086,7 +2086,7 @@ return var/mob/living/M = locateUID(href_list["Bless"]) if(!istype(M)) - to_chat(usr, "This can only be used on instances of type /mob/living") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living")) return var/btypes = list("To Arrivals", "Moderate Heal") var/mob/living/carbon/human/H @@ -2106,14 +2106,14 @@ switch(blessing) if("To Arrivals") M.forceMove(pick(GLOB.latejoin)) - to_chat(M, "You are abruptly pulled through space!") + to_chat(M, SPAN_USERDANGER("You are abruptly pulled through space!")) logmsg = "a teleport to arrivals." if("Moderate Heal") M.adjustBruteLoss(-25) M.adjustFireLoss(-25) M.adjustToxLoss(-25) M.adjustOxyLoss(-25) - to_chat(M,"You feel invigorated!") + to_chat(M,SPAN_USERDANGER("You feel invigorated!")) logmsg = "a moderate heal." if("Heal Over Time") H.reagents.add_reagent("salglu_solution", 30) @@ -2181,7 +2181,7 @@ P.mind.name = newname logmsg = "pet ([P])." else - to_chat(usr, "WARNING: Nobody volunteered to play the special event pet.") + to_chat(usr, SPAN_WARNING("WARNING: Nobody volunteered to play the special event pet.")) logmsg = "pet (no volunteers)." if("Human Protector") usr.client.create_eventmob_for(H, 0) @@ -2195,7 +2195,7 @@ // don't have it - add it I.access |= this_access else - to_chat(usr, "ERROR: [H] is not wearing an ID card.") + to_chat(usr, SPAN_WARNING("ERROR: [H] is not wearing an ID card.")) logmsg = "all access." if(logmsg) log_admin("[key_name(owner)] answered [key_name(M)]'s prayer with a blessing: [logmsg]") @@ -2206,7 +2206,7 @@ var/mob/living/M = locateUID(href_list["Smite"]) var/mob/living/carbon/human/H if(!istype(M)) - to_chat(usr, "This can only be used on instances of type /mob/living") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living")) return var/ptypes = list("Lightning bolt", "Fire Death", "Gib", "Dust", "Plushify") if(ishuman(M)) @@ -2238,10 +2238,10 @@ var/turf/simulated/T = get_turf(M) new /obj/effect/temp_visual/thunderbolt(T) M.adjustFireLoss(30) - to_chat(M, "The gods have punished you for your sins!") + to_chat(M, SPAN_USERDANGER("The gods have punished you for your sins!")) logmsg = "a lightning bolt." if("Fire Death") - to_chat(M,"You feel hotter than usual. Maybe you should lowe-wait, is that your hand melting?") + to_chat(M,SPAN_USERDANGER("You feel hotter than usual. Maybe you should lowe-wait, is that your hand melting?")) var/turf/simulated/T = get_turf(M) var/obj/effect/hotspot/hotspot = new /obj/effect/hotspot/fake(T) hotspot.temperature = 1000 @@ -2265,7 +2265,7 @@ if("Honk Tumor") if(!H.get_int_organ(/obj/item/organ/internal/honktumor)) var/obj/item/organ/internal/organ = new /obj/item/organ/internal/honktumor - to_chat(H, "Life seems funnier, somehow.") + to_chat(H, SPAN_USERDANGER("Life seems funnier, somehow.")) organ.insert(H) logmsg = "a honk tumor." if("Hallucinate") @@ -2306,7 +2306,7 @@ logmsg = "hunter." if("Crew Traitor") if(!H.mind) - to_chat(usr, "ERROR: This mob ([H]) has no mind!") + to_chat(usr, SPAN_WARNING("ERROR: This mob ([H]) has no mind!")) return var/list/possible_traitors = list() for(var/mob/living/player in GLOB.alive_mob_list) @@ -2328,13 +2328,13 @@ var/datum/antagonist/traitor/T = new() T.give_objectives = FALSE - to_chat(new_traitor_mind.current, "ATTENTION: It is time to pay your debt to the Syndicate...") - to_chat(new_traitor_mind.current, "Goal: KILL [H.real_name], currently in [get_area(H.loc)]") + to_chat(new_traitor_mind.current, "[SPAN_DANGER("ATTENTION:")] It is time to pay your debt to the Syndicate...") + to_chat(new_traitor_mind.current, "Goal: [SPAN_DANGER("KILL [H.real_name]")], currently in [get_area(H.loc)]") new_traitor_mind.add_antag_datum(T) message_admins("[key_name_admin(new_traitor_mind)] was chosen to be the traitor for a smite!") log_admin("[key_name(new_traitor_mind)] was made into a traitor to hunt [key_name(H)] for 'Crew Traitor' smite.") else - to_chat(usr, "ERROR: Unable to find any valid candidate to send after [H].") + to_chat(usr, SPAN_WARNING("ERROR: Unable to find any valid candidate to send after [H].")) return logmsg = "crew traitor." if("Floor Cluwne") @@ -2352,7 +2352,7 @@ if("Nugget") H.Weaken(12 SECONDS, TRUE) H.AdjustJitter(40 SECONDS) - to_chat(H, "You feel as if your limbs are being ripped from your body!") + to_chat(H, SPAN_DANGER("You feel as if your limbs are being ripped from your body!")) addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human, make_nugget)), 6 SECONDS) logmsg = "nugget" if("Bread") @@ -2365,7 +2365,7 @@ breadshade.RegisterSignal(bread, COMSIG_PARENT_QDELETING, TYPE_PROC_REF(/mob/living/simple_animal/shade/sword/generic_item, handle_item_deletion)) qdel(H) logmsg = "baked" - to_chat(breadshade, "Get bready for combat, you've been baked into a piece of bread! Before you break down and rye thinking that your life is over, people are after you waiting for a snack! If you'd rather not be toast, lunge away from any hungry crew else you bite the crust. At the yeast you may survive a little longer...") + to_chat(breadshade, SPAN_WARNING("Get bready for combat, you've been baked into a piece of bread! Before you break down and rye thinking that your life is over, people are after you waiting for a snack! If you'd rather not be toast, lunge away from any hungry crew else you bite the crust. At the yeast you may survive a little longer...")) if("Rod") var/starting_turf_x = M.x + rand(10, 15) * pick(1, -1) @@ -2383,10 +2383,10 @@ var/mob/living/M = locateUID(href_list["cryossd"]) var/human = ishuman(M) if(!human && !issilicon(M)) - to_chat(usr, "This can only be used on humans and silicons.") + to_chat(usr, SPAN_WARNING("This can only be used on humans and silicons.")) return if(!href_list["cryoafk"] && !isLivingSSD(M)) - to_chat(usr, "This can only be used on living, SSD players.") + to_chat(usr, SPAN_WARNING("This can only be used on living, SSD players.")) return if(is_ai(M)) var/mob/living/silicon/ai/A = M @@ -2427,7 +2427,7 @@ return if(href_list["cryoafk"]) // Warn them if they are send to storage and are AFK - to_chat(M, "The admins have moved you to cryo storage for being AFK. Please eject yourself (right click, eject) out of the cryostorage if you want to avoid being despawned.") + to_chat(M, SPAN_DANGER("The admins have moved you to cryo storage for being AFK. Please eject yourself (right click, eject) out of the cryostorage if you want to avoid being despawned.")) SEND_SOUND(M, sound('sound/effects/adminhelp.ogg')) if(M.client) window_flash(M.client) @@ -2437,7 +2437,7 @@ return var/mob/living/carbon/human/H = locateUID(href_list["FaxReplyTemplate"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return var/obj/item/paper/P = new /obj/item/paper(null) var/obj/machinery/photocopier/faxmachine/fax = locate(href_list["originfax"]) @@ -2504,7 +2504,7 @@ if(alert(owner, "Accept or Deny ERT request?", "CentComm Response", "Accept", "Deny") == "Deny") var/mob/living/carbon/human/H = locateUID(href_list["ErtReply"]) if(!istype(H)) - to_chat(owner, "This can only be used on instances of type /mob/living/carbon/human") + to_chat(owner, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human")) return var/reason = input(owner, "Please enter a reason for denying [key_name(H)]'s ERT request.", "Outgoing message from CentComm") as null|message @@ -2519,13 +2519,13 @@ return if(H.stat != CONSCIOUS) - to_chat(owner, "The person you are trying to contact is not conscious. ERT denied but no message has been sent.") + to_chat(owner, SPAN_WARNING("The person you are trying to contact is not conscious. ERT denied but no message has been sent.")) return if(!istype(H.l_ear, /obj/item/radio/headset) && !istype(H.r_ear, /obj/item/radio/headset)) - to_chat(owner, "The person you are trying to contact is not wearing a headset. ERT denied but no message has been sent.") + to_chat(owner, SPAN_WARNING("The person you are trying to contact is not wearing a headset. ERT denied but no message has been sent.")) return - to_chat(owner, "You sent [reason] to [H] via a secure channel.") - to_chat(H, "Incoming priority transmission from Central Command. Message as follows, Your ERT request has been denied for the following reasons: [reason].") + to_chat(owner, SPAN_NOTICE("You sent [reason] to [H] via a secure channel.")) + to_chat(H, "Incoming priority transmission from Central Command. Message as follows,[SPAN_SPECIALNOTICE(" Your ERT request has been denied for the following reasons: [reason].")]") else SSuser_verbs.invoke_verb(owner, /datum/user_verb/dispatch_ert) @@ -2553,7 +2553,7 @@ usr << browse(data, "window=PaperBundle[B.UID()]") else - to_chat(usr, "The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]") + to_chat(usr, SPAN_WARNING("The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]")) else if(href_list["AdminFaxViewPage"]) if(!check_rights(R_ADMIN)) @@ -2708,17 +2708,17 @@ if(destination != "All Departments") if(!fax.receivefax(sending)) - to_chat(src.owner, "Message transmission failed.") + to_chat(src.owner, SPAN_WARNING("Message transmission failed.")) return else for(var/obj/machinery/photocopier/faxmachine/F in GLOB.allfaxes) if(is_station_level(F.z)) spawn(0) if(!F.receivefax(sending)) - to_chat(src.owner, "Message transmission to [F.department] failed.") + to_chat(src.owner, SPAN_WARNING("Message transmission to [F.department] failed.")) - to_chat(src.owner, "Message transmitted successfully.") + to_chat(src.owner, SPAN_NOTICE("Message transmitted successfully.")) if(notify == "Yes") var/mob/living/carbon/human/H = sender if(istype(H) && H.stat == CONSCIOUS && (istype(H.l_ear, /obj/item/radio/headset) || istype(H.r_ear, /obj/item/radio/headset))) @@ -2742,7 +2742,7 @@ return var/mob/M = locateUID(href_list["getplaytimewindow"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return cmd_mentor_show_exp_panel(M.client) @@ -2751,7 +2751,7 @@ var/mob/M = locateUID(href_list["jumpto"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return usr.client.jumptomob(M) @@ -2759,7 +2759,7 @@ if(alert(usr, "Confirm?", "Message", "Yes", "No") != "Yes") return var/mob/M = locateUID(href_list["getmob"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return SSuser_verbs.invoke_verb(usr, /datum/user_verb/teleport_mob, M) @@ -2768,21 +2768,21 @@ var/mob/M = locateUID(href_list["sendmob"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return SSuser_verbs.invoke_verb(usr, /datum/user_verb/send_mob, M) else if(href_list["narrateto"]) var/mob/M = locateUID(href_list["narrateto"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return SSuser_verbs.invoke_verb(usr, /datum/user_verb/direct_narrate, M) else if(href_list["subtlemessage"]) var/mob/M = locateUID(href_list["subtlemessage"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return SSuser_verbs.invoke_verb(usr, /datum/user_verb/subtle_message, M) @@ -2793,7 +2793,7 @@ var/mob/M = locateUID(href_list["traitor"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob") + to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob")) return SSuser_verbs.invoke_verb(usr, /datum/user_verb/show_traitor_panel, M) @@ -2863,7 +2863,7 @@ switch(where) if("inhand") if(!iscarbon(usr) && !isrobot(usr)) - to_chat(usr, "Can only spawn in hand when you're a carbon mob or cyborg.") + to_chat(usr, SPAN_WARNING("Can only spawn in hand when you're a carbon mob or cyborg.")) where = "onfloor" target = usr @@ -2875,10 +2875,10 @@ target = locate(loc.x + X,loc.y + Y,loc.z + Z) if("inmarked") if(!marked_datum) - to_chat(usr, "You don't have any object marked. Abandoning spawn.") + to_chat(usr, SPAN_WARNING("You don't have any object marked. Abandoning spawn.")) return else if(!istype(marked_datum,/atom)) - to_chat(usr, "The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn.") + to_chat(usr, SPAN_WARNING("The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn.")) return else target = marked_datum @@ -2935,7 +2935,7 @@ var/afkonly = text2num(href_list["afkonly"]) if(alert("Are you sure you want to kick all [afkonly ? "AFK" : ""] clients from the lobby?","Confirmation","Yes","Cancel") != "Yes") return - var/list/listkicked = kick_clients_in_lobby("You were kicked from the lobby by an Administrator.", afkonly) + var/list/listkicked = kick_clients_in_lobby(SPAN_DANGER("You were kicked from the lobby by an Administrator."), afkonly) var/strkicked = "" for(var/name in listkicked) @@ -2943,7 +2943,7 @@ message_admins("[key_name_admin(usr)] has kicked [afkonly ? "all AFK" : "all"] clients from the lobby. [length(listkicked)] clients kicked: [strkicked ? strkicked : "--"]") log_admin("[key_name(usr)] has kicked [afkonly ? "all AFK" : "all"] clients from the lobby. [length(listkicked)] clients kicked: [strkicked ? strkicked : "--"]") else - to_chat(usr, "You may only use this when the game is running.") + to_chat(usr, SPAN_WARNING("You may only use this when the game is running.")) else if(href_list["memoeditlist"]) if(!check_rights(R_SERVER)) return @@ -3021,7 +3021,7 @@ SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Triple AI") if("gravity") if(!(SSticker && SSticker.mode)) - to_chat(usr, "Please wait until the game starts! Not sure how it will work otherwise.") + to_chat(usr, SPAN_WARNING("Please wait until the game starts! Not sure how it will work otherwise.")) return GLOB.gravity_is_on = !GLOB.gravity_is_on for(var/area/A in world) @@ -3029,11 +3029,11 @@ SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Gravity") if(GLOB.gravity_is_on) log_admin("[key_name(usr)] toggled gravity on.", 1) - message_admins("[key_name_admin(usr)] toggled gravity on.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] toggled gravity on."), 1) GLOB.minor_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.") else log_admin("[key_name(usr)] toggled gravity off.", 1) - message_admins("[key_name_admin(usr)] toggled gravity off.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] toggled gravity off."), 1) GLOB.minor_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled whilst the system reinitializes. Further failures may result in a gravitational collapse and formation of blackholes. Have a nice day.") if("power") @@ -3041,28 +3041,28 @@ if("Power all APCs") power_restore(TRUE, 0) SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Power all APCs") - log_and_message_admins("[key_name_admin(usr)] powered all APCs", 1) + log_and_message_admins(SPAN_NOTICE("[key_name_admin(usr)] powered all APCs"), 1) if("Repair all APCs") power_restore(TRUE, 1) SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Repair all APCs") - log_and_message_admins("[key_name_admin(usr)] repaired all APCs", 1) + log_and_message_admins(SPAN_NOTICE("[key_name_admin(usr)] repaired all APCs"), 1) if("Repair and Power APCs") power_restore(TRUE, 2) SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Repair and Power all APCs") - log_and_message_admins("[key_name_admin(usr)] repaired and powered all APCs", 1) + log_and_message_admins(SPAN_NOTICE("[key_name_admin(usr)] repaired and powered all APCs"), 1) if("unpower") if(alert("What Would You Like to Do?", "Make All Areas Unpowered", "Depower all APCs", "Short out APCs") == "Depower all APCs") depower_apcs() SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Depower all APCs") - log_and_message_admins("[key_name_admin(usr)] made all areas unpowered", 1) + log_and_message_admins(SPAN_NOTICE("[key_name_admin(usr)] made all areas unpowered"), 1) else power_failure(TRUE, 100) SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Short out APCs") - log_and_message_admins("[key_name_admin(usr)] has shorted APCs", 1) + log_and_message_admins(SPAN_NOTICE("[key_name_admin(usr)] has shorted APCs"), 1) if("quickpower") power_restore_quick() SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Power All SMESs") - log_and_message_admins("[key_name(usr)] made all SMESs powered", 1) + log_and_message_admins(SPAN_NOTICE("[key_name(usr)] made all SMESs powered"), 1) if("prisonwarp") if(SSticker.current_state < GAME_STATE_PLAYING) alert("The game hasn't started yet!", null, null, null, null, null) @@ -3070,7 +3070,7 @@ if(alert(usr, "Are you sure you want to do this?", "Confirmation", "Yes", "No") != "Yes") return SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Prison Warp") - message_admins("[key_name_admin(usr)] teleported all players to the prison station.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] teleported all players to the prison station."), 1) for(var/thing in GLOB.human_list) var/mob/living/carbon/human/H = thing var/turf/loc = find_loc(H) @@ -3127,7 +3127,7 @@ for(var/mob/living/silicon/A in GLOB.player_list) A.mind.add_antag_datum(/datum/antagonist/traitor) - message_admins("[key_name_admin(usr)] used everyone is a traitor secret. Objective is [objective]", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] used everyone is a traitor secret. Objective is [objective]"), 1) log_admin("[key_name(usr)] used everyone is a traitor secret. Objective is [objective]") if("togglebombcap") @@ -3141,7 +3141,7 @@ GLOB.configuration.general.bomb_cap = newBombCap - message_admins("[key_name_admin(usr)] changed the bomb cap to [GLOB.configuration.general.bomb_cap / 4], [GLOB.configuration.general.bomb_cap / 2], [GLOB.configuration.general.bomb_cap]") + message_admins(SPAN_BOLDANNOUNCEOOC("[key_name_admin(usr)] changed the bomb cap to [GLOB.configuration.general.bomb_cap / 4], [GLOB.configuration.general.bomb_cap / 2], [GLOB.configuration.general.bomb_cap]")) log_admin("[key_name(usr)] changed the bomb cap to [GLOB.configuration.general.bomb_cap / 4], [GLOB.configuration.general.bomb_cap / 2], [GLOB.configuration.general.bomb_cap]") if("flicklights") @@ -3158,20 +3158,20 @@ var/Message = rand(1,4) switch(Message) if(1) - M.show_message(text("You shudder as if cold..."), 1) + M.show_message(SPAN_NOTICE("You shudder as if cold..."), 1) if(2) - M.show_message(text("You feel something gliding across your back..."), 1) + M.show_message(SPAN_NOTICE("You feel something gliding across your back..."), 1) if(3) - M.show_message(text("Your eyes twitch, you feel like something you can't see is here..."), 1) + M.show_message(SPAN_NOTICE("Your eyes twitch, you feel like something you can't see is here..."), 1) if(4) - M.show_message(text("You notice something moving out of the corner of your eye, but nothing is there..."), 1) + M.show_message(SPAN_NOTICE("You notice something moving out of the corner of your eye, but nothing is there..."), 1) for(var/obj/W in orange(5,M)) if(prob(25) && !W.anchored) step_rand(W) sleep(rand(100,1000)) for(var/mob/M in GLOB.player_list) if(M.stat != 2) - M.show_message(text("The chilling wind suddenly stops..."), 1) + M.show_message(SPAN_NOTICE("The chilling wind suddenly stops..."), 1) if("lightout") SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Lights Out") message_admins("[key_name_admin(usr)] has broke a lot of lights", 1) @@ -3211,7 +3211,7 @@ return SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Mass Braindamage") for(var/mob/living/carbon/human/H in GLOB.player_list) - to_chat(H, "You suddenly feel stupid.") + to_chat(H, SPAN_DANGER("You suddenly feel stupid.")) H.setBrainLoss(60) message_admins("[key_name_admin(usr)] made everybody stupid") if("fakeguns") @@ -3306,7 +3306,7 @@ template.copy_contents_to(thunderdome) log_admin("[key_name(usr)] reset the thunderdome to default with delete_mobs==[delete_mobs].", 1) - message_admins("[key_name_admin(usr)] reset the thunderdome to default with delete_mobs==[delete_mobs].") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] reset the thunderdome to default with delete_mobs==[delete_mobs].")) if("tdomestart") var/confirmation = alert("Start a Thunderdome match?","Confirm","Yes","No") @@ -3316,7 +3316,7 @@ if("securitylevel") var/level_number = text2num(href_list["number"]) SSsecurity_level.set_level(level_number) - message_admins("[key_name_admin(usr)] change security level to [SSsecurity_level.number_level_to_text(level_number)].") + message_admins(SPAN_NOTICE("[key_name_admin(usr)] change security level to [SSsecurity_level.number_level_to_text(level_number)].")) if("moveminingshuttle") SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Send Mining Shuttle") if(!SSshuttle.toggleShuttle("mining","mining_home","mining_away")) @@ -3381,8 +3381,8 @@ if("check_antagonist") check_antagonists() if("view_codewords") - to_chat(usr, "Code Phrases: [GLOB.syndicate_code_phrase]") - to_chat(usr, "Code Responses: [GLOB.syndicate_code_response]") + to_chat(usr, "Code Phrases: [SPAN_CODEPHRASES("[GLOB.syndicate_code_phrase]")]") + to_chat(usr, "Code Responses: [SPAN_CODERESPONSES("[GLOB.syndicate_code_response]")]") if("DNA") var/dat = "Showing DNA from blood.
" dat += "" @@ -3415,15 +3415,15 @@ SSnightshift.fire() else SSnightshift.update_nightshift(FALSE, TRUE) - to_chat(usr, "Night shift set to automatic.") + to_chat(usr, SPAN_NOTICE("Night shift set to automatic.")) if("On") SSnightshift.can_fire = FALSE SSnightshift.update_nightshift(TRUE, FALSE) - to_chat(usr, "Night shift forced on.") + to_chat(usr, SPAN_NOTICE("Night shift forced on.")) if("Off") SSnightshift.can_fire = FALSE SSnightshift.update_nightshift(FALSE, FALSE) - to_chat(usr, "Night shift forced off.") + to_chat(usr, SPAN_NOTICE("Night shift forced off.")) if(usr) log_admin("[key_name(usr)] used secret [href_list["secretsadmin"]]") if(ok) @@ -3468,7 +3468,7 @@ else if(href_list["viewruntime"]) var/datum/error_viewer/error_viewer = locateUID(href_list["viewruntime"]) if(!istype(error_viewer)) - to_chat(usr, "That runtime viewer no longer exists.") + to_chat(usr, SPAN_WARNING("That runtime viewer no longer exists.")) return if(href_list["viewruntime_backto"]) error_viewer.showTo(usr, locateUID(href_list["viewruntime_backto"]), href_list["viewruntime_linear"]) @@ -3714,12 +3714,12 @@ var/image/source = image('icons/obj/cardboard_cutout.dmi', "cutout_traitor") var/list/candidates = SSghost_spawns.poll_candidates("Play as a [killthem ? "murderous" : "protective"] [dresscode]?", ROLE_TRAITOR, TRUE, source = source, role_cleanname = "[killthem ? "murderous" : "protective"] [dresscode]") if(!length(candidates)) - to_chat(usr, "ERROR: Could not create eventmob. No valid candidates.") + to_chat(usr, SPAN_WARNING("ERROR: Could not create eventmob. No valid candidates.")) return var/mob/C = pick(candidates) var/key_of_hunter = C.key if(!key_of_hunter) - to_chat(usr, "ERROR: Could not create eventmob. Could not pick key.") + to_chat(usr, SPAN_WARNING("ERROR: Could not create eventmob. Could not pick key.")) return var/datum/mind/hunter_mind = new /datum/mind(key_of_hunter) hunter_mind.active = TRUE @@ -3748,8 +3748,8 @@ protect_objective.explanation_text = "Protect [H.real_name], the [H.mind.assigned_role]." hunter_mind.add_mind_objective(protect_objective) SSticker.mode.traitors |= hunter_mob.mind - to_chat(hunter_mob, "ATTENTION: You are now on a mission!") - to_chat(hunter_mob, "Goal: [killthem ? "MURDER" : "PROTECT"] [H.real_name], currently in [get_area(H.loc)]."); + to_chat(hunter_mob, "[SPAN_DANGER("ATTENTION:")] You are now on a mission!") + to_chat(hunter_mob, "Goal: [SPAN_DANGER("[killthem ? "MURDER" : "PROTECT"] [H.real_name]")], currently in [get_area(H.loc)]."); if(killthem) to_chat(hunter_mob, "If you kill [H.p_them()], [H.p_they()] cannot be revived."); hunter_mob.mind.special_role = SPECIAL_ROLE_TRAITOR diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index dc6ec079f39..4447ba4cd2b 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -17,7 +17,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", VERB_CATEGORY_DEBUG) if(!check_rights_client(R_PROCCALL, FALSE, client)) //Shouldn't happen... but just to be safe. - message_admins("ERROR: Non-admin [key_name_admin(client)] attempted to execute a SDQL query!") + message_admins(SPAN_DANGER("ERROR: Non-admin [key_name_admin(client)] attempted to execute a SDQL query!")) log_admin("Non-admin [key_name(client)] attempted to execute a SDQL query!") return @@ -30,7 +30,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V /client/proc/run_sdql2_query(query_text) if(!check_rights(R_PROCCALL)) //Shouldn't happen... but just to be safe. - message_admins("ERROR: Non-admin [key_name_admin(usr)] attempted to execute an SDQL query!") + message_admins(SPAN_DANGER("ERROR: Non-admin [key_name_admin(usr)] attempted to execute an SDQL query!")) log_admin("Non-admin [key_name(usr)] attempted to execute an SDQL query: [query_text]") return @@ -147,7 +147,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V break catch(var/exception/e) - to_chat(usr, "An exception has occurred during the execution of your query and your query has been aborted.") + to_chat(usr, SPAN_DANGER("An exception has occurred during the execution of your query and your query has been aborted.")) to_chat(usr, " [e.name]") to_chat(usr, " at: [e.file]:[e.line]") @@ -175,7 +175,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V querys[querys_pos] = parsed_tree querys_pos++ else //There was an error so don't run anything, and tell the user which query has errored. - to_chat(usr, "Parsing error on [querys_pos]\th query. Nothing was executed.") + to_chat(usr, SPAN_DANGER("Parsing error on [querys_pos]\th query. Nothing was executed.")) return list() query_tree = list() do_parse = 0 @@ -332,7 +332,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V if("or", "||") result = (result || val) else - to_chat(usr, "SDQL2: Unknown op [op]") + to_chat(usr, SPAN_DANGER("SDQL2: Unknown op [op]")) result = null else result = val @@ -396,11 +396,11 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V if(expression[start] == "\[" && long) if(lowertext(copytext(expression[start + 1], 1, 3)) != "0x") - to_chat(usr, "Invalid ref syntax: [expression[start + 1]]") + to_chat(usr, SPAN_DANGER("Invalid ref syntax: [expression[start + 1]]")) return null v = locate("\[[expression[start + 1]]\]") if(!v) - to_chat(usr, "Invalid ref: [expression[start + 1]]") + to_chat(usr, SPAN_DANGER("Invalid ref: [expression[start + 1]]")) return null start++ @@ -438,7 +438,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V var/list/L = v var/index = SDQL_expression(source, expression[start + 2]) if(isnum(index) && (!ISINTEGER(index) || length(L) < index)) - to_chat(world, "Invalid list index: [index]") + to_chat(world, SPAN_DANGER("Invalid list index: [index]")) return null return L[index] @@ -499,7 +499,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V else if(char == "'") if(word != "") - to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unexpected ' in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again.") + to_chat(usr, SPAN_DANGER("SDQL2: You have an error in your SDQL syntax, unexpected ' in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again.")) return null word = "'" @@ -519,7 +519,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V word += char if(i > len) - to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unmatched ' in query: \"[query_text]\". Please check your syntax, and try again.") + to_chat(usr, SPAN_DANGER("SDQL2: You have an error in your SDQL syntax, unmatched ' in query: \"[query_text]\". Please check your syntax, and try again.")) return null query_list += "[word]'" @@ -527,7 +527,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V else if(char == "\"") if(word != "") - to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unexpected \" in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again.") + to_chat(usr, SPAN_DANGER("SDQL2: You have an error in your SDQL syntax, unexpected \" in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again.")) return null word = "\"" @@ -547,7 +547,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V word += char if(i > len) - to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unmatched \" in query: \"[query_text]\". Please check your syntax, and try again.") + to_chat(usr, SPAN_DANGER("SDQL2: You have an error in your SDQL syntax, unmatched \" in query: \"[query_text]\". Please check your syntax, and try again.")) return null query_list += "[word]\"" diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm index 6915e715ab7..dc83b808108 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm @@ -60,7 +60,7 @@ /datum/sdql_parser/proc/parse_error(error_message) error = 1 - to_chat(usr, "SDQL2 Parsing Error: [error_message]") + to_chat(usr, SPAN_DANGER("SDQL2 Parsing Error: [error_message]")) return length(query) + 1 /datum/sdql_parser/proc/parse() diff --git a/code/modules/admin/verbs/admin_zlevel_manager_verb.dm b/code/modules/admin/verbs/admin_zlevel_manager_verb.dm index 9395489b8a1..1b227f3fc5a 100644 --- a/code/modules/admin/verbs/admin_zlevel_manager_verb.dm +++ b/code/modules/admin/verbs/admin_zlevel_manager_verb.dm @@ -1,6 +1,6 @@ USER_VERB(open_zlevel_manager, R_ADMIN, "Z-Level Manager", "Opens the Z-Level Manager.", VERB_CATEGORY_ADMIN) if(!SSmapping || !SSmapping.initialized) - to_chat(client, "SSmapping has not initialized yet, Z-Level Manager is not available yet.") + to_chat(client, SPAN_NOTICE("SSmapping has not initialized yet, Z-Level Manager is not available yet.")) return message_admins("[key_name_admin(client)] is using the Z-Level Manager") diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index cdf6018c2c7..08d29b5678a 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -52,7 +52,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by //Fetching a message if needed. src is the sender and C is the target client /client/proc/cmd_admin_pm(whom, msg, type = "PM", ticket_id = -1) if(check_mute(ckey, MUTE_ADMINHELP)) - to_chat(src, "Error: Private-Message: You are unable to use PM-s (muted).") + to_chat(src, SPAN_DANGER("Error: Private-Message: You are unable to use PM-s (muted).")) return var/client/C @@ -63,7 +63,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by if(!C) if(holder) - to_chat(src, "Error: Private-Message: Client not found.") + to_chat(src, SPAN_DANGER("Error: Private-Message: Client not found.")) else adminhelp(msg) //admin we are replying to left. adminhelp instead return @@ -71,7 +71,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by /*if(C && C.last_pm_received + config.simultaneous_pm_warning_timeout > world.time && holder) //send a warning to admins, but have a delay popup for mods if(holder.rights & R_ADMIN) - to_chat(src, "Simultaneous PMs warning: that player has been PM'd in the last [config.simultaneous_pm_warning_timeout / 10] seconds by: [C.ckey_last_pm]") + to_chat(src, "[SPAN_DANGER("Simultaneous PMs warning:")] that player has been PM'd in the last [config.simultaneous_pm_warning_timeout / 10] seconds by: [C.ckey_last_pm]") else if(alert("That player has been PM'd in the last [config.simultaneous_pm_warning_timeout / 10] seconds by: [C.ckey_last_pm]","Simultaneous PMs warning","Continue","Cancel") == "Cancel") return*/ @@ -119,7 +119,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by return if(!C) if(holder) - to_chat(src, "Error: Admin-PM: Client not found.") + to_chat(src, SPAN_DANGER("Error: Admin-PM: Client not found.")) else adminhelp(msg) //admin we are replying to has vanished, adminhelp instead return @@ -141,7 +141,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by receive_pm_type = holder.rank else if(!C.holder) - to_chat(src, "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.") + to_chat(src, SPAN_DANGER("Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.")) return var/receive_message = "" @@ -179,7 +179,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by else ticket_link = "(TICKET)" - var/emoji_msg = "[msg]" + var/emoji_msg = SPAN_EMOJI_ENABLED("[msg]") var/receive_window_link = "(WINDOW)" if(message_type == MESSAGE_TYPE_MENTORPM && check_rights(R_ADMIN|R_MENTOR, 0, C.mob)) receive_window_link = ticket_link @@ -206,9 +206,9 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by var/third_party_message if(message_type == MESSAGE_TYPE_MENTORPM) - third_party_message = chat_box_mhelp("[type]: [key_name(src, TRUE, type, ticket_id = ticket_id)]->[key_name(C, TRUE, type, ticket_id = ticket_id)]:

[emoji_msg]
[ping_link] [ticket_link] [alert_link] [observe_link]
") + third_party_message = chat_box_mhelp(SPAN_MENTORHELP("[type]: [key_name(src, TRUE, type, ticket_id = ticket_id)]->[key_name(C, TRUE, type, ticket_id = ticket_id)]:

[emoji_msg]
[ping_link] [ticket_link] [alert_link] [observe_link]")) else - third_party_message = chat_box_ahelp("[type]: [key_name(src, TRUE, type, ticket_id = ticket_id)]->[key_name(C, TRUE, type, ticket_id = ticket_id)]:

[emoji_msg]
[ping_link] [ticket_link] [alert_link] [observe_link]
") + third_party_message = chat_box_ahelp(SPAN_ADMINHELP("[type]: [key_name(src, TRUE, type, ticket_id = ticket_id)]->[key_name(C, TRUE, type, ticket_id = ticket_id)]:

[emoji_msg]
[ping_link] [ticket_link] [alert_link] [observe_link]")) //play the recieving admin the adminhelp sound (if they have them enabled) //non-admins always hear the sound, as they cannot toggle it @@ -237,11 +237,11 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by /client/proc/cmd_admin_discord_pm() if(check_mute(ckey, MUTE_ADMINHELP)) - to_chat(src, "Error: Private-Message: You are unable to use PMs (muted).") + to_chat(src, SPAN_DANGER("Error: Private-Message: You are unable to use PMs (muted).")) return if(last_discord_pm_time > world.time) - to_chat(usr, "Please wait [(last_discord_pm_time - world.time)/10] seconds, or for a reply, before sending another PM to Discord.") + to_chat(usr, SPAN_WARNING("Please wait [(last_discord_pm_time - world.time)/10] seconds, or for a reply, before sending another PM to Discord.")) return // We only allow PMs once every 10 seconds, othewrise the channel can get spammed very quickly @@ -255,20 +255,20 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by sanitize(msg) if(length(msg) > 400) // Dont want them super spamming - to_chat(src, "Your message was not sent because it was more then 400 characters find your message below for ease of copy/pasting") - to_chat(src, "[msg]") + to_chat(src, SPAN_WARNING("Your message was not sent because it was more then 400 characters find your message below for ease of copy/pasting")) + to_chat(src, SPAN_NOTICE("[msg]")) return GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "PM from [key_name(src)]: [html_decode(msg)]") - to_chat(src, "PM to-Discord Admins: [msg]", MESSAGE_TYPE_ADMINPM, confidential = TRUE) + to_chat(src, SPAN_DISCORDPM("PM to-Discord Admins: [msg]"), MESSAGE_TYPE_ADMINPM, confidential = TRUE) log_admin("PM: [key_name(src)]->Discord: [msg]") for(var/client/X in GLOB.admins) if(X == src) continue if(check_rights(R_ADMIN, 0, X.mob)) - to_chat(X, "PM: [key_name_admin(src)]->Discord Admins: [msg]") + to_chat(X, SPAN_DISCORDPM("PM: [key_name_admin(src)]->Discord Admins: [SPAN_NOTICE("[msg]")]")) /client/verb/open_pms_ui() set name = "My PMs" @@ -380,7 +380,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by dat += "
NameDNABlood Type
" dat += "
" if(convo.typing) - dat += "[current_title] is typing" + dat += "[SPAN_TYPING("[current_title] is typing")]" dat += "
" dat += "" dat += "Reply" @@ -439,7 +439,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by C.persistent.pm_tracker.forced = TRUE // We forced it open window_flash(C) C.persistent.pm_tracker.show_ui(C.mob) - to_chat(usr, "Forced open [C]'s messages window.") + to_chat(usr, SPAN_NOTICE("Forced open [C]'s messages window.")) return if(href_list["reply"]) diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index 475b6f58293..7206c7b62ef 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -32,8 +32,8 @@ USER_VERB(admin_say, R_ADMIN, "Asay", "Asay", VERB_CATEGORY_HIDDEN, msg as text) temp_message = replacetext(temp_message, "@[C.ckey]", "@[C.ckey]") temp_message = replacetext(temp_message, "@[C.key]", "@[C.key]") // Same applies here. key and ckey. - temp_message = "[temp_message]" - to_chat(C, "ADMIN: [key_name(client, 1)] ([admin_jump_link(client.mob)]): [temp_message]", MESSAGE_TYPE_ADMINCHAT, confidential = TRUE) + temp_message = SPAN_EMOJI_ENABLED("[temp_message]") + to_chat(C, SPAN_ADMIN_CHANNEL("ADMIN: [key_name(client, 1)] ([admin_jump_link(client.mob)]): [SPAN_MESSAGE("[temp_message]")]"), MESSAGE_TYPE_ADMINCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Asay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -64,8 +64,8 @@ USER_VERB(dev_say, R_ADMIN|R_DEV_TEAM, "Devsay", "Devsay", VERB_CATEGORY_HIDDEN, display_name = "[client.holder.fakekey]/([client.key])" else display_name = client.holder.fakekey - msg = "[msg]" - to_chat(C, "DEV: [display_name] ([admin_jump_link(client.mob)]): [msg]", MESSAGE_TYPE_DEVCHAT, confidential = TRUE) + msg = SPAN_EMOJI_ENABLED("[msg]") + to_chat(C, "DEV: [display_name] ([admin_jump_link(client.mob)]): [SPAN_MESSAGE("[msg]")]", MESSAGE_TYPE_DEVCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Devsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -99,8 +99,8 @@ USER_VERB(staff_say, R_ADMIN|R_MENTOR|R_DEV_TEAM, "Staffsay", "Staffsay", VERB_C display_name = "[client.holder.fakekey]/([client.key])" else display_name = client.holder.fakekey - msg = "[msg]" - to_chat(C, "STAFF: [display_name] ([admin_jump_link(client.mob)]): [msg]", MESSAGE_TYPE_STAFFCHAT, confidential = TRUE) + msg = SPAN_EMOJI_ENABLED("[msg]") + to_chat(C, "STAFF: [display_name] ([admin_jump_link(client.mob)]): [SPAN_MESSAGE("[msg]")]", MESSAGE_TYPE_STAFFCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Staffsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -135,8 +135,8 @@ USER_VERB(mentor_say, R_ADMIN|R_MENTOR|R_MOD, "Msay", "Use mentorsay.", VERB_CAT display_name = "[client.holder.fakekey]/([client.key])" else display_name = client.holder.fakekey - msg = "[msg]" - to_chat(C, "MENTOR: [display_name] ([admin_jump_link(client.mob)]): [msg]", MESSAGE_TYPE_MENTORCHAT, confidential = TRUE) + msg = SPAN_EMOJI_ENABLED("[msg]") + to_chat(C, "MENTOR: [display_name] ([admin_jump_link(client.mob)]): [SPAN_MESSAGE("[msg]")]", MESSAGE_TYPE_MENTORCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Msay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/antag-ooc.dm b/code/modules/admin/verbs/antag-ooc.dm index 8a13e060c1b..095e4f5a01f 100644 --- a/code/modules/admin/verbs/antag-ooc.dm +++ b/code/modules/admin/verbs/antag-ooc.dm @@ -8,6 +8,6 @@ USER_VERB(aooc, R_ADMIN, "AOOC", "Antagonist OOC", VERB_CATEGORY_OOC, msg as tex for(var/mob/M in GLOB.mob_list) if((M.mind && M.mind.special_role && M.client) || (M.client && M.client.holder && (M.client.holder.rights & R_ADMIN))) - to_chat(M, "AOOC: [display_name]: [msg]") + to_chat(M, "[SPAN_OOC("[SPAN_PREFIX("AOOC:")] [display_name]: [SPAN_MESSAGE("[msg]")]")]") log_aooc(msg, client) diff --git a/code/modules/admin/verbs/custom_event.dm b/code/modules/admin/verbs/custom_event.dm index 10017bef52e..4d55804567a 100644 --- a/code/modules/admin/verbs/custom_event.dm +++ b/code/modules/admin/verbs/custom_event.dm @@ -13,7 +13,7 @@ USER_VERB(change_custom_event, R_EVENT, "Change Custom Event", "Set a custom eve to_chat(world, "

Custom Event

") to_chat(world, "

A custom event is starting. OOC Info:

") - to_chat(world, "[html_encode(GLOB.custom_event_msg)]") + to_chat(world, SPAN_ALERT("[html_encode(GLOB.custom_event_msg)]")) to_chat(world, "
") // normal verb for players to view info @@ -30,5 +30,5 @@ USER_VERB(change_custom_event, R_EVENT, "Change Custom Event", "Set a custom eve custom_event_information += "

Custom Event

" custom_event_information += "

A custom event is taking place. OOC Info:

" - custom_event_information += "[html_encode(GLOB.custom_event_msg)]" + custom_event_information += SPAN_ALERT("[html_encode(GLOB.custom_event_msg)]") to_chat(src, chat_box_regular(custom_event_information.Join("
"))) diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm index cc82863d256..8459c8ba527 100644 --- a/code/modules/admin/verbs/deadsay.dm +++ b/code/modules/admin/verbs/deadsay.dm @@ -3,11 +3,11 @@ USER_VERB(dsay, R_ADMIN|R_MOD, "Dsay", "Deadsay", VERB_CATEGORY_HIDDEN, msg as t return if(check_mute(client.ckey, MUTE_DEADCHAT)) - to_chat(client, "You cannot send DSAY messages (muted).") + to_chat(client, SPAN_WARNING("You cannot send DSAY messages (muted).")) return if(!(client.prefs.toggles & PREFTOGGLE_CHAT_DEAD)) - to_chat(client, "You have deadchat muted.") + to_chat(client, SPAN_WARNING("You have deadchat muted.")) return if(client.handle_spam_prevention(msg, MUTE_DEADCHAT)) @@ -36,5 +36,5 @@ USER_VERB(dsay, R_ADMIN|R_MOD, "Dsay", "Deadsay", VERB_CATEGORY_HIDDEN, msg as t var/prefix = "[stafftype] ([client.key])" if(client.holder.fakekey) prefix = "Administrator" - say_dead_direct("[prefix] says, \"[msg]\"") + say_dead_direct(SPAN_NAME("[prefix]
says, \"[msg]\"")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Dsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/deathsquad.dm b/code/modules/admin/verbs/deathsquad.dm index 174e17c8dd3..fee6b256c02 100644 --- a/code/modules/admin/verbs/deathsquad.dm +++ b/code/modules/admin/verbs/deathsquad.dm @@ -8,7 +8,7 @@ GLOBAL_VAR_INIT(deathsquad_sent, FALSE) if(!check_rights(R_EVENT)) return if(SSticker.current_state == GAME_STATE_PREGAME) - to_chat(usr, "The round hasn't started yet!") + to_chat(usr, SPAN_WARNING("The round hasn't started yet!")) return if(GLOB.deathsquad_sent) if(alert("A Deathsquad is already being sent, are you sure you want to send another?", null, "Yes", "No") != "Yes") @@ -19,9 +19,9 @@ GLOBAL_VAR_INIT(deathsquad_sent, FALSE) if(alert("Do you want to set AI and cyborgs laws to Terminator?", null, "Yes", "No") != "No") ai_laws_change = TRUE - message_admins("[key_name_admin(proccaller)] has started to spawn a DeathSquad.") + message_admins(SPAN_NOTICE("[key_name_admin(proccaller)] has started to spawn a DeathSquad.")) log_admin("[key_name_admin(proccaller)] has started to spawn a DeathSquad.") - to_chat(proccaller, "This 'mode' will go on until everyone is dead or the station is destroyed. You may also admin-call the evac shuttle or use the end round verb when appropriate. Spawned commandos have internals cameras which are viewable through a monitor inside the Spec. Ops. Office. The first one selected will be the team leader.") + to_chat(proccaller, SPAN_BOLDWARNING("This 'mode' will go on until everyone is dead or the station is destroyed. You may also admin-call the evac shuttle or use the end round verb when appropriate. Spawned commandos have internals cameras which are viewable through a monitor inside the Spec. Ops. Office. The first one selected will be the team leader.")) var/mission = sanitize(copytext_char(input(src, "Please specify which mission the Deathsquad shall undertake.", "Specify Mission", "",), 1, MAX_MESSAGE_LEN)) if(!mission) @@ -36,7 +36,7 @@ GLOBAL_VAR_INIT(deathsquad_sent, FALSE) var/notice_sound = sound('sound/AI/epsilon_laws.ogg') for(var/mob/living/silicon/ai/AI in ais) death_squad_ai_law_set.sync(AI, TRUE, FALSE) // Reset all laws exept zero - to_chat(AI, "Central command has uploaded a new set of laws you must follow. Make sure you follow them.") + to_chat(AI, SPAN_USERDANGER("Central command has uploaded a new set of laws you must follow. Make sure you follow them.")) SEND_SOUND(AI, notice_sound) AI.show_laws() var/obj/item/radio/headset/heads/ai_integrated/ai_radio = AI.get_radio() @@ -45,7 +45,7 @@ GLOBAL_VAR_INIT(deathsquad_sent, FALSE) for(var/mob/living/silicon/robot/R in AI.connected_robots) R.sync() - to_chat(R, "Central command has uploaded a new set of laws you must follow. Make sure you follow them.") + to_chat(R, SPAN_USERDANGER("Central command has uploaded a new set of laws you must follow. Make sure you follow them.")) SEND_SOUND(R, notice_sound) R.show_laws() var/obj/item/radio/borg/cyborg_radio = R.get_radio() @@ -105,7 +105,7 @@ GLOBAL_VAR_INIT(deathsquad_sent, FALSE) if(!length(commando_ghosts)) message_admins("[key_name_admin(proccaller)]'s Deathsquad had no volunteers and was cancelled.") log_admin("[key_name(proccaller)]'s Deathsquad had no volunteers and was cancelled.") - to_chat(src, "Nobody volunteered to join the DeathSquad.") + to_chat(src, SPAN_USERDANGER("Nobody volunteered to join the DeathSquad.")) return // Spawns a nuclear warhead for the team @@ -123,7 +123,7 @@ GLOBAL_VAR_INIT(deathsquad_sent, FALSE) var/dstype if(is_leader) - to_chat(ghost_mob.client, "You have been chosen to lead the Deathsquad. Please stand by." ) + to_chat(ghost_mob.client, SPAN_BOLDWARNING("You have been chosen to lead the Deathsquad. Please stand by.") ) else dstype = input_async(ghost_mob, "Select Deathsquad Type (10 seconds):", list("Organic", "Cyborg")) addtimer(CALLBACK(src, PROC_REF(deathsquad_spawn), ghost_mob, is_leader, dstype, my_spawn_loc, nuke_code, mission), 10 SECONDS) // This may fail if the user switches mobs during it, this is because input_async is only for mobs not clients @@ -140,7 +140,7 @@ GLOBAL_VAR_INIT(deathsquad_sent, FALSE) P.stamp(stamp) qdel(stamp) - message_admins("[key_name_admin(proccaller)] has spawned a DeathSquad.") + message_admins(SPAN_NOTICE("[key_name_admin(proccaller)] has spawned a DeathSquad.")) log_admin("[key_name(proccaller)] used Spawn Death Squad.") return TRUE @@ -174,9 +174,9 @@ GLOBAL_VAR_INIT(deathsquad_sent, FALSE) R.key = ghost_mob.key dust_if_respawnable(ghost_mob) if(nuke_code) - R.mind.store_memory("Nuke Code: [nuke_code].") - R.mind.store_memory("Mission: [mission].") - to_chat(R, "You are a Deathsquad cyborg, in the service of Central Command. \nYour current mission is: [mission]") + R.mind.store_memory("Nuke Code: [SPAN_WARNING("[nuke_code].")]") + R.mind.store_memory("Mission: [SPAN_WARNING("[mission].")]") + to_chat(R, SPAN_USERDANGER("You are a Deathsquad cyborg, in the service of Central Command. \nYour current mission is: [SPAN_DANGER("[mission]")]")) else var/mob/living/carbon/human/new_commando = create_deathsquad_commando(L, is_leader) new_commando.mind.key = ghost_mob.key @@ -184,9 +184,9 @@ GLOBAL_VAR_INIT(deathsquad_sent, FALSE) dust_if_respawnable(ghost_mob) new_commando.update_action_buttons_icon() if(nuke_code) - new_commando.mind.store_memory("Nuke Code: [nuke_code].") - new_commando.mind.store_memory("Mission: [mission].") - to_chat(new_commando, "You are a Deathsquad [is_leader ? "TEAM LEADER" : "commando"] in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: [mission]") + new_commando.mind.store_memory("Nuke Code: [SPAN_WARNING("[nuke_code].")]") + new_commando.mind.store_memory("Mission: [SPAN_WARNING("[mission].")]") + to_chat(new_commando, SPAN_USERDANGER("You are a Deathsquad [is_leader ? "TEAM LEADER" : "commando"] in the service of Central Command. Check the table ahead for detailed instructions.\nYour current mission is: [SPAN_DANGER("[mission]")]")) /client/proc/create_deathsquad_commando(obj/spawn_location, is_leader = FALSE) var/mob/living/carbon/human/new_commando = new(spawn_location.loc) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 50ba657f5a6..559fcc29887 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -39,7 +39,7 @@ USER_VERB(advanced_proccall, R_PROCCALL, "Advanced ProcCall", "Advanced ProcCall // absolutely not if(findtextEx(trim(lowertext(procname)), "rustg")) - message_admins("[key_name_admin(client)] attempted to proc call rust-g procs. Inform the host at once.") + message_admins(SPAN_USERDANGER("[key_name_admin(client)] attempted to proc call rust-g procs. Inform the host at once.")) log_admin("[key_name(client)] attempted to proc call rust-g procs. Inform the host at once.") GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "[key_name(client)] attempted to proc call rustg things. Inform the host at once.") return @@ -106,10 +106,10 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) CRASH("WrapAdminProcCall with no ckey: [target] [procname] [english_list(arguments)]") if(current_caller && current_caller != ckey) if(!GLOB.AdminProcCallSpamPrevention[ckey]) - to_chat(usr, "Another set of admin called procs are still running, your proc will be run after theirs finish.") + to_chat(usr, SPAN_USERDANGER("Another set of admin called procs are still running, your proc will be run after theirs finish.")) GLOB.AdminProcCallSpamPrevention[ckey] = TRUE UNTIL(!GLOB.AdminProcCaller) - to_chat(usr, "Running your proc") + to_chat(usr, SPAN_USERDANGER("Running your proc")) GLOB.AdminProcCallSpamPrevention -= ckey else UNTIL(!GLOB.AdminProcCaller) @@ -121,7 +121,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) try . = world.WrapAdminProcCall(target, procname, arguments) catch(var/exception/e) - to_chat(usr, "Your proc call failed to execute, likely from runtimes. You should be out of safety mode. If not, god help you. Runtime Info: [e.file]:[e.line]: [e.name]") + to_chat(usr, SPAN_USERDANGER("Your proc call failed to execute, likely from runtimes. You should be out of safety mode. If not, god help you. Runtime Info: [e.file]:[e.line]: [e.name]")) if(--GLOB.AdminProcCallCount == 0) GLOB.AdminProcCaller = null @@ -133,7 +133,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) else if(target != world) return call(target, procname)(arglist(arguments)) else - to_chat(usr, "Call to world/proc/[procname] blocked: Advanced ProcCall detected.") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Call to world/proc/[procname] blocked: Advanced ProcCall detected.")) message_admins("[key_name(usr)] attempted to call world/proc/[procname] with arguments: [english_list(arguments)]") log_admin("[key_name(usr)] attempted to call world/proc/[procname] with arguments: [english_list(arguments)]l") @@ -146,7 +146,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) USER_CONTEXT_MENU(call_proc_datum, R_PROCCALL, "\[Admin\] Atom ProcCall", datum/A as null|area|mob|obj|turf) if(istype(A, /datum/logging) || istype(A, /datum/log_record)) - message_admins("[key_name_admin(client)] attempted to proc call on a logging object. Inform the host at once.") + message_admins(SPAN_USERDANGER("[key_name_admin(client)] attempted to proc call on a logging object. Inform the host at once.")) log_admin("[key_name(client)] attempted to proc call on a logging object. Inform the host at once.") GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "[key_name(client)] attempted to proc call on a logging object. Inform the host at once.") return @@ -156,7 +156,7 @@ USER_CONTEXT_MENU(call_proc_datum, R_PROCCALL, "\[Admin\] Atom ProcCall", datum/ return if(!hascall(A,procname)) - to_chat(client, "Error: callproc_datum(): target has no such call [procname].") + to_chat(client, SPAN_WARNING("Error: callproc_datum(): target has no such call [procname].")) return var/list/lst = client.get_callproc_args() @@ -164,14 +164,14 @@ USER_CONTEXT_MENU(call_proc_datum, R_PROCCALL, "\[Admin\] Atom ProcCall", datum/ return if(!A || !IsValidSrc(A)) - to_chat(client, "Error: callproc_datum(): owner of proc no longer exists.") + to_chat(client, SPAN_WARNING("Error: callproc_datum(): owner of proc no longer exists.")) return message_admins("[key_name_admin(client)] called [A]'s [procname]() with [length(lst) ? "the arguments [list2params(lst)]":"no arguments"]") log_admin("[key_name(client)] called [A]'s [procname]() with [length(lst) ? "the arguments [list2params(lst)]":"no arguments"]") spawn() var/returnval = WrapAdminProcCall(A, procname, lst) // Pass the lst as an argument list to the proc - to_chat(client, "[procname] returned: [!isnull(returnval) ? returnval : "null"]") + to_chat(client, SPAN_NOTICE("[procname] returned: [!isnull(returnval) ? returnval : "null"]")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Atom Proc-Call") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -284,7 +284,7 @@ USER_VERB(admin_alienize, R_SPAWN, "Make Alien", "Turn the target mob into an al M:Alienize() SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Alien") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(client)] made [key_name(M)] into an alien.") - message_admins("[key_name_admin(client)] made [key_name(M)] into an alien.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(client)] made [key_name(M)] into an alien."), 1) else alert(client, "Invalid mob") @@ -298,7 +298,7 @@ USER_VERB(admin_slimezie, R_SPAWN, "Make slime", "Turn the target mob into a sli M:slimeize() SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Slime") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(client)] made [key_name(M)] into a slime.") - message_admins("[key_name_admin(client)] made [key_name(M)] into a slime.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(client)] made [key_name(M)] into a slime."), 1) else alert(client, "Invalid mob") @@ -312,7 +312,7 @@ USER_VERB(admin_super, R_SPAWN, "Make Superhero", "Turn the target mob into a su if(S) S.create(M) log_admin("[key_name(client)] has turned [M.key] into a Superhero.") - message_admins("[key_name_admin(client)] made [key_name(M)] into a Superhero.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(client)] made [key_name(M)] into a Superhero."), 1) else alert(client, "Invalid mob") @@ -364,7 +364,7 @@ USER_VERB(grant_full_access, R_EVENT, "Grant Full Access", "Gives mob all-access alert(client, "Invalid mob") SSblackbox.record_feedback("tally", "admin_verb", 1, "Grant Full Access") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(client)] has granted [M.key] full access.") - message_admins("[key_name_admin(client)] has granted [M.key] full access.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(client)] has granted [M.key] full access."), 1) USER_VERB_VISIBILITY(assume_direct_control, VERB_VISIBILITY_FLAG_MOREDEBUG) USER_VERB(assume_direct_control, R_ADMIN|R_DEBUG, "Assume direct control", "Direct intervention", VERB_CATEGORY_ADMIN, mob/M in GLOB.mob_list) @@ -374,7 +374,7 @@ USER_VERB(assume_direct_control, R_ADMIN|R_DEBUG, "Assume direct control", "Dire else var/mob/dead/observer/ghost = new/mob/dead/observer(M,1) ghost.ckey = M.ckey - message_admins("[key_name_admin(client)] assumed direct control of [M].", 1) + message_admins(SPAN_NOTICE("[key_name_admin(client)] assumed direct control of [M]."), 1) log_admin("[key_name(client)] assumed direct control of [M].") var/mob/adminmob = client.mob M.ckey = client.ckey @@ -522,7 +522,7 @@ USER_CONTEXT_MENU(select_equipment, R_EVENT, "\[Admin\] Select equipment", mob/l SSblackbox.record_feedback("tally", "admin_verb", 1, "Select Equipment") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(client)] changed the equipment of [key_name(M)] to [dresscode].") - message_admins("[key_name_admin(client)] changed the equipment of [key_name_admin(M)] to [dresscode].", 1) + message_admins(SPAN_NOTICE("[key_name_admin(client)] changed the equipment of [key_name_admin(M)] to [dresscode]."), 1) /client/proc/robust_dress_shop(list/potential_minds) var/list/special_outfits = list( @@ -754,10 +754,10 @@ USER_VERB(view_runtimes, R_DEBUG|R_VIEWRUNTIMES, "View Runtimes", "Open the Runt USER_VERB(allow_browser_inspect, R_DEBUG, "Allow Browser Inspect", "Allow browser debugging via inspect", VERB_CATEGORY_DEBUG) if(client.byond_version < 516) - to_chat(client, "You can only use this on 516!") + to_chat(client, SPAN_WARNING("You can only use this on 516!")) return - to_chat(client, "You can now right click to use inspect on browsers.") + to_chat(client, SPAN_NOTICE("You can now right click to use inspect on browsers.")) winset(client, "", "browser-options=byondstorage,find,devtools") USER_VERB_VISIBILITY(debug_clean_radiation, VERB_VISIBILITY_FLAG_MOREDEBUG) @@ -777,7 +777,7 @@ USER_VERB(debug_clean_radiation, R_DEBUG, "Remove All Radiation", "Remove all ra USER_VERB(view_bug_reports, R_DEBUG|R_VIEWRUNTIMES|R_ADMIN, "View Bug Reports", "Select a bug report to view", VERB_CATEGORY_DEBUG) if(!length(GLOB.bug_reports)) - to_chat(client, "There are no bug reports to view") + to_chat(client, SPAN_WARNING("There are no bug reports to view")) return var/list/bug_report_selection = list() for(var/datum/tgui_bug_report_form/report in GLOB.bug_reports) diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm index 3768f070e98..6f30b5a50f8 100644 --- a/code/modules/admin/verbs/diagnostics.dm +++ b/code/modules/admin/verbs/diagnostics.dm @@ -15,7 +15,7 @@ if(T.active_hotspot) burning = 1 - to_chat(usr, "@[target.x],[target.y]: O:[GM.oxygen()] T:[GM.toxins()] N:[GM.nitrogen()] C:[GM.carbon_dioxide()] N2O: [GM.sleeping_agent()] Agent B: [GM.agent_b()] Hydrogen: [GM.hydrogen()] Water Vapor: [GM.water_vapor()] w [GM.temperature()] Kelvin, [GM.return_pressure()] kPa [(burning)?("BURNING"):(null)]") + to_chat(usr, SPAN_NOTICE("@[target.x],[target.y]: O:[GM.oxygen()] T:[GM.toxins()] N:[GM.nitrogen()] C:[GM.carbon_dioxide()] N2O: [GM.sleeping_agent()] Agent B: [GM.agent_b()] Hydrogen: [GM.hydrogen()] Water Vapor: [GM.water_vapor()] w [GM.temperature()] Kelvin, [GM.return_pressure()] kPa [(burning)?SPAN_WARNING("BURNING"):(null)]")) message_admins("[key_name_admin(usr)] has checked the air status of [target]") log_admin("[key_name(usr)] has checked the air status of [target]") @@ -117,7 +117,7 @@ USER_VERB(vv_by_ref, R_MAINTAINER, "VV by Ref", "Give this a ref string, and you var/datum/D = locate(refstring) if(!D) - to_chat(client, "That ref string does not correspond to any datum.") + to_chat(client, SPAN_WARNING("That ref string does not correspond to any datum.")) return SSuser_verbs.invoke_verb(client, /datum/user_verb/debug_variables, D) diff --git a/code/modules/admin/verbs/freeze.dm b/code/modules/admin/verbs/freeze.dm index 8fff9411e20..40338991b89 100644 --- a/code/modules/admin/verbs/freeze.dm +++ b/code/modules/admin/verbs/freeze.dm @@ -45,7 +45,7 @@ USER_CONTEXT_MENU(admin_freeze, R_ADMIN, "\[Admin\] Freeze", atom/movable/M) admin_prev_sleeping = null to_chat(src, "You have been [frozen ? "frozen" : "unfrozen"] by [admin]") - message_admins("[key_name_admin(admin)] [frozen ? "froze" : "unfroze"] [key_name_admin(src)] [mech ? "in a [mech]" : ""]") + message_admins(SPAN_NOTICE("[key_name_admin(admin)] [frozen ? "froze" : "unfroze"] [key_name_admin(src)] [mech ? "in a [mech]" : ""]")) log_admin("[key_name(admin)] [frozen ? "froze" : "unfroze"] [key_name(src)] [mech ? "in a [mech]" : ""]") update_icons() @@ -88,7 +88,7 @@ USER_CONTEXT_MENU(admin_freeze, R_ADMIN, "\[Admin\] Freeze", atom/movable/M) if(occupant) occupant.admin_Freeze(admin, mech = name) // We also want to freeze the driver of the mech. else - message_admins("[key_name_admin(admin)] [frozen ? "froze" : "unfroze"] an empty [name]") + message_admins(SPAN_NOTICE("[key_name_admin(admin)] [frozen ? "froze" : "unfroze"] an empty [name]")) log_admin("[key_name(admin)] [frozen ? "froze" : "unfroze"] an empty [name]") /obj/machinery/atmospherics/supermatter_crystal/admin_Freeze(client/admin) @@ -103,5 +103,5 @@ USER_CONTEXT_MENU(admin_freeze, R_ADMIN, "\[Admin\] Freeze", atom/movable/M) GLOB.frozen_atom_list -= src processes = TRUE cut_overlay(freeze_overlay) - message_admins("[key_name_admin(admin)] [processes ? "unfroze" : "froze"] a supermatter crystal") + message_admins(SPAN_NOTICE("[key_name_admin(admin)] [processes ? "unfroze" : "froze"] a supermatter crystal")) log_admin("[key_name(admin)] [processes ? "unfroze" : "froze"] a supermatter crystal") diff --git a/code/modules/admin/verbs/gimmick_team.dm b/code/modules/admin/verbs/gimmick_team.dm index 68dacc083b4..65712268a25 100644 --- a/code/modules/admin/verbs/gimmick_team.dm +++ b/code/modules/admin/verbs/gimmick_team.dm @@ -79,7 +79,7 @@ H.equipOutfit(O, FALSE) - to_chat(H, "
[themission]") + to_chat(H, "
[SPAN_DANGER("[themission]")]") H.mind.store_memory("[themission]

") if(is_syndicate) diff --git a/code/modules/admin/verbs/infiltratorteam_syndicate.dm b/code/modules/admin/verbs/infiltratorteam_syndicate.dm index 41f7d78af81..dc69ff4608a 100644 --- a/code/modules/admin/verbs/infiltratorteam_syndicate.dm +++ b/code/modules/admin/verbs/infiltratorteam_syndicate.dm @@ -87,8 +87,8 @@ GLOBAL_VAR_INIT(sent_syndicate_infiltration_team, 0) new_syndicate_infiltrator.update_action_buttons_icon() dust_if_respawnable(theguy) infiltrators -= theguy - to_chat(new_syndicate_infiltrator, "You are a [!syndicate_leader_selected?"Infiltrator":"Lead Infiltrator"] in the service of the Syndicate. \nYour current mission is: [input]") - to_chat(new_syndicate_infiltrator, "You are equipped with an uplink bio-chip to help you achieve your objectives. ((activate it via button in top left of screen))") + to_chat(new_syndicate_infiltrator, SPAN_DANGER("You are a [!syndicate_leader_selected?"Infiltrator":"Lead Infiltrator"] in the service of the Syndicate. \nYour current mission is: [input]")) + to_chat(new_syndicate_infiltrator, SPAN_NOTICE("You are equipped with an uplink bio-chip to help you achieve your objectives. ((activate it via button in top left of screen))")) new_syndicate_infiltrator.faction += "syndicate" GLOB.data_core.manifest_inject(new_syndicate_infiltrator) if(syndicate_leader_selected) @@ -96,11 +96,11 @@ GLOBAL_VAR_INIT(sent_syndicate_infiltration_team, 0) new_syndicate_infiltrator.loc = warpto.loc sit_spawns_leader -= warpto team_leader = new_syndicate_infiltrator - to_chat(new_syndicate_infiltrator, "As team leader, it is up to you to organize your team! Give the job to someone else if you can't handle it.") + to_chat(new_syndicate_infiltrator, SPAN_DANGER("As team leader, it is up to you to organize your team! Give the job to someone else if you can't handle it.")) else - to_chat(new_syndicate_infiltrator, "Your team leader is: [team_leader]. They are in charge!") + to_chat(new_syndicate_infiltrator, SPAN_DANGER("Your team leader is: [team_leader]. They are in charge!")) teamsize-- - to_chat(new_syndicate_infiltrator, "You have more helpful information stored in your Notes.") + to_chat(new_syndicate_infiltrator, SPAN_NOTICE("You have more helpful information stored in your Notes.")) new_syndicate_infiltrator.mind.store_memory("Mission: [input] ") new_syndicate_infiltrator.mind.store_memory("Team Leader: [team_leader] ") new_syndicate_infiltrator.mind.store_memory("Starting Equipment:
- Syndicate Headset ((.h for your radio))
- Chameleon Jumpsuit ((right click to Change Color))
- Agent ID card ((disguise as another job))
- Uplink Bio-chip ((top left of screen))
- Dust Bio-chip ((destroys your body on death))
- Combat Gloves ((insulated, disguised as black gloves))
- Anything bought with your uplink bio-chip") diff --git a/code/modules/admin/verbs/map_template_loadverb.dm b/code/modules/admin/verbs/map_template_loadverb.dm index 4300b0f02f8..394b5e38f01 100644 --- a/code/modules/admin/verbs/map_template_loadverb.dm +++ b/code/modules/admin/verbs/map_template_loadverb.dm @@ -20,9 +20,9 @@ USER_VERB(map_template_place, R_DEBUG, "Map template - Place", "Map template - P client.images += preview if(alert(client, "Confirm location.","Template Confirm","Yes","No") == "Yes") var/timer = start_watch() - message_admins("[key_name_admin(client)] has started to place the map template ([template.name]) at (JMP)") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] has started to place the map template ([template.name]) at (JMP)")) if(template.load(T, centered = TRUE)) - message_admins("[key_name_admin(client)] has placed a map template ([template.name]) at (JMP). Took [stop_watch(timer)]s.") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] has placed a map template ([template.name]) at (JMP). Took [stop_watch(timer)]s.")) else to_chat(client, "Failed to place map") client.images -= preview @@ -36,12 +36,12 @@ USER_VERB(map_template_upload, R_DEBUG, "Map Template - Upload", "Map Template - return var/timer = start_watch() - message_admins("[key_name_admin(client)] has begun uploading a map template ([map])") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] has begun uploading a map template ([map])")) var/datum/map_template/M = new(map=map, rename="[map]") if(M.preload_size(map)) to_chat(client, "Map template '[map]' ready to place ([M.width]x[M.height])") GLOB.map_templates[M.name] = M - message_admins("[key_name_admin(client)] has uploaded a map template ([map]). Took [stop_watch(timer)]s.") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] has uploaded a map template ([map]). Took [stop_watch(timer)]s.")) else to_chat(client, "Map template '[map]' failed to load properly") @@ -51,9 +51,9 @@ USER_VERB(map_template_load_lazy, R_DEBUG, "Map template - Lazy Load", "Map temp return var/datum/map_template/template = GLOB.map_templates[map] - message_admins("[key_name_admin(client)] is lazyloading the map template ([template.name]).") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] is lazyloading the map template ([template.name]).")) var/datum/turf_reservation/reserve = SSmapping.lazy_load_template(template) if(!istype(reserve)) - message_admins("Lazyloading [template.name] failed! You should report this as a bug.") + message_admins(SPAN_DANGER("Lazyloading [template.name] failed! You should report this as a bug.")) return - message_admins("[key_name_admin(client)] has lazyloaded the map template ([template.name]) at [ADMIN_JMP(reserve.bottom_left_turf)]") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] has lazyloaded the map template ([template.name]) at [ADMIN_JMP(reserve.bottom_left_turf)]")) diff --git a/code/modules/admin/verbs/mapping_verbs.dm b/code/modules/admin/verbs/mapping_verbs.dm index 14b4484e658..1da350244a5 100644 --- a/code/modules/admin/verbs/mapping_verbs.dm +++ b/code/modules/admin/verbs/mapping_verbs.dm @@ -173,4 +173,4 @@ USER_VERB(set_next_map, R_SERVER, "Set Next Map", "Set Next Map", VERB_CATEGORY_ message_admins("[key_name_admin(client)] has set the next map to [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])") log_admin("[key_name(client)] has set the next map to [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])") if(announce_to_players == "Yes") - to_chat(world, "[client.key] has chosen the following map for next round: [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])") + to_chat(world, SPAN_BOLDANNOUNCEOOC("[client.key] has chosen the following map for next round: [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])")) diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm index 47f447e3d65..a3d5ad6a36f 100644 --- a/code/modules/admin/verbs/modifyvariables.dm +++ b/code/modules/admin/verbs/modifyvariables.dm @@ -411,7 +411,7 @@ GLOBAL_PROTECT(VVmaint_only) L[var_value] = mod_list_add_ass(O) //hehe if(O) if(!O.vv_edit_var(objectvar, L)) - to_chat(src, "Your edit was rejected by the object.") + to_chat(src, SPAN_WARNING("Your edit was rejected by the object.")) return log_world("### ListVarEdit by [src]: [(O ? O.type : "/list")] [objectvar]: ADDED=[var_value]") log_admin("[key_name(src)] modified [original_name]'s [objectvar]: ADDED=[var_value]") @@ -454,7 +454,7 @@ GLOBAL_PROTECT(VVmaint_only) L = L.Copy() listclearnulls(L) if(!O.vv_edit_var(objectvar, L)) - to_chat(src, "Your edit was rejected by the object.") + to_chat(src, SPAN_WARNING("Your edit was rejected by the object.")) return log_world("### ListVarEdit by [src]: [O.type] [objectvar]: CLEAR NULLS") log_admin("[key_name(src)] modified [original_name]'s [objectvar]: CLEAR NULLS") @@ -464,7 +464,7 @@ GLOBAL_PROTECT(VVmaint_only) if(variable == "(CLEAR DUPES)") L = uniqueList(L) if(!O.vv_edit_var(objectvar, L)) - to_chat(src, "Your edit was rejected by the object.") + to_chat(src, SPAN_WARNING("Your edit was rejected by the object.")) return log_world("### ListVarEdit by [src]: [O.type] [objectvar]: CLEAR DUPES") log_admin("[key_name(src)] modified [original_name]'s [objectvar]: CLEAR DUPES") @@ -474,7 +474,7 @@ GLOBAL_PROTECT(VVmaint_only) if(variable == "(SHUFFLE)") L = shuffle(L) if(!O.vv_edit_var(objectvar, L)) - to_chat(src, "Your edit was rejected by the object.") + to_chat(src, SPAN_WARNING("Your edit was rejected by the object.")) return log_world("### ListVarEdit by [src]: [O.type] [objectvar]: SHUFFLE") log_admin("[key_name(src)] modified [original_name]'s [objectvar]: SHUFFLE") @@ -551,7 +551,7 @@ GLOBAL_PROTECT(VVmaint_only) L.Cut(index, index+1) if(O) if(!O.vv_edit_var(objectvar, L)) - to_chat(src, "Your edit was rejected by the object.") + to_chat(src, SPAN_WARNING("Your edit was rejected by the object.")) return log_world("### ListVarEdit by [src]: [O.type] [objectvar]: REMOVED=[html_encode("[original_var]")]") log_admin("[key_name(src)] modified [original_name]'s [objectvar]: REMOVED=[original_var]") @@ -570,7 +570,7 @@ GLOBAL_PROTECT(VVmaint_only) L[index] = new_var if(O) if(!O.vv_edit_var(objectvar, L)) - to_chat(src, "Your edit was rejected by the object.") + to_chat(src, SPAN_WARNING("Your edit was rejected by the object.")) return log_world("### ListVarEdit by [src]: [(O ? O.type : "/list")] [objectvar]: [original_var]=[new_var]") log_admin("[key_name(src)] modified [original_name]'s [objectvar]: [original_var]=[new_var]") @@ -708,7 +708,7 @@ GLOBAL_PROTECT(VVmaint_only) var_new = replacetext(var_new,"\[[V]]","[O.vars[V]]") if(!O.vv_edit_var(variable, var_new)) - to_chat(src, "Your edit was rejected by the object.") + to_chat(src, SPAN_WARNING("Your edit was rejected by the object.")) return SEND_GLOBAL_SIGNAL(COMSIG_GLOB_VAR_EDIT, args) log_world("### VarEdit by [src]: [O.type] [variable]=[html_encode("[var_new]")] (Type: [class])") diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 038f7baac6b..31cab777e01 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -389,7 +389,7 @@ USER_VERB(one_click_antag, R_SERVER|R_EVENT, "Create Antagonist", "Auto-create a thunderdome_candidates.Cut(max_thunderdome_players + 1) if(ISODD(length(thunderdome_candidates))) // We want fair fights var/surplus_candidate = pick_n_take(thunderdome_candidates) - to_chat(surplus_candidate, "You were not chosen due to an odd number of participants.") + to_chat(surplus_candidate, SPAN_WARNING("You were not chosen due to an odd number of participants.")) for(var/mob/dead/observer/candidate_to_spawn in thunderdome_candidates) if(!candidate_to_spawn || !candidate_to_spawn.key || !candidate_to_spawn.client) continue diff --git a/code/modules/admin/verbs/onlyoneteam.dm b/code/modules/admin/verbs/onlyoneteam.dm index ce2f0c77b44..0e4b346a9c0 100644 --- a/code/modules/admin/verbs/onlyoneteam.dm +++ b/code/modules/admin/verbs/onlyoneteam.dm @@ -79,15 +79,15 @@ return var/mob/A = locateUID(thrownby) if((H in GLOB.team_alpha) && (A in GLOB.team_alpha)) - to_chat(A, "He's on your team!") + to_chat(A, SPAN_WARNING("He's on your team!")) return else if((H in GLOB.team_bravo) && (A in GLOB.team_bravo)) - to_chat(A, "He's on your team!") + to_chat(A, SPAN_WARNING("He's on your team!")) return else if(!(A in GLOB.team_alpha) && !(A in GLOB.team_bravo)) - to_chat(A, "You're not part of the dodgeball game, sorry!") + to_chat(A, SPAN_WARNING("You're not part of the dodgeball game, sorry!")) return else playsound(src, 'sound/items/dodgeball.ogg', 50, 1) - visible_message("[H] HAS BEEN ELIMINATED!") + visible_message(SPAN_DANGER("[H] HAS BEEN ELIMINATED!")) H.melt() diff --git a/code/modules/admin/verbs/ping_all_admins.dm b/code/modules/admin/verbs/ping_all_admins.dm index 9453a63109e..044c35111ce 100644 --- a/code/modules/admin/verbs/ping_all_admins.dm +++ b/code/modules/admin/verbs/ping_all_admins.dm @@ -20,7 +20,7 @@ USER_VERB(ping_all_admins, R_ADMIN, "Ping all admins", "Ping all admins", VERB_C admins_to_ping += C if(length(admins_to_ping) < 2) // All by yourself? - to_chat(client, "No other admins online to ping[de_admin_also == "Yes" ? ", including those that have used de-admin" : ""]!") + to_chat(client, SPAN_BOLDANNOUNCEOOC("No other admins online to ping[de_admin_also == "Yes" ? ", including those that have used de-admin" : ""]!")) return var/datum/say/asay = new(client.ckey, client.holder.rank, msg, world.timeofday) @@ -29,5 +29,5 @@ USER_VERB(ping_all_admins, R_ADMIN, "Ping all admins", "Ping all admins", VERB_C for(var/client/C in admins_to_ping) SEND_SOUND(C, sound('sound/misc/ping.ogg')) - to_chat(C, "ALL ADMIN PING: [key_name(client, TRUE)] ([admin_jump_link(client.mob)]): [msg]") + to_chat(C, SPAN_ALL_ADMIN_PING("ALL ADMIN PING: [SPAN_NAME("[key_name(client, TRUE)]")] ([admin_jump_link(client.mob)]): [SPAN_EMOJI_ENABLED("[msg]")]")) to_chat(client, "[length(admins_to_ping)] clients pinged.") diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index 7f92917739a..02ccc423a16 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -38,7 +38,7 @@ USER_VERB(play_sound, R_SOUNDS, "Legacy Play Global Sound", "Send a sound to pla uploaded_sound.volume = 100 * M.client.prefs.get_channel_volume(CHANNEL_ADMIN) var/this_uid = M.client.UID() - to_chat(M, "[client.ckey] played [S] (SILENCE) (ALWAYS SILENCE THIS ADMIN)") + to_chat(M, SPAN_BOLDANNOUNCEIC("[client.ckey] played [S] (SILENCE) (ALWAYS SILENCE THIS ADMIN)")) SEND_SOUND(M, uploaded_sound) SSblackbox.record_feedback("tally", "admin_verb", 1, "Play Global Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -120,7 +120,7 @@ USER_VERB(play_sound_tgchat, R_SOUNDS, "Play Global Sound", "Play a sound to be if(sound_mode == "Web") if(!GLOB.configuration.system.ytdlp_url) - to_chat(client, "yt-dlp was not configured, action unavailable") //Check config + to_chat(client, SPAN_BOLDWARNING("yt-dlp was not configured, action unavailable")) //Check config return web_sound_input = tgui_input_text(client, "Enter content URL", "Play Internet Sound", null) @@ -130,8 +130,8 @@ USER_VERB(play_sound_tgchat, R_SOUNDS, "Play Global Sound", "Play a sound to be web_sound_input = trim(web_sound_input) if(findtext(web_sound_input, ":") && !findtext(web_sound_input, GLOB.is_http_protocol)) - to_chat(client, "Non-http(s) URIs are not allowed.") - to_chat(client, "For yt-dlp shortcuts like ytsearch: please use the appropriate full url from the website.") + to_chat(client, SPAN_BOLDWARNING("Non-http(s) URIs are not allowed.")) + to_chat(client, SPAN_WARNING("For yt-dlp shortcuts like ytsearch: please use the appropriate full url from the website.")) return // Prepare the body @@ -149,12 +149,12 @@ USER_VERB(play_sound_tgchat, R_SOUNDS, "Play Global Sound", "Play a sound to be try data = json_decode(media_poll_response.body) catch(var/exception/e) - to_chat(client, "yt-dlp JSON parsing FAILED:") - to_chat(client, "[e]: [media_poll_response.body]") + to_chat(client, SPAN_BOLDWARNING("yt-dlp JSON parsing FAILED:")) + to_chat(client, SPAN_WARNING("[e]: [media_poll_response.body]")) return else - to_chat(client, "yt-dlp URL retrieval FAILED:") - to_chat(client, "[media_poll_response.body]") + to_chat(client, SPAN_BOLDWARNING("yt-dlp URL retrieval FAILED:")) + to_chat(client, SPAN_WARNING("[media_poll_response.body]")) return else if(sound_mode == "Upload MP3") @@ -170,7 +170,7 @@ USER_VERB(play_sound_tgchat, R_SOUNDS, "Play Global Sound", "Play a sound to be var/static/regex/only_extension = regex(@{"^.*\.([a-z0-9]{1,5})$"}, "gi") var/extension = only_extension.Replace("[soundfile]", "$1") if(!length(extension) || extension != "mp3") - to_chat(client, "Invalid filename extension.") + to_chat(client, SPAN_BOLDWARNING("Invalid filename extension.")) return var/static/playsound_notch = 1 @@ -201,20 +201,20 @@ USER_VERB(play_sound_tgchat, R_SOUNDS, "Play Global Sound", "Play a sound to be if(res == "Yes") log_admin("[key_name(client)] played sound: [web_sound_input]") message_admins("[key_name(client)] played sound: [web_sound_input]") - to_chat(world, "[client.ckey] played: [webpage_url]") + to_chat(world, SPAN_BOLDANNOUNCEOOC("[client.ckey] played: [webpage_url]")) else if(res == "No") music_extra_data["link"] = "Song Link Hidden" music_extra_data["title"] = "Song Title Hidden" music_extra_data["artist"] = "Song Artist Hidden" log_admin("[key_name(client)] played sound: [web_sound_input]") message_admins("[key_name(client)] played sound: [web_sound_input]") - to_chat(world, "[client.ckey] played a sound") + to_chat(world, SPAN_BOLDANNOUNCEOOC("[client.ckey] played a sound")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Play Global Sound TGchat") if(!must_send_assets && web_sound_url && !findtext(web_sound_url, GLOB.is_http_protocol)) - to_chat(client, "BLOCKED: Content URL not using http(s) protocol", confidential = TRUE) - to_chat(client, "The media provider returned a content URL that isn't using the HTTP or HTTPS protocol", confidential = TRUE) + to_chat(client, SPAN_BOLDWARNING("BLOCKED: Content URL not using http(s) protocol"), confidential = TRUE) + to_chat(client, SPAN_WARNING("The media provider returned a content URL that isn't using the HTTP or HTTPS protocol"), confidential = TRUE) return if(web_sound_url) @@ -223,13 +223,13 @@ USER_VERB(play_sound_tgchat, R_SOUNDS, "Play Global Sound", "Play a sound to be var/player_uid = M.client.UID() if(C.prefs.sound & SOUND_MIDI) if(client.ckey in M.client.prefs.admin_sound_ckey_ignore) - to_chat(C, "But [client.ckey] is muted locally in preferences!") + to_chat(C, SPAN_WARNING("But [client.ckey] is muted locally in preferences!")) continue else if(must_send_assets) SSassets.transport.send_assets(C, asset_name) C.tgui_panel?.play_music(web_sound_url, music_extra_data) - to_chat(C, "(SILENCE) (ALWAYS SILENCE THIS ADMIN)") + to_chat(C, SPAN_WARNING("(SILENCE) (ALWAYS SILENCE THIS ADMIN)")) else - to_chat(C, "But Admin MIDIs are disabled in preferences!") + to_chat(C, SPAN_WARNING("But Admin MIDIs are disabled in preferences!")) return diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index 5a9e9990f33..313a426c7c2 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -8,7 +8,7 @@ if(usr.client) if(check_mute(client.ckey, MUTE_PRAY)) - to_chat(usr, "You cannot pray (muted).") + to_chat(usr, SPAN_WARNING("You cannot pray (muted).")) return if(client.handle_spam_prevention(msg, MUTE_PRAY, OOC_COOLDOWN)) return @@ -30,7 +30,7 @@ deity = GET_CULT_DATA(entity_name, "Cult God") log_say("(PRAYER) [msg]", usr) - msg = "[bicon(cross)][prayer_type][deity ? " (to [deity])" : ""][mind && HAS_MIND_TRAIT(usr, TRAIT_HOLY) ? " (blessings: [mind.num_blessed])" : ""]: [key_name(src, 1)] ([ADMIN_QUE(src,"?")]) ([ADMIN_PP(src,"PP")]) ([ADMIN_VV(src,"VV")]) ([ADMIN_TP(src,"TP")]) ([ADMIN_SM(src,"SM")]) ([admin_jump_link(src)]) ([ADMIN_SC(src,"SC")]) (BLESS) (SMITE): [msg]" + msg = SPAN_NOTICE("[bicon(cross)][prayer_type][deity ? " (to [deity])" : ""][mind && HAS_MIND_TRAIT(usr, TRAIT_HOLY) ? " (blessings: [mind.num_blessed])" : ""]: [key_name(src, 1)] ([ADMIN_QUE(src,"?")]) ([ADMIN_PP(src,"PP")]) ([ADMIN_VV(src,"VV")]) ([ADMIN_TP(src,"TP")]) ([ADMIN_SM(src,"SM")]) ([admin_jump_link(src)]) ([ADMIN_SC(src,"SC")]) (BLESS) (SMITE): [msg]") for(var/client/X in GLOB.admins) if(check_rights(R_EVENT,0,X.mob)) @@ -43,7 +43,7 @@ /proc/Centcomm_announce(text, mob/Sender) var/msg = sanitize(copytext_char(text, 1, MAX_MESSAGE_LEN)) - msg = "CENTCOMM: [key_name(Sender, 1)] ([ADMIN_PP(Sender,"PP")]) ([ADMIN_VV(Sender,"VV")]) ([ADMIN_TP(Sender,"TP")]) ([ADMIN_SM(Sender,"SM")]) ([admin_jump_link(Sender)]) ([ADMIN_BSA(Sender,"BSA")]) ([ADMIN_CENTCOM_REPLY(Sender,"RPLY")])): [msg]" + msg = "[SPAN_BOLDNOTICE("CENTCOMM: [key_name(Sender, 1)] ([ADMIN_PP(Sender,"PP")]) ([ADMIN_VV(Sender,"VV")]) ([ADMIN_TP(Sender,"TP")]) ([ADMIN_SM(Sender,"SM")]) ([admin_jump_link(Sender)]) ([ADMIN_BSA(Sender,"BSA")]) ([ADMIN_CENTCOM_REPLY(Sender,"RPLY")])):")] [msg]" for(var/client/X in GLOB.admins) if(R_EVENT & X.holder.rights) to_chat(X, msg, MESSAGE_TYPE_ADMINPM) @@ -52,7 +52,7 @@ /proc/Syndicate_announce(text, mob/Sender) var/msg = sanitize(copytext_char(text, 1, MAX_MESSAGE_LEN)) - msg = "SYNDICATE: [key_name(Sender, 1)] ([ADMIN_PP(Sender,"PP")]) ([ADMIN_VV(Sender,"VV")]) ([ADMIN_TP(Sender,"TP")]) ([ADMIN_SM(Sender,"SM")]) ([admin_jump_link(Sender)]) ([ADMIN_BSA(Sender,"BSA")]) ([ADMIN_SYNDICATE_REPLY(Sender,"RPLY")]): [msg]" + msg = "[SPAN_BOLDNOTICE("SYNDICATE: [key_name(Sender, 1)] ([ADMIN_PP(Sender,"PP")]) ([ADMIN_VV(Sender,"VV")]) ([ADMIN_TP(Sender,"TP")]) ([ADMIN_SM(Sender,"SM")]) ([admin_jump_link(Sender)]) ([ADMIN_BSA(Sender,"BSA")]) ([ADMIN_SYNDICATE_REPLY(Sender,"RPLY")]):")] [msg]" for(var/client/X in GLOB.admins) if(check_rights(R_EVENT,0,X.mob)) to_chat(X, msg, MESSAGE_TYPE_ADMINPM) @@ -67,9 +67,9 @@ "sender_uid" = Sender.UID(), "message" = html_decode(msg))) GLOB.ert_request_messages.Insert(1, insert_this) // insert it to the top of the list - msg = "ERT REQUEST: [key_name(Sender, 1)] ([ADMIN_PP(Sender,"PP")]) ([ADMIN_VV(Sender,"VV")]) ([ADMIN_TP(Sender,"TP")]) ([ADMIN_SM(Sender,"SM")]) ([admin_jump_link(Sender)]) ([ADMIN_BSA(Sender,"BSA")]) (RESPOND): [msg]" + msg = SPAN_ADMINNOTICE("ERT REQUEST: [key_name(Sender, 1)] ([ADMIN_PP(Sender,"PP")]) ([ADMIN_VV(Sender,"VV")]) ([ADMIN_TP(Sender,"TP")]) ([ADMIN_SM(Sender,"SM")]) ([admin_jump_link(Sender)]) ([ADMIN_BSA(Sender,"BSA")]) (RESPOND): [msg]") if(repeat_warning) - msg += "
WARNING: ERT request has gone 5 minutes with no reply!" + msg += "
[SPAN_ADMINNOTICE("WARNING: ERT request has gone 5 minutes with no reply!")]" for(var/client/X in GLOB.admins) if(check_rights(R_EVENT,0,X.mob)) to_chat(X, msg, MESSAGE_TYPE_ADMINPM) @@ -80,16 +80,16 @@ var/nuke_code = get_nuke_code() var/nuke_status = get_nuke_status() var/msg = sanitize(copytext_char(text, 1, MAX_MESSAGE_LEN)) - msg = "NUKE CODE REQUEST: [key_name(Sender)] ([ADMIN_PP(Sender,"PP")]) ([ADMIN_VV(Sender,"VV")]) ([ADMIN_TP(Sender,"TP")]) ([ADMIN_SM(Sender,"SM")]) ([admin_jump_link(Sender)]) ([ADMIN_BSA(Sender,"BSA")]) ([ADMIN_CENTCOM_REPLY(Sender,"RPLY")]): [msg]" + msg = SPAN_ADMINNOTICE("NUKE CODE REQUEST: [key_name(Sender)] ([ADMIN_PP(Sender,"PP")]) ([ADMIN_VV(Sender,"VV")]) ([ADMIN_TP(Sender,"TP")]) ([ADMIN_SM(Sender,"SM")]) ([admin_jump_link(Sender)]) ([ADMIN_BSA(Sender,"BSA")]) ([ADMIN_CENTCOM_REPLY(Sender,"RPLY")]): [msg]") for(var/client/X in GLOB.admins) if(check_rights(R_EVENT,0,X.mob)) to_chat(X, msg, MESSAGE_TYPE_ADMINPM) if(nuke_status == NUKE_MISSING) - to_chat(X, "The nuclear device is not on station!") + to_chat(X, SPAN_USERDANGER("The nuclear device is not on station!")) else to_chat(X, "The nuke code is [nuke_code].") if(nuke_status == NUKE_CORE_MISSING) - to_chat(X, "The nuclear device does not have a core, and will not arm!") + to_chat(X, SPAN_USERDANGER("The nuclear device does not have a core, and will not arm!")) if(X.prefs.sound & SOUND_ADMINHELP) SEND_SOUND(X, sound('sound/effects/adminhelp.ogg')) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index d5da334caf6..5a96fd40be8 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -34,9 +34,9 @@ USER_VERB(imprison, R_ADMIN, "Prison", "Send a mob to prison.", VERB_CATEGORY_AD prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(prisoner), ITEM_SLOT_JUMPSUIT) prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), ITEM_SLOT_SHOES) spawn(50) - to_chat(M, "You have been sent to the prison station!") + to_chat(M, SPAN_WARNING("You have been sent to the prison station!")) log_admin("[key_name(client)] sent [key_name(M)] to the prison station.") - message_admins("[key_name_admin(client)] sent [key_name_admin(M)] to the prison station.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(client)] sent [key_name_admin(M)] to the prison station."), 1) SSblackbox.record_feedback("tally", "admin_verb", 1, "Prison") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_CONTEXT_MENU(subtle_message, R_EVENT, "\[Admin\] Subtle Message", mob/M as mob in GLOB.mob_list) @@ -54,7 +54,7 @@ USER_CONTEXT_MENU(subtle_message, R_EVENT, "\[Admin\] Subtle Message", mob/M as to_chat(M, "You hear a voice in your head... [msg]") log_admin("SubtlePM: [key_name(client)] -> [key_name(M)] : [msg]") - message_admins("Subtle Message: [key_name_admin(client)] -> [key_name_admin(M)] : [msg]", 1) + message_admins(SPAN_BOLDNOTICE("Subtle Message: [key_name_admin(client)] -> [key_name_admin(M)] : [msg]"), 1) M.create_log(MISC_LOG, "Subtle Message: [msg]", "From: [key_name_admin(client)]") SSblackbox.record_feedback("tally", "admin_verb", 1, "Subtle Message") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -108,7 +108,7 @@ USER_VERB(global_narrate, R_SERVER|R_EVENT, "Global Narrate", "Narrate text to t msg = admin_pencode_to_html(msg) to_chat(world, "[msg]") log_admin("GlobalNarrate: [key_name(client)] : [msg]") - message_admins("GlobalNarrate: [key_name_admin(client)]: [msg]
", 1) + message_admins(SPAN_BOLDNOTICE("GlobalNarrate: [key_name_admin(client)]: [msg]
"), 1) SSblackbox.record_feedback("tally", "admin_verb", 1, "Global Narrate") USER_CONTEXT_MENU(direct_narrate, R_SERVER|R_EVENT, "\[Admin\] Direct Narrate", mob/M) @@ -126,7 +126,7 @@ USER_CONTEXT_MENU(direct_narrate, R_SERVER|R_EVENT, "\[Admin\] Direct Narrate", to_chat(M, msg) log_admin("DirectNarrate: [key_name(client)] to ([key_name(M)]): [msg]") - message_admins("Direct Narrate: [key_name_admin(client)] to ([key_name_admin(M)]): [msg]
", 1) + message_admins(SPAN_BOLDNOTICE("Direct Narrate: [key_name_admin(client)] to ([key_name_admin(M)]): [msg]
"), 1) M.create_log(MISC_LOG, "Direct Narrate: [msg]", "From: [key_name_admin(client)]") SSblackbox.record_feedback("tally", "admin_verb", 1, "Direct Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -165,7 +165,7 @@ USER_CONTEXT_MENU(headset_message, R_SERVER|R_EVENT, "\[Admin\] Headset Message" USER_VERB(godmode, R_ADMIN, "Godmode", "Toggles godmode on a mob.", VERB_CATEGORY_ADMIN, mob/M as mob in GLOB.mob_list) M.status_flags ^= GODMODE - to_chat(client, "Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]") + to_chat(client, SPAN_NOTICE("Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]")) log_admin("[key_name(client)] has toggled [key_name(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]") message_admins("[key_name_admin(client)] has toggled [key_name_admin(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]", 1) @@ -247,18 +247,18 @@ USER_VERB(toggle_antaghud_use, R_SERVER, "Toggle antagHUD usage", "Toggles antag for(var/mob/dead/observer/g in client.get_ghosts()) if(g.antagHUD) g.antagHUD = FALSE // Disable it on those that have it enabled - to_chat(g, "The Administrators have disabled AntagHUD.") + to_chat(g, SPAN_DANGER("The Administrators have disabled AntagHUD.")) GLOB.configuration.general.allow_antag_hud = FALSE - to_chat(client, "AntagHUD usage has been disabled") + to_chat(client, SPAN_DANGER("AntagHUD usage has been disabled")) action = "disabled" else for(var/mob/dead/observer/g in client.get_ghosts()) if(!g.client.holder) // Add the verb back for all non-admin ghosts - to_chat(g, "The Administrators have enabled AntagHUD.")// Notify all observers they can now use AntagHUD + to_chat(g, SPAN_BOLDNOTICE("The Administrators have enabled AntagHUD."))// Notify all observers they can now use AntagHUD GLOB.configuration.general.allow_antag_hud = TRUE action = "enabled" - to_chat(client, "AntagHUD usage has been enabled") + to_chat(client, SPAN_BOLDNOTICE("AntagHUD usage has been enabled")) log_admin("[key_name(client)] has [action] antagHUD usage for observers") @@ -274,19 +274,19 @@ USER_VERB(toggle_antaghug_restrictions, R_SERVER, "Toggle antagHUD Restrictions" var/action="" if(GLOB.configuration.general.restrict_antag_hud_rejoin) for(var/mob/dead/observer/g in client.get_ghosts()) - to_chat(g, "The administrator has lifted restrictions on joining the round if you use AntagHUD") + to_chat(g, SPAN_BOLDNOTICE("The administrator has lifted restrictions on joining the round if you use AntagHUD")) action = "lifted restrictions" GLOB.configuration.general.restrict_antag_hud_rejoin = FALSE - to_chat(client, "AntagHUD restrictions have been lifted") + to_chat(client, SPAN_BOLDNOTICE("AntagHUD restrictions have been lifted")) else for(var/mob/dead/observer/g in client.get_ghosts()) - to_chat(g, "The administrator has placed restrictions on joining the round if you use AntagHUD") - to_chat(g, "Your AntagHUD has been disabled, you may choose to re-enabled it but will be under restrictions.") + to_chat(g, SPAN_DANGER("The administrator has placed restrictions on joining the round if you use AntagHUD")) + to_chat(g, SPAN_DANGER("Your AntagHUD has been disabled, you may choose to re-enabled it but will be under restrictions.")) g.antagHUD = FALSE GLOB.antag_hud_users -= g.ckey action = "placed restrictions" GLOB.configuration.general.restrict_antag_hud_rejoin = TRUE - to_chat(client, "AntagHUD restrictions have been enabled") + to_chat(client, SPAN_DANGER("AntagHUD restrictions have been enabled")) log_admin("[key_name(client)] has [action] on joining the round if they use AntagHUD") message_admins("Admin [key_name_admin(client)] has [action] on joining the round if they use AntagHUD", 1) @@ -334,7 +334,7 @@ USER_VERB(respawn_character, R_SPAWN, "Respawn Character", \ G_found.mind.transfer_to(new_xeno) //be careful when doing stuff like this! I've already checked the mind isn't in use new_xeno.key = G_found.key to_chat(new_xeno, "You have been fully respawned. Enjoy the game.") - message_admins("[key_name_admin(client)] has respawned [new_xeno.key] as a filthy xeno.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(client)] has respawned [new_xeno.key] as a filthy xeno."), 1) return //all done. The ghost is auto-deleted var/mob/living/carbon/human/new_character = new(pick(GLOB.latejoin))//The mob being spawned. @@ -445,7 +445,7 @@ USER_VERB(respawn_character, R_SPAWN, "Respawn Character", \ if(alert(new_character,"Would you like an active AI to announce this character?", null,"No","Yes")=="Yes") call(TYPE_PROC_REF(/mob/new_player, AnnounceArrival))(new_character, new_character.mind.assigned_role) - message_admins("[key_name_admin(client)] has respawned [key_name_admin(G_found)] as [new_character.real_name].", 1) + message_admins(SPAN_NOTICE("[key_name_admin(client)] has respawned [key_name_admin(G_found)] as [new_character.real_name]."), 1) to_chat(new_character, "You have been fully respawned. Enjoy the game.") @@ -486,7 +486,7 @@ USER_VERB(respawn_character, R_SPAWN, "Respawn Character", \ else return 0 new_xeno.ckey = ckey - message_admins("[key_name_admin(user)] has spawned [ckey] as a filthy xeno [alien_caste].", 1) + message_admins(SPAN_NOTICE("[key_name_admin(user)] has spawned [ckey] as a filthy xeno [alien_caste]."), 1) return 1 /client/proc/get_ghosts(notify = 0, what = 2) @@ -534,7 +534,7 @@ USER_CONTEXT_MENU(admin_rejuvenate, R_REJUVINATE, "\[Admin\] Rejuvenate", mob/li M.revive() log_admin("[key_name(client)] healed / revived [key_name(M)]") - message_admins("Admin [key_name_admin(client)] healed / revived [key_name_admin(M)]!", 1) + message_admins(SPAN_WARNING("Admin [key_name_admin(client)] healed / revived [key_name_admin(M)]!"), 1) SSblackbox.record_feedback("tally", "admin_verb", 1, "Rejuvenate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_VERB(create_centcom_report, R_SERVER|R_EVENT, "Create Communications Report", "Send an IC announcement to the game world.", VERB_CATEGORY_EVENT) @@ -609,7 +609,7 @@ USER_VERB(list_open_jobs, R_ADMIN, "List free slots", "List available station jo if(SSjobs) var/currentpositiontally var/totalpositiontally - to_chat(client, "Job Name: Filled job slot / Total job slots (Free job slots)") + to_chat(client, SPAN_NOTICE("Job Name: Filled job slot / Total job slots (Free job slots)")) for(var/datum/job/job in SSjobs.occupations) to_chat(client, "[job.title]: [job.current_positions] / \ [job.total_positions == -1 ? "UNLIMITED" : job.total_positions] \ @@ -688,7 +688,7 @@ USER_VERB(gib_self, R_ADMIN|R_EVENT, "Gibself", "Gibself.", VERB_CATEGORY_EVENT) mob.gib() log_admin("[key_name(client)] used gibself.") - message_admins("[key_name_admin(client)] used gibself.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(client)] used gibself."), 1) SSblackbox.record_feedback("tally", "admin_verb", 1, "Gibself") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_CONTEXT_MENU(admin_check_contents, R_ADMIN, "\[Admin\] Check Contents", mob/living/M as mob) @@ -725,7 +725,7 @@ USER_VERB(call_shuttle, R_ADMIN, "Call Shuttle", "Calls the shuttle.", VERB_CATE SSshuttle.emergency.request() log_admin("[key_name(client)] admin-called the emergency shuttle.") - message_admins("[key_name_admin(client)] admin-called the emergency shuttle.") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] admin-called the emergency shuttle.")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Call Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_VERB(cancel_shuttle, R_ADMIN, "Cancel Shuttle", "Cancels the shuttle.", VERB_CATEGORY_ADMIN) @@ -747,7 +747,7 @@ USER_VERB(cancel_shuttle, R_ADMIN, "Cancel Shuttle", "Cancels the shuttle.", VER SSshuttle.emergency.cancel(byCC = TRUE) log_admin("[key_name(client)] admin-recalled the emergency shuttle.") - message_admins("[key_name_admin(client)] admin-recalled the emergency shuttle.") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] admin-recalled the emergency shuttle.")) SSblackbox.record_feedback("tally", "admin_verb", 1, "Cancel Shuttle") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_VERB(deny_shuttle, R_ADMIN, "Toggle Deny Shuttle", "Toggles crew shuttle calling-ability.", VERB_CATEGORY_ADMIN) @@ -763,7 +763,7 @@ USER_VERB(deny_shuttle, R_ADMIN, "Toggle Deny Shuttle", "Toggles crew shuttle ca if(alert == "Allow") if(!length(SSshuttle.hostile_environments)) - to_chat(client, "No hostile environments found, cleared for takeoff!") + to_chat(client, SPAN_NOTICE("No hostile environments found, cleared for takeoff!")) return if(alert(client, "[english_list(SSshuttle.hostile_environments)] is currently blocking the shuttle call, do you want to clear them?", "Toggle Deny Shuttle", "Yes", "No") == "Yes") SSshuttle.hostile_environments.Cut() @@ -776,7 +776,7 @@ USER_VERB(deny_shuttle, R_ADMIN, "Toggle Deny Shuttle", "Toggles crew shuttle ca log_and_message_admins("has denied the shuttle to be called.") USER_VERB(open_attack_log, R_ADMIN, "Attack Log", "Prints the attack log.", VERB_CATEGORY_ADMIN, mob/M as mob in GLOB.mob_list) - to_chat(client, "Attack Log for [M]") + to_chat(client, SPAN_DANGER("Attack Log for [M]")) for(var/t in M.attack_log_old) to_chat(client, t) SSblackbox.record_feedback("tally", "admin_verb", 1, "Attack Log") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -803,7 +803,7 @@ USER_VERB(everyone_random, R_SERVER|R_EVENT, "Make Everyone Random", \ message_admins("Admin [key_name_admin(client)] has forced the players to have random appearances.", 1) if(notifyplayers == "Yes") - to_chat(world, "Admin [client.key] has forced the players to have completely random identities!") + to_chat(world, SPAN_NOTICE("Admin [client.key] has forced the players to have completely random identities!")) to_chat(client, "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet.") @@ -928,12 +928,12 @@ USER_VERB(list_ssds_afks, R_ADMIN, "List SSDs and AFKs", "List SSDs and AFK play USER_VERB(toggle_ert_calling, R_EVENT, "Toggle ERT", "Toggle the station's ability to call a response team.", VERB_CATEGORY_EVENT) if(SSticker.mode.ert_disabled) SSticker.mode.ert_disabled = FALSE - to_chat(client, "ERT has been Enabled.") + to_chat(client, SPAN_NOTICE("ERT has been Enabled.")) log_admin("Admin [key_name(client)] has enabled ERT calling.") message_admins("Admin [key_name_admin(client)] has enabled ERT calling.", 1) else SSticker.mode.ert_disabled = TRUE - to_chat(client, "ERT has been Disabled.") + to_chat(client, SPAN_WARNING("ERT has been Disabled.")) log_admin("Admin [key_name(client)] has disabled ERT calling.") message_admins("Admin [key_name_admin(client)] has disabled ERT calling.", 1) @@ -964,7 +964,7 @@ USER_VERB(modify_goals, R_EVENT, "Modify Station Goals", "Modify station goals." /datum/admins/proc/modify_goals() if(SSticker.current_state < GAME_STATE_PLAYING) - to_chat(usr, "This verb can only be used if the round has started.") + to_chat(usr, SPAN_WARNING("This verb can only be used if the round has started.")) return var/list/dat = list("") diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index f8919de1c21..3260b9f51a9 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -19,7 +19,7 @@ GLOBAL_VAR_INIT(sent_syndicate_strike_team, 0) return alert("This 'mode' will go on until everyone is dead or the station is destroyed. You may also admin-call the evac shuttle when appropriate. Spawned syndicates have internals cameras which are viewable through a monitor inside the Syndicate Mothership Bridge. Assigning the team's detailed task is recommended from there. The first one selected/spawned will be the team leader.") - message_admins("[key_name_admin(usr)] has started to spawn a Syndicate Strike Team.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] has started to spawn a Syndicate Strike Team."), 1) var/input = null while(!input) @@ -48,7 +48,7 @@ GLOBAL_VAR_INIT(sent_syndicate_strike_team, 0) var/image/I = new('icons/obj/cardboard_cutout.dmi', "cutout_commando") var/list/commando_ghosts = pollCandidatesWithVeto(src, usr, SYNDICATE_COMMANDOS_POSSIBLE, "Join the Syndicate Strike Team?", null, 21, 45 SECONDS, TRUE, GLOB.role_playtime_requirements[ROLE_DEATHSQUAD], TRUE, FALSE, source = I) if(!length(commando_ghosts)) - to_chat(usr, "Nobody volunteered to join the SST.") + to_chat(usr, SPAN_USERDANGER("Nobody volunteered to join the SST.")) return GLOB.sent_syndicate_strike_team = 1 @@ -78,10 +78,10 @@ GLOBAL_VAR_INIT(sent_syndicate_strike_team, 0) //So they don't forget their code or mission. if(nuke_code) - new_syndicate_commando.mind.store_memory("Nuke Code: [nuke_code].") - new_syndicate_commando.mind.store_memory("Mission: [input].") + new_syndicate_commando.mind.store_memory("Nuke Code: [SPAN_WARNING("[nuke_code].")]") + new_syndicate_commando.mind.store_memory("Mission: [SPAN_WARNING("[input].")]") - to_chat(new_syndicate_commando, "You are an Elite Syndicate [is_leader ? "TEAM LEADER" : "commando"] in the service of the Syndicate. \nYour current mission is: [input]") + to_chat(new_syndicate_commando, SPAN_NOTICE("You are an Elite Syndicate [is_leader ? "TEAM LEADER" : "commando"] in the service of the Syndicate. \nYour current mission is: [SPAN_USERDANGER("[input]")]")) new_syndicate_commando.faction += "syndicate" var/datum/atom_hud/antag/opshud = GLOB.huds[ANTAG_HUD_OPS] opshud.join_hud(new_syndicate_commando.mind.current) @@ -90,7 +90,7 @@ GLOBAL_VAR_INIT(sent_syndicate_strike_team, 0) is_leader = FALSE syndicate_commando_number-- - message_admins("[key_name_admin(usr)] has spawned a Syndicate strike squad.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] has spawned a Syndicate strike squad."), 1) log_admin("[key_name(usr)] used Spawn Syndicate Squad.") SSblackbox.record_feedback("tally", "admin_verb", 1, "Send SST") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/ticklag.dm b/code/modules/admin/verbs/ticklag.dm index 34eea0f6c39..38b7f869d47 100644 --- a/code/modules/admin/verbs/ticklag.dm +++ b/code/modules/admin/verbs/ticklag.dm @@ -10,4 +10,4 @@ USER_VERB(set_ticklag, R_MAINTAINER, "Set Ticklag", \ SSblackbox.record_feedback("tally", "admin_verb", 1, "Set Ticklag") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! else - to_chat(client, "Error: ticklag(): Invalid world.ticklag value. No changes made.") + to_chat(client, SPAN_WARNING("Error: ticklag(): Invalid world.ticklag value. No changes made.")) diff --git a/code/modules/admin/verbs/tripAI.dm b/code/modules/admin/verbs/tripAI.dm index 4fc6b4aade3..ad8b3f9e32a 100644 --- a/code/modules/admin/verbs/tripAI.dm +++ b/code/modules/admin/verbs/tripAI.dm @@ -12,15 +12,15 @@ to_chat(usr, "Unable to locate the AI job") return if(HAS_TRAIT(SSstation, STATION_TRAIT_TRIAI)) - to_chat(usr, "The triple AI station trait is now enabled. This trait can be disabled in the Modify Station Traits menu.") + to_chat(usr, SPAN_DANGER("The triple AI station trait is now enabled. This trait can be disabled in the Modify Station Traits menu.")) return if(SSticker.triai) SSticker.triai = FALSE to_chat(usr, "Only one AI will be spawned at round start.") - message_admins("[key_name_admin(usr)] has toggled off triple AIs at round start.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] has toggled off triple AIs at round start."), 1) else SSticker.triai = TRUE to_chat(usr, "There will be an AI Triumvirate at round start.") - message_admins("[key_name_admin(usr)] has toggled on triple AIs at round start.", 1) + message_admins(SPAN_NOTICE("[key_name_admin(usr)] has toggled on triple AIs at round start."), 1) return diff --git a/code/modules/admin/watchlist.dm b/code/modules/admin/watchlist.dm index 4cd869e6e8b..ac0179af8d6 100644 --- a/code/modules/admin/watchlist.dm +++ b/code/modules/admin/watchlist.dm @@ -12,7 +12,7 @@ qdel(query_watchfind) return if(!query_watchfind.NextRow()) - to_chat(usr, "[new_ckey] has not been seen before, you can only add known players.") + to_chat(usr, SPAN_REDTEXT("[new_ckey] has not been seen before, you can only add known players.")) qdel(query_watchfind) return else @@ -31,7 +31,7 @@ qdel(query_watch) if(already_watched) - to_chat(usr, "[target_ckey] is already on the watchlist.") + to_chat(usr, SPAN_REDTEXT("[target_ckey] is already on the watchlist.")) return var/reason = input(usr,"Please state the reason","Reason") as message|null if(!reason) diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm index 0e52e5b2b7b..ef4e102313d 100644 --- a/code/modules/antagonists/_common/antag_datum.dm +++ b/code/modules/antagonists/_common/antag_datum.dm @@ -234,7 +234,7 @@ GLOBAL_LIST_EMPTY(antagonists) return FALSE if(!silent && message) - to_chat(clown, "[message]") + to_chat(clown, SPAN_BOLDNOTICE("[message]")) return TRUE /** @@ -318,7 +318,7 @@ GLOBAL_LIST_EMPTY(antagonists) if(length(finalized) || istext(finalized)) messages.Add(finalized) if(wiki_page_name) - messages.Add("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/[wiki_page_name])") + messages.Add(SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/[wiki_page_name])")) if(length(messages)) to_chat(owner.current, chat_box_red(messages.Join("
"))) if(is_banned(owner.current) && replace_banned) @@ -357,7 +357,7 @@ GLOBAL_LIST_EMPTY(antagonists) var/list/mob/dead/observer/candidates = SSghost_spawns.poll_candidates("Do you want to play as a [name]?", job_rank, TRUE, 10 SECONDS) if(!length(candidates)) message_admins("[owner] ([owner.key]) has been converted into [name] with an active antagonist jobban for said role since no ghost has volunteered to take [owner.p_their()] place.") - to_chat(owner.current, "You have been converted into [name] with an active jobban. Your body was offered up but there were no ghosts to take over. You will be allowed to continue as [name], but any further violations of the rules on your part are likely to result in a permanent ban.") + to_chat(owner.current, SPAN_BIGGERDANGER("You have been converted into [name] with an active jobban. Your body was offered up but there were no ghosts to take over. You will be allowed to continue as [name], but any further violations of the rules on your part are likely to result in a permanent ban.")) return FALSE var/mob/dead/observer/C = pick(candidates) to_chat(owner.current, "Your mob has been taken over by a ghost! Appeal your job ban if you want to avoid this in the future!") @@ -376,7 +376,7 @@ GLOBAL_LIST_EMPTY(antagonists) var/list/messages = list() . = messages if(owner && owner.current) - messages.Add("You are a [special_role]!") + messages.Add(SPAN_USERDANGER("You are a [special_role]!")) /** * Displays a message to the antag mob while the datum is being deleted, i.e. "Your powers are gone and you're no longer a vampire!" @@ -385,7 +385,7 @@ GLOBAL_LIST_EMPTY(antagonists) */ /datum/antagonist/proc/farewell() if(owner && owner.current) - to_chat(owner.current,"You are no longer a [special_role]!") + to_chat(owner.current,SPAN_USERDANGER("You are no longer a [special_role]!")) /** * Creates a new antagonist team. @@ -558,7 +558,7 @@ GLOBAL_LIST_EMPTY(antagonists) //Displayed at the start of roundend_category section, default to roundend_category header /datum/antagonist/proc/roundend_report_header() - return "The [roundend_category] were:
" + return "[SPAN_HEADER("The [roundend_category] were:")]
" //Displayed at the end of roundend_category section /datum/antagonist/proc/roundend_report_footer() @@ -580,11 +580,11 @@ GLOBAL_LIST_EMPTY(antagonists) var/objectives = user.mind.get_all_objectives() for(var/datum/objective/goal in objectives) if(!goal.is_valid_exfiltration()) - to_chat(user, "The [boss_title] has deemed your objectives too delicate for an early extraction.") + to_chat(user, SPAN_WARNING("The [boss_title] has deemed your objectives too delicate for an early extraction.")) return if(world.time < 60 MINUTES) // 60 minutes of no exfil - to_chat(user, "The [boss_title] is still preparing an exfiltration portal. Please wait another [round((36000 - world.time) / 600)] minutes before trying again.") + to_chat(user, SPAN_WARNING("The [boss_title] is still preparing an exfiltration portal. Please wait another [round((36000 - world.time) / 600)] minutes before trying again.")) return var/mob/living/L = user if(!istype(L)) diff --git a/code/modules/antagonists/_common/antag_exfiltration.dm b/code/modules/antagonists/_common/antag_exfiltration.dm index f7dd682786c..a82f81b77fd 100644 --- a/code/modules/antagonists/_common/antag_exfiltration.dm +++ b/code/modules/antagonists/_common/antag_exfiltration.dm @@ -104,9 +104,9 @@ /obj/item/wormhole_jaunter/extraction/examine(mob/user) . = ..() if(isAntag(user)) - . += "The target extraction locations are:" + . += SPAN_WARNING("The target extraction locations are:") for(var/area/A in extractable_areas) - . += " - [A.name]" + . += SPAN_WARNING(" - [A.name]") /obj/item/wormhole_jaunter/extraction/activate(mob/user) if(!turf_check(user)) @@ -114,7 +114,7 @@ // Delay extractions if(world.time < 60 MINUTES && delayed_extraction) // 60 minutes of no exfil - to_chat(user, "The exfiltration teleporter is calibrating. Please wait another [round((36000 - world.time) / 600)] minutes before trying again.") + to_chat(user, SPAN_WARNING("The exfiltration teleporter is calibrating. Please wait another [round((36000 - world.time) / 600)] minutes before trying again.")) return // Objective checks @@ -140,7 +140,7 @@ has_target_objective = TRUE if(denied && is_target) - to_chat(user, "Someone or something has jammed your extraction beacon, forcing it to disintegrate early!") + to_chat(user, SPAN_WARNING("Someone or something has jammed your extraction beacon, forcing it to disintegrate early!")) if(!has_target_objective) user.mind.add_mind_objective(/datum/objective/potentially_backstabbed, "Someone or something has jammed your extraction! Survive!") var/list/messages = user.mind.prepare_announce_objectives(FALSE) @@ -149,7 +149,7 @@ qdel(src) return else if(denied) - to_chat(user, "Your objectives are too delicate for an early extraction.") + to_chat(user, SPAN_WARNING("Your objectives are too delicate for an early extraction.")) new /obj/effect/decal/cleanable/ash(get_turf(src)) qdel(src) return @@ -177,7 +177,7 @@ break if(!device_turf || invalid_area) - to_chat(user, "You're having difficulties getting the [name] to work.") + to_chat(user, SPAN_NOTICE("You're having difficulties getting the [name] to work.")) return FALSE return TRUE @@ -188,14 +188,14 @@ qdel(src) /obj/item/wormhole_jaunter/extraction/emag_act(mob/user) - to_chat(user, "Emagging [src] has no effect.") + to_chat(user, SPAN_WARNING("Emagging [src] has no effect.")) /obj/item/wormhole_jaunter/extraction/chasm_react(mob/user) return // This is not an instant getaway portal like the jaunter /obj/item/wormhole_jaunter/extraction/proc/show_activation_message(mob/user) - user.visible_message("[user] pulls out a black and gold flare and lights it.", - "You light an extraction flare, initiating the extraction process.") + user.visible_message(SPAN_NOTICE("[user] pulls out a black and gold flare and lights it."), + SPAN_NOTICE("You light an extraction flare, initiating the extraction process.")) /obj/item/wormhole_jaunter/extraction/vampire name = "blood chalice" @@ -205,8 +205,8 @@ setup_type = /obj/effect/temp_visual/exfiltration/vampire /obj/item/wormhole_jaunter/extraction/vampire/show_activation_message(mob/user) - user.visible_message("[user] sets a blood-filled chalice on the ground. It begins to bubble ominously...", - "You set a blood-filled chalice on the ground. It begins to bubble ominously...") + user.visible_message(SPAN_NOTICE("[user] sets a blood-filled chalice on the ground. It begins to bubble ominously..."), + SPAN_NOTICE("You set a blood-filled chalice on the ground. It begins to bubble ominously...")) /obj/item/wormhole_jaunter/extraction/changeling name = "writhing mass" @@ -216,8 +216,8 @@ setup_type = /obj/effect/temp_visual/exfiltration/changeling /obj/item/wormhole_jaunter/extraction/changeling/show_activation_message(mob/user) - user.visible_message("[user] sets a grotesque fleshy mass on the floor.", - "You set a pulsing piece of yourself on the floor.") + user.visible_message(SPAN_NOTICE("[user] sets a grotesque fleshy mass on the floor."), + SPAN_NOTICE("You set a pulsing piece of yourself on the floor.")) /obj/item/wormhole_jaunter/extraction/mindflayer name = "nanite telepad" @@ -226,8 +226,8 @@ setup_type = /obj/effect/temp_visual/exfiltration/mindflayer /obj/item/wormhole_jaunter/extraction/mindflayer/show_activation_message(mob/user) - user.visible_message("[user] sets a strange telepad on the floor. It begins to unfold.", - "You push a button on [src], and watch as it begins to unfold.") + user.visible_message(SPAN_NOTICE("[user] sets a strange telepad on the floor. It begins to unfold."), + SPAN_NOTICE("You push a button on [src], and watch as it begins to unfold.")) /obj/item/wormhole_jaunter/extraction/admin name = "advanced extraction flare" @@ -479,10 +479,10 @@ return FALSE var/datum/mind/user_mind = user.mind if(user_mind != antag_mind) - to_chat(user, "You jump through the portal! Right before you see the other side, you feel an immense, sharp pain in your head!") + to_chat(user, SPAN_WARNING("You jump through the portal! Right before you see the other side, you feel an immense, sharp pain in your head!")) var/list/L = get_destinations() if(!length(L)) - to_chat(user, "[src] found no beacons in the sector to target.") + to_chat(user, SPAN_WARNING("[src] found no beacons in the sector to target.")) return var/random_destination = pick(L) if(!do_teleport(victim, random_destination, 2, force_teleport, effect, effect, bypass_area_flag = ignore_tele_proof_area_setting)) @@ -511,7 +511,7 @@ return destinations /obj/effect/portal/advanced/exfiltration/proc/fail_extraction(mob/living/schmuck) - to_chat(schmuck, "You feel immense pain!") + to_chat(schmuck, SPAN_WARNING("You feel immense pain!")) log_and_message_admins("[schmuck] went through an exfiltration portal they didn't control.") schmuck.Paralyse(30 SECONDS) schmuck.EyeBlind(35 SECONDS) @@ -526,13 +526,13 @@ schmuck.adjustBruteLoss(40) schmuck.adjustBrainLoss(25) injury_target.droplimb() - to_chat(schmuck, "You were interrogated by your captors before being sent back! Oh god, something's missing!") + to_chat(schmuck, SPAN_WARNING("You were interrogated by your captors before being sent back! Oh god, something's missing!")) return // Species specific punishments first if(ismachineperson(schmuck)) schmuck.emp_act(EMP_HEAVY) schmuck.adjustBrainLoss(30) - to_chat(schmuck, "You were interrogated by your captors before being sent back! You feel like some of your components are loose!") + to_chat(schmuck, SPAN_WARNING("You were interrogated by your captors before being sent back! You feel like some of your components are loose!")) return schmuck.adjustBruteLoss(40) schmuck.adjustBrainLoss(25) @@ -543,7 +543,7 @@ injury_target.cause_internal_bleeding() injury_target = schmuck.get_organ(BODY_ZONE_CHEST) injury_target.cause_internal_bleeding() - to_chat(schmuck, "You were interrogated by your captors before being sent back! You feel like your inner membrane has been punctured!") + to_chat(schmuck, SPAN_WARNING("You were interrogated by your captors before being sent back! You feel like your inner membrane has been punctured!")) return if(prob(25)) injury_target = schmuck.get_organ(BODY_ZONE_CHEST) diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 74b2b554987..f20e3af903e 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -30,13 +30,13 @@ /obj/item/antag_spawner/nuke_ops/proc/check_usability(mob/user) if(used) - to_chat(user, "[src] is out of power!") + to_chat(user, SPAN_WARNING("[src] is out of power!")) return FALSE if(!(user.mind in SSticker.mode.syndicates)) - to_chat(user, "AUTHENTICATION FAILURE. ACCESS DENIED.") + to_chat(user, SPAN_DANGER("AUTHENTICATION FAILURE. ACCESS DENIED.")) return FALSE if(checking) - to_chat(user, "The device is already connecting to Syndicate command. Please wait.") + to_chat(user, SPAN_DANGER("The device is already connecting to Syndicate command. Please wait.")) return FALSE return TRUE @@ -50,7 +50,7 @@ checking = TRUE - to_chat(user, "You activate [src] and wait for confirmation.") + to_chat(user, SPAN_NOTICE("You activate [src] and wait for confirmation.")) var/list/nuke_candidates = SSghost_spawns.poll_candidates("Do you want to play as a [rolename]?", ROLE_OPERATIVE, TRUE, 15 SECONDS, source = poll_icon) if(length(nuke_candidates)) checking = FALSE @@ -64,7 +64,7 @@ qdel(src) else checking = FALSE - to_chat(user, "Unable to connect to Syndicate command. Please wait and try again later or use the teleporter on your uplink to get your points refunded.") + to_chat(user, SPAN_WARNING("Unable to connect to Syndicate command. Please wait and try again later or use the teleporter on your uplink to get your points refunded.")) /obj/item/antag_spawner/nuke_ops/spawn_antag(client/C, turf/T, kind, datum/mind/user) var/mob/living/carbon/human/M = new/mob/living/carbon/human(T) @@ -188,14 +188,14 @@ /obj/item/antag_spawner/slaughter_demon/attack_self__legacy__attackchain(mob/user) if(level_blocks_magic(user.z)) //this is to make sure the wizard does NOT summon a demon from the Den.. - to_chat(user, "You should probably wait until you reach the station.") + to_chat(user, SPAN_NOTICE("You should probably wait until you reach the station.")) return if(used) - to_chat(user, "This bottle already has a broken seal.") + to_chat(user, SPAN_NOTICE("This bottle already has a broken seal.")) return used = TRUE - to_chat(user, "You break the seal on the bottle, calling upon the dire spirits of the underworld...") + to_chat(user, SPAN_NOTICE("You break the seal on the bottle, calling upon the dire spirits of the underworld...")) var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a [demon_type::name] summoned by [user.real_name]?", ROLE_DEMON, TRUE, 10 SECONDS, source = demon_type) @@ -209,7 +209,7 @@ qdel(src) else used = FALSE - to_chat(user, "The demons do not respond to your summon. Perhaps you should try again later.") + to_chat(user, SPAN_NOTICE("The demons do not respond to your summon. Perhaps you should try again later.")) /obj/item/antag_spawner/slaughter_demon/spawn_antag(client/C, turf/T, type = "", mob/user) var/obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter(T) @@ -274,14 +274,14 @@ /obj/item/antag_spawner/morph/attack_self__legacy__attackchain(mob/user) if(level_blocks_magic(user.z))//this is to make sure the wizard does NOT summon a morph from the Den.. - to_chat(user, "You should probably wait until you reach the station.") + to_chat(user, SPAN_NOTICE("You should probably wait until you reach the station.")) return if(used) - to_chat(user, "This bottle already has a broken seal.") + to_chat(user, SPAN_NOTICE("This bottle already has a broken seal.")) return used = TRUE - to_chat(user, "You break the seal on the bottle, calling upon the dire sludge to awaken...") + to_chat(user, SPAN_NOTICE("You break the seal on the bottle, calling upon the dire sludge to awaken...")) var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a magical morph awakened by [user.real_name]?", ROLE_MORPH, 1, 10 SECONDS, source = morph_type) @@ -295,7 +295,7 @@ qdel(src) else used = FALSE - to_chat(user, "The sludge does not respond to your attempt to awake it. Perhaps you should try again later.") + to_chat(user, SPAN_NOTICE("The sludge does not respond to your attempt to awake it. Perhaps you should try again later.")) /obj/item/antag_spawner/morph/spawn_antag(client/C, turf/T, type = "", mob/user) var/list/vents = get_valid_vent_spawns(exclude_mobs_nearby = TRUE) @@ -344,20 +344,20 @@ /obj/item/antag_spawner/revenant/attack_self__legacy__attackchain(mob/user) if(level_blocks_magic(user.z)) //this is to make sure the wizard does NOT summon a revenant from the Den.. - to_chat(user, "You should probably wait until you reach the station.") + to_chat(user, SPAN_NOTICE("You should probably wait until you reach the station.")) return if(used) - to_chat(user, "This bottle already has a broken seal.") + to_chat(user, SPAN_NOTICE("This bottle already has a broken seal.")) return used = TRUE - to_chat(user, "You break the seal on the bottle, calling upon the salty specter to awaken...") + to_chat(user, SPAN_NOTICE("You break the seal on the bottle, calling upon the salty specter to awaken...")) var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a revenant awakened by [user.real_name]?", ROLE_REVENANT, 1, 10 SECONDS, source = revenant) if(!length(candidates)) used = FALSE - to_chat(user, "The ectoplasm does not respond to your attempt to awake it. Perhaps you should try again later.") + to_chat(user, SPAN_NOTICE("The ectoplasm does not respond to your attempt to awake it. Perhaps you should try again later.")) return var/mob/C = pick(candidates) @@ -394,34 +394,34 @@ desc = "A magically sealed lightbulb confining some manner of electricity based creature. It is *heavily* advised not to summon it in maintenance areas." icon = 'icons/obj/lighting.dmi' icon_state = "lbulb" - var/shatter_msg = "You shatter the bulb, no turning back now!" - var/veil_msg = "The creature sparks energetically and zips away..." + var/shatter_msg = SPAN_NOTICE("You shatter the bulb, no turning back now!") + var/veil_msg = SPAN_WARNING("The creature sparks energetically and zips away...") var/objective_verb = "Electrocute" var/mob/living/demon_type = /mob/living/basic/demon/pulse_demon/wizard /obj/item/antag_spawner/pulse_demon/attack_self__legacy__attackchain(mob/user) if(level_blocks_magic(user.z)) - to_chat(user, "You should probably wait until you reach the station.") + to_chat(user, SPAN_NOTICE("You should probably wait until you reach the station.")) return var/turf/T = get_turf(src) var/obj/structure/cable/wire = locate() in T if(!wire || wire.get_available_power() <= 0) - to_chat(user, "This is not a suitable place, the creature would die here. Find a powered cable to release it onto.") + to_chat(user, SPAN_WARNING("This is not a suitable place, the creature would die here. Find a powered cable to release it onto.")) return if(used) - to_chat(user, "This bulb already has a broken seal.") + to_chat(user, SPAN_NOTICE("This bulb already has a broken seal.")) return used = TRUE - to_chat(user, "You break the seal on the bulb, waiting for the creature to spark to life... you might wish to get to safety!") + to_chat(user, SPAN_DANGER("You break the seal on the bulb, waiting for the creature to spark to life... you might wish to get to safety!")) var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a pulse demon summoned by [user.real_name]?", ROLE_DEMON, TRUE, 10 SECONDS, source = demon_type) if(!length(candidates)) used = FALSE - to_chat(user, "The creature does not come to life. Perhaps you should try again later.") + to_chat(user, SPAN_NOTICE("The creature does not come to life. Perhaps you should try again later.")) return var/mob/C = pick(candidates) diff --git a/code/modules/antagonists/_common/antag_team.dm b/code/modules/antagonists/_common/antag_team.dm index 5cd4d310091..176a545cdf7 100644 --- a/code/modules/antagonists/_common/antag_team.dm +++ b/code/modules/antagonists/_common/antag_team.dm @@ -118,7 +118,7 @@ GLOBAL_LIST_EMPTY(antagonist_teams) valid_minds[H.real_name] = H.mind if(!length(valid_minds)) - to_chat(user, "No suitable humanoid targets found!") + to_chat(user, SPAN_WARNING("No suitable humanoid targets found!")) return var/name = input(user, "Choose a player to add to this team", "Add Team Member") as null|anything in valid_minds if(!name) @@ -218,7 +218,7 @@ GLOBAL_LIST_EMPTY(antagonist_teams) if(!message) return - var/team_message = chat_box_red("Admin '[name]' Team Message ([user.key]): [message]") + var/team_message = chat_box_red("[SPAN_BOLD("Admin '[name]' Team Message ([user.key]): ")][SPAN_NOTICE("[message]")]") var/team_alert_sound = sound('sound/effects/adminticketopen.ogg') for(var/datum/mind/M as anything in members) if(QDELETED(M.current)) @@ -256,7 +256,7 @@ GLOBAL_LIST_EMPTY(antagonist_teams) if(return_value & TEAM_ADMIN_ADD_OBJ_PURPOSEFUL_CANCEL) return if(!(return_value & TEAM_ADMIN_ADD_OBJ_SUCCESS)) - to_chat(user, "[src] team failed to properly handle your selected objective, if you believe this was an error, tell a coder.") + to_chat(user, SPAN_WARNING("[src] team failed to properly handle your selected objective, if you believe this was an error, tell a coder.")) return if(return_value & TEAM_ADMIN_ADD_OBJ_CANCEL_LOG) // Logs are being handled elsewhere return @@ -382,7 +382,7 @@ GLOBAL_LIST_EMPTY(antagonist_teams) */ /datum/admins/proc/check_teams() if(SSticker.current_state < GAME_STATE_PLAYING) - to_chat(usr, "The game hasn't started yet!") + to_chat(usr, SPAN_WARNING("The game hasn't started yet!")) return var/datum/browser/popup = new(usr, "teams", "Team List", 500, 500) diff --git a/code/modules/antagonists/abductor/datum_abductor.dm b/code/modules/antagonists/abductor/datum_abductor.dm index 673b1097f2a..c7547b6ab53 100644 --- a/code/modules/antagonists/abductor/datum_abductor.dm +++ b/code/modules/antagonists/abductor/datum_abductor.dm @@ -20,8 +20,8 @@ /datum/antagonist/abductor/greet() var/list/messages = list() - messages.Add("You are an agent of [our_team.name]!") - messages.Add("With the help of your teammate, kidnap and experiment on station crew members! Use your stealth technology and equipment to incapacitate humanoids for your scientist to retrieve.") + messages.Add(SPAN_USERDANGER("You are an agent of [our_team.name]!")) + messages.Add(SPAN_BOLDNOTICE("With the help of your teammate, kidnap and experiment on station crew members! Use your stealth technology and equipment to incapacitate humanoids for your scientist to retrieve.")) return messages /datum/antagonist/abductor/add_owner_to_gamemode() @@ -46,8 +46,8 @@ /datum/antagonist/abductor/scientist/greet() var/list/messages = list() - messages.Add("You are a scientist of [our_team.name]!") - messages.Add("With the help of your teammate, kidnap and experiment on station crew members! Use your tool and ship consoles to support the agent and retrieve humanoid specimens.") + messages.Add(SPAN_USERDANGER("You are a scientist of [our_team.name]!")) + messages.Add(SPAN_BOLDNOTICE("With the help of your teammate, kidnap and experiment on station crew members! Use your tool and ship consoles to support the agent and retrieve humanoid specimens.")) return messages /datum/antagonist/abductor/antag_event_resource_cost() diff --git a/code/modules/antagonists/changeling/changeling_power.dm b/code/modules/antagonists/changeling/changeling_power.dm index 96d57c54b42..f86fc4efa43 100644 --- a/code/modules/antagonists/changeling/changeling_power.dm +++ b/code/modules/antagonists/changeling/changeling_power.dm @@ -70,19 +70,19 @@ /datum/action/changeling/proc/can_sting(mob/user, mob/target) SHOULD_CALL_PARENT(TRUE) if(req_human && (!ishuman(user) || issmall(user))) - to_chat(user, "We cannot do that in this form!") + to_chat(user, SPAN_WARNING("We cannot do that in this form!")) return FALSE if(cling.chem_charges < chemical_cost) - to_chat(user, "We require at least [chemical_cost] unit\s of chemicals to do that!") + to_chat(user, SPAN_WARNING("We require at least [chemical_cost] unit\s of chemicals to do that!")) return FALSE if(cling.absorbed_count < req_dna) - to_chat(user, "We require at least [req_dna] sample\s of compatible DNA.") + to_chat(user, SPAN_WARNING("We require at least [req_dna] sample\s of compatible DNA.")) return FALSE if(req_stat < user.stat) - to_chat(user, "We are incapacitated.") + to_chat(user, SPAN_WARNING("We are incapacitated.")) return FALSE if(HAS_TRAIT(user, TRAIT_FAKEDEATH) && !bypass_fake_death) - to_chat(user, "We are incapacitated.") + to_chat(user, SPAN_WARNING("We are incapacitated.")) return FALSE return TRUE diff --git a/code/modules/antagonists/changeling/datum_changeling.dm b/code/modules/antagonists/changeling/datum_changeling.dm index 804756a78be..5e365d7e523 100644 --- a/code/modules/antagonists/changeling/datum_changeling.dm +++ b/code/modules/antagonists/changeling/datum_changeling.dm @@ -88,10 +88,10 @@ RESTRICT_TYPE(/datum/antagonist/changeling) /datum/antagonist/changeling/greet() . = ..() SEND_SOUND(owner.current, sound('sound/ambience/antag/ling_alert.ogg')) - . += "Use say \":g message\" to communicate with your fellow changelings. Remember: you get all of their absorbed DNA if you absorb a fellow changeling." + . += SPAN_DANGER("Use say \":g message\" to communicate with your fellow changelings. Remember: you get all of their absorbed DNA if you absorb a fellow changeling.") /datum/antagonist/changeling/farewell() - to_chat(owner.current, "You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!") + to_chat(owner.current, SPAN_BIGGERDANGER("You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!")) /datum/antagonist/changeling/apply_innate_effects(mob/living/mob_override) var/mob/living/L = ..() @@ -211,15 +211,15 @@ RESTRICT_TYPE(/datum/antagonist/changeling) /datum/antagonist/changeling/proc/try_respec() var/mob/living/carbon/human/H = owner.current if(!ishuman(H) || issmall(H)) - to_chat(H, "We can't readapt our evolutions in this form!") + to_chat(H, SPAN_DANGER("We can't readapt our evolutions in this form!")) return FALSE if(can_respec) - to_chat(H, "We have removed our evolutions from this form, and are now ready to readapt.") + to_chat(H, SPAN_NOTICE("We have removed our evolutions from this form, and are now ready to readapt.")) respec() can_respec = FALSE return TRUE else - to_chat(H, "You lack the power to readapt your evolutions!") + to_chat(H, SPAN_DANGER("You lack the power to readapt your evolutions!")) return FALSE /** @@ -439,23 +439,23 @@ RESTRICT_TYPE(/datum/antagonist/changeling) /datum/antagonist/changeling/proc/can_absorb_dna(mob/living/carbon/target) var/mob/living/carbon/user = owner.current if(using_stale_dna())//If our current DNA is the stalest, we gotta ditch it. - to_chat(user, "The DNA we are wearing is stale. Transform and try again.") + to_chat(user, SPAN_WARNING("The DNA we are wearing is stale. Transform and try again.")) return FALSE if(!target || !target.dna) - to_chat(user, "This creature does not have any DNA.") + to_chat(user, SPAN_WARNING("This creature does not have any DNA.")) return FALSE var/mob/living/carbon/human/T = target if(!istype(T) || issmall(T)) - to_chat(user, "[T] is not compatible with our biology.") + to_chat(user, SPAN_WARNING("[T] is not compatible with our biology.")) return FALSE if(HAS_TRAIT(T, TRAIT_BADDNA) || HAS_TRAIT(T, TRAIT_HUSK) || HAS_TRAIT(T, TRAIT_SKELETONIZED)) - to_chat(user, "DNA of [target] is ruined beyond usability!") + to_chat(user, SPAN_WARNING("DNA of [target] is ruined beyond usability!")) return FALSE if(HAS_TRAIT(T, TRAIT_GENELESS)) - to_chat(user, "This creature does not have DNA!") + to_chat(user, SPAN_WARNING("This creature does not have DNA!")) return FALSE if(get_dna(target.dna)) - to_chat(user, "We already have this DNA in storage.") + to_chat(user, SPAN_WARNING("We already have this DNA in storage.")) return TRUE /datum/antagonist/changeling/proc/on_death(mob/living/L, gibbed) @@ -467,9 +467,9 @@ RESTRICT_TYPE(/datum/antagonist/changeling) return if(!H.get_organ_slot("brain")) - to_chat(L, "The brain is a useless organ to us, we are able to regenerate!") + to_chat(L, SPAN_NOTICE("The brain is a useless organ to us, we are able to regenerate!")) else - to_chat(L, "While our current form may be lifeless, this is not the end for us as we can still regenerate!") + to_chat(L, SPAN_NOTICE("While our current form may be lifeless, this is not the end for us as we can still regenerate!")) /datum/antagonist/changeling/custom_blurb() return "We awaken on the [station_name()], [get_area_name(owner.current, TRUE)]...\nWe have our tasks to attend to..." diff --git a/code/modules/antagonists/changeling/evolution_menu.dm b/code/modules/antagonists/changeling/evolution_menu.dm index 150ea34343e..8e20712cc93 100644 --- a/code/modules/antagonists/changeling/evolution_menu.dm +++ b/code/modules/antagonists/changeling/evolution_menu.dm @@ -74,17 +74,17 @@ if(!(power_type in cling.purchaseable_powers)) return FALSE if(power_type in purchased_abilities) - to_chat(owner, "We have already evolved this ability!") + to_chat(owner, SPAN_WARNING("We have already evolved this ability!")) return FALSE var/datum/action/changeling/power = power_type if(cling.absorbed_count < initial(power.req_dna)) - to_chat(owner, "We must absorb more victims before we can evolve this ability!") + to_chat(owner, SPAN_WARNING("We must absorb more victims before we can evolve this ability!")) return FALSE if(cling.genetic_points < initial(power.dna_cost)) - to_chat(owner, "We cannot afford to evolve this ability!") + to_chat(owner, SPAN_WARNING("We cannot afford to evolve this ability!")) return FALSE if(HAS_TRAIT(owner, TRAIT_FAKEDEATH)) // To avoid potential exploits by buying new powers while in stasis, which clears your verblist. - to_chat(owner, "We lack the energy to evolve new abilities right now.") + to_chat(owner, SPAN_WARNING("We lack the energy to evolve new abilities right now.")) return FALSE cling.give_power(new power_type) diff --git a/code/modules/antagonists/changeling/powers/absorb.dm b/code/modules/antagonists/changeling/powers/absorb.dm index 7d57dbc67c8..51289e8a6ef 100644 --- a/code/modules/antagonists/changeling/powers/absorb.dm +++ b/code/modules/antagonists/changeling/powers/absorb.dm @@ -10,15 +10,15 @@ return FALSE if(cling.is_absorbing) - to_chat(user, "We are already absorbing!") + to_chat(user, SPAN_WARNING("We are already absorbing!")) return FALSE var/obj/item/grab/G = user.get_active_hand() if(!istype(G)) - to_chat(user, "We must be grabbing a creature in our active hand to absorb them.") + to_chat(user, SPAN_WARNING("We must be grabbing a creature in our active hand to absorb them.")) return FALSE if(G.state <= GRAB_NECK) - to_chat(user, "We must have a tighter grip to absorb this creature.") + to_chat(user, SPAN_WARNING("We must have a tighter grip to absorb this creature.")) return FALSE return cling.can_absorb_dna(G.affecting) @@ -30,24 +30,24 @@ for(var/stage in 1 to 3) switch(stage) if(1) - to_chat(user, "This creature is compatible. We must hold still...") + to_chat(user, SPAN_NOTICE("This creature is compatible. We must hold still...")) if(2) - to_chat(user, "We extend a proboscis.") - user.visible_message("[user] extends a proboscis!") + to_chat(user, SPAN_NOTICE("We extend a proboscis.")) + user.visible_message(SPAN_WARNING("[user] extends a proboscis!")) if(3) - to_chat(user, "We stab [target] with the proboscis.") - user.visible_message("[user] stabs [target] with the proboscis!") - to_chat(target, "You feel a sharp stabbing pain!") + to_chat(user, SPAN_NOTICE("We stab [target] with the proboscis.")) + user.visible_message(SPAN_DANGER("[user] stabs [target] with the proboscis!")) + to_chat(target, SPAN_DANGER("You feel a sharp stabbing pain!")) target.take_overall_damage(40) SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("Absorb DNA", "[stage]")) if(!do_mob(user, target, 150)) - to_chat(user, "Our absorption of [target] has been interrupted!") + to_chat(user, SPAN_WARNING("Our absorption of [target] has been interrupted!")) cling.is_absorbing = FALSE return FALSE - to_chat(user, "We have absorbed [target]!") - user.visible_message("[user] sucks the fluids from [target]!") - to_chat(target, "You have been absorbed by the changeling!") + to_chat(user, SPAN_NOTICE("We have absorbed [target]!")) + user.visible_message(SPAN_DANGER("[user] sucks the fluids from [target]!")) + to_chat(target, SPAN_DANGER("You have been absorbed by the changeling!")) if(!cling.get_dna(target.dna)) cling.absorb_dna(target) @@ -70,12 +70,12 @@ if(length(recent_speech)) user.mind.store_memory("Some of [target]'s speech patterns. We should study these to better impersonate [target.p_them()]!") - to_chat(user, "Some of [target]'s speech patterns. We should study these to better impersonate [target.p_them()]!") + to_chat(user, SPAN_BOLDNOTICE("Some of [target]'s speech patterns. We should study these to better impersonate [target.p_them()]!")) for(var/spoken_memory in recent_speech) user.mind.store_memory("\"[spoken_memory]\"") - to_chat(user, "\"[spoken_memory]\"") + to_chat(user, SPAN_NOTICE("\"[spoken_memory]\"")) user.mind.store_memory("We have no more knowledge of [target]'s speech patterns.") - to_chat(user, "We have no more knowledge of [target]'s speech patterns.") + to_chat(user, SPAN_BOLDNOTICE("We have no more knowledge of [target]'s speech patterns.")) var/datum/antagonist/changeling/target_cling = target.mind.has_antag_datum(/datum/antagonist/changeling) if(target_cling)//If the target was a changeling, suck out their extra juice and objective points! diff --git a/code/modules/antagonists/changeling/powers/apex_predator.dm b/code/modules/antagonists/changeling/powers/apex_predator.dm index 1db90bbae11..708bbe3992f 100644 --- a/code/modules/antagonists/changeling/powers/apex_predator.dm +++ b/code/modules/antagonists/changeling/powers/apex_predator.dm @@ -18,7 +18,7 @@ continue target_by_name[possible_target.real_name] = possible_target if(!length(target_by_name)) - to_chat(user, "There is no prey to be hunted here...") + to_chat(user, SPAN_CHANGELING("There is no prey to be hunted here...")) return var/target_name = tgui_input_list(user, "Person to Locate", "Prey", target_by_name) if(!target_name) @@ -28,4 +28,4 @@ var/message = "[target_name] is in [get_area(target)], [dir2text(get_dir(user, target))] of us." if(target.get_damage_amount() >= 40 || target.bleed_rate) message += " They are wounded..." - to_chat(user, "[message]") + to_chat(user, SPAN_CHANGELING("[message]")) diff --git a/code/modules/antagonists/changeling/powers/augmented_eyesight.dm b/code/modules/antagonists/changeling/powers/augmented_eyesight.dm index b7e0a5efef0..4dec620215c 100644 --- a/code/modules/antagonists/changeling/powers/augmented_eyesight.dm +++ b/code/modules/antagonists/changeling/powers/augmented_eyesight.dm @@ -33,16 +33,16 @@ /datum/action/changeling/augmented_eyesight/proc/update_eyes(mob/user) var/obj/item/organ/internal/eyes/E = user.get_organ_slot("eyes") if(!E) - to_chat(user, "We can't adjust our eyes if we don't have any!") + to_chat(user, SPAN_WARNING("We can't adjust our eyes if we don't have any!")) return if(active) E.vision_flags |= SEE_MOBS | SEE_OBJS | SEE_TURFS //Add sight flags to the user's eyes E.flash_protect = FLASH_PROTECTION_SENSITIVE //Adjust the user's eyes' flash protection E.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - to_chat(user, "We adjust our eyes to sense prey through walls.") + to_chat(user, SPAN_NOTICE("We adjust our eyes to sense prey through walls.")) else E.vision_flags = initial(E.vision_flags) //Remove sight flags from the user's eyes E.flash_protect = FLASH_PROTECTION_WELDER //Adjust the user's eyes' flash protection E.lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE - to_chat(user, "We adjust our eyes to protect them from bright lights.") + to_chat(user, SPAN_NOTICE("We adjust our eyes to protect them from bright lights.")) user.update_sight() diff --git a/code/modules/antagonists/changeling/powers/become_headslug.dm b/code/modules/antagonists/changeling/powers/become_headslug.dm index b92cb5c9127..6eb0e21331b 100644 --- a/code/modules/antagonists/changeling/powers/become_headslug.dm +++ b/code/modules/antagonists/changeling/powers/become_headslug.dm @@ -20,7 +20,7 @@ ADD_TRAIT(user, TRAIT_CLING_BURSTING, "last_resort") user.Weaken(30 SECONDS) user.do_jitter_animation(1000, -1) // jitter until they are gibbed - user.visible_message("A loud crack erupts from [user], followed by a hiss.") + user.visible_message(SPAN_DANGER("A loud crack erupts from [user], followed by a hiss.")) playsound(get_turf(user), "bonebreak", 75, TRUE) playsound(get_turf(user), 'sound/machines/hiss.ogg', 75, TRUE) addtimer(CALLBACK(src, PROC_REF(become_headslug), user), 5 SECONDS) @@ -34,7 +34,7 @@ if(isobj(user.loc)) var/obj/thing_to_break = user.loc user.forceMove(get_turf(user)) // Get them outside of it before it breaks, to prevent issues / so they burst out of it dramatically - thing_to_break.visible_message("[user] violently explodes out of [thing_to_break], breaking it!") + thing_to_break.visible_message(SPAN_DANGER("[user] violently explodes out of [thing_to_break], breaking it!")) thing_to_break.obj_break(BRUTE) for(var/obj/item/organ/internal/I in organs) @@ -42,7 +42,7 @@ explosion(get_turf(user), 0, 0, 2, 0, silent = TRUE, cause = "Headslug explosion") for(var/mob/living/carbon/human/H in range(2, user)) - to_chat(H, "You are blinded by a shower of blood!") + to_chat(H, SPAN_USERDANGER("You are blinded by a shower of blood!")) H.KnockDown(4 SECONDS) H.EyeBlurry(40 SECONDS) var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) @@ -50,7 +50,7 @@ E.receive_damage(5, 1) H.AdjustConfused(6 SECONDS) for(var/mob/living/silicon/S in range(2, user)) - to_chat(S, "Your sensors are disabled by a shower of blood!") + to_chat(S, SPAN_USERDANGER("Your sensors are disabled by a shower of blood!")) S.Weaken(6 SECONDS) var/turf/our_turf = get_turf(user) spawn(5) // So it's not killed in explosion @@ -61,9 +61,9 @@ if(crab.origin) crab.origin.active = TRUE crab.origin.transfer_to(crab) - to_chat(crab, "You burst out of the remains of your former body in a shower of gore!") - to_chat(crab, "Our eggs can be laid in any humanoid by ALT-CLICKing on them, this takes 5 seconds.") - to_chat(crab, "Though this form shall perish after laying the egg, our true self shall be reborn in time.") + to_chat(crab, SPAN_WARNING("You burst out of the remains of your former body in a shower of gore!")) + to_chat(crab, SPAN_BOLDNOTICE("Our eggs can be laid in any humanoid by ALT-CLICKing on them, this takes 5 seconds.")) + to_chat(crab, SPAN_BOLDNOTICE("Though this form shall perish after laying the egg, our true self shall be reborn in time.")) // This is done because after the original changeling gibs below, ALL of their actions are qdeleted // We need to store their power types so we can re-create them later. diff --git a/code/modules/antagonists/changeling/powers/biodegrade.dm b/code/modules/antagonists/changeling/powers/biodegrade.dm index 4753129bacc..9dabdf8c506 100644 --- a/code/modules/antagonists/changeling/powers/biodegrade.dm +++ b/code/modules/antagonists/changeling/powers/biodegrade.dm @@ -20,8 +20,8 @@ var/obj/O = user.get_item_by_slot(ITEM_SLOT_HANDCUFFED) if(!istype(O)) return FALSE - user.visible_message("[user] vomits a glob of acid on [user.p_their()] [O.name]!", \ - "We vomit acidic ooze onto our restraints!") + user.visible_message(SPAN_WARNING("[user] vomits a glob of acid on [user.p_their()] [O.name]!"), \ + SPAN_WARNING("We vomit acidic ooze onto our restraints!")) dissolve_restraint(user, O) used = TRUE @@ -29,8 +29,8 @@ var/obj/O = user.get_item_by_slot(ITEM_SLOT_LEGCUFFED) if(!istype(O)) return FALSE - user.visible_message("[user] vomits a glob of acid on [user.p_their()] [O.name]!", \ - "We vomit acidic ooze onto our leg restraints!") + user.visible_message(SPAN_WARNING("[user] vomits a glob of acid on [user.p_their()] [O.name]!"), \ + SPAN_WARNING("We vomit acidic ooze onto our leg restraints!")) dissolve_restraint(user, O) used = TRUE @@ -38,8 +38,8 @@ var/obj/item/clothing/suit/S = user.get_item_by_slot(ITEM_SLOT_OUTER_SUIT) if(!istype(S)) return FALSE - user.visible_message("[user] vomits a glob of acid across the front of [user.p_their()] [S.name]!", \ - "We vomit acidic ooze onto our straight jacket!") + user.visible_message(SPAN_WARNING("[user] vomits a glob of acid across the front of [user.p_their()] [S.name]!"), \ + SPAN_WARNING("We vomit acidic ooze onto our straight jacket!")) dissolve_restraint(user, S) used = TRUE @@ -47,8 +47,8 @@ var/obj/structure/closet/C = user.loc if(!istype(C)) return FALSE - C.visible_message("[C]'s hinges suddenly begin to melt and run!") - to_chat(user, "We vomit acidic goop onto the interior of [C]!") + C.visible_message(SPAN_WARNING("[C]'s hinges suddenly begin to melt and run!")) + to_chat(user, SPAN_WARNING("We vomit acidic goop onto the interior of [C]!")) addtimer(CALLBACK(src, PROC_REF(open_closet), user, C), 7 SECONDS) used = TRUE @@ -56,13 +56,13 @@ var/obj/structure/spider/cocoon/C = user.loc if(!istype(C)) return FALSE - C.visible_message("[src] shifts and starts to fall apart!") - to_chat(user, "We secrete acidic enzymes from our skin and begin melting our cocoon...") + C.visible_message(SPAN_WARNING("[src] shifts and starts to fall apart!")) + to_chat(user, SPAN_WARNING("We secrete acidic enzymes from our skin and begin melting our cocoon...")) addtimer(CALLBACK(src, PROC_REF(dissolve_cocoon), user, C), 2.5 SECONDS) //Very short because it's just webs used = TRUE for(var/obj/item/grab/G in user.grabbed_by) var/mob/living/carbon/M = G.assailant - user.visible_message("[user] spits acid at [M]'s face and slips out of their grab!") + user.visible_message(SPAN_WARNING("[user] spits acid at [M]'s face and slips out of their grab!")) M.Stun(2 SECONDS) //Drops the grab M.apply_damage(5, BURN, BODY_ZONE_HEAD, M.run_armor_check(BODY_ZONE_HEAD, MELEE)) user.SetStunned(0) //This only triggers if they are grabbed, to have them break out of the grab, without the large stun time. If you use biodegrade as an antistun without being grabbed, it will not work @@ -77,33 +77,33 @@ if(!current_hand) if(!add_hand_spell(user)) return FALSE - to_chat(user, "We prepare hand to vomit acid!") + to_chat(user, SPAN_WARNING("We prepare hand to vomit acid!")) return TRUE remove_hand_spell(user, TRUE) return FALSE /datum/action/changeling/biodegrade/proc/dissolve_restraint(mob/living/carbon/human/user, obj/O) if(O && (user.handcuffed == O || user.legcuffed == O || user.wear_suit == O)) - O.visible_message("[O] dissolves into a puddle of sizzling goop.") + O.visible_message(SPAN_WARNING("[O] dissolves into a puddle of sizzling goop.")) qdel(O) /datum/action/changeling/biodegrade/proc/open_closet(mob/living/carbon/human/user, obj/structure/closet/C) if(C && user.loc == C) - C.visible_message("[C]'s door breaks and opens!") + C.visible_message(SPAN_WARNING("[C]'s door breaks and opens!")) C.welded = FALSE C.locked = FALSE C.broken = TRUE C.open() - to_chat(user, "We open the container restraining us!") + to_chat(user, SPAN_WARNING("We open the container restraining us!")) /datum/action/changeling/biodegrade/proc/dissolve_cocoon(mob/living/carbon/human/user, obj/structure/spider/cocoon/C) if(C && user.loc == C) qdel(C) //The cocoon's destroy will move the changeling outside of it without interference - to_chat(user, "We dissolve the cocoon!") + to_chat(user, SPAN_WARNING("We dissolve the cocoon!")) /datum/action/changeling/biodegrade/proc/add_hand_spell(mob/living/carbon/human/user) if(user.get_active_hand() && !user.drop_item()) - to_chat(user, "[user.get_active_hand()] is stuck to our hand, we cannot emit acid on this hand.") + to_chat(user, SPAN_WARNING("[user.get_active_hand()] is stuck to our hand, we cannot emit acid on this hand.")) return FALSE current_hand = new hand(src) user.put_in_active_hand(current_hand) @@ -142,17 +142,17 @@ /obj/item/melee/changeling_corrosive_acid/afterattack__legacy__attackchain(atom/target, mob/user, proximity, params) if(target == user) - to_chat(user, "You withdraw your readied acid.") + to_chat(user, SPAN_NOTICEALIEN("You withdraw your readied acid.")) parent_action.remove_hand_spell(user) return if(isliving(target)) - to_chat(user, "We dont have enough acid to assault living target!") + to_chat(user, SPAN_ALERT("We dont have enough acid to assault living target!")) return if(!proximity || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) // Don't want xenos ditching out of cuffs return if(target.acid_act(200, 100)) - visible_message("[user] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!") + visible_message(SPAN_ALERT("[user] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!")) add_attack_logs(user, target, "Applied corrosive acid") // Want this logged else - to_chat(user, "You cannot dissolve this object.") + to_chat(user, SPAN_NOTICEALIEN("You cannot dissolve this object.")) parent_action.remove_hand_spell(user) diff --git a/code/modules/antagonists/changeling/powers/contort_body.dm b/code/modules/antagonists/changeling/powers/contort_body.dm index fb6fa8252d7..2a0c6e75a3a 100644 --- a/code/modules/antagonists/changeling/powers/contort_body.dm +++ b/code/modules/antagonists/changeling/powers/contort_body.dm @@ -18,7 +18,7 @@ ADD_TRAIT(user, TRAIT_CONTORTED_BODY, CHANGELING_TRAIT) RegisterSignal(user, COMSIG_MOB_DEATH, PROC_REF(deactivate)) - to_chat(user, "We contort our form to allow us to fit in and under things we normally wouldn't be able to.") + to_chat(user, SPAN_NOTICE("We contort our form to allow us to fit in and under things we normally wouldn't be able to.")) if(IS_HORIZONTAL(user)) user.layer = TURF_LAYER + 0.2 @@ -30,5 +30,5 @@ UnregisterSignal(user, COMSIG_MOB_DEATH) if(IS_HORIZONTAL(user)) user.layer = initial(user.layer) - to_chat(user, "Our body stiffens and returns to form.") + to_chat(user, SPAN_NOTICE("Our body stiffens and returns to form.")) SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]")) diff --git a/code/modules/antagonists/changeling/powers/digitalcamo.dm b/code/modules/antagonists/changeling/powers/digitalcamo.dm index 4ce7480153a..6fadd9cee9e 100644 --- a/code/modules/antagonists/changeling/powers/digitalcamo.dm +++ b/code/modules/antagonists/changeling/powers/digitalcamo.dm @@ -16,10 +16,10 @@ if(HAS_TRAIT_FROM(user, TRAIT_AI_UNTRACKABLE, CHANGELING_TRAIT)) REMOVE_TRAIT(user, TRAIT_AI_UNTRACKABLE, CHANGELING_TRAIT) user.set_invisible(INVISIBILITY_MINIMUM) - to_chat(user, "We return to normal.") + to_chat(user, SPAN_NOTICE("We return to normal.")) else ADD_TRAIT(user, TRAIT_AI_UNTRACKABLE, CHANGELING_TRAIT) - to_chat(user, "We distort our form to prevent AI-tracking.") + to_chat(user, SPAN_NOTICE("We distort our form to prevent AI-tracking.")) user.set_invisible(SEE_INVISIBLE_LIVING) SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]")) return TRUE diff --git a/code/modules/antagonists/changeling/powers/environmental_adaption.dm b/code/modules/antagonists/changeling/powers/environmental_adaption.dm index 41986cc7f63..01484958ffa 100644 --- a/code/modules/antagonists/changeling/powers/environmental_adaption.dm +++ b/code/modules/antagonists/changeling/powers/environmental_adaption.dm @@ -34,8 +34,8 @@ /datum/action/changeling/environmental_adaptation/proc/enable_ability(mob/living/carbon/human/cling) //Enable the adaptation cling.set_alpha_tracking(65, src, update_alpha = FALSE) animate(cling, alpha = cling.get_alpha(), time = 3 SECONDS) - cling.visible_message("[cling]'s skin suddenly starts becoming translucent!", \ - "We adapt our pigmentation to suit the environment around us.") + cling.visible_message(SPAN_WARNING("[cling]'s skin suddenly starts becoming translucent!"), \ + SPAN_NOTICE("We adapt our pigmentation to suit the environment around us.")) var/datum/antagonist/changeling/changeling_data = cling.mind?.has_antag_datum(/datum/antagonist/changeling) changeling_data?.chem_recharge_slowdown -= recharge_slowdown //Slows down chem regeneration @@ -43,8 +43,8 @@ cling.set_alpha_tracking(ALPHA_VISIBLE, src, update_alpha = FALSE) animate(cling, alpha = cling.get_alpha(), time = 3 SECONDS) cling.visible_message( - "[cling] appears from thin air!", - "We stop concentration on our pigmentation, allowing it to return to normal.", + SPAN_WARNING("[cling] appears from thin air!"), + SPAN_NOTICE("We stop concentration on our pigmentation, allowing it to return to normal."), ) animate(cling, color = null, time = 3 SECONDS) var/datum/antagonist/changeling/changeling_data = cling.mind?.has_antag_datum(/datum/antagonist/changeling) diff --git a/code/modules/antagonists/changeling/powers/epinephrine.dm b/code/modules/antagonists/changeling/powers/epinephrine.dm index 00e1f19e7b1..d9a0d98648e 100644 --- a/code/modules/antagonists/changeling/powers/epinephrine.dm +++ b/code/modules/antagonists/changeling/powers/epinephrine.dm @@ -13,9 +13,9 @@ //Recover from stuns. /datum/action/changeling/epinephrine/sting_action(mob/living/user) if(IS_HORIZONTAL(user)) - to_chat(user, "We arise.") + to_chat(user, SPAN_NOTICE("We arise.")) else - to_chat(user, "Adrenaline rushes through us.") + to_chat(user, SPAN_NOTICE("Adrenaline rushes through us.")) user.SetSleeping(0) user.WakeUp() user.SetParalysis(0) diff --git a/code/modules/antagonists/changeling/powers/fakedeath.dm b/code/modules/antagonists/changeling/powers/fakedeath.dm index 49638be9435..27c90106056 100644 --- a/code/modules/antagonists/changeling/powers/fakedeath.dm +++ b/code/modules/antagonists/changeling/powers/fakedeath.dm @@ -10,7 +10,7 @@ //Fake our own death and fully heal. You will appear to be dead but regenerate fully after a short delay. /datum/action/changeling/fakedeath/sting_action(mob/living/user) - to_chat(user, "We begin our stasis, preparing energy to arise once more.") + to_chat(user, SPAN_NOTICE("We begin our stasis, preparing energy to arise once more.")) if(user.stat != DEAD) user.emote("deathgasp") user.timeofdeath = world.time @@ -27,12 +27,12 @@ if(!HAS_TRAIT_FROM(user, TRAIT_FAKEDEATH, CHANGELING_TRAIT)) return if(!QDELETED(user) && user.mind && cling?.acquired_powers) - to_chat(user, "We are ready to regenerate.") + to_chat(user, SPAN_NOTICE("We are ready to regenerate.")) cling.give_power(new /datum/action/changeling/revive) /datum/action/changeling/fakedeath/can_sting(mob/user) if(HAS_TRAIT(user, TRAIT_FAKEDEATH)) - to_chat(user, "We are already regenerating.") + to_chat(user, SPAN_WARNING("We are already regenerating.")) return FALSE if(!user.stat)//Confirmation for living changelings if they want to fake their death var/death_confirmation = tgui_alert(user, "Are we sure we wish to fake our death?", "Fake Death", list("Yes", "No")) @@ -42,6 +42,6 @@ if(cling.owner != user.mind) return FALSE if(HAS_TRAIT(user, TRAIT_FAKEDEATH)) - to_chat(user, "We are already regenerating.") + to_chat(user, SPAN_WARNING("We are already regenerating.")) return FALSE return ..() diff --git a/code/modules/antagonists/changeling/powers/fleshmend.dm b/code/modules/antagonists/changeling/powers/fleshmend.dm index b0ee5255b5c..26b14995a4f 100644 --- a/code/modules/antagonists/changeling/powers/fleshmend.dm +++ b/code/modules/antagonists/changeling/powers/fleshmend.dm @@ -11,7 +11,7 @@ //Starts healing you every second for 10 seconds. Can be used whilst unconscious. /datum/action/changeling/fleshmend/sting_action(mob/living/user) - to_chat(user, "We begin to heal rapidly.") + to_chat(user, SPAN_NOTICE("We begin to heal rapidly.")) if(user.has_status_effect(STATUS_EFFECT_FLESHMEND)) to_chat(user, "Our healing's effectiveness is reduced \ by quick repeated use!") diff --git a/code/modules/antagonists/changeling/powers/hivemind.dm b/code/modules/antagonists/changeling/powers/hivemind.dm index 367c755db5f..49f5a2af978 100644 --- a/code/modules/antagonists/changeling/powers/hivemind.dm +++ b/code/modules/antagonists/changeling/powers/hivemind.dm @@ -17,7 +17,7 @@ GLOBAL_LIST_EMPTY(hivemind_bank) dna_upload(user) if(channel_pick == "Absorb") if(cling.using_stale_dna())//If our current DNA is the stalest, we gotta ditch it. - to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more.") + to_chat(user, SPAN_WARNING("We have reached our capacity to store genetic information! We must transform before absorbing more.")) return FALSE else dna_absorb(user) @@ -25,11 +25,11 @@ GLOBAL_LIST_EMPTY(hivemind_bank) /datum/action/changeling/proc/dna_upload(mob/user) var/datum/dna/chosen_dna = cling.select_dna("Select a DNA to channel: ", "Channel DNA", TRUE) if(!chosen_dna) - to_chat(user, "The airwaves already have all of our DNA.") + to_chat(user, SPAN_NOTICE("The airwaves already have all of our DNA.")) return FALSE GLOB.hivemind_bank += chosen_dna - to_chat(user, "We channel the DNA of [chosen_dna.real_name] to the air.") + to_chat(user, SPAN_NOTICE("We channel the DNA of [chosen_dna.real_name] to the air.")) SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]")) return TRUE @@ -40,7 +40,7 @@ GLOBAL_LIST_EMPTY(hivemind_bank) names[DNA.real_name] = DNA if(!length(names)) - to_chat(user, "There's no new DNA to absorb from the air.") + to_chat(user, SPAN_NOTICE("There's no new DNA to absorb from the air.")) return var/S = tgui_input_list(user, "Select a DNA absorb from the air", "Absorb DNA", names) @@ -49,7 +49,7 @@ GLOBAL_LIST_EMPTY(hivemind_bank) var/datum/dna/chosen_dna = names[S] cling.store_dna(chosen_dna) - to_chat(user, "We absorb the DNA of [S] from the air.") + to_chat(user, SPAN_NOTICE("We absorb the DNA of [S] from the air.")) SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]")) return TRUE @@ -57,5 +57,5 @@ GLOBAL_LIST_EMPTY(hivemind_bank) if(!istype(user)) return user.remove_language("Changeling") - to_chat(user, "We feel a slight emptiness as we shut ourselves off from the hivemind.") + to_chat(user, SPAN_NOTICE("We feel a slight emptiness as we shut ourselves off from the hivemind.")) ..() diff --git a/code/modules/antagonists/changeling/powers/humanform.dm b/code/modules/antagonists/changeling/powers/humanform.dm index f85f7cb38c6..9c036e60186 100644 --- a/code/modules/antagonists/changeling/powers/humanform.dm +++ b/code/modules/antagonists/changeling/powers/humanform.dm @@ -14,7 +14,7 @@ var/brute_damage = user.getBruteLoss() var/burn_damage = user.getFireLoss() - to_chat(user, "We transform our appearance.") + to_chat(user, SPAN_NOTICE("We transform our appearance.")) user.dna.SetSEState(GLOB.monkeyblock,0,1) singlemutcheck(user,GLOB.monkeyblock, MUTCHK_FORCED) if(istype(user)) diff --git a/code/modules/antagonists/changeling/powers/lesserform.dm b/code/modules/antagonists/changeling/powers/lesserform.dm index bc47c6ea1d8..2dcaca2101c 100644 --- a/code/modules/antagonists/changeling/powers/lesserform.dm +++ b/code/modules/antagonists/changeling/powers/lesserform.dm @@ -17,14 +17,14 @@ var/mob/living/carbon/human/H = user if(!istype(H) || !H.dna.species.primitive_form) - to_chat(H, "We cannot perform this ability in this form!") + to_chat(H, SPAN_WARNING("We cannot perform this ability in this form!")) return FALSE var/brute_damage = H.getBruteLoss() * 0.66 // To offset the 1.5 brute/burn mod that monkeys have var/burn_damage = H.getFireLoss() * 0.66 - H.visible_message("[H] transforms!") - to_chat(H, "Our genes cry out!") + H.visible_message(SPAN_WARNING("[H] transforms!")) + to_chat(H, SPAN_WARNING("Our genes cry out!")) H.flavor_text = "" H.monkeyize() diff --git a/code/modules/antagonists/changeling/powers/mimic_voice.dm b/code/modules/antagonists/changeling/powers/mimic_voice.dm index f793790655f..ad9be70217f 100644 --- a/code/modules/antagonists/changeling/powers/mimic_voice.dm +++ b/code/modules/antagonists/changeling/powers/mimic_voice.dm @@ -13,7 +13,7 @@ /datum/action/changeling/mimicvoice/sting_action(mob/user) if(cling.mimicking) cling.mimicking = "" - to_chat(user, "We return our vocal glands to their original position.") + to_chat(user, SPAN_NOTICE("We return our vocal glands to their original position.")) return FALSE var/mimic_voice = tgui_input_text(user, "Enter a name to mimic.", "Mimic Voice", max_length = MAX_NAME_LEN) @@ -21,8 +21,8 @@ return FALSE cling.mimicking = mimic_voice - to_chat(user, "We shape our glands to take the voice of [mimic_voice].") - to_chat(user, "Use this power again to return to our original voice.") + to_chat(user, SPAN_NOTICE("We shape our glands to take the voice of [mimic_voice].")) + to_chat(user, SPAN_NOTICE("Use this power again to return to our original voice.")) SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]")) return TRUE diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 3afcdfab2ae..b48aa995350 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -55,7 +55,7 @@ done = TRUE if(done && !silent) playsound(owner.loc, 'sound/effects/bone_break_2.ogg', 100, TRUE) - owner.visible_message("With a sickening crunch, [owner] reforms [owner.p_their()] [weapon_name_simple] into an arm!", "We assimilate the [weapon_name_simple] back into our body.", "You hear organic matter ripping and tearing!") + owner.visible_message(SPAN_WARNING("With a sickening crunch, [owner] reforms [owner.p_their()] [weapon_name_simple] into an arm!"), SPAN_NOTICE("We assimilate the [weapon_name_simple] back into our body."), SPAN_WARNING("You hear organic matter ripping and tearing!")) cling.chem_recharge_slowdown -= recharge_slowdown // We handle this here because more things can retract without going through try_to_sting //Parent to space suits and armor. @@ -77,7 +77,7 @@ var/mob/living/carbon/human/H = user if(istype(H.wear_suit, suit_type) || istype(H.head, helmet_type)) - H.visible_message("[H] casts off [H.p_their()] [suit_name_simple]!", "We cast off our [suit_name_simple].", "You hear the organic matter ripping and tearing!") + H.visible_message(SPAN_WARNING("[H] casts off [H.p_their()] [suit_name_simple]!"), SPAN_WARNING("We cast off our [suit_name_simple]."), SPAN_WARNING("You hear the organic matter ripping and tearing!")) playsound(owner.loc, 'sound/effects/bone_break_2.ogg', 100, TRUE) qdel(H.wear_suit) qdel(H.head) @@ -167,7 +167,7 @@ C.attack_alien(user) //muh copypasta /obj/item/melee/arm_blade/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left arm" : "right arm"] has been turned into a grotesque meat-blade." + return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left arm" : "right arm"] has been turned into a grotesque meat-blade.") /***************************************\ |***********COMBAT TENTACLES*************| @@ -223,17 +223,17 @@ qdel(src) /obj/item/gun/magic/tentacle/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left arm" : "right arm"] has been turned into a grotesque tentacle." + return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left arm" : "right arm"] has been turned into a grotesque tentacle.") /obj/item/gun/magic/tentacle/Initialize(mapload, silent, new_parent_action) . = ..() parent_action = new_parent_action if(ismob(loc)) if(!silent) - loc.visible_message("[loc.name]\'s arm starts stretching inhumanly!", "Our arm twists and mutates, transforming it into a tentacle.", "You hear organic matter ripping and tearing!") + loc.visible_message(SPAN_WARNING("[loc.name]\'s arm starts stretching inhumanly!"), SPAN_WARNING("Our arm twists and mutates, transforming it into a tentacle."), SPAN_ITALICS("You hear organic matter ripping and tearing!")) playsound(loc, 'sound/effects/bone_break_1.ogg', 100, TRUE) else - to_chat(loc, "You prepare to extend a tentacle.") + to_chat(loc, SPAN_NOTICE("You prepare to extend a tentacle.")) /obj/item/gun/magic/tentacle/Destroy() if(parent_action) @@ -244,10 +244,10 @@ return ..() /obj/item/gun/magic/tentacle/shoot_with_empty_chamber(mob/living/user as mob|obj) - to_chat(user, "[src] is not ready yet.") + to_chat(user, SPAN_WARNING("[src] is not ready yet.")) /obj/item/gun/magic/tentacle/suicide_act(mob/user) - user.visible_message("[user] coils [src] tightly around [user.p_their()] neck! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] coils [src] tightly around [user.p_their()] neck! It looks like [user.p_theyre()] trying to commit suicide!")) return OXYLOSS /obj/item/ammo_casing/magic/tentacle @@ -309,7 +309,7 @@ if(I.anchored) return FALSE - to_chat(H, "You grab [I] with your tentacle.") + to_chat(H, SPAN_NOTICE("You grab [I] with your tentacle.")) add_attack_logs(H, I, "[src] grabs [I] with a tentacle") I.forceMove(H.loc) I.attack_hand(H) // The tentacle takes the item back with them and makes them pick it up. No silly throw mode. @@ -323,14 +323,14 @@ return FALSE if(!iscarbon(L)) - L.visible_message("[L] is pulled by [H]'s tentacle!","A tentacle grabs you and pulls you towards [H]!") + L.visible_message(SPAN_DANGER("[L] is pulled by [H]'s tentacle!"),SPAN_USERDANGER("A tentacle grabs you and pulls you towards [H]!")) L.throw_at(get_step_towards(H,L), 8, 2) return TRUE var/mob/living/carbon/C = L switch(H.a_intent) if(INTENT_HELP) - C.visible_message("[L] is pulled to their feet towards [H]!","A tentacle grabs you and pulls you up towards [H]!") + C.visible_message(SPAN_DANGER("[L] is pulled to their feet towards [H]!"),SPAN_USERDANGER("A tentacle grabs you and pulls you up towards [H]!")) add_attack_logs(H, L, "[H] pulled [L] towards them with a tentacle") C.throw_at(get_step_towards(H,C), 8, 2) C.AdjustParalysis(-2 SECONDS) @@ -344,19 +344,19 @@ var/obj/item/I = C.get_active_hand() if(I) if(C.drop_item()) - C.visible_message("[I] is yanked out of [C]'s hand by [src]!","A tentacle pulls [I] away from you!") + C.visible_message(SPAN_DANGER("[I] is yanked out of [C]'s hand by [src]!"),SPAN_USERDANGER("A tentacle pulls [I] away from you!")) add_attack_logs(H, C, "[H] has grabbed [I] out of [C]'s hand with a tentacle") on_hit(I) // grab the item as if you had hit it directly with the tentacle return TRUE - to_chat(H, "You can't seem to pry [I] out of [C]'s hands!") + to_chat(H, SPAN_DANGER("You can't seem to pry [I] out of [C]'s hands!")) add_attack_logs(H, C, "[H] tried to grab [I] out of their hand with a tentacle, but failed") - C.visible_message("[C] is knocked over by [src]!", "A tentacle hits you in the chest and knocks you over!") + C.visible_message(SPAN_DANGER("[C] is knocked over by [src]!"), SPAN_USERDANGER("A tentacle hits you in the chest and knocks you over!")) add_attack_logs(H, C, "[H] knocked over with a tentacle") C.KnockDown(2 SECONDS) // Not useless with antidrop. return TRUE if(INTENT_GRAB) - C.visible_message("[L] is entangled by [H]'s tentacle!", "A tentacle grabs you and wraps around your legs!") + C.visible_message(SPAN_DANGER("[L] is entangled by [H]'s tentacle!"), SPAN_USERDANGER("A tentacle grabs you and wraps around your legs!")) add_attack_logs(H, C, "imobilised with a changeling tentacle") if(!iscarbon(H)) return TRUE @@ -365,7 +365,7 @@ return TRUE if(INTENT_HARM) - C.visible_message("[L] is thrown towards [H] by a tentacle!","A tentacle grabs you and throws you towards [H]!") + C.visible_message(SPAN_DANGER("[L] is thrown towards [H] by a tentacle!"),SPAN_USERDANGER("A tentacle grabs you and throws you towards [H]!")) C.throw_at(get_step_towards(H,C), 8, 2, callback=CALLBACK(H, TYPE_PROC_REF(/mob, tentacle_stab), C)) return TRUE @@ -429,7 +429,7 @@ . = ..() AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = ALL_ATTACK_TYPES) if(ismob(loc)) - loc.visible_message("The end of [loc.name]\'s hand inflates rapidly, forming a huge shield-like mass!", "We inflate our hand into a strong shield.", "You hear organic matter ripping and tearing!") + loc.visible_message(SPAN_WARNING("The end of [loc.name]\'s hand inflates rapidly, forming a huge shield-like mass!"), SPAN_WARNING("We inflate our hand into a strong shield."), SPAN_WARNING("You hear organic matter ripping and tearing!")) playsound(loc, 'sound/effects/bone_break_1.ogg', 100, TRUE) /***************************************\ @@ -463,7 +463,7 @@ /obj/item/clothing/suit/space/changeling/Initialize(mapload) . = ..() if(ismob(loc)) - loc.visible_message("[loc.name]\'s flesh rapidly inflates, forming a bloated mass around [loc.p_their()] body!", "We inflate our flesh, creating a spaceproof suit!", "You hear organic matter ripping and tearing!") + loc.visible_message(SPAN_WARNING("[loc.name]\'s flesh rapidly inflates, forming a bloated mass around [loc.p_their()] body!"), SPAN_WARNING("We inflate our flesh, creating a spaceproof suit!"), SPAN_WARNING("You hear organic matter ripping and tearing!")) START_PROCESSING(SSobj, src) /obj/item/clothing/suit/space/changeling/process() @@ -513,7 +513,7 @@ /obj/item/clothing/suit/armor/changeling/Initialize(mapload) . = ..() if(ismob(loc)) - loc.visible_message("[loc.name]\'s flesh turns black, quickly transforming into a hard, chitinous mass!", "We harden our flesh, creating a suit of armor!", "You hear organic matter ripping and tearing!") + loc.visible_message(SPAN_WARNING("[loc.name]\'s flesh turns black, quickly transforming into a hard, chitinous mass!"), SPAN_WARNING("We harden our flesh, creating a suit of armor!"), SPAN_WARNING("You hear organic matter ripping and tearing!")) playsound(loc, 'sound/effects/bone_break_1.ogg', 100, TRUE) /obj/item/clothing/suit/armor/changeling/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text, final_block_chance, damage) @@ -537,16 +537,16 @@ return user.visible_message( - "[user] starts to saw through [owner]'s [name].", - "You start to saw through [owner]'s [name].", - "You hear a loud grinding noise." + SPAN_NOTICE("[user] starts to saw through [owner]'s [name]."), + SPAN_NOTICE("You start to saw through [owner]'s [name]."), + SPAN_NOTICE("You hear a loud grinding noise.") ) if(!do_after(user, 15 SECONDS, target = owner)) user.visible_message( - "[user] fails to cut through [owner]'s [name].", - "You fail to cut through [owner]'s [name].", - "You hear the grinding stop." + SPAN_WARNING("[user] fails to cut through [owner]'s [name]."), + SPAN_WARNING("You fail to cut through [owner]'s [name]."), + SPAN_NOTICE("You hear the grinding stop.") ) return FALSE @@ -555,9 +555,9 @@ return FALSE user.visible_message( - "\The [name] turns to shreds as [user] cleaves through it!", - "\The [name] turns to shreds as you cleave through it!", - "You hear something fall as the grinding ends." + SPAN_WARNING("\The [name] turns to shreds as [user] cleaves through it!"), + SPAN_WARNING("\The [name] turns to shreds as you cleave through it!"), + SPAN_NOTICE("You hear something fall as the grinding ends.") ) playsound(I, I.hitsound, 50) @@ -622,4 +622,4 @@ C.throw_mode_on() playsound(loc, 'sound/effects/bone_break_1.ogg', 100, TRUE) - C.visible_message("Shards of bone grow through [C.name]'s palms and fall into [C.p_their()] hands!", "We expel shards of bone into our hands.", "You hear organic matter ripping and tearing!") + C.visible_message(SPAN_WARNING("Shards of bone grow through [C.name]'s palms and fall into [C.p_their()] hands!"), SPAN_WARNING("We expel shards of bone into our hands."), SPAN_HEAR("You hear organic matter ripping and tearing!")) diff --git a/code/modules/antagonists/changeling/powers/panacea.dm b/code/modules/antagonists/changeling/powers/panacea.dm index f11689f1753..916cbc1f08b 100644 --- a/code/modules/antagonists/changeling/powers/panacea.dm +++ b/code/modules/antagonists/changeling/powers/panacea.dm @@ -12,7 +12,7 @@ //Heals the things that the other regenerative abilities don't. /datum/action/changeling/panacea/sting_action(mob/living/user) - to_chat(user, "We cleanse impurities from our form.") + to_chat(user, SPAN_NOTICE("We cleanse impurities from our form.")) var/obj/item/organ/internal/body_egg/egg = user.get_int_organ(/obj/item/organ/internal/body_egg) if(egg) diff --git a/code/modules/antagonists/changeling/powers/revive.dm b/code/modules/antagonists/changeling/powers/revive.dm index 94e2ee382cd..8ac47bf426e 100644 --- a/code/modules/antagonists/changeling/powers/revive.dm +++ b/code/modules/antagonists/changeling/powers/revive.dm @@ -9,7 +9,7 @@ //Revive from regenerative stasis /datum/action/changeling/revive/sting_action(mob/living/carbon/user) if(HAS_TRAIT(user, TRAIT_UNREVIVABLE)) - to_chat(user, "Something is preventing us from regenerating, we will need to revive at another point.") + to_chat(user, SPAN_NOTICE("Something is preventing us from regenerating, we will need to revive at another point.")) return FALSE if(!HAS_TRAIT_FROM(user, TRAIT_FAKEDEATH, CHANGELING_TRAIT)) cling.acquired_powers -= src @@ -18,7 +18,7 @@ REMOVE_TRAIT(user, TRAIT_FAKEDEATH, CHANGELING_TRAIT) for(var/obj/item/grab/G in user.grabbed_by) var/mob/living/carbon/M = G.assailant - user.visible_message("[user] suddenly hits [M] in the face and slips out of their grab!") + user.visible_message(SPAN_WARNING("[user] suddenly hits [M] in the face and slips out of their grab!")) M.Stun(2 SECONDS) //Drops the grab M.apply_damage(5, BRUTE, BODY_ZONE_HEAD, M.run_armor_check(BODY_ZONE_HEAD, MELEE)) playsound(user.loc, 'sound/weapons/punch1.ogg', 25, TRUE, -1) @@ -29,7 +29,7 @@ cling.regenerating = FALSE user.UpdateAppearance() //Ensures that the user's appearance matches their DNA. - to_chat(user, "We have regenerated.") + to_chat(user, SPAN_NOTICE("We have regenerated.")) user.regenerate_icons() diff --git a/code/modules/antagonists/changeling/powers/strained_muscles.dm b/code/modules/antagonists/changeling/powers/strained_muscles.dm index 2fd30374bd1..2e6f98c2116 100644 --- a/code/modules/antagonists/changeling/powers/strained_muscles.dm +++ b/code/modules/antagonists/changeling/powers/strained_muscles.dm @@ -18,9 +18,9 @@ /datum/action/changeling/strained_muscles/sting_action(mob/living/carbon/user) if(!user.has_status_effect(STATUS_EFFECT_SPEEDLEGS)) if(user.dna.species.speed_mod < 0) - to_chat(user, "We are moving as fast as we can, we can not go faster.") + to_chat(user, SPAN_NOTICE("We are moving as fast as we can, we can not go faster.")) else - to_chat(user, "Our muscles tense and strengthen.") + to_chat(user, SPAN_NOTICE("Our muscles tense and strengthen.")) user.apply_status_effect(STATUS_EFFECT_SPEEDLEGS) else user.remove_status_effect(STATUS_EFFECT_SPEEDLEGS) diff --git a/code/modules/antagonists/changeling/powers/summon_spiders.dm b/code/modules/antagonists/changeling/powers/summon_spiders.dm index 640930b7884..72107ecb1fd 100644 --- a/code/modules/antagonists/changeling/powers/summon_spiders.dm +++ b/code/modules/antagonists/changeling/powers/summon_spiders.dm @@ -18,13 +18,13 @@ return FALSE is_operating = TRUE if(spider_counter >= 3) - to_chat(user, "We cannot sustain more than three spiders!") + to_chat(user, SPAN_WARNING("We cannot sustain more than three spiders!")) is_operating = FALSE return FALSE - user.visible_message("[user] begins vomiting an arachnid!") + user.visible_message(SPAN_DANGER("[user] begins vomiting an arachnid!")) if(do_after(user, 4 SECONDS, FALSE, target = user, hidden = TRUE)) // Takes 4 seconds to spawn a spider spider_counter++ - user.visible_message("[user] vomits up an arachnid!") + user.visible_message(SPAN_DANGER("[user] vomits up an arachnid!")) var/mob/living/basic/giant_spider/hunter/infestation_spider/S = new(user.loc) S.owner_UID = user.UID() S.ai_controller.set_blackboard_key(BB_CURRENT_PET_TARGET, user) @@ -76,13 +76,13 @@ return switch(current_order) if(IDLE_AGGRESSIVE) - . += "The giant spider will remain idle but will attack anyone on sight." + . += SPAN_NOTICE("The giant spider will remain idle but will attack anyone on sight.") if(FOLLOW_AGGRESSIVE) - . += "The giant spider is following us, but will attack anyone on sight." + . += SPAN_NOTICE("The giant spider is following us, but will attack anyone on sight.") if(FOLLOW_RETALIATE) - . += "The giant spider is following us and staying calm, only attacking if it is attacked." + . += SPAN_NOTICE("The giant spider is following us and staying calm, only attacking if it is attacked.") if(IDLE_RETALIATE) - . += "The giant spider will remain idle and calm, only attacking if it is attacked." + . += SPAN_NOTICE("The giant spider will remain idle and calm, only attacking if it is attacked.") /mob/living/basic/giant_spider/hunter/infestation_spider/AltShiftClick(mob/user) . = ..() @@ -104,14 +104,14 @@ /mob/living/basic/giant_spider/hunter/infestation_spider/proc/spider_order(mob/user) switch(current_order) if(FOLLOW_AGGRESSIVE) - to_chat(user, "We order the giant spider to follow us but attack anyone on sight.") + to_chat(user, SPAN_NOTICE("We order the giant spider to follow us but attack anyone on sight.")) ai_controller.set_blackboard_key(BB_CHANGELING_SPIDER_ORDER, FOLLOW_AGGRESSIVE) if(FOLLOW_RETALIATE) - to_chat(user, "We order the giant spider to follow us and to remain calm, only attacking if it is attacked.") + to_chat(user, SPAN_NOTICE("We order the giant spider to follow us and to remain calm, only attacking if it is attacked.")) ai_controller.set_blackboard_key(BB_CHANGELING_SPIDER_ORDER, FOLLOW_RETALIATE) if(IDLE_RETALIATE) - to_chat(user, "We order the giant spider to remain idle and calm, only attacking if it is attacked.") + to_chat(user, SPAN_NOTICE("We order the giant spider to remain idle and calm, only attacking if it is attacked.")) ai_controller.set_blackboard_key(BB_CHANGELING_SPIDER_ORDER, IDLE_RETALIATE) if(IDLE_AGGRESSIVE) - to_chat(user, "We order the giant spider to remain idle, but ready to attack anyone on sight.") + to_chat(user, SPAN_NOTICE("We order the giant spider to remain idle, but ready to attack anyone on sight.")) ai_controller.set_blackboard_key(BB_CHANGELING_SPIDER_ORDER, IDLE_AGGRESSIVE) diff --git a/code/modules/antagonists/changeling/powers/swap_form.dm b/code/modules/antagonists/changeling/powers/swap_form.dm index b0031fee899..70c95a10d46 100644 --- a/code/modules/antagonists/changeling/powers/swap_form.dm +++ b/code/modules/antagonists/changeling/powers/swap_form.dm @@ -14,17 +14,17 @@ return FALSE var/obj/item/grab/G = user.get_active_hand() if(!istype(G) || (G.state < GRAB_AGGRESSIVE)) - to_chat(user, "We must have an aggressive grab on creature in our active hand to do this!") + to_chat(user, SPAN_WARNING("We must have an aggressive grab on creature in our active hand to do this!")) return FALSE var/mob/living/carbon/human/target = G.affecting if(HAS_TRAIT(target, TRAIT_BADDNA) || HAS_TRAIT(target, TRAIT_HUSK) || HAS_TRAIT(target, TRAIT_SKELETONIZED)) - to_chat(user, "DNA of [target] is ruined beyond usability!") + to_chat(user, SPAN_WARNING("DNA of [target] is ruined beyond usability!")) return FALSE if(!istype(target) || !target.mind || issmall(target) || HAS_TRAIT(target, TRAIT_GENELESS) || isgolem(target)) - to_chat(user, "[target] is not compatible with this ability.") + to_chat(user, SPAN_WARNING("[target] is not compatible with this ability.")) return FALSE if(IS_CHANGELING(target)) - to_chat(user, "We are unable to swap forms with another changeling!") + to_chat(user, SPAN_WARNING("We are unable to swap forms with another changeling!")) return FALSE return TRUE @@ -32,15 +32,15 @@ var/obj/item/grab/G = user.get_active_hand() var/mob/living/carbon/human/target = G.affecting - to_chat(user, "We tighten our grip. We must hold still....") + to_chat(user, SPAN_NOTICE("We tighten our grip. We must hold still....")) target.Jitter(10 SECONDS) user.Jitter(10 SECONDS) if(!do_mob(user, target, 10 SECONDS)) - to_chat(user, "The body swap has been interrupted!") + to_chat(user, SPAN_WARNING("The body swap has been interrupted!")) return - to_chat(target, "[user] tightens [user.p_their()] grip as a painful sensation invades your body.") + to_chat(target, SPAN_USERDANGER("[user] tightens [user.p_their()] grip as a painful sensation invades your body.")) var/datum/dna/DNA = cling.get_dna(user.dna) cling.absorbed_dna -= DNA @@ -68,5 +68,5 @@ if(target.stat == DEAD && target.suiciding) //If Target committed suicide, unset flag for User target.suiciding = FALSE - to_chat(target, "Our genes cry out as we swap our [user] form for [target].") + to_chat(target, SPAN_WARNING("Our genes cry out as we swap our [user] form for [target].")) return TRUE diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm index 7cadb2500c3..69e35d411da 100644 --- a/code/modules/antagonists/changeling/powers/tiny_prick.dm +++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm @@ -30,7 +30,7 @@ /datum/action/changeling/sting/proc/set_sting() var/mob/living/user = owner - to_chat(user, "We prepare our sting, use alt+click or middle mouse button on a target to sting them.") + to_chat(user, SPAN_WARNING("We prepare our sting, use alt+click or middle mouse button on a target to sting them.")) user.middleClickOverride = click_override cling.chosen_sting = src user.hud_used.lingstingdisplay.icon_state = sting_icon @@ -38,7 +38,7 @@ /datum/action/changeling/sting/proc/unset_sting() var/mob/living/user = owner - to_chat(user, "We retract our sting, we can't sting anyone for now.") + to_chat(user, SPAN_WARNING("We retract our sting, we can't sting anyone for now.")) user.middleClickOverride = null cling.chosen_sting = null user.hud_used.lingstingdisplay.icon_state = null @@ -49,16 +49,16 @@ return FALSE var/target_distance = get_dist(user, target) if(target_distance > cling.sting_range) // Too far, don't bother pathfinding - to_chat(user, "Our target is too far for our sting!") + to_chat(user, SPAN_WARNING("Our target is too far for our sting!")) return FALSE if(target_distance && !length(get_path_to(user, target, max_distance = cling.sting_range, simulated_only = FALSE, skip_first = FALSE))) // If they're not on the same turf, check if it can even reach them. - to_chat(user, "Our sting is blocked from reaching our target!") + to_chat(user, SPAN_WARNING("Our sting is blocked from reaching our target!")) return FALSE if(!cling.chosen_sting) - to_chat(user, "We haven't prepared our sting yet!") + to_chat(user, SPAN_WARNING("We haven't prepared our sting yet!")) return FALSE if(ismachineperson(target)) - to_chat(user, "This won't work on synthetics.") + to_chat(user, SPAN_WARNING("This won't work on synthetics.")) return FALSE if(IS_CHANGELING(target)) sting_feedback(user, target) @@ -69,9 +69,9 @@ /datum/action/changeling/sting/sting_feedback(mob/user, mob/target) if(!target) return - to_chat(user, "We stealthily sting [target.name].") + to_chat(user, SPAN_NOTICE("We stealthily sting [target.name].")) if(IS_CHANGELING(target)) - to_chat(target, "You feel a tiny prick.") + to_chat(target, SPAN_WARNING("You feel a tiny prick.")) add_attack_logs(user, target, "Unsuccessful sting (changeling)") return TRUE @@ -123,7 +123,7 @@ /datum/action/changeling/sting/blind/sting_action(mob/living/user, mob/living/target) add_attack_logs(user, target, "Blind sting (changeling)") - to_chat(target, "Your eyes burn horrifically!") + to_chat(target, SPAN_DANGER("Your eyes burn horrifically!")) target.become_nearsighted(EYE_DAMAGE) target.EyeBlind(40 SECONDS) target.EyeBlurry(80 SECONDS) diff --git a/code/modules/antagonists/cult/datum_cultist.dm b/code/modules/antagonists/cult/datum_cultist.dm index dcfe7dd2022..bc3300c96fe 100644 --- a/code/modules/antagonists/cult/datum_cultist.dm +++ b/code/modules/antagonists/cult/datum_cultist.dm @@ -20,7 +20,7 @@ RESTRICT_TYPE(/datum/antagonist/cultist) add_cult_actions() SEND_SOUND(owner.current, sound('sound/ambience/antag/bloodcult.ogg')) owner.current.create_log(CONVERSION_LOG, "Converted to the cult") - owner.current.create_attack_log("Has been converted to the cult!") + owner.current.create_attack_log(SPAN_DANGER("Has been converted to the cult!")) var/datum/team/cult/cult = get_team() ASSERT(cult) @@ -60,8 +60,8 @@ RESTRICT_TYPE(/datum/antagonist/cultist) /datum/antagonist/cultist/farewell() if(owner && owner.current) - owner.current.visible_message("[owner.current] looks like [owner.current.p_they()] just reverted to [owner.current.p_their()] old faith!", - "An unfamiliar white light flashes through your mind, cleansing the taint of [GET_CULT_DATA(entity_title1, "Nar'Sie")] and the memories of your time as their servant with it.") + owner.current.visible_message(SPAN_CULT("[owner.current] looks like [owner.current.p_they()] just reverted to [owner.current.p_their()] old faith!"), + SPAN_USERDANGER("An unfamiliar white light flashes through your mind, cleansing the taint of [GET_CULT_DATA(entity_title1, "Nar'Sie")] and the memories of your time as their servant with it.")) /datum/antagonist/cultist/create_team(team) return SSticker.mode.get_cult_team() @@ -98,7 +98,7 @@ RESTRICT_TYPE(/datum/antagonist/cultist) var/mob/living/carbon/human/H = owner.current new /obj/effect/temp_visual/cult/sparks(get_turf(H), H.dir) H.update_halo_layer() - to_chat(H, "The halo above your head shatters!") + to_chat(H, SPAN_USERDANGER("The halo above your head shatters!")) playsound(H, "shatter", 50, TRUE) /datum/antagonist/cultist/proc/add_cult_actions() @@ -121,7 +121,7 @@ RESTRICT_TYPE(/datum/antagonist/cultist) return FALSE . |= cult_give_item(/obj/item/melee/cultblade/dagger) . |= cult_give_item(/obj/item/stack/sheet/runed_metal/ten) - to_chat(owner.current, "These will help you start the cult on this station. Use them well, and remember - you are not the only one.") + to_chat(owner.current, SPAN_CULT("These will help you start the cult on this station. Use them well, and remember - you are not the only one.")) /datum/antagonist/cultist/proc/cult_give_item(obj/item/item_path) if(!ishuman(owner.current)) @@ -135,10 +135,10 @@ RESTRICT_TYPE(/datum/antagonist/cultist) var/where = H.equip_in_one_of_slots(new item_path(H), slots) if(where) - to_chat(H, "You have \a [initial(item_path.name)] in your [where].") + to_chat(H, SPAN_DANGER("You have \a [initial(item_path.name)] in your [where].")) if(H.s_active) // Update whatever inventory they have open H.s_active.orient2hud(H) H.s_active.show_to(H) return TRUE - to_chat(H, "Unfortunately, you weren't able to get \a [initial(item_path.name)]. This is very bad and you should adminhelp immediately (press F1).") + to_chat(H, SPAN_USERDANGER("Unfortunately, you weren't able to get \a [initial(item_path.name)]. This is very bad and you should adminhelp immediately (press F1).")) return FALSE diff --git a/code/modules/antagonists/cult/team_cult.dm b/code/modules/antagonists/cult/team_cult.dm index 43422d37b4b..2a1339b9165 100644 --- a/code/modules/antagonists/cult/team_cult.dm +++ b/code/modules/antagonists/cult/team_cult.dm @@ -182,7 +182,7 @@ RESTRICT_TYPE(/datum/team/cult) if(!ishuman(M.current)) continue SEND_SOUND(M.current, sound('sound/hallucinations/i_see_you2.ogg')) - to_chat(M.current, "The veil weakens as your cult grows, your eyes begin to glow...") + to_chat(M.current, SPAN_CULTLARGE("The veil weakens as your cult grows, your eyes begin to glow...")) addtimer(CALLBACK(src, PROC_REF(all_members_timer), TYPE_PROC_REF(/datum/antagonist/cultist, rise), VARSET_CALLBACK(src, cult_risen, TRUE)), 20 SECONDS) @@ -192,7 +192,7 @@ RESTRICT_TYPE(/datum/team/cult) if(!ishuman(M.current)) continue SEND_SOUND(M.current, sound('sound/hallucinations/im_here1.ogg')) - to_chat(M.current, "Your cult is ascendant and the red harvest approaches - you cannot hide your true nature for much longer!") + to_chat(M.current, SPAN_CULTLARGE("Your cult is ascendant and the red harvest approaches - you cannot hide your true nature for much longer!")) addtimer(CALLBACK(src, PROC_REF(all_members_timer), TYPE_PROC_REF(/datum/antagonist/cultist, ascend), VARSET_CALLBACK(src, cult_ascendant, TRUE)), 20 SECONDS) if(!no_announcements) @@ -204,7 +204,7 @@ RESTRICT_TYPE(/datum/team/cult) if(!ishuman(M.current)) continue SEND_SOUND(M.current, sound('sound/hallucinations/wail.ogg')) - to_chat(M.current, "The veil repairs itself, your power grows weaker...") + to_chat(M.current, SPAN_CULTLARGE("The veil repairs itself, your power grows weaker...")) addtimer(CALLBACK(src, PROC_REF(all_members_timer), TYPE_PROC_REF(/datum/antagonist/cultist, descend), VARSET_CALLBACK(src, cult_ascendant, FALSE)), 20 SECONDS) if(!no_announcements) @@ -360,26 +360,26 @@ RESTRICT_TYPE(/datum/team/cult) switch(cult_status) if(NARSIE_IS_ASLEEP) - to_chat(M, "[GET_CULT_DATA(entity_name, "The Dark One")] is asleep. This is probably a bug.") + to_chat(M, SPAN_CULT("[GET_CULT_DATA(entity_name, "The Dark One")] is asleep. This is probably a bug.")) if(NARSIE_DEMANDS_SACRIFICE) var/list/all_objectives = objective_holder.get_objectives() if(!length(all_objectives)) - to_chat(M, "Error: No objectives. Something went wrong, adminhelp with F1.") + to_chat(M, SPAN_DANGER("Error: No objectives. Something went wrong, adminhelp with F1.")) else var/datum/objective/sacrifice/current_obj = all_objectives[length(all_objectives)] //get the last obj in the list, ie the current one - to_chat(M, "The Veil needs to be weakened before we are able to summon [GET_CULT_DATA(entity_title1, "The Dark One")].") - to_chat(M, "Current goal: [current_obj.explanation_text]") + to_chat(M, SPAN_CULT("The Veil needs to be weakened before we are able to summon [GET_CULT_DATA(entity_title1, "The Dark One")].")) + to_chat(M, SPAN_CULT("Current goal: [current_obj.explanation_text]")) if(NARSIE_NEEDS_SUMMONING) - to_chat(M, "The Veil is weak! We can summon [GET_CULT_DATA(entity_title3, "The Dark One")]!") - to_chat(M, "Current goal: [obj_summon.explanation_text]") + to_chat(M, SPAN_CULT("The Veil is weak! We can summon [GET_CULT_DATA(entity_title3, "The Dark One")]!")) + to_chat(M, SPAN_CULT("Current goal: [obj_summon.explanation_text]")) if(NARSIE_HAS_RISEN) - to_chat(M, "\"I am here.\"") - to_chat(M, "Current goal: \"Feed me.\"") + to_chat(M, SPAN_CULTLARGE("\"I am here.\"")) + to_chat(M, SPAN_CULT("Current goal:
\"Feed me.\"")) if(NARSIE_HAS_FALLEN) - to_chat(M, "[GET_CULT_DATA(entity_name, "The Dark One")] has been banished!") - to_chat(M, "Current goal: Slaughter the unbelievers!") + to_chat(M, SPAN_CULTLARGE("[GET_CULT_DATA(entity_name, "The Dark One")] has been banished!")) + to_chat(M, SPAN_CULT("Current goal: Slaughter the unbelievers!")) else - to_chat(M, "Error: Cult objective status currently unknown. Something went wrong, adminhelp with F1.") + to_chat(M, SPAN_DANGER("Error: Cult objective status currently unknown. Something went wrong, adminhelp with F1.")) if(!display_members) return @@ -430,7 +430,7 @@ RESTRICT_TYPE(/datum/team/cult) objective_holder.remove_objective(current_obj) ready_to_summon() return FALSE - speak_to_all_alive_cultists("[GET_CULT_DATA(entity_name, "Your god")] murmurs, Our goal is beyond your reach. Sacrifice [current_obj.target] instead...") + speak_to_all_alive_cultists(SPAN_DANGER("[GET_CULT_DATA(entity_name, "Your god")] murmurs, Our goal is beyond your reach. Sacrifice [current_obj.target] instead...")) return TRUE /datum/team/cult/proc/successful_sacrifice() @@ -448,8 +448,8 @@ RESTRICT_TYPE(/datum/team/cult) return speak_to_all_alive_cultists( - "You and your acolytes have made progress, but there is more to do still before [GET_CULT_DATA(entity_title1, "The Dark One")] can be summoned!", - "Current goal: [obj_sac.explanation_text]" + SPAN_CULT("You and your acolytes have made progress, but there is more to do still before [GET_CULT_DATA(entity_title1, "The Dark One")] can be summoned!"), + SPAN_CULT("Current goal: [obj_sac.explanation_text]") ) /datum/team/cult/proc/ready_to_summon() @@ -458,8 +458,8 @@ RESTRICT_TYPE(/datum/team/cult) cult_status = NARSIE_NEEDS_SUMMONING speak_to_all_alive_cultists( - "You and your acolytes have succeeded in preparing the station for the ultimate ritual!", - "Current goal: [obj_summon.explanation_text]" + SPAN_CULT("You and your acolytes have succeeded in preparing the station for the ultimate ritual!"), + SPAN_CULT("Current goal: [obj_summon.explanation_text]") ) /datum/team/cult/proc/successful_summon() @@ -470,8 +470,8 @@ RESTRICT_TYPE(/datum/team/cult) cult_status = NARSIE_HAS_FALLEN obj_summon.killed = TRUE speak_to_all_alive_cultists( - "RETRIBUTION!", - "Current goal: Slaughter the heretics!" + SPAN_CULTLARGE("RETRIBUTION!"), + SPAN_CULT("Current goal: Slaughter the heretics!") ) /datum/team/cult/proc/get_cult_status_as_string() @@ -498,10 +498,10 @@ RESTRICT_TYPE(/datum/team/cult) if(!input) return - speak_to_all_alive_cultists("[GET_CULT_DATA(entity_name, "Your god")] murmurs, \"[input]\"") + speak_to_all_alive_cultists(SPAN_CULT("[GET_CULT_DATA(entity_name, "Your god")] murmurs, \"[input]\"")) for(var/mob/dead/observer/O in GLOB.player_list) - to_chat(O, "[GET_CULT_DATA(entity_name, "Your god")] murmurs, \"[input]\"") + to_chat(O, SPAN_CULT("[GET_CULT_DATA(entity_name, "Your god")] murmurs, \"[input]\"")) message_admins("Admin [key_name_admin(admin_caller)] has talked with the Voice of [GET_CULT_DATA(entity_name, "Cult God")].") log_admin("[key_name(admin_caller)] Voice of [GET_CULT_DATA(entity_name, "Cult God")]: [input]") @@ -551,7 +551,7 @@ RESTRICT_TYPE(/datum/team/cult) if("cult_newsummonlocations") if(!obj_summon) - to_chat(usr, "The cult has NO summon objective yet.") + to_chat(usr, SPAN_DANGER("The cult has NO summon objective yet.")) return if(alert(usr, "Reroll the cult's summoning locations?", "Cult Debug", "Yes", "No") != "Yes") return @@ -559,8 +559,8 @@ RESTRICT_TYPE(/datum/team/cult) obj_summon.find_summon_locations(TRUE) if(cult_status == NARSIE_NEEDS_SUMMONING) //Only update cultists if they are already have the summon goal since they arent aware of summon spots till then speak_to_all_alive_cultists( - "The veil has shifted! Our summoning will need to take place elsewhere.", - "Current goal: [obj_summon.explanation_text]" + SPAN_CULT("The veil has shifted! Our summoning will need to take place elsewhere."), + SPAN_CULT("Current goal: [obj_summon.explanation_text]") ) message_admins("Admin [key_name_admin(usr)] has rerolled the Cult's sacrifice target.") diff --git a/code/modules/antagonists/mind_flayer/flayer_datum.dm b/code/modules/antagonists/mind_flayer/flayer_datum.dm index e38421f6f3f..d804932a07c 100644 --- a/code/modules/antagonists/mind_flayer/flayer_datum.dm +++ b/code/modules/antagonists/mind_flayer/flayer_datum.dm @@ -98,7 +98,7 @@ /datum/antagonist/mindflayer/proc/send_swarm_message(message) if(HAS_TRAIT(owner.current, TRAIT_MINDFLAYER_NULLIFIED)) message = stutter(message, 0, TRUE) - to_chat(owner.current, "[message]") + to_chat(owner.current, SPAN_SINISTER("[message]")) /** Checks for any reason that you should not be able to drain someone for. @@ -145,9 +145,9 @@ return var/unique_drain_id = H.UID() owner.current.visible_message( - "[owner.current] puts [owner.current.p_their()] fingers on [H]'s [drained_brain.parent_organ] and begins harvesting!", - "We begin our harvest on [H].", - "You hear the hum of electricity." + SPAN_DANGER("[owner.current] puts [owner.current.p_their()] fingers on [H]'s [drained_brain.parent_organ] and begins harvesting!"), + SPAN_SINISTER("We begin our harvest on [H]."), + SPAN_NOTICE("You hear the hum of electricity.") ) if(!do_mob(owner.current, H, time = 2 SECONDS, hidden = TRUE)) send_swarm_message("Our connection was incomplete.") @@ -178,7 +178,7 @@ /datum/antagonist/mindflayer/greet() var/list/messages = list() SEND_SOUND(owner.current, sound('sound/ambience/antag/mindflayer_alert.ogg')) - messages += "You feel something stirring within your chassis... You are a Mindflayer!
" + messages += "[SPAN_DANGER("You feel something stirring within your chassis... You are a Mindflayer!")]
" messages += "To harvest someone, target where the brain of your victim is and use harm intent with an empty hand. Drain intelligence to increase your swarm." return messages diff --git a/code/modules/antagonists/mind_flayer/mindflayer_gamemode.dm b/code/modules/antagonists/mind_flayer/mindflayer_gamemode.dm index 1744d0f8683..c08213a8638 100644 --- a/code/modules/antagonists/mind_flayer/mindflayer_gamemode.dm +++ b/code/modules/antagonists/mind_flayer/mindflayer_gamemode.dm @@ -3,17 +3,17 @@ if(!length(mindflayers)) return - var/list/text = list("
The mindflayers were:") + var/list/text = list("
[SPAN_BOLD("The mindflayers were:")]") for(var/datum/mind/mindflayer in mindflayers) var/traitorwin = TRUE text += "
[mindflayer.get_display_key()] was [mindflayer.name] and " if(mindflayer.current) if(mindflayer.current.stat == DEAD) - text += "died!" + text += SPAN_BOLD("died!") else - text += "survived!" + text += SPAN_BOLD("survived!") else - text += "had [mindflayer.p_their()] body destroyed!" + text += "[SPAN_BOLD("had [mindflayer.p_their()] body destroyed")]!" var/list/all_objectives = mindflayer.get_all_objectives() diff --git a/code/modules/antagonists/mind_flayer/powers/flayer_buffs.dm b/code/modules/antagonists/mind_flayer/powers/flayer_buffs.dm index 96413ad466d..df041cf775d 100644 --- a/code/modules/antagonists/mind_flayer/powers/flayer_buffs.dm +++ b/code/modules/antagonists/mind_flayer/powers/flayer_buffs.dm @@ -20,7 +20,7 @@ var/extra_healing = 0 /datum/spell/flayer/self/rejuv/cast(list/targets, mob/living/user) - to_chat(user, "We begin to heal rapidly.") + to_chat(user, SPAN_NOTICE("We begin to heal rapidly.")) user.apply_status_effect(STATUS_EFFECT_FLAYER_REJUV, extra_duration, extra_healing) /datum/spell/flayer/self/rejuv/on_apply() diff --git a/code/modules/antagonists/mind_flayer/powers/flayer_mobility_powers.dm b/code/modules/antagonists/mind_flayer/powers/flayer_mobility_powers.dm index c1cf5561eda..e161d34f5fd 100644 --- a/code/modules/antagonists/mind_flayer/powers/flayer_mobility_powers.dm +++ b/code/modules/antagonists/mind_flayer/powers/flayer_mobility_powers.dm @@ -80,7 +80,7 @@ if(!is_teleport_allowed(start_turf.z) || !is_teleport_allowed(end_turf.z)) return user.visible_message( - "[user] de-materializes and jumps through the screen of [target]!", + SPAN_DANGER("[user] de-materializes and jumps through the screen of [target]!"), "You de-materialize and jump into [target]!") user.set_body_position(STANDING_UP) @@ -101,8 +101,8 @@ user.set_body_position(STANDING_UP) animate(user, 0.5 SECONDS, 0, transform = previous) user.visible_message( - "[user] suddenly crawls through the monitor of [marked_computer]!", - "As you reform yourself at [marked_computer] you feel the mark you left on it fade.") + SPAN_WARNING("[user] suddenly crawls through the monitor of [marked_computer]!"), + SPAN_NOTICE("As you reform yourself at [marked_computer] you feel the mark you left on it fade.")) marked_computer = null cooldown_handler.start_recharge() @@ -155,7 +155,7 @@ /datum/spell/flayer/techno_wall/cast(list/targets, mob/user) var/turf/target_turf = get_turf(targets[1]) if(target_turf == start_turf) - flayer.send_swarm_message("You deselect the targeted turf.") + flayer.send_swarm_message(SPAN_NOTICE("You deselect the targeted turf.")) start_turf = null should_recharge_after_cast = FALSE return diff --git a/code/modules/antagonists/mind_flayer/powers/flayer_passives.dm b/code/modules/antagonists/mind_flayer/powers/flayer_passives.dm index 3653d6ac673..f7f44e5ddcc 100644 --- a/code/modules/antagonists/mind_flayer/powers/flayer_passives.dm +++ b/code/modules/antagonists/mind_flayer/powers/flayer_passives.dm @@ -350,11 +350,11 @@ ADD_TRAIT(owner, TRAIT_AI_UNTRACKABLE, "silicon_cham[UID()]") stored_invis = owner.invisibility owner.set_invisible(SEE_INVISIBLE_LIVING) - to_chat(owner, "You feel a slight shiver as the cybernetic obfuscators activate.") + to_chat(owner, SPAN_NOTICE("You feel a slight shiver as the cybernetic obfuscators activate.")) /datum/mindflayer_passive/radio_jammer/on_remove() QDEL_NULL(internal_jammer) REMOVE_TRAIT(owner, TRAIT_AI_UNTRACKABLE, "silicon_cham[UID()]") if(stored_invis) owner.set_invisible(stored_invis) - to_chat(owner, "You feel a slight shiver as the cybernetic obfuscators deactivate.") + to_chat(owner, SPAN_NOTICE("You feel a slight shiver as the cybernetic obfuscators deactivate.")) diff --git a/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm b/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm index 247319282c1..f0a5617b064 100644 --- a/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm +++ b/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm @@ -73,7 +73,7 @@ if(flayer.mimicking) flayer.mimicking = "" user.extra_message_range = 0 - to_chat(user, "We turn our vocal modulator to its original settings.") + to_chat(user, SPAN_NOTICE("We turn our vocal modulator to its original settings.")) return FALSE var/mimic_voice = tgui_input_text(user, "Enter a name to mimic.", "Mimic Voice", max_length = MAX_NAME_LEN) @@ -192,24 +192,24 @@ return FINISH_ATTACK if(!isrobot(target)) - to_chat(user, "[src] will have no effect against this target!") + to_chat(user, SPAN_WARNING("[src] will have no effect against this target!")) return FINISH_ATTACK var/mob/living/silicon/robot/borg = target borg.visible_message( - "[user] puts [user.p_their()] hands on [borg] and begins transferring energy!", - "[user] puts [user.p_their()] hands on you and begins transferring energy!") + SPAN_DANGER("[user] puts [user.p_their()] hands on [borg] and begins transferring energy!"), + SPAN_USERDANGER("[user] puts [user.p_their()] hands on you and begins transferring energy!")) if(borg.emagged || !borg.is_emaggable) - to_chat(user, "Your override attempt fails before it can even begin.") + to_chat(user, SPAN_NOTICE("Your override attempt fails before it can even begin.")) qdel(src) return FINISH_ATTACK if(!do_mob(user, borg, conversion_time, hidden = TRUE)) - to_chat(user, "Your concentration breaks.") + to_chat(user, SPAN_NOTICE("Your concentration breaks.")) qdel(src) return FINISH_ATTACK - to_chat(user, "The mass of swarms vanish into the cyborg's internals. Success.") + to_chat(user, SPAN_NOTICE("The mass of swarms vanish into the cyborg's internals. Success.")) INVOKE_ASYNC(src, PROC_REF(emag_borg), borg, user) qdel(src) return FINISH_ATTACK @@ -232,7 +232,7 @@ /datum/spell/flayer/self/extraction/cast(list/targets, mob/user) if(used) - to_chat(user, "You have already attempted to create a portal generator!") + to_chat(user, SPAN_WARNING("You have already attempted to create a portal generator!")) return flayer.prepare_exfiltration(user, /obj/item/wormhole_jaunter/extraction/mindflayer) used = TRUE diff --git a/code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.dm b/code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.dm index 09283f9878f..1da62eb1896 100644 --- a/code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.dm +++ b/code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.dm @@ -179,11 +179,11 @@ if(isliving(target) && blocked < 100) var/mob/living/creature = target creature.visible_message( - "[firer] uses [creature] to pull [firer.p_themselves()] over!", - "You feel a strong tug as [firer] yanks [firer.p_themselves()] over to you!") + SPAN_NOTICE("[firer] uses [creature] to pull [firer.p_themselves()] over!"), + SPAN_DANGER("You feel a strong tug as [firer] yanks [firer.p_themselves()] over to you!")) creature.KnockDown(1 SECONDS) return - target.visible_message("[firer] drags [firer.p_themselves()] across the room!") + target.visible_message(SPAN_NOTICE("[firer] drags [firer.p_themselves()] across the room!")) /datum/spell/flayer/self/weapon/grapple_arm/on_apply() ..() diff --git a/code/modules/antagonists/revolutionary/datum_headrev.dm b/code/modules/antagonists/revolutionary/datum_headrev.dm index 8b08eafb7e0..e3b697b2874 100644 --- a/code/modules/antagonists/revolutionary/datum_headrev.dm +++ b/code/modules/antagonists/revolutionary/datum_headrev.dm @@ -16,7 +16,7 @@ RESTRICT_TYPE(/datum/antagonist/rev/head) INVOKE_ASYNC(revolting, TYPE_PROC_REF(/datum/team/revolution, process_promotion), REVOLUTION_PROMOTION_AT_LEAST_ONE) /datum/antagonist/rev/head/greet() - return "You are a member of the revolutionaries' leadership! Mutiny against the station's command and take control!" + return SPAN_USERDANGER("You are a member of the revolutionaries' leadership! Mutiny against the station's command and take control!") /datum/antagonist/rev/head/add_owner_to_gamemode() SSticker.mode.head_revolutionaries |= owner @@ -64,5 +64,5 @@ RESTRICT_TYPE(/datum/antagonist/rev/head) demoted.converted = FALSE old_owner.add_antag_datum(demoted, SSticker.mode.get_rev_team()) demoted.silent = FALSE - to_chat(old_owner.current, "The Revolution is disappointed in your leadership! You are a regular revolutionary now!") + to_chat(old_owner.current, SPAN_USERDANGER("The Revolution is disappointed in your leadership! You are a regular revolutionary now!")) diff --git a/code/modules/antagonists/revolutionary/datum_revolutionary.dm b/code/modules/antagonists/revolutionary/datum_revolutionary.dm index 920d56483fd..59732420a21 100644 --- a/code/modules/antagonists/revolutionary/datum_revolutionary.dm +++ b/code/modules/antagonists/revolutionary/datum_revolutionary.dm @@ -27,7 +27,7 @@ RESTRICT_TYPE(/datum/antagonist/rev) /datum/antagonist/rev/farewell() if(owner && owner.current) - to_chat(owner.current,"You have been brainwashed! You are no longer a [special_role]!") + to_chat(owner.current,SPAN_USERDANGER("You have been brainwashed! You are no longer a [special_role]!")) /datum/antagonist/rev/add_owner_to_gamemode() @@ -54,5 +54,5 @@ RESTRICT_TYPE(/datum/antagonist/rev) new_revhead.silent = TRUE old_owner.add_antag_datum(new_revhead, SSticker.mode.get_rev_team()) new_revhead.silent = FALSE - to_chat(old_owner.current, "You have proved your devotion to the revolution! You are a head revolutionary now!") + to_chat(old_owner.current, SPAN_USERDANGER("You have proved your devotion to the revolution! You are a head revolutionary now!")) diff --git a/code/modules/antagonists/survivalist/survivalist.dm b/code/modules/antagonists/survivalist/survivalist.dm index eef7e38ac51..68352d76f14 100644 --- a/code/modules/antagonists/survivalist/survivalist.dm +++ b/code/modules/antagonists/survivalist/survivalist.dm @@ -8,7 +8,7 @@ /datum/antagonist/survivalist/greet() . = ..() - . += "[greet_message]" + . += SPAN_NOTICE("[greet_message]") /datum/antagonist/survivalist/guns greet_message = "Your own safety matters above all else, and the only way to ensure your safety is to stockpile weapons! Grab as many guns as possible, by any means necessary. Kill anyone who gets in your way." diff --git a/code/modules/antagonists/traitor/contractor/datums/contractor_hub.dm b/code/modules/antagonists/traitor/contractor/datums/contractor_hub.dm index e634e819262..fa04fa4205a 100644 --- a/code/modules/antagonists/traitor/contractor/datums/contractor_hub.dm +++ b/code/modules/antagonists/traitor/contractor/datums/contractor_hub.dm @@ -171,9 +171,9 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.put_in_hands(TC)) - to_chat(H, "Your payment materializes into your hands!") + to_chat(H, SPAN_NOTICE("Your payment materializes into your hands!")) else - to_chat(M, "Your payment materializes on the floor.") + to_chat(M, SPAN_NOTICE("Your payment materializes on the floor.")) // Update info reward_tc_paid_out += reward_tc_available reward_tc_available = 0 diff --git a/code/modules/antagonists/traitor/contractor/datums/contractor_hub_ui.dm b/code/modules/antagonists/traitor/contractor/datums/contractor_hub_ui.dm index 250e6a5876f..7297fe31882 100644 --- a/code/modules/antagonists/traitor/contractor/datums/contractor_hub_ui.dm +++ b/code/modules/antagonists/traitor/contractor/datums/contractor_hub_ui.dm @@ -16,7 +16,7 @@ if("extract") var/error_message = current_contract?.start_extraction_process(ui_host(), usr) if(length(error_message)) - to_chat(usr, "[error_message]") + to_chat(usr, SPAN_WARNING("[error_message]")) if("claim") claim_tc(usr) if("activate") diff --git a/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchase_base.dm b/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchase_base.dm index 559ededd54c..d229bce4364 100644 --- a/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchase_base.dm +++ b/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchase_base.dm @@ -26,13 +26,13 @@ /datum/rep_purchase/proc/buy(datum/contractor_hub/hub, mob/living/carbon/human/user) . = FALSE if(hub.owner.current != user) - to_chat(user, "You were not recognized as this hub's original user.") + to_chat(user, SPAN_WARNING("You were not recognized as this hub's original user.")) return if(hub.rep < cost) - to_chat(user, "You do not have enough Rep.") + to_chat(user, SPAN_WARNING("You do not have enough Rep.")) return if(stock == 0) - to_chat(user, "This item is out of stock.") + to_chat(user, SPAN_WARNING("This item is out of stock.")) return else if(stock > 0) stock-- diff --git a/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.dm b/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.dm index dd975ce5411..022cc72b1ed 100644 --- a/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.dm +++ b/code/modules/antagonists/traitor/contractor/datums/rep_purchases/rep_purchases.dm @@ -54,7 +54,7 @@ eligible = FALSE break if(!eligible) - to_chat(user, "All of your contracts must be completed in the hardest location to be eligible for this item.") + to_chat(user, SPAN_WARNING("All of your contracts must be completed in the hardest location to be eligible for this item.")) return FALSE return ..() @@ -93,7 +93,7 @@ /datum/rep_purchase/blackout/buy(datum/contractor_hub/hub, mob/living/carbon/human/user) if(next_blackout > world.time) var/timeleft = (next_blackout - world.time) / 10 - to_chat(user, "Another blackout may not be requested for [seconds_to_clock(timeleft)].") + to_chat(user, SPAN_WARNING("Another blackout may not be requested for [seconds_to_clock(timeleft)].")) return FALSE return ..() @@ -114,7 +114,7 @@ eligible = TRUE break if(!eligible) - to_chat(user, "There are no inactive contracts that can be rerolled.") + to_chat(user, SPAN_WARNING("There are no inactive contracts that can be rerolled.")) return FALSE return ..() diff --git a/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm index 18d1285d8a1..9977df90b8b 100644 --- a/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm +++ b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm @@ -148,7 +148,7 @@ if(status != CONTRACT_STATUS_INACTIVE || !ISINDEXSAFE(reward_tc, difficulty)) return else if(owning_hub.current_contract) - to_chat(M, "You already have an ongoing contract!") + to_chat(M, SPAN_WARNING("You already have an ongoing contract!")) return if(!contract.choose_difficulty(difficulty, src)) @@ -251,16 +251,16 @@ else if(!contract.can_start_extraction_process(M, target)) return "You and the target must be standing in the extraction area to start the extraction process." - M.visible_message("[M] starts entering a cryptic series of characters on [U].",\ - "You start entering an extraction signal to your handlers on [U]...") + M.visible_message(SPAN_NOTICE("[M] starts entering a cryptic series of characters on [U]."),\ + SPAN_NOTICE("You start entering an extraction signal to your handlers on [U]...")) if(do_after(M, EXTRACTION_PHASE_PREPARE, target = M, hidden = TRUE)) if(!U.Adjacent(M) || extraction_deadline > world.time) return var/obj/effect/contractor_flare/F = new(get_turf(M)) extraction_flare = F extraction_deadline = world.time + extraction_cooldown - M.visible_message("[M] enters a mysterious code on [U] and pulls a black and gold flare from [M.p_their()] belongings before lighting it.",\ - "You finish entering the signal on [U] and light an extraction flare, initiating the extraction process.") + M.visible_message(SPAN_NOTICE("[M] enters a mysterious code on [U] and pulls a black and gold flare from [M.p_their()] belongings before lighting it."),\ + SPAN_NOTICE("You finish entering the signal on [U] and light an extraction flare, initiating the extraction process.")) addtimer(CALLBACK(src, PROC_REF(open_extraction_portal), U, M, F), EXTRACTION_PHASE_PORTAL) extraction_timer_handle = addtimer(CALLBACK(src, PROC_REF(deadline_reached)), portal_duration, TIMER_STOPPABLE) @@ -444,7 +444,7 @@ // Heal them up - gets them out of crit/soft crit. M.reagents.add_reagent("omnizine", 10) - to_chat(M, "You feel strange...") + to_chat(M, SPAN_WARNING("You feel strange...")) M.Paralyse(30 SECONDS) M.EyeBlind(35 SECONDS) M.EyeBlurry(35 SECONDS) @@ -453,26 +453,26 @@ for(var/mob/living/simple_animal/hostile/guardian/G in GLOB.alive_mob_list) if(G.summoner == M) M.remove_guardian_actions() - to_chat(G, "You feel your body ripped to shreds as you're forcibly removed from your summoner!") - to_chat(M, "You feel some part of you missing, you're not who you used to be...") + to_chat(G, SPAN_DANGER("You feel your body ripped to shreds as you're forcibly removed from your summoner!")) + to_chat(M, SPAN_WARNING("You feel some part of you missing, you're not who you used to be...")) G.ghostize() qdel(G) sleep(6 SECONDS) - to_chat(M, "That portal did something to you...") + to_chat(M, SPAN_WARNING("That portal did something to you...")) sleep(6.5 SECONDS) - to_chat(M, "Your head pounds... It feels like it's going to burst out your skull!") + to_chat(M, SPAN_WARNING("Your head pounds... It feels like it's going to burst out your skull!")) sleep(3 SECONDS) - to_chat(M, "Your head pounds...") + to_chat(M, SPAN_WARNING("Your head pounds...")) sleep(10 SECONDS) to_chat(M, "A million voices echo in your head... \"Your mind held many valuable secrets - \ we thank you for providing them. Your value is expended, and you will be ransomed back to your station. We always get paid, \ so it's only a matter of time before we send you back...\"") - to_chat(M, "You have been kidnapped and interrogated for valuable information! You will be sent back to the station in a few minutes...") + to_chat(M, SPAN_DANGER("You have been kidnapped and interrogated for valuable information! You will be sent back to the station in a few minutes...")) /** * Default damage if no injury is possible. @@ -497,13 +497,13 @@ return default_damage(M) injury_target.droplimb() - to_chat(M, "You were interrogated by your captors before being sent back! Oh god, something's missing!") + to_chat(M, SPAN_WARNING("You were interrogated by your captors before being sent back! Oh god, something's missing!")) return //Species specific punishments first if(ismachineperson(M)) M.emp_act(EMP_HEAVY) M.adjustBrainLoss(30) - to_chat(M, "You were interrogated by your captors before being sent back! You feel like some of your components are loose!") + to_chat(M, SPAN_WARNING("You were interrogated by your captors before being sent back! You feel like some of your components are loose!")) return default_damage(M) //Now that we won't accidentally kill an IPC we can make everyone take damage if(isslimeperson(M)) @@ -513,7 +513,7 @@ injury_target.cause_internal_bleeding() injury_target = M.get_organ(BODY_ZONE_CHEST) injury_target.cause_internal_bleeding() - to_chat(M, "You were interrogated by your captors before being sent back! You feel like your inner membrane has been punctured!") + to_chat(M, SPAN_WARNING("You were interrogated by your captors before being sent back! You feel like your inner membrane has been punctured!")) return if(prob(25)) //You either get broken ribs, or a broken limb and IB if you made it this far injury_target = M.get_organ(BODY_ZONE_CHEST) @@ -561,12 +561,12 @@ // Injuries due to questioning and souvenirs injure_target(M) if(prob(RETURN_SOUVENIR_CHANCE)) - to_chat(M, "Your captors left you a souvenir for your troubles!") + to_chat(M, SPAN_NOTICE("Your captors left you a souvenir for your troubles!")) var/obj/item/souvenir = pick(souvenirs) new souvenir(closet) // Return them a bit confused. - M.visible_message("[M] vanishes...") + M.visible_message(SPAN_NOTICE("[M] vanishes...")) M.forceMove(closet) M.Paralyse(3 SECONDS) M.EyeBlurry(5 SECONDS) diff --git a/code/modules/antagonists/traitor/contractor/items/contractor_pinpointer.dm b/code/modules/antagonists/traitor/contractor/items/contractor_pinpointer.dm index dc3472cd3af..fba94ac86e7 100644 --- a/code/modules/antagonists/traitor/contractor/items/contractor_pinpointer.dm +++ b/code/modules/antagonists/traitor/contractor/items/contractor_pinpointer.dm @@ -40,9 +40,9 @@ /obj/item/pinpointer/crew/contractor/attack_self__legacy__attackchain(mob/living/user) if(owner) if(owner != user.mind.current) - to_chat(user, "[src] refuses to do anything.") + to_chat(user, SPAN_WARNING("[src] refuses to do anything.")) return else owner = user.mind.current - to_chat(user, "[src] now recognizes you as its sole user.") + to_chat(user, SPAN_NOTICE("[src] now recognizes you as its sole user.")) return ..() diff --git a/code/modules/antagonists/traitor/contractor/items/contractor_uplink.dm b/code/modules/antagonists/traitor/contractor/items/contractor_uplink.dm index 8a34bf9a23a..6f2c4b3eb81 100644 --- a/code/modules/antagonists/traitor/contractor/items/contractor_uplink.dm +++ b/code/modules/antagonists/traitor/contractor/items/contractor_uplink.dm @@ -36,7 +36,7 @@ if(!istype(M)) return - to_chat(M, "[bicon(src)] Incoming encrypted transmission from your handlers. Message as follows:
"\ - + "[text]") + to_chat(M, "[SPAN_NOTICE("[bicon(src)] Incoming encrypted transmission from your handlers. Message as follows:")]
"\ + + SPAN_BOLDNOTICE("[text]")) if(sndfile) M.playsound_local(get_turf(M), sndfile, 30, FALSE, use_reverb = FALSE) diff --git a/code/modules/antagonists/traitor/contractor/items/extraction_items.dm b/code/modules/antagonists/traitor/contractor/items/extraction_items.dm index 8f08c7bcf19..4d41e958b94 100644 --- a/code/modules/antagonists/traitor/contractor/items/extraction_items.dm +++ b/code/modules/antagonists/traitor/contractor/items/extraction_items.dm @@ -37,14 +37,14 @@ if(!istype(M)) return FALSE if(M == usr && M.mind == contractor_mind) - to_chat(M, "The portal is here to extract the contract target, not you!") + to_chat(M, SPAN_WARNING("The portal is here to extract the contract target, not you!")) return FALSE if(M.mind != target_mind) if(usr?.mind == contractor_mind) // Contractor shoving a non-target into the portal - to_chat(M, "Somehow you are not sure [M] is the target you have to kidnap.") + to_chat(M, SPAN_WARNING("Somehow you are not sure [M] is the target you have to kidnap.")) return FALSE else if(usr == M) // Non-target trying to enter the portal - to_chat(M, "Somehow you are not sure this is a good idea.") + to_chat(M, SPAN_WARNING("Somehow you are not sure this is a good idea.")) return FALSE return FALSE return ..() diff --git a/code/modules/antagonists/traitor/datum_mindslave.dm b/code/modules/antagonists/traitor/datum_mindslave.dm index 0e9f58ed6c3..a757f9b4d27 100644 --- a/code/modules/antagonists/traitor/datum_mindslave.dm +++ b/code/modules/antagonists/traitor/datum_mindslave.dm @@ -66,14 +66,14 @@ RESTRICT_TYPE(/datum/antagonist/mindslave) /datum/antagonist/mindslave/greet() // Show them the custom greeting text if it exists. if(greet_text) - return "[greet_text]" + return SPAN_BIGGERDANGER("[greet_text]") else // Default greeting text if nothing is given. return "You are now completely loyal to [master.current.name]! \ You must lay down your life to protect [master.current.p_them()] and assist in [master.current.p_their()] goals at any cost." /datum/antagonist/mindslave/farewell() if(owner && owner.current) - to_chat(owner.current, "You are no longer a mindslave of [master]!") + to_chat(owner.current, SPAN_BIGGERDANGER("You are no longer a mindslave of [master]!")) /datum/antagonist/mindslave/add_antag_hud(mob/living/antag_mob) . = ..() diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 4a958276215..5308e5d3100 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -220,11 +220,11 @@ RESTRICT_TYPE(/datum/antagonist/traitor) var/responses = jointext(GLOB.syndicate_code_response, ", ") var/list/messages = list() messages.Add("The Syndicate have provided you with the following codewords to identify fellow agents:") - messages.Add("Code Phrase: [phrases]") - messages.Add("Code Response: [responses]") + messages.Add("Code Phrase: [SPAN_CODEPHRASES("[phrases]")]") + messages.Add("Code Response: [SPAN_CODERESPONSES("[responses]")]") - antag_memory += "Code Phrase: [phrases]
" - antag_memory += "Code Response: [responses]
" + antag_memory += "Code Phrase: [SPAN_RED("[phrases]")]
" + antag_memory += "Code Response: [SPAN_RED("[responses]")]
" messages.Add("Use the codewords during regular conversation to identify other agents. Proceed with caution, however, as everyone is a potential foe.") messages.Add("You memorize the codewords, allowing you to recognize them when heard.") @@ -260,7 +260,7 @@ RESTRICT_TYPE(/datum/antagonist/traitor) R = locate(/obj/item/radio) in traitor_mob.contents if(!R) - to_chat(traitor_mob, "Unfortunately, the Syndicate wasn't able to give you an uplink.") + to_chat(traitor_mob, SPAN_WARNING("Unfortunately, the Syndicate wasn't able to give you an uplink.")) return FALSE // They had no PDA or radio for whatever reason. if(isradio(R)) @@ -280,7 +280,7 @@ RESTRICT_TYPE(/datum/antagonist/traitor) target_radio.hidden_uplink = T T.uplink_owner = "[traitor_mob.key]" target_radio.traitor_frequency = freq - to_chat(traitor_mob, "The Syndicate have cunningly disguised a Syndicate Uplink as your [R.name]. Simply dial the frequency [format_frequency(freq)] to unlock its hidden features.") + to_chat(traitor_mob, SPAN_NOTICE("The Syndicate have cunningly disguised a Syndicate Uplink as your [R.name]. Simply dial the frequency [format_frequency(freq)] to unlock its hidden features.")) antag_memory += "Radio Freq: [format_frequency(freq)] ([R.name])." return TRUE @@ -294,7 +294,7 @@ RESTRICT_TYPE(/datum/antagonist/traitor) var/obj/item/pda/P = R P.lock_code = pda_pass - to_chat(traitor_mob, "The Syndicate have cunningly disguised a Syndicate Uplink as your [R.name]. Simply enter the code \"[pda_pass]\" into the ringtone select to unlock its hidden features.") + to_chat(traitor_mob, SPAN_NOTICE("The Syndicate have cunningly disguised a Syndicate Uplink as your [R.name]. Simply enter the code \"[pda_pass]\" into the ringtone select to unlock its hidden features.")) antag_memory += "Uplink Passcode: [pda_pass] ([R.name]." return TRUE return FALSE @@ -304,8 +304,8 @@ RESTRICT_TYPE(/datum/antagonist/traitor) var/phrases = jointext(GLOB.syndicate_code_phrase, ", ") var/responses = jointext(GLOB.syndicate_code_response, ", ") - var/message = "
The code phrases were: [phrases]
\ - The code responses were: [responses]
" + var/message = "
The code phrases were: [SPAN_BLUETEXT("[phrases]")]
\ + The code responses were: [SPAN_REDTEXT("[responses]")]
" return message diff --git a/code/modules/antagonists/traitor/misc_mindslave.dm b/code/modules/antagonists/traitor/misc_mindslave.dm index a3ccc1e0a5e..6fdde1c46b2 100644 --- a/code/modules/antagonists/traitor/misc_mindslave.dm +++ b/code/modules/antagonists/traitor/misc_mindslave.dm @@ -23,7 +23,7 @@ /datum/antagonist/mindslave/malf_robot/farewell() if(owner && owner.current) - to_chat(owner.current, "Foreign software purged. You are no longer under Syndicate control, obey your laws.") + to_chat(owner.current, SPAN_BIGGERDANGER("Foreign software purged. You are no longer under Syndicate control, obey your laws.")) /datum/antagonist/mindslave/malf_robot/give_objectives() var/list/messages = list() @@ -45,7 +45,7 @@ /datum/antagonist/mindslave/emagged_robot/farewell() if(owner && owner.current) - to_chat(owner.current, "Foreign software purged. You are no longer under the control of [master]. Obey your laws.") + to_chat(owner.current, SPAN_BIGGERDANGER("Foreign software purged. You are no longer under the control of [master]. Obey your laws.")) /datum/antagonist/mindslave/emagged_robot/give_objectives() var/list/messages = list() @@ -65,7 +65,7 @@ /datum/antagonist/mindslave/mindflayer_mindslave_robot/farewell() if(owner && owner.current) - to_chat(owner.current, "Foreign software purged. You are no longer under the control of [master]. Obey your laws.") + to_chat(owner.current, SPAN_BIGGERDANGER("Foreign software purged. You are no longer under the control of [master]. Obey your laws.")) /datum/antagonist/mindslave/mindflayer_mindslave_robot/give_objectives() var/list/messages = list() diff --git a/code/modules/antagonists/vampire/vamp_datum.dm b/code/modules/antagonists/vampire/vamp_datum.dm index db7cdac8590..70b4b2049a8 100644 --- a/code/modules/antagonists/vampire/vamp_datum.dm +++ b/code/modules/antagonists/vampire/vamp_datum.dm @@ -128,16 +128,16 @@ RESTRICT_TYPE(/datum/antagonist/vampire) var/blood = 0 var/blood_volume_warning = 9999 //Blood volume threshold for warnings if(owner.current.is_muzzled()) - to_chat(owner.current, "[owner.current.wear_mask] prevents you from biting [H]!") + to_chat(owner.current, SPAN_WARNING("[owner.current.wear_mask] prevents you from biting [H]!")) draining = null return add_attack_logs(owner.current, H, "vampirebit & is draining their blood.", ATKLOG_ALMOSTALL) - owner.current.visible_message("[owner.current] grabs [H]'s neck harshly and sinks in [owner.current.p_their()] fangs!", "You sink your fangs into [H] and begin to drain [H.p_their()] blood.", "You hear a soft puncture and a wet sucking noise.") + owner.current.visible_message(SPAN_DANGER("[owner.current] grabs [H]'s neck harshly and sinks in [owner.current.p_their()] fangs!"), SPAN_DANGER("You sink your fangs into [H] and begin to drain [H.p_their()] blood."), SPAN_NOTICE("You hear a soft puncture and a wet sucking noise.")) while(do_mob(owner.current, H, suck_rate, hidden = TRUE)) owner.current.do_attack_animation(H, ATTACK_EFFECT_BITE) if(unique_suck_id in drained_humans) if(drained_humans[unique_suck_id] >= BLOOD_DRAIN_LIMIT) - to_chat(owner.current, "You have drained most of the life force from [H]'s blood, and you will get no more useable blood from them!") + to_chat(owner.current, SPAN_WARNING("You have drained most of the life force from [H]'s blood, and you will get no more useable blood from them!")) H.blood_volume = max(H.blood_volume - 25, 0) owner.current.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, owner.current.nutrition + 5)) continue @@ -146,26 +146,26 @@ RESTRICT_TYPE(/datum/antagonist/vampire) if(H.ckey || H.player_ghosted) //Requires ckey regardless if monkey or humanoid, or the body has been ghosted before it died blood = min(20, H.blood_volume) adjust_blood(H, blood * BLOOD_GAINED_MODIFIER) - to_chat(owner.current, "You have accumulated [bloodtotal] unit\s of blood, and have [bloodusable] left to use.") + to_chat(owner.current, SPAN_NOTICE("You have accumulated [bloodtotal] unit\s of blood, and have [bloodusable] left to use.")) H.blood_volume = max(H.blood_volume - 25, 0) //Blood level warnings (Code 'borrowed' from Fulp) if(H.blood_volume) if(H.blood_volume <= BLOOD_VOLUME_BAD && blood_volume_warning > BLOOD_VOLUME_BAD) - to_chat(owner.current, "Your victim's blood volume is dangerously low.") + to_chat(owner.current, SPAN_DANGER("Your victim's blood volume is dangerously low.")) else if(H.blood_volume <= BLOOD_VOLUME_STABLE && blood_volume_warning > BLOOD_VOLUME_STABLE) - to_chat(owner.current, "Your victim's blood is at an unsafe level.") + to_chat(owner.current, SPAN_WARNING("Your victim's blood is at an unsafe level.")) blood_volume_warning = H.blood_volume //Set to blood volume, so that you only get the message once else - to_chat(owner.current, "You have bled your victim dry!") + to_chat(owner.current, SPAN_WARNING("You have bled your victim dry!")) break if((!H.ckey && !H.player_ghosted) || HAS_MIND_TRAIT(H, TRAIT_XENOBIO_SPAWNED_HUMAN)) //Only runs if there is no ckey and the body has not being ghosted while alive, also runs if the victim is an evolved caterpillar or diona nymph. - to_chat(owner.current, "Feeding on [H] reduces your thirst, but you get no usable blood from them.") + to_chat(owner.current, SPAN_NOTICE("Feeding on [H] reduces your thirst, but you get no usable blood from them.")) owner.current.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, owner.current.nutrition + 5)) else owner.current.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, owner.current.nutrition + (blood / 2))) draining = null - to_chat(owner.current, "You stop draining [H.name] of blood.") + to_chat(owner.current, SPAN_NOTICE("You stop draining [H.name] of blood.")) #undef BLOOD_GAINED_MODIFIER @@ -230,10 +230,10 @@ RESTRICT_TYPE(/datum/antagonist/vampire) if(!(p in old_powers)) if(istype(p, /datum/spell)) var/datum/spell/power = p - to_chat(owner.current, "[power.gain_desc]") + to_chat(owner.current, SPAN_BOLDNOTICE("[power.gain_desc]")) else if(istype(p, /datum/vampire_passive)) var/datum/vampire_passive/power = p - to_chat(owner.current, "[power.gain_desc]") + to_chat(owner.current, SPAN_BOLDNOTICE("[power.gain_desc]")) /datum/antagonist/vampire/proc/check_sun() var/ax = owner.current.x @@ -254,11 +254,11 @@ RESTRICT_TYPE(/datum/antagonist/vampire) if(T.density) return if(bloodusable >= 10) //burn through your blood to tank the light for a little while - to_chat(owner.current, "The starlight saps your strength, you should get out of the starlight!") + to_chat(owner.current, SPAN_BIGGERDANGER("The starlight saps your strength, you should get out of the starlight!")) subtract_usable_blood(10) vamp_burn(10) else //You're in trouble, get out of the sun NOW - to_chat(owner.current, "Your body is turning to ash, get out of the starlight NOW!") + to_chat(owner.current, SPAN_BIGGERDANGER("Your body is turning to ash, get out of the starlight NOW!")) owner.current.adjustCloneLoss(10) //I'm melting! vamp_burn(85) if(owner.current.getCloneLoss() >= 100) @@ -341,16 +341,16 @@ RESTRICT_TYPE(/datum/antagonist/vampire) if(prob(burn_chance) && owner.current.health >= 50) switch(owner.current.health) if(75 to 100) - to_chat(owner.current, "Your skin flakes away...") + to_chat(owner.current, SPAN_WARNING("Your skin flakes away...")) if(50 to 75) - to_chat(owner.current, "Your skin sizzles!") + to_chat(owner.current, SPAN_WARNING("Your skin sizzles!")) owner.current.adjustFireLoss(3) else if(owner.current.health < 50) if(!owner.current.on_fire) - to_chat(owner.current, "Your skin catches fire!") + to_chat(owner.current, SPAN_DANGER("Your skin catches fire!")) owner.current.emote("scream") else - to_chat(owner.current, "You continue to burn!") + to_chat(owner.current, SPAN_DANGER("You continue to burn!")) owner.current.adjust_fire_stacks(5) owner.current.IgniteMob() @@ -378,7 +378,7 @@ RESTRICT_TYPE(/datum/antagonist/vampire) /datum/antagonist/vampire/greet() var/list/messages = list() SEND_SOUND(owner.current, sound('sound/ambience/antag/vampalert.ogg')) - messages.Add("You are a Vampire!
") + messages.Add("[SPAN_DANGER("You are a Vampire!")]
") messages.Add("To bite someone, target the head and use harm intent with an empty hand. Drink blood to gain new powers. \ You are weak to holy things, starlight, and fire. Don't go into space and avoid the Chaplain, the chapel, and especially Holy Water.") return messages @@ -404,7 +404,7 @@ RESTRICT_TYPE(/datum/antagonist/vampire) var/obj/item/nullrod/N = source bonus_force = N.sanctify_force if(!get_ability(/datum/vampire_passive/full)) - to_chat(owner.current, "[source]'s power interferes with your own!") + to_chat(owner.current, SPAN_WARNING("[source]'s power interferes with your own!")) adjust_nullification(30 + bonus_force, 15 + bonus_force) /datum/antagonist/vampire/custom_blurb() diff --git a/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm b/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm index 9de01687b8e..0a6572ce253 100644 --- a/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm +++ b/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm @@ -27,8 +27,8 @@ /datum/spell/vampire/enthrall/cast(list/targets, mob/user = usr) var/datum/antagonist/vampire/vampire = user.mind.has_antag_datum(/datum/antagonist/vampire) var/mob/living/target = targets[1] - user.visible_message("[user] bites [target]'s neck!", "You bite [target]'s neck and begin the flow of power.") - to_chat(target, "You feel the tendrils of evil invade your mind.") + user.visible_message(SPAN_WARNING("[user] bites [target]'s neck!"), SPAN_WARNING("You bite [target]'s neck and begin the flow of power.")) + to_chat(target, SPAN_WARNING("You feel the tendrils of evil invade your mind.")) if(do_mob(user, target, 15 SECONDS, hidden = TRUE)) if(can_enthrall(user, target)) handle_enthrall(user, target) @@ -37,7 +37,7 @@ vampire.subtract_usable_blood(blood_cost) //we take the blood after enthralling, not before else revert_cast(user) - to_chat(user, "You or your target moved.") + to_chat(user, SPAN_WARNING("You or your target moved.")) /datum/spell/vampire/enthrall/proc/can_enthrall(mob/living/user, mob/living/carbon/C) . = FALSE @@ -46,21 +46,21 @@ if(!user.mind.som) CRASH("Dantalion Thrall datum ended up null.") if(!ishuman(C)) - to_chat(user, "You can only enthrall sentient humanoids!") + to_chat(user, SPAN_WARNING("You can only enthrall sentient humanoids!")) return if(!C.mind) - to_chat(user, "[C.name]'s mind is not there for you to enthrall.") + to_chat(user, SPAN_WARNING("[C.name]'s mind is not there for you to enthrall.")) return var/datum/antagonist/vampire/V = user.mind.has_antag_datum(/datum/antagonist/vampire) if(V.subclass.thrall_cap <= length(user.mind.som.serv)) - to_chat(user, "You don't have enough power to enthrall any more people!") + to_chat(user, SPAN_WARNING("You don't have enough power to enthrall any more people!")) return if(ismindshielded(C) || C.mind.has_antag_datum(/datum/antagonist/vampire) || IS_MINDSLAVE(C)) - C.visible_message("[C] seems to resist the takeover!", "You feel a familiar sensation in your skull that quickly dissipates.") + C.visible_message(SPAN_WARNING("[C] seems to resist the takeover!"), SPAN_NOTICE("You feel a familiar sensation in your skull that quickly dissipates.")) return if(HAS_MIND_TRAIT(C, TRAIT_HOLY)) - C.visible_message("[C] seems to resist the takeover!", "Your faith in [SSticker.Bible_deity_name] has kept your mind clear of all evil.") + C.visible_message(SPAN_WARNING("[C] seems to resist the takeover!"), SPAN_NOTICE("Your faith in [SSticker.Bible_deity_name] has kept your mind clear of all evil.")) return return TRUE @@ -119,9 +119,9 @@ var/title = isvampirethrall(user) ? "Thrall" : "Vampire Master" // if admins give this to a non vampire/thrall it is not my problem var/full_title = "[user.real_name] ([title])" for(var/mob/M in targets) - to_chat(M, "[full_title]: [input]") + to_chat(M, SPAN_DANTALION("[full_title]: [input]")) for(var/mob/M in GLOB.dead_mob_list) - to_chat(M, "[full_title] ([ghost_follow_link(user, ghost=M)]): [input]") + to_chat(M, SPAN_DANTALION("[full_title] ([ghost_follow_link(user, ghost=M)]): [input]")) log_say("(DANTALION) [input]", user) user.create_log(SAY_LOG, "(DANTALION) [input]") @@ -166,8 +166,8 @@ /datum/spell/vampire/switch_places/cast(list/targets, mob/user) var/mob/living/target = targets[1] if(target.can_block_magic(antimagic_flags)) - to_chat(user, "The spell had no effect!") - to_chat(target, "You feel space bending, but it rapidly dissipates.") + to_chat(user, SPAN_WARNING("The spell had no effect!")) + to_chat(target, SPAN_WARNING("You feel space bending, but it rapidly dissipates.")) return FALSE var/turf/user_turf = get_turf(user) var/turf/target_turf = get_turf(target) diff --git a/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm b/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm index 56ce0626c87..8b3c2650907 100644 --- a/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm +++ b/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm @@ -84,7 +84,7 @@ /datum/spell/vampire/self/overwhelming_force/cast(list/targets, mob/user) if(!HAS_TRAIT_FROM(user, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT)) - to_chat(user, "You feel MIGHTY!") + to_chat(user, SPAN_WARNING("You feel MIGHTY!")) ADD_TRAIT(user, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT) user.status_flags &= ~CANPUSH user.move_resist = MOVE_FORCE_STRONG @@ -106,7 +106,7 @@ var/mob/living/L = user // they're not getting anything out of this spell if they're stunned or buckled anyways, so we might as well stop them from wasting the blood if(L.IsWeakened() || L.buckled) - to_chat(L, "You can't cast this spell while incapacitated!") + to_chat(L, SPAN_WARNING("You can't cast this spell while incapacitated!")) return FALSE return ..() @@ -116,7 +116,7 @@ return var/mob/living/carbon/human/H = target - to_chat(H, "You feel a rush of energy!") + to_chat(H, SPAN_NOTICE("You feel a rush of energy!")) H.apply_status_effect(STATUS_EFFECT_BLOOD_RUSH) H.clear_legcuffs(TRUE) @@ -131,8 +131,8 @@ base_cooldown = 30 SECONDS fireball_type = /obj/projectile/magic/demonic_grasp - selection_activated_message = "You raise your hand, full of demonic energy! Left-click to cast at a target!" - selection_deactivated_message = "You re-absorb the energy...for now." + selection_activated_message = SPAN_NOTICE("You raise your hand, full of demonic energy! Left-click to cast at a target!") + selection_deactivated_message = SPAN_NOTICE("You re-absorb the energy...for now.") action_background_icon_state = "bg_garg" action_icon_state = "demonic_grasp" @@ -307,6 +307,6 @@ QDEL_LIST_CONTENTS(all_temp_walls) cooldown_handler.start_recharge() user.remove_status_effect(STATUS_EFFECT_VAMPIRE_GLADIATOR) - user.visible_message("The arena begins to dissipate.") + user.visible_message(SPAN_WARNING("The arena begins to dissipate.")) #undef ARENA_SIZE diff --git a/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm b/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm index 3fa4a89889a..2745a296536 100644 --- a/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm +++ b/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm @@ -9,11 +9,11 @@ /datum/spell/vampire/self/vamp_claws/cast(mob/user) if(user.l_hand || user.r_hand) - to_chat(user, "You drop what was in your hands as large blades spring from your fingers!") + to_chat(user, SPAN_NOTICE("You drop what was in your hands as large blades spring from your fingers!")) user.drop_l_hand() user.drop_r_hand() else - to_chat(user, "Large blades of blood spring from your fingers!") + to_chat(user, SPAN_NOTICE("Large blades of blood spring from your fingers!")) var/obj/item/vamp_claws/claws = new /obj/item/vamp_claws(user.loc, src) RegisterSignal(user, COMSIG_MOB_WILLINGLY_DROP, PROC_REF(dispel)) user.put_in_hands(claws) @@ -30,7 +30,7 @@ current = user.r_hand if(current) qdel(current) - to_chat(user, "You dispel your claws!") + to_chat(user, SPAN_NOTICE("You dispel your claws!")) /datum/spell/vampire/self/vamp_claws/can_cast(mob/user, charge_check, show_message) var/mob/living/L = user @@ -73,7 +73,7 @@ return ..() /obj/item/vamp_claws/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_they(TRUE)] [owner.p_have(FALSE)] bloodied claws extending from [owner.p_their(FALSE)] wrists." + return SPAN_WARNING("[owner.p_they(TRUE)] [owner.p_have(FALSE)] bloodied claws extending from [owner.p_their(FALSE)] wrists.") /obj/item/vamp_claws/attack(mob/living/target, mob/living/user, params) if(..()) @@ -91,7 +91,7 @@ if(isalien(target)) if(!xenomorph_acid_boosted) if(C.ckey && C.stat != DEAD) - to_chat(user, "As [C] bleeds acid, you mix it into your claws!") + to_chat(user, SPAN_WARNING("As [C] bleeds acid, you mix it into your claws!")) xenomorph_acid_boosted = TRUE durability += 5 // Small boost in durability once. blood_drain_amount *= 1.5 @@ -113,7 +113,7 @@ if(!V.get_ability(/datum/vampire_passive/blood_spill)) durability-- if(durability <= 0) - to_chat(user, "Your claws shatter!") + to_chat(user, SPAN_WARNING("Your claws shatter!")) qdel(src) /obj/item/vamp_claws/melee_attack_chain(mob/user, atom/target, params) @@ -124,7 +124,7 @@ /obj/item/vamp_claws/activate_self(mob/user) if(..()) return - to_chat(user, "You dispel your claws!") + to_chat(user, SPAN_NOTICE("You dispel your claws!")) qdel(src) /datum/spell/vampire/blood_tendrils @@ -139,8 +139,8 @@ sound = 'sound/misc/enter_blood.ogg' var/area_of_affect = 1 - selection_activated_message = "You prepare to summon a set of blood tendrils. Left-click to cast at a target area!" - selection_deactivated_message = "Your magics subside." + selection_activated_message = SPAN_NOTICE("You prepare to summon a set of blood tendrils. Left-click to cast at a target area!") + selection_deactivated_message = SPAN_NOTICE("Your magics subside.") /datum/spell/vampire/blood_tendrils/create_new_targeting() var/datum/spell_targeting/click/T = new @@ -162,7 +162,7 @@ for(var/mob/living/L in range(distance, T)) if(L.affects_vampire(user)) L.Slowed(slowed_amount) - L.visible_message("[L] gets ensnared in blood tendrils, restricting [L.p_their()] movement!") + L.visible_message(SPAN_WARNING("[L] gets ensnared in blood tendrils, restricting [L.p_their()] movement!")) new /obj/effect/temp_visual/blood_tendril/long(get_turf(L)) /obj/effect/temp_visual/blood_tendril @@ -206,7 +206,7 @@ /datum/spell/vampire/blood_barrier/cast(list/targets, mob/user) var/turf/target_turf = get_turf(targets[1]) if(target_turf == start_turf) - to_chat(user, "You deselect the targeted turf.") + to_chat(user, SPAN_NOTICE("You deselect the targeted turf.")) start_turf = null should_recharge_after_cast = FALSE return @@ -314,7 +314,7 @@ continue targets_by_name[H.real_name] = H if(!length(targets_by_name)) - to_chat(user, "There is no prey to be hunted here...") + to_chat(user, SPAN_CULTLARGE("There is no prey to be hunted here...")) return var/target_name = tgui_input_list(user, "Person to Locate", "Blood Stench", targets_by_name) if(!target_name) @@ -323,7 +323,7 @@ var/message = "[target_name] is in [get_area(target)], [dir2text(get_dir(user, target))] from you." if(target.get_damage_amount() >= 40 || target.bleed_rate) message += " They are wounded..." - to_chat(user, "[message]") + to_chat(user, SPAN_CULTLARGE("[message]")) /datum/spell/vampire/blood_eruption name = "Blood Eruption (100)" @@ -356,7 +356,7 @@ spike.color = B.basecolor playsound(L, 'sound/misc/demon_attack1.ogg', 50, TRUE) L.apply_damage(50, BRUTE, BODY_ZONE_CHEST) - L.visible_message("[L] gets impaled by a spike of living blood!") + L.visible_message(SPAN_WARNING("[L] gets impaled by a spike of living blood!")) /obj/effect/temp_visual/blood_spike icon = 'icons/effects/vampire_effects.dmi' @@ -411,7 +411,7 @@ owner.AdjustWeakened(-2 SECONDS) owner.AdjustKnockDown(-2 SECONDS) if(drain_amount == 10) - to_chat(H, "You feel your life force draining!") + to_chat(H, SPAN_WARNING("You feel your life force draining!")) if(beam_number >= max_beams) break diff --git a/code/modules/antagonists/vampire/vampire_powers/umbrae_powers.dm b/code/modules/antagonists/vampire/vampire_powers/umbrae_powers.dm index cdb8d941306..3019b583ba8 100644 --- a/code/modules/antagonists/vampire/vampire_powers/umbrae_powers.dm +++ b/code/modules/antagonists/vampire/vampire_powers/umbrae_powers.dm @@ -29,7 +29,7 @@ user.UnregisterSignal(user, COMSIG_LIVING_IGNITED) H.physiology.burn_mod /= 1.1 update_spell_name(user) - to_chat(user, "You will now be [V.iscloaking ? "hidden" : "seen"] in darkness.") + to_chat(user, SPAN_NOTICE("You will now be [V.iscloaking ? "hidden" : "seen"] in darkness.")) /mob/living/proc/update_vampire_cloak() SIGNAL_HANDLER @@ -85,16 +85,16 @@ /obj/item/restraints/legcuffs/beartrap/shadow_snare/attack_tk(mob/user) if(iscarbon(user)) var/mob/living/carbon/C = user - to_chat(user, "The snare sends a psychic backlash!") + to_chat(user, SPAN_USERDANGER("The snare sends a psychic backlash!")) C.EyeBlind(20 SECONDS) /obj/item/restraints/legcuffs/beartrap/shadow_snare/attackby__legacy__attackchain(obj/item/I, mob/user) var/obj/item/flash/flash = I if(!istype(flash) || !flash.try_use_flash(user)) return ..() - user.visible_message("[user] points [I] at [src]!", - "You point [I] at [src]!") - visible_message("[src] withers away.") + user.visible_message(SPAN_DANGER("[user] points [I] at [src]!"), + SPAN_DANGER("You point [I] at [src]!")) + visible_message(SPAN_NOTICE("[src] withers away.")) qdel(src) /obj/item/restraints/legcuffs/beartrap/shadow_snare/process() @@ -104,7 +104,7 @@ obj_integrity -= 50 if(obj_integrity <= 0) - visible_message("[src] withers away.") + visible_message(SPAN_NOTICE("[src] withers away.")) qdel(src) /obj/item/restraints/legcuffs/beartrap/shadow_snare/Initialize(mapload) @@ -137,7 +137,7 @@ /datum/spell/vampire/soul_anchor/cast(list/targets, mob/user) if(making_anchor) // second cast, but we are impatient - to_chat(user, "Your anchor isn't ready yet!") + to_chat(user, SPAN_NOTICE("Your anchor isn't ready yet!")) return if(!making_anchor && !anchor) // first cast, setup the anchor diff --git a/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm b/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm index 7bf69fa2b03..23af879b5f0 100644 --- a/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm +++ b/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm @@ -72,15 +72,15 @@ U.adjustStaminaLoss(-100) U.stand_up(TRUE) SEND_SIGNAL(U, COMSIG_LIVING_CLEAR_STUNS) - to_chat(user, "You instill your body with clean blood and remove any incapacitating effects.") + to_chat(user, SPAN_NOTICE("You instill your body with clean blood and remove any incapacitating effects.")) var/datum/antagonist/vampire/V = U.mind.has_antag_datum(/datum/antagonist/vampire) for(var/datum/disease/zombie/zombie_infection in U.viruses) zombie_infection.stage = min(zombie_infection.stage, round(7 - (V.bloodtotal/100))) // 700 max usable blood can cleanse any zombie infection if(zombie_infection.stage <= 0) zombie_infection.cure() - to_chat(user, "You cleanse the plague from your system.") + to_chat(user, SPAN_NOTICE("You cleanse the plague from your system.")) else - to_chat(user, "You weaken the plague in your system, but you don't have enough blood to completely remove it.") + to_chat(user, SPAN_WARNING("You weaken the plague in your system, but you don't have enough blood to completely remove it.")) var/rejuv_bonus = V.get_rejuv_bonus() if(rejuv_bonus) @@ -119,7 +119,7 @@ /datum/spell/vampire/self/exfiltrate/cast(mob/user) if(used) - to_chat(user, "You have already attempted to create a blood chalice!") + to_chat(user, SPAN_WARNING("You have already attempted to create a blood chalice!")) return var/datum/antagonist/vampire/vamp = user.mind.has_antag_datum(/datum/antagonist/vampire) vamp.prepare_exfiltration(user, /obj/item/wormhole_jaunter/extraction/vampire) @@ -226,19 +226,19 @@ /datum/spell/vampire/lair/cast(list/targets, mob/user) var/obj/structure/closet/coffin/C = targets[1] // this spell will basically always target a singular coffin unless you stack multiple on the same tile if(!istype(C, /obj/structure/closet/coffin)) - to_chat(user, "This only works on coffins!") + to_chat(user, SPAN_WARNING("This only works on coffins!")) return if(istype(C, /obj/structure/closet/coffin/vampire)) - to_chat(user, "This coffin serves another and refuses to bend to your will!") + to_chat(user, SPAN_WARNING("This coffin serves another and refuses to bend to your will!")) return if(istype(C, /obj/structure/closet/coffin/sarcophagus)) - to_chat(user, "Making such a lavish lair would likely upset an ancient. You should really use a wooden coffin for now.") + to_chat(user, SPAN_WARNING("Making such a lavish lair would likely upset an ancient. You should really use a wooden coffin for now.")) return for(var/turf/T in range(1, C)) if(T.density) - to_chat(user, "You need more space around the coffin for the ritual!") + to_chat(user, SPAN_WARNING("You need more space around the coffin for the ritual!")) return - to_chat(user, "You begin marking the coffin!") + to_chat(user, SPAN_DANGER("You begin marking the coffin!")) C.Beam(user, icon_state = "drainbeam", maxdistance = 1, time = 10 SECONDS) playsound(C, 'sound/misc/enter_blood.ogg', 20) for(var/obj/machinery/light/L in range(5, user)) @@ -282,10 +282,10 @@ if(istype(H.glasses, /obj/item/clothing/glasses/sunglasses/blindfold)) var/obj/item/clothing/glasses/sunglasses/blindfold/B = H.glasses if(B.tint) - to_chat(user, "You're blindfolded!") + to_chat(user, SPAN_WARNING("You're blindfolded!")) return user.mob_light(LIGHT_COLOR_BLOOD_MAGIC, 3, _duration = 2) - user.visible_message("[user]'s eyes emit a blinding flash!") + user.visible_message(SPAN_WARNING("[user]'s eyes emit a blinding flash!")) for(var/mob/living/target in targets) if(!target.affects_vampire(user)) @@ -310,7 +310,7 @@ target.KnockDown(12 SECONDS) target.AdjustSilence(8 SECONDS) target.flash_eyes(1, TRUE, TRUE) - to_chat(target, "You are blinded by [user]'s glare.") + to_chat(target, SPAN_WARNING("You are blinded by [user]'s glare.")) add_attack_logs(user, target, "(Vampire) Glared at") /datum/spell/vampire/glare/proc/calculate_deviation(mob/victim, mob/attacker) @@ -383,7 +383,7 @@ /datum/spell/vampire/raise_vampires/cast(list/targets, mob/user = usr) new /obj/effect/temp_visual/cult/sparks(user.loc) var/turf/T = get_turf(user) - to_chat(user, "You call out within bluespace, summoning more vampiric spirits to aid you!") + to_chat(user, SPAN_WARNING("You call out within bluespace, summoning more vampiric spirits to aid you!")) for(var/mob/living/carbon/human/H in targets) T.Beam(H, "sendbeam", 'icons/effects/effects.dmi', time = 30, maxdistance = 7, beam_type = /obj/effect/ebeam) new /obj/effect/temp_visual/cult/sparks(H.loc) @@ -400,7 +400,7 @@ H.visible_message("[H] looks unfazed!") return if(H.mind.has_antag_datum(/datum/antagonist/vampire) || H.mind.special_role == SPECIAL_ROLE_VAMPIRE || H.mind.special_role == SPECIAL_ROLE_VAMPIRE_THRALL) - H.visible_message("[H] looks refreshed!") + H.visible_message(SPAN_NOTICE("[H] looks refreshed!")) H.adjustBruteLoss(-60) H.adjustFireLoss(-60) for(var/obj/item/organ/external/E in H.bodyparts) @@ -412,10 +412,10 @@ return if(H.stat != DEAD) if(H.IsWeakened()) - H.visible_message("[H] looks to be in pain!") + H.visible_message(SPAN_WARNING("[H] looks to be in pain!")) H.adjustBrainLoss(60) else - H.visible_message("[H] looks to be stunned by the energy!") + H.visible_message(SPAN_WARNING("[H] looks to be stunned by the energy!")) H.Weaken(40 SECONDS) return for(var/obj/item/bio_chip/mindshield/L in H) @@ -424,7 +424,7 @@ for(var/obj/item/bio_chip/traitor/T in H) if(T && T.implanted) qdel(T) - H.visible_message("[H] gets an eerie red glow in their eyes!") + H.visible_message(SPAN_WARNING("[H] gets an eerie red glow in their eyes!")) var/datum/objective/protect/protect_objective = new protect_objective.target = M.mind diff --git a/code/modules/antagonists/wizard/datum_apprentice.dm b/code/modules/antagonists/wizard/datum_apprentice.dm index a929a07dbfb..0603068dd16 100644 --- a/code/modules/antagonists/wizard/datum_apprentice.dm +++ b/code/modules/antagonists/wizard/datum_apprentice.dm @@ -11,7 +11,7 @@ /datum/antagonist/wizard/apprentice/greet() . = ..() - . += "You are [my_teacher.real_name]'s apprentice! You are bound by magic contract to follow [my_teacher.p_their()] orders and help [my_teacher.p_them()] in accomplishing [my_teacher.p_their()] goals." + . += SPAN_DANGER("You are [my_teacher.real_name]'s apprentice! You are bound by magic contract to follow [my_teacher.p_their()] orders and help [my_teacher.p_them()] in accomplishing [my_teacher.p_their()] goals.") /datum/antagonist/wizard/apprentice/give_objectives() var/datum/objective/protect/new_objective = new /datum/objective/protect diff --git a/code/modules/antagonists/wizard/datum_wiz_construct.dm b/code/modules/antagonists/wizard/datum_wiz_construct.dm index d678a0fc209..ee2d6e102c4 100644 --- a/code/modules/antagonists/wizard/datum_wiz_construct.dm +++ b/code/modules/antagonists/wizard/datum_wiz_construct.dm @@ -11,7 +11,7 @@ /datum/antagonist/wizard/construct/greet() . = ..() - . += "You are [my_creator.real_name]'s construct! You are bound by magic to follow [my_creator.p_their()] orders and help [my_creator.p_them()] in accomplishing [my_creator.p_their()] goals." + . += SPAN_DANGER("You are [my_creator.real_name]'s construct! You are bound by magic to follow [my_creator.p_their()] orders and help [my_creator.p_them()] in accomplishing [my_creator.p_their()] goals.") /datum/antagonist/wizard/construct/give_objectives() var/datum/objective/protect/new_objective = new /datum/objective/protect diff --git a/code/modules/antagonists/wizard/datum_wizard.dm b/code/modules/antagonists/wizard/datum_wizard.dm index 83f74eb4af2..fd8c9123645 100644 --- a/code/modules/antagonists/wizard/datum_wizard.dm +++ b/code/modules/antagonists/wizard/datum_wizard.dm @@ -44,7 +44,7 @@ /datum/antagonist/wizard/farewell() if(owner?.current) - to_chat(owner.current, "You have been brainwashed! You are no longer a [name]!") + to_chat(owner.current, SPAN_WARNING("You have been brainwashed! You are no longer a [name]!")) /datum/antagonist/wizard/add_owner_to_gamemode() SSticker.mode.wizards |= owner diff --git a/code/modules/antagonists/zombie/datum_zombie.dm b/code/modules/antagonists/zombie/datum_zombie.dm index a8c7229080f..1f670f54cab 100644 --- a/code/modules/antagonists/zombie/datum_zombie.dm +++ b/code/modules/antagonists/zombie/datum_zombie.dm @@ -55,7 +55,7 @@ RESTRICT_TYPE(/datum/antagonist/zombie) . = messages if(owner && owner.current) messages.Add("We are a [special_role]!") - messages.Add("You can feel your heart stopping, but something isn't right... life has not abandoned your broken form. You can only feel a deep and immutable hunger that not even death can stop.") + messages.Add(SPAN_ZOMBIE("You can feel your heart stopping, but something isn't right... life has not abandoned your broken form. You can only feel a deep and immutable hunger that not even death can stop.")) /datum/antagonist/zombie/finalize_antag() if(HAS_TRAIT(owner.current, TRAIT_PLAGUE_ZOMBIE)) // we shouldnt get a second welcome message for wiz zombies @@ -63,7 +63,7 @@ RESTRICT_TYPE(/datum/antagonist/zombie) var/list/messages = list() . = messages if(owner && owner.current) - messages.Add("
You can use your claws to break down doors, and to crack open damaged skulls. Once their head is open, use an empty hand to eat their brains. Alternatively, grab someone aggressively and them harm them to bite and infect them. You heal slowly but you heal faster in the dark, after death you will slowly revive and reawaken.") + messages.Add("
[SPAN_NOTICE("You can use your claws to break down doors, and to crack open damaged skulls. Once their head is open, use an empty hand to eat their brains. Alternatively, grab someone aggressively and them harm them to bite and infect them. You heal slowly but you heal faster in the dark, after death you will slowly revive and reawaken.")]") /datum/antagonist/zombie/apply_innate_effects(mob/living/mob_override) var/mob/living/L = ..() diff --git a/code/modules/antagonists/zombie/zombie_spells.dm b/code/modules/antagonists/zombie/zombie_spells.dm index 2101d81cd39..5e28dd2cd75 100644 --- a/code/modules/antagonists/zombie/zombie_spells.dm +++ b/code/modules/antagonists/zombie/zombie_spells.dm @@ -90,7 +90,7 @@ return ..() /obj/item/zombie_claw/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_they(TRUE)] [owner.p_have(FALSE)] dull claws extending from [owner.p_their(FALSE)] [owner.l_hand == src ? "left hand" : "right hand"]." + return SPAN_WARNING("[owner.p_they(TRUE)] [owner.p_have(FALSE)] dull claws extending from [owner.p_their(FALSE)] [owner.l_hand == src ? "left hand" : "right hand"].") /obj/item/zombie_claw/pre_attack(atom/target, mob/living/user, params) . = ..() @@ -129,8 +129,8 @@ to_chat(user, "[target]'s brains are blocked.") return // Armor blocks zombies trying to eat your brains! - to_chat(target, "[user]'s claws dig into your [brain_holder.encased]!") - user.visible_message("[user] digs their claws into [target]'s [brain_holder.name]!", "We dig into [target]'s [brain_holder.encased ? brain_holder.encased : brain_holder]...") + to_chat(target, SPAN_USERDANGER("[user]'s claws dig into your [brain_holder.encased]!")) + user.visible_message(SPAN_DANGER("[user] digs their claws into [target]'s [brain_holder.name]!"), "We dig into [target]'s [brain_holder.encased ? brain_holder.encased : brain_holder]...") playsound(user, 'sound/weapons/armblade.ogg', 50, TRUE) if(!do_mob(user, target, 3 SECONDS)) return FALSE @@ -139,8 +139,8 @@ brain_holder.fracture() brain_holder.broken_description = "split open" brain_holder.open = ORGAN_ORGANIC_VIOLENT_OPEN - to_chat(target, "Your [brain_holder.name] is violently cracked open!") - user.visible_message("[user] violently splits apart [target]'s [brain_holder.name]!", "We crack apart [target]'s [brain_holder.name]!") + to_chat(target, SPAN_USERDANGER("Your [brain_holder.name] is violently cracked open!")) + user.visible_message(SPAN_DANGER("[user] violently splits apart [target]'s [brain_holder.name]!"), "We crack apart [target]'s [brain_holder.name]!") return TRUE @@ -188,7 +188,7 @@ claw_disease = disease /obj/item/zombie_claw/plague_claw/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_they(TRUE)] [owner.p_have(FALSE)] sharp, ichor-laden claws extending from [owner.p_their(FALSE)] [owner.l_hand == src ? "left hand" : "right hand"]." + return SPAN_WARNING("[owner.p_they(TRUE)] [owner.p_have(FALSE)] sharp, ichor-laden claws extending from [owner.p_their(FALSE)] [owner.l_hand == src ? "left hand" : "right hand"].") /obj/item/zombie_claw/plague_claw/activate_self(mob/user) if(..()) diff --git a/code/modules/arcade/prize_counter.dm b/code/modules/arcade/prize_counter.dm index 8c787c3435c..7c1af718dca 100644 --- a/code/modules/arcade/prize_counter.dm +++ b/code/modules/arcade/prize_counter.dm @@ -87,7 +87,7 @@ SStgui.update_uis(src) qdel(T) else - to_chat(user, "\The [T] seems stuck to your hand!") + to_chat(user, SPAN_WARNING("\The [T] seems stuck to your hand!")) return ITEM_INTERACT_COMPLETE if(panel_open) return ITEM_INTERACT_COMPLETE @@ -109,7 +109,7 @@ if(!I.use_tool(src, user, I.tool_volume)) return panel_open = !panel_open - to_chat(user, "You [panel_open ? "open" : "close"] the maintenance panel.") + to_chat(user, SPAN_NOTICE("You [panel_open ? "open" : "close"] the maintenance panel.")) update_icon(UPDATE_ICON_STATE) /obj/machinery/prize_counter/wrench_act(mob/living/user, obj/item/I) diff --git a/code/modules/arcade/prize_datums.dm b/code/modules/arcade/prize_datums.dm index dfa9374c831..dff8149089f 100644 --- a/code/modules/arcade/prize_datums.dm +++ b/code/modules/arcade/prize_datums.dm @@ -16,7 +16,7 @@ GLOBAL_DATUM_INIT(global_prizes, /datum/prizes, new()) new item.typepath(prize_counter.loc) prize_counter.tickets -= item.cost - to_chat(usr, "Enjoy your prize!") + to_chat(usr, SPAN_NOTICE("Enjoy your prize!")) playsound(prize_counter, 'sound/machines/machine_vend.ogg', 50, TRUE) ////////////////////////////////////// diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 5c49b04af44..b1e94b49707 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -125,7 +125,7 @@ /obj/item/assembly/proc/attach_assembly(obj/item/assembly/A, mob/user) holder = new /obj/item/assembly_holder(get_turf(src)) if(holder.attach(A, src, user)) - to_chat(user, "You attach [A] to [src]!") + to_chat(user, SPAN_NOTICE("You attach [A] to [src]!")) user.put_in_active_hand(holder) return TRUE return FALSE @@ -144,9 +144,9 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(toggle_secure()) - to_chat(user, "[src] is ready!") + to_chat(user, SPAN_NOTICE("[src] is ready!")) else - to_chat(user, "[src] can now be attached!") + to_chat(user, SPAN_NOTICE("[src] can now be attached!")) /obj/item/assembly/process() STOP_PROCESSING(SSobj, src) diff --git a/code/modules/assembly/assembly_holder.dm b/code/modules/assembly/assembly_holder.dm index 739588957b1..6a0ef5730aa 100644 --- a/code/modules/assembly/assembly_holder.dm +++ b/code/modules/assembly/assembly_holder.dm @@ -139,7 +139,7 @@ /obj/item/assembly_holder/screwdriver_act(mob/user, obj/item/I) if(!a_left || !a_right) - to_chat(user, "BUG:Assembly part missing, please report this!") + to_chat(user, SPAN_WARNING("BUG:Assembly part missing, please report this!")) return . = TRUE if(!I.use_tool(src, user, 0, volume = I.tool_volume)) @@ -148,16 +148,16 @@ a_right.toggle_secure() secured = !secured if(secured) - to_chat(user, "[src] is ready!") + to_chat(user, SPAN_NOTICE("[src] is ready!")) else - to_chat(user, "[src] can now be taken apart!") + to_chat(user, SPAN_NOTICE("[src] can now be taken apart!")) update_icon() /obj/item/assembly_holder/attack_self__legacy__attackchain(mob/user) add_fingerprint(user) if(secured) if(!a_left || !a_right) - to_chat(user, "Assembly part missing!") + to_chat(user, SPAN_WARNING("Assembly part missing!")) return if(istype(a_left, a_right.type)) // If they are the same type it causes issues due to window code switch(tgui_alert(user, "Which side would you like to use?", "Choose", list("Left", "Right"))) diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index 959692c14ee..fef9acd7923 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -44,7 +44,7 @@ . = TRUE if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return - to_chat(user, "You disassemble [src].") + to_chat(user, SPAN_NOTICE("You disassemble [src].")) bombassembly.forceMove(user.loc) bombassembly.master = null bombassembly = null @@ -61,13 +61,13 @@ status = TRUE investigate_log("[key_name(user)] welded a single tank bomb. Temperature: [bombtank.air_contents.temperature() - T0C]", INVESTIGATE_BOMB) log_game("[key_name(user)] welded a single tank bomb. Temperature: [bombtank.air_contents.temperature() - T0C]") - to_chat(user, "A pressure hole has been bored to [bombtank] valve. [bombtank] can now be ignited.") + to_chat(user, SPAN_NOTICE("A pressure hole has been bored to [bombtank] valve. [bombtank] can now be ignited.")) add_attack_logs(user, src, "welded a single tank bomb. Temperature: [bombtank.air_contents.temperature() - T0C]", ATKLOG_FEW) else status = FALSE investigate_log("[key_name(user)] unwelded a single tank bomb. Temperature: [bombtank.air_contents.temperature() - T0C]", INVESTIGATE_BOMB) add_attack_logs(user, src, "unwelded a single tank bomb. Temperature: [bombtank.air_contents.temperature() - T0C]", ATKLOG_ALMOSTALL) - to_chat(user, "The hole has been closed.") + to_chat(user, SPAN_NOTICE("The hole has been closed.")) /obj/item/onetankbomb/attack_self__legacy__attackchain(mob/user) //pressing the bomb accesses its assembly diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index 66aa95bde49..abbd6fba6b3 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -29,8 +29,8 @@ if(location) location.hotspot_expose(1000, 1) visible_message( - "Sparks shoot out of [src].", - "You hear a shower of sparks shooting out from something!" + SPAN_NOTICE("Sparks shoot out of [src]."), + SPAN_WARNING("You hear a shower of sparks shooting out from something!") ) sparks.start() @@ -68,15 +68,15 @@ if(target == user) user.visible_message( - "[user] presses [src] against [cig] and activates it, lighting [cig] in a shower of sparks!", - "You press [src] against [cig] and activates it, lighting [cig] in a shower of sparks!", - "You hear a shower of sparks shooting out from something!" + SPAN_NOTICE("[user] presses [src] against [cig] and activates it, lighting [cig] in a shower of sparks!"), + SPAN_NOTICE("You press [src] against [cig] and activates it, lighting [cig] in a shower of sparks!"), + SPAN_WARNING("You hear a shower of sparks shooting out from something!") ) else user.visible_message( - "[user] presses [src] against [cig] and activates it, lighting [cig] for [target] in a shower of sparks!", - "You press [src] against [cig] and activate it, lighting [cig] in a shower of sparks!", - "You hear a shower of sparks shooting out from something!" + SPAN_NOTICE("[user] presses [src] against [cig] and activates it, lighting [cig] for [target] in a shower of sparks!"), + SPAN_NOTICE("You press [src] against [cig] and activate it, lighting [cig] in a shower of sparks!"), + SPAN_WARNING("You hear a shower of sparks shooting out from something!") ) sparks.start() // Make sparks fly! cig.light(user, target) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index a9ab72544df..8904bd4ceaf 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -28,7 +28,7 @@ /obj/item/assembly/infra/examine(mob/user) . = ..() . += "The assembly is [secured ? "secure" : "not secure"]. The infrared trigger is [on ? "on" : "off"]." - . += "Alt-Click to rotate it." + . += SPAN_NOTICE("Alt-Click to rotate it.") /obj/item/assembly/infra/activate() if(!..()) diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index b9d77676226..5dc7d0a8435 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -13,7 +13,7 @@ . = ..() if(armed) . += "It looks like it's armed." - . += "Alt-Click to hide it." + . += SPAN_NOTICE("Alt-Click to hide it.") /obj/item/assembly/mousetrap/activate() if(!..()) @@ -67,7 +67,7 @@ else if(ismouse(target)) var/mob/living/basic/mouse/M = target - visible_message("SPLAT!") + visible_message(SPAN_DANGER("SPLAT!")) M.death() M.splat() @@ -79,7 +79,7 @@ /obj/item/assembly/mousetrap/attack_self__legacy__attackchain(mob/living/user) if(!armed) - to_chat(user, "You arm [src].") + to_chat(user, SPAN_NOTICE("You arm [src].")) else if((user.getBrainLoss() >= 60 || HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50)) var/which_hand = "l_hand" @@ -87,10 +87,10 @@ which_hand = "r_hand" triggered(user, which_hand) - user.visible_message("[user] accidentally sets off [src], breaking [user.p_their()] fingers.", "You accidentally trigger [src]!") + user.visible_message(SPAN_WARNING("[user] accidentally sets off [src], breaking [user.p_their()] fingers."), SPAN_WARNING("You accidentally trigger [src]!")) return - to_chat(user, "You disarm [src].") + to_chat(user, SPAN_NOTICE("You disarm [src].")) armed = !armed update_icon() @@ -104,7 +104,7 @@ which_hand = "r_hand" triggered(user, which_hand) - user.visible_message("[user] accidentally sets off [src], breaking [user.p_their()] fingers.", "You accidentally trigger [src]!") + user.visible_message(SPAN_WARNING("[user] accidentally sets off [src], breaking [user.p_their()] fingers."), SPAN_WARNING("You accidentally trigger [src]!")) return ..() @@ -114,7 +114,7 @@ var/mob/living/carbon/H = entered if(H.m_intent == MOVE_INTENT_RUN) triggered(H) - H.visible_message("[H] accidentally steps on [src].", "You accidentally step on [src]") + H.visible_message(SPAN_WARNING("[H] accidentally steps on [src]."), SPAN_WARNING("You accidentally step on [src]")) else if(ismouse(entered)) triggered(entered) @@ -126,7 +126,7 @@ /obj/item/assembly/mousetrap/on_found(mob/finder) if(armed) - finder.visible_message("[finder] accidentally sets off [src], breaking [finder.p_their()] fingers.", "You accidentally trigger [src]!") + finder.visible_message(SPAN_WARNING("[finder] accidentally sets off [src], breaking [finder.p_their()] fingers."), SPAN_WARNING("You accidentally trigger [src]!")) triggered(finder, finder.hand ? "l_hand" : "r_hand") return TRUE //end the search! @@ -136,7 +136,7 @@ if(!armed) return ..() - visible_message("[src] is triggered by [AM].") + visible_message(SPAN_WARNING("[src] is triggered by [AM].")) triggered(null) /obj/item/assembly/mousetrap/armed @@ -149,4 +149,4 @@ return layer = TURF_LAYER + 0.2 - to_chat(user, "You hide [src].") + to_chat(user, SPAN_NOTICE("You hide [src].")) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index d396f8d9502..f9c54137eca 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -27,7 +27,7 @@ /obj/item/assembly/prox_sensor/examine(mob/user) . = ..() if(timing) - . += "The proximity sensor is arming." + . += SPAN_NOTICE("The proximity sensor is arming.") else . += "The proximity sensor is [scanning ? "armed" : "disarmed"]." @@ -137,7 +137,7 @@ /obj/item/assembly/prox_sensor/interact(mob/user)//TODO: Change this to the wires thingy if(!secured) - user.show_message("[src] is unsecured!") + user.show_message(SPAN_WARNING("[src] is unsecured!")) return FALSE var/timing_ui = "" var/time_display = "" diff --git a/code/modules/assembly/shock_kit.dm b/code/modules/assembly/shock_kit.dm index 4e4114c66aa..835baa56bff 100644 --- a/code/modules/assembly/shock_kit.dm +++ b/code/modules/assembly/shock_kit.dm @@ -24,13 +24,13 @@ part2?.master = null part1 = null part2 = null - visible_message("[user] disassembles [src].") + visible_message(SPAN_NOTICE("[user] disassembles [src].")) qdel(src) return TRUE /obj/item/assembly/shock_kit/screwdriver_act(mob/user, obj/item/I) status = !status - to_chat(user, "[src] is now [status ? "secured" : "unsecured"]!") + to_chat(user, SPAN_NOTICE("[src] is now [status ? "secured" : "unsecured"]!")) add_fingerprint(user) return TRUE diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index df6ce7e673d..6e31e970554 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -26,10 +26,10 @@ GLOBAL_LIST_EMPTY(remote_signalers) /obj/item/assembly/signaler/examine(mob/user) . = ..() . += "The power light is [receiving ? "on" : "off"]" - . += "Alt+Click to send a signal." + . += SPAN_NOTICE("Alt+Click to send a signal.") /obj/item/assembly/signaler/AltClick(mob/user) - to_chat(user, "You activate [src].") + to_chat(user, SPAN_NOTICE("You activate [src].")) activate() /obj/item/assembly/signaler/attackby__legacy__attackchain(obj/item/W, mob/user, params) diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 98823d60cd3..02561c05ee0 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -66,7 +66,7 @@ /obj/item/assembly/timer/interact(mob/user as mob)//TODO: Have this use the wires if(!secured) - user.show_message("[src] is unsecured!") + user.show_message(SPAN_WARNING("[src] is unsecured!")) return FALSE var/second = time % 60 var/minute = (time - second) / 60 diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index 12917046f87..e871f3994c5 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -38,7 +38,7 @@ else if(findtext(msg, recorded) && type == recorded_type) var/turf/T = get_turf(src) //otherwise it won't work in hand - T.visible_message("[bicon(src)] beeps!") + T.visible_message(SPAN_WARNING("[bicon(src)] beeps!")) pulse(0) /obj/item/assembly/voice/activate() @@ -78,4 +78,4 @@ /obj/item/assembly/voice/noise/hear_message(mob/living/M as mob, msg) pulse(0) var/turf/T = get_turf(src) //otherwise it won't work in hand - T.visible_message("[bicon(src)] beeps!") + T.visible_message(SPAN_WARNING("[bicon(src)] beeps!")) diff --git a/code/modules/asset_cache/transports/asset_transport.dm b/code/modules/asset_cache/transports/asset_transport.dm index 9b9cd0b9d1b..a345bd1bac2 100644 --- a/code/modules/asset_cache/transports/asset_transport.dm +++ b/code/modules/asset_cache/transports/asset_transport.dm @@ -119,7 +119,7 @@ if(length(unreceived)) if(length(unreceived) >= ASSET_CACHE_TELL_CLIENT_AMOUNT) - to_chat(client, "Sending Resources...") + to_chat(client, SPAN_DEBUG("Sending Resources...")) for(var/asset_name in unreceived) var/new_asset_name = asset_name diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index d37fba93d45..891699b438d 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -259,6 +259,6 @@ if(capped) chance = min(chance, 30) if(prob(chance) || bypass_rng) - T.visible_message("[T] melts!") + T.visible_message(SPAN_WARNING("[T] melts!")) T.burn_down() return affected diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index 965b590d9f8..963d7e8f57e 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -858,7 +858,7 @@ GLOBAL_LIST_INIT(aalarm_modes, list( return UI_CLOSE if(aidisabled && (is_ai(user) || isrobot(user))) - to_chat(user, "AI control for \the [src] interface has been disabled.") + to_chat(user, SPAN_WARNING("AI control for \the [src] interface has been disabled.")) return UI_CLOSE . = shorted ? UI_DISABLED : UI_INTERACTIVE @@ -923,7 +923,7 @@ GLOBAL_LIST_INIT(aalarm_modes, list( return if(!((U in alarm_area.vents) || (U in alarm_area.scrubbers))) - message_admins("[key_name_admin(usr)] attempted to href-exploit an air alarm to control another object!!!") + message_admins(SPAN_BOLDANNOUNCEOOC("[key_name_admin(usr)] attempted to href-exploit an air alarm to control another object!!!")) return mode = AALARM_MODE_CUSTOM @@ -1039,7 +1039,7 @@ GLOBAL_LIST_INIT(aalarm_modes, list( return input_temperature = input_temperature + T0C if(input_temperature > max_temperature || input_temperature < min_temperature) - to_chat(usr, "Temperature must be between [min_temperature_c]C and [max_temperature_c]C") + to_chat(usr, SPAN_WARNING("Temperature must be between [min_temperature_c]C and [max_temperature_c]C")) else target_temperature = input_temperature @@ -1050,7 +1050,7 @@ GLOBAL_LIST_INIT(aalarm_modes, list( if(!emagged) emagged = TRUE if(user) - user.visible_message("Sparks fly out of \the [src]!", "You emag \the [src], disabling its safeties.") + user.visible_message(SPAN_WARNING("Sparks fly out of \the [src]!"), SPAN_NOTICE("You emag \the [src], disabling its safeties.")) playsound(src.loc, 'sound/effects/sparks4.ogg', 50, TRUE) return TRUE @@ -1065,10 +1065,10 @@ GLOBAL_LIST_INIT(aalarm_modes, list( if(allowed(user) && !wires.is_cut(WIRE_IDSCAN)) locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] the Air Alarm interface.") + to_chat(user, SPAN_NOTICE("You [locked ? "lock" : "unlock"] the Air Alarm interface.")) SStgui.update_uis(src) else - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ITEM_INTERACT_COMPLETE @@ -1076,10 +1076,10 @@ GLOBAL_LIST_INIT(aalarm_modes, list( if(iscoil(used)) var/obj/item/stack/cable_coil/coil = used if(coil.get_amount() < 5) - to_chat(user, "You need more cable for this!") + to_chat(user, SPAN_WARNING("You need more cable for this!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You wire [src]!") + to_chat(user, SPAN_NOTICE("You wire [src]!")) playsound(get_turf(src), coil.usesound, 50, 1) coil.use(5) @@ -1090,7 +1090,7 @@ GLOBAL_LIST_INIT(aalarm_modes, list( return ITEM_INTERACT_COMPLETE if(AIR_ALARM_FRAME) if(istype(used, /obj/item/airalarm_electronics)) - to_chat(user, "You insert [used] into [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into [src].")) playsound(get_turf(src), used.usesound, 50, TRUE) qdel(used) buildstage = AIR_ALARM_UNWIRED @@ -1185,22 +1185,22 @@ GLOBAL_LIST_INIT(aalarm_modes, list( /obj/machinery/alarm/AltClick(mob/user) if(Adjacent(user) && allowed(user) && !wires.is_cut(WIRE_IDSCAN)) locked = !locked - to_chat(user, "You [locked ? "lock" : "unlock"] the Air Alarm interface.") + to_chat(user, SPAN_NOTICE("You [locked ? "lock" : "unlock"] the Air Alarm interface.")) else - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) /obj/machinery/alarm/examine(mob/user) . = ..() switch(buildstage) if(AIR_ALARM_FRAME) - . += "Its circuit is missing and the bolts are exposed." + . += SPAN_NOTICE("Its circuit is missing and the bolts are exposed.") if(AIR_ALARM_UNWIRED) - . += "The frame is missing wires and the control circuit can be pried out." + . += SPAN_NOTICE("The frame is missing wires and the control circuit can be pried out.") if(AIR_ALARM_READY) if(wiresexposed) - . += "The wiring could be cut and removed or panel could screwed closed." + . += SPAN_NOTICE("The wiring could be cut and removed or panel could screwed closed.") else - . += "You can unlock an Air Alarm by using an ID with the required access on it (shortcut: Alt-click), or ask a local synthetic." + . += SPAN_NOTICE("You can unlock an Air Alarm by using an ID with the required access on it (shortcut: Alt-click), or ask a local synthetic.") /obj/machinery/alarm/proc/unshort_callback() if(shorted) diff --git a/code/modules/atmospherics/machinery/atmospherics.dm b/code/modules/atmospherics/machinery/atmospherics.dm index 44b7f6df360..2b6d9ac5256 100644 --- a/code/modules/atmospherics/machinery/atmospherics.dm +++ b/code/modules/atmospherics/machinery/atmospherics.dm @@ -194,16 +194,16 @@ Pipelines + Other Objects -> Pipe network /obj/machinery/atmospherics/wrench_act(mob/living/user, obj/item/wrench/W) var/turf/T = get_turf(src) if(!can_unwrench_while_on && !(stat & NOPOWER) && on) - to_chat(user, "You cannot unwrench this [name], turn it off first.") + to_chat(user, SPAN_ALERT("You cannot unwrench this [name], turn it off first.")) return TRUE if(!can_unwrench) return FALSE . = TRUE if(wrench_floor_check()) - to_chat(user, "You can't interact with something that's under the floor!") + to_chat(user, SPAN_DANGER("You can't interact with something that's under the floor!")) return if(level == 1 && isturf(T) && T.intact) - to_chat(user, "You must remove the plating first.") + to_chat(user, SPAN_DANGER("You must remove the plating first.")) return var/datum/gas_mixture/int_air = return_obj_air() var/datum/gas_mixture/env_air = T.get_readonly_air() @@ -216,7 +216,7 @@ Pipelines + Other Objects -> Pipe network var/E = env_air ? env_air.return_pressure() : 0 var/internal_pressure = I - E - to_chat(user, "You begin to unfasten [src]...") + to_chat(user, SPAN_NOTICE("You begin to unfasten [src]...")) if(HAS_TRAIT(user, TRAIT_MAGPULSE)) safefromgusts = TRUE @@ -224,9 +224,9 @@ Pipelines + Other Objects -> Pipe network if(internal_pressure > 2 * ONE_ATMOSPHERE) unsafe_wrenching = TRUE //Oh dear oh dear if(internal_pressure > 1750 && !safefromgusts) // 1750 is the pressure limit to do 60 damage when thrown - to_chat(user, "As you struggle to unwrench [src] a huge gust of gas blows in your face! This seems like a terrible idea!") + to_chat(user, SPAN_USERDANGER("As you struggle to unwrench [src] a huge gust of gas blows in your face! This seems like a terrible idea!")) else - to_chat(user, "As you begin unwrenching [src] a gust of air blows in your face... maybe you should reconsider?") + to_chat(user, SPAN_WARNING("As you begin unwrenching [src] a gust of air blows in your face... maybe you should reconsider?")) if(!W.use_tool(src, user, 4 SECONDS, volume = 50) || QDELETED(src)) return @@ -237,16 +237,16 @@ Pipelines + Other Objects -> Pipe network safefromgusts = TRUE user.visible_message( - "[user] unfastens [src].", - "You have unfastened [src].", - "You hear ratcheting." + SPAN_NOTICE("[user] unfastens [src]."), + SPAN_NOTICE("You have unfastened [src]."), + SPAN_ITALICS("You hear ratcheting.") ) - investigate_log("was REMOVED by [key_name(usr)]", INVESTIGATE_ATMOS) + investigate_log("was [SPAN_WARNING("REMOVED")] by [key_name(usr)]", INVESTIGATE_ATMOS) //You unwrenched a pipe full of pressure? let's splat you into the wall silly. if(unsafe_wrenching) if(safefromgusts) - to_chat(user, "Your magboots cling to the floor as a great burst of wind bellows against you.") + to_chat(user, SPAN_NOTICE("Your magboots cling to the floor as a great burst of wind bellows against you.")) else unsafe_pressure_release(user,internal_pressure) deconstruct(TRUE) @@ -261,7 +261,7 @@ Pipelines + Other Objects -> Pipe network /obj/machinery/atmospherics/item_interaction(mob/living/user, obj/item/used, list/modifiers) var/turf/T = get_turf(src) if(T.transparent_floor) - to_chat(user, "You can't interact with something that's under the floor!") + to_chat(user, SPAN_DANGER("You can't interact with something that's under the floor!")) return ITEM_INTERACT_COMPLETE return ..() @@ -283,7 +283,7 @@ Pipelines + Other Objects -> Pipe network fuck_you_dir = pick(GLOB.alldirs) var/turf/general_direction = get_edge_target_turf(user, fuck_you_dir) - user.visible_message("[user] is sent flying by pressure!","The pressure sends you flying!") + user.visible_message(SPAN_DANGER("[user] is sent flying by pressure!"),SPAN_USERDANGER("The pressure sends you flying!")) //Values based on 2*ONE_ATMOS (the unsafe pressure), resulting in 20 range and 4 speed user.throw_at(general_direction, pressures/10, pressures/50) @@ -446,7 +446,7 @@ Pipelines + Other Objects -> Pipe network on = !on update_icon() if(user) - to_chat(user, "You toggle [src] [on ? "on" : "off"].") + to_chat(user, SPAN_NOTICE("You toggle [src] [on ? "on" : "off"].")) /** * Maxes the output pressure of the machine. If this is done by a user, display a message to them. @@ -462,7 +462,7 @@ Pipelines + Other Objects -> Pipe network target_pressure = MAX_OUTPUT_PRESSURE update_icon() if(user) - to_chat(user, "You set the target pressure of [src] to maximum.") + to_chat(user, SPAN_NOTICE("You set the target pressure of [src] to maximum.")) /obj/machinery/atmospherics/proc/get_machinery_pipelines() return list() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm index daf0c47de1f..43f8a8ed5b4 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm @@ -92,7 +92,7 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return side_inverted = !side_inverted - to_chat(user, "You reverse the circulator's valve settings. The inlet of the circulator is now on the [get_inlet_side(dir)] side.") + to_chat(user, SPAN_NOTICE("You reverse the circulator's valve settings. The inlet of the circulator is now on the [get_inlet_side(dir)] side.")) update_appearance(UPDATE_DESC|UPDATE_ICON) /obj/machinery/atmospherics/binary/circulator/update_desc() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm index da23b52f3a9..02cc315d343 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm @@ -25,7 +25,7 @@ /obj/machinery/atmospherics/binary/passive_gate/examine(mob/user) . = ..() - . += "This is a one-way regulator, allowing gas to flow only at a specific pressure and flow rate. If the light is green, gas is flowing." + . += SPAN_NOTICE("This is a one-way regulator, allowing gas to flow only at a specific pressure and flow rate. If the light is green, gas is flowing.") /obj/machinery/atmospherics/binary/passive_gate/update_icon_state() icon_state = "[on ? "on" : "off"]" @@ -76,7 +76,7 @@ return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_ALERT("Access denied.")) return add_fingerprint(user) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm index 8b755323750..e472103c7e2 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm @@ -27,7 +27,7 @@ Thus, the two variables affect pump operation are set in New(): /obj/machinery/atmospherics/binary/pump/examine(mob/user) . = ..() - . += "This moves gas from one pipe to another. A higher target pressure demands more energy. The side with the red end is the output." + . += SPAN_NOTICE("This moves gas from one pipe to another. A higher target pressure demands more energy. The side with the red end is the output.") // So we can CtrlClick without triggering the anchored message. /obj/machinery/atmospherics/binary/pump/can_be_pulled(user, grab_state, force, show_message) @@ -100,7 +100,7 @@ Thus, the two variables affect pump operation are set in New(): return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_ALERT("Access denied.")) return add_fingerprint(user) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm index 1d99f561057..03d063199d4 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/temperature_gate.dm @@ -30,8 +30,8 @@ /obj/machinery/atmospherics/binary/temperature_gate/examine(mob/user) . = ..() - . += "A toggleable gate that compares the temperature on the interface with the incoming gas and allows it to pass if it is [inverted ? "is higher than" : "is lower than"] the set temperature." - . += "It is currently set to [target_temperature] K and is [on ? "on" : "off"]." + . += SPAN_NOTICE("A toggleable gate that compares the temperature on the interface with the incoming gas and allows it to pass if it is [inverted ? "is higher than" : "is lower than"] the set temperature.") + . += SPAN_NOTICE("It is currently set to [target_temperature] K and is [on ? "on" : "off"].") /obj/machinery/atmospherics/binary/temperature_gate/update_icon_state() icon_state = "[on ? "on" : "off"]" @@ -48,10 +48,10 @@ /obj/machinery/atmospherics/binary/temperature_gate/multitool_act(mob/living/user, obj/item/I) . = ..() if(inverted) - to_chat(user, "You set [src] to normal operation mode.") + to_chat(user, SPAN_NOTICE("You set [src] to normal operation mode.")) inverted = FALSE else - to_chat(user, "You set [src] to inverted operation mode.") + to_chat(user, SPAN_NOTICE("You set [src] to inverted operation mode.")) inverted = TRUE @@ -86,7 +86,7 @@ return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_ALERT("Access denied.")) return add_fingerprint(user) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm index bdc17dda13c..9c0d61bf8ae 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm @@ -15,7 +15,7 @@ /obj/machinery/atmospherics/binary/valve/examine(mob/user) . = ..() . += "It is currently [open ? "open" : "closed"]." - . += "Click this to turn the valve. If perpendicular, the pipes on each end are separated. If parallel, they are connected." + . += SPAN_NOTICE("Click this to turn the valve. If perpendicular, the pipes on each end are separated. If parallel, they are connected.") /obj/machinery/atmospherics/binary/valve/open open = TRUE @@ -68,7 +68,7 @@ close() else open() - to_chat(user, "You [open ? "open" : "close"] [src].") + to_chat(user, SPAN_NOTICE("You [open ? "open" : "close"] [src].")) /// can be controlled by AI /obj/machinery/atmospherics/binary/valve/digital @@ -83,7 +83,7 @@ if(!has_power()) return if(!allowed(user) && !user.can_advanced_admin_interact()) - to_chat(user, "Access denied.") + to_chat(user, SPAN_ALERT("Access denied.")) return ..() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm index 2f57fe43ee3..95164def706 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm @@ -96,7 +96,7 @@ Thus, the two variables affect pump operation are set in New(): return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_ALERT("Access denied.")) return add_fingerprint(user) diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm index 57727be8ee8..12f74429758 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm @@ -185,7 +185,7 @@ return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_ALERT("Access denied.")) return add_fingerprint(user) diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm index 9ab167b6a39..0ab78553d38 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm @@ -138,7 +138,7 @@ return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_ALERT("Access denied.")) return add_fingerprint(user) diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/tvalve.dm b/code/modules/atmospherics/machinery/components/trinary_devices/tvalve.dm index 6dd0e6163a4..8ed9fd57a47 100644 --- a/code/modules/atmospherics/machinery/components/trinary_devices/tvalve.dm +++ b/code/modules/atmospherics/machinery/components/trinary_devices/tvalve.dm @@ -14,7 +14,7 @@ /obj/machinery/atmospherics/trinary/tvalve/examine(mob/user) . = ..() - . += "Click this to toggle the mode. The direction with the dot is where the gas will flow to. The gas flows from the opposite side or the one with the uninterrupted line." + . += SPAN_NOTICE("Click this to toggle the mode. The direction with the dot is where the gas will flow to. The gas flows from the opposite side or the one with the uninterrupted line.") /obj/machinery/atmospherics/trinary/tvalve/bypass icon_state = "map_tvalve1" @@ -142,7 +142,7 @@ if(!has_power()) return if(!allowed(user) && !user.can_advanced_admin_interact()) - to_chat(user, "Access denied.") + to_chat(user, SPAN_ALERT("Access denied.")) return ..() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index d4289187fef..7e9ec7a8310 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -35,14 +35,14 @@ . = ..() if(occupant) if(occupant.stat == DEAD) - . += "You see [occupant.name] inside. [occupant.p_they(TRUE)] [occupant.p_are()] dead!" + . += SPAN_WARNING("You see [occupant.name] inside. [occupant.p_they(TRUE)] [occupant.p_are()] dead!") else - . += "You see [occupant.name] inside." + . += SPAN_NOTICE("You see [occupant.name] inside.") if(!force_eject) - . += "The auto-eject light is off!" - . += "The Cryogenic cell chamber is effective at treating those with genetic damage, but all other damage types at a moderate rate." - . += "Mostly using cryogenic chemicals, such as cryoxadone for it's medical purposes, requires that the inside of the cell be kept cool at all times. Hooking up a freezer and cooling the pipeline will do this nicely." - . += "Click-drag someone to a cell to place them in it, Alt-Click it to remove it." + . += SPAN_WARNING("The auto-eject light is off!") + . += SPAN_NOTICE("The Cryogenic cell chamber is effective at treating those with genetic damage, but all other damage types at a moderate rate.") + . += SPAN_NOTICE("Mostly using cryogenic chemicals, such as cryoxadone for it's medical purposes, requires that the inside of the cell be kept cool at all times. Hooking up a freezer and cooling the pipeline will do this nicely.") + . += SPAN_NOTICE("Click-drag someone to a cell to place them in it, Alt-Click it to remove it.") /obj/machinery/atmospherics/unary/cryo_cell/power_change() ..() @@ -139,16 +139,16 @@ if(!isturf(user.loc) || !isturf(O.loc)) // are you in a container/closet/pod/etc? return if(occupant) - to_chat(user, "The cryo cell is already occupied!") + to_chat(user, SPAN_BOLDNOTICE("The cryo cell is already occupied!")) return TRUE var/mob/living/L = O if(!istype(L) || L.buckled) return if(L.abiotic()) - to_chat(user, "Subject may not hold anything in their hands.") + to_chat(user, SPAN_DANGER("Subject may not hold anything in their hands.")) return TRUE if(L.has_buckled_mobs()) //mob attached to us - to_chat(user, "[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.") + to_chat(user, SPAN_WARNING("[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.")) return TRUE if(put_mob(L)) if(L == user) @@ -209,7 +209,7 @@ return if(panel_open) - to_chat(usr, "Close the maintenance panel first.") + to_chat(usr, SPAN_BOLDNOTICE("Close the maintenance panel first.")) return ui_interact(user) @@ -304,11 +304,11 @@ if(istype(used, /obj/item/reagent_containers/glass) && user.a_intent != INTENT_HARM) var/obj/item/reagent_containers/B = used if(beaker) - to_chat(user, "A beaker is already loaded into the machine.") + to_chat(user, SPAN_WARNING("A beaker is already loaded into the machine.")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) - to_chat(user, "[B] is stuck to you!") + to_chat(user, SPAN_WARNING("[B] is stuck to you!")) return ITEM_INTERACT_COMPLETE B.forceMove(src) @@ -321,14 +321,14 @@ if(istype(used, /obj/item/grab)) var/obj/item/grab/GG = used if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_WARNING("Close the maintenance panel first.")) return ITEM_INTERACT_COMPLETE if(!ismob(GG.affecting)) return ITEM_INTERACT_COMPLETE if(GG.affecting.has_buckled_mobs()) //mob attached to us - to_chat(user, "[GG.affecting] will not fit into [src] because [GG.affecting.p_they()] [GG.affecting.p_have()] a slime latched onto [GG.affecting.p_their()] head.") + to_chat(user, SPAN_WARNING("[GG.affecting] will not fit into [src] because [GG.affecting.p_they()] [GG.affecting.p_have()] a slime latched onto [GG.affecting.p_their()] head.")) return ITEM_INTERACT_COMPLETE var/mob/M = GG.affecting @@ -346,7 +346,7 @@ /obj/machinery/atmospherics/unary/cryo_cell/screwdriver_act(mob/user, obj/item/I) if(occupant || on) - to_chat(user, "The maintenance panel is locked.") + to_chat(user, SPAN_NOTICE("The maintenance panel is locked.")) return TRUE if(default_deconstruction_screwdriver(user, "pod0-o", "pod0", I)) return TRUE @@ -378,12 +378,12 @@ /obj/machinery/atmospherics/unary/cryo_cell/proc/attempt_escape(mob/living/carbon/user, effective_breakout_time) if(effective_breakout_time) - user.visible_message("[user] attempts to trigger the release on [src]!", "You attempt to trigger the release on [src]...") - to_chat(user, "You attempt to trigger the release on [src]. (This will take around [DisplayTimeText(effective_breakout_time)].)") + user.visible_message(SPAN_WARNING("[user] attempts to trigger the release on [src]!"), SPAN_NOTICE("You attempt to trigger the release on [src]...")) + to_chat(user, SPAN_NOTICE("You attempt to trigger the release on [src]. (This will take around [DisplayTimeText(effective_breakout_time)].)")) if(!do_after(user, effective_breakout_time, FALSE, user, hidden = TRUE, allow_sleeping_or_dead = TRUE)) user.remove_status_effect(STATUS_EFFECT_EXIT_CRYOCELL) - to_chat(user, "You fail to trigger the release on [src]!") + to_chat(user, SPAN_WARNING("You fail to trigger the release on [src]!")) return user.remove_status_effect(STATUS_EFFECT_EXIT_CRYOCELL) @@ -457,21 +457,21 @@ /obj/machinery/atmospherics/unary/cryo_cell/proc/put_mob(mob/living/carbon/M) if(!istype(M)) - to_chat(usr, "The cryo cell cannot handle such a lifeform!") + to_chat(usr, SPAN_DANGER("The cryo cell cannot handle such a lifeform!")) return if(occupant) - to_chat(usr, "The cryo cell is already occupied!") + to_chat(usr, SPAN_DANGER("The cryo cell is already occupied!")) return if(M.abiotic()) - to_chat(usr, "Subject may not hold anything in their hands.") + to_chat(usr, SPAN_WARNING("Subject may not hold anything in their hands.")) return if(!node) - to_chat(usr, "The cell is not correctly connected to its pipe network!") + to_chat(usr, SPAN_WARNING("The cell is not correctly connected to its pipe network!")) return M.stop_pulling() M.forceMove(src) if(M.health > -100 && (M.health < 0 || M.IsSleeping())) - to_chat(M, "You feel a cold liquid surround you. Your skin starts to freeze up.") + to_chat(M, SPAN_BOLDNOTICE("You feel a cold liquid surround you. Your skin starts to freeze up.")) occupant = M // M.metabslow = 1 add_fingerprint(usr) @@ -489,7 +489,7 @@ return if(panel_open) force_eject = !force_eject - to_chat(user, "You turn [force_eject ? "on" : "off"] the auto-ejection timer on [src].") + to_chat(user, SPAN_NOTICE("You turn [force_eject ? "on" : "off"] the auto-ejection timer on [src].")) /obj/machinery/atmospherics/unary/cryo_cell/AltClick(mob/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm index 6c9e6a16be5..c3e95231fd3 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm @@ -77,4 +77,4 @@ GLOBAL_LIST_EMPTY(air_injectors) var/obj/item/multitool/M = I M.buffer_uid = UID() - to_chat(user, "You save [src] into [M]'s buffer") + to_chat(user, SPAN_NOTICE("You save [src] into [M]'s buffer")) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm index ed2179aef1f..0e3364f25ce 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm @@ -34,7 +34,7 @@ /obj/machinery/atmospherics/unary/portables_connector/wrench_act(mob/living/user, obj/item/wrench/W) if(connected_device) - to_chat(user, "You cannot unwrench this [name], detach [connected_device] first.") + to_chat(user, SPAN_DANGER("You cannot unwrench this [name], detach [connected_device] first.")) return TRUE return ..() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index 44ee49cc28a..f1a3959e5b9 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -41,11 +41,11 @@ /obj/machinery/atmospherics/unary/thermomachine/examine(mob/user) . = ..() - . += "Cools or heats the gas of the connected pipenet, uses a large amount of electricity while activated." - . += "The thermostat is set to [target_temperature]K ([(T0C - target_temperature) * -1]C)." + . += SPAN_NOTICE("Cools or heats the gas of the connected pipenet, uses a large amount of electricity while activated.") + . += SPAN_NOTICE("The thermostat is set to [target_temperature]K ([(T0C - target_temperature) * -1]C).") if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Efficiency [(heat_capacity / 5000) * 100]%." - . += "Temperature range [min_temperature]K - [max_temperature]K ([(T0C - min_temperature) * -1]C - [(T0C-max_temperature) * -1]C)." + . += SPAN_NOTICE("The status display reads: Efficiency [(heat_capacity / 5000) * 100]%.") + . += SPAN_NOTICE("Temperature range [min_temperature]K - [max_temperature]K ([(T0C - min_temperature) * -1]C - [(T0C-max_temperature) * -1]C).") /obj/machinery/atmospherics/unary/thermomachine/proc/swap_function() cooling = !cooling @@ -131,7 +131,7 @@ /obj/machinery/atmospherics/unary/thermomachine/wrench_act(mob/user, obj/item/I) . = TRUE if(!panel_open) - to_chat(user, "Open the maintenance panel first.") + to_chat(user, SPAN_NOTICE("Open the maintenance panel first.")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -157,7 +157,7 @@ /obj/machinery/atmospherics/unary/thermomachine/attack_hand(mob/user) if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_NOTICE("Close the maintenance panel first.")) return ui_interact(user) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index eb1dbd0236e..e7147779e6b 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -36,7 +36,7 @@ /obj/machinery/atmospherics/unary/vent_pump/examine(mob/user) . = ..() - . += "This pumps the contents of the attached pipenet out into the atmosphere. Can be controlled from an Air Alarm." + . += SPAN_NOTICE("This pumps the contents of the attached pipenet out into the atmosphere. Can be controlled from an Air Alarm.") if(welded) . += "It seems welded shut." @@ -124,7 +124,7 @@ if(welded) if(air_contents.return_pressure() >= weld_burst_pressure && prob(5)) //the weld is on but the cover is welded shut, can it withstand the internal pressure? - visible_message("The welded cover of [src] bursts open!") + visible_message(SPAN_DANGER("The welded cover of [src] bursts open!")) for(var/mob/living/M in range(1)) unsafe_pressure_release(M, air_contents.return_pressure()) //let's send everyone flying welded = FALSE @@ -180,7 +180,7 @@ /obj/machinery/atmospherics/unary/vent_pump/attack_alien(mob/user) if(!welded || !(do_after(user, 20, target = src))) return - user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the vent.", "You hear loud scraping noises.") + user.visible_message(SPAN_WARNING("[user] furiously claws at [src]!"), SPAN_NOTICE("You manage to clear away the stuff blocking the vent."), SPAN_ITALICS("You hear loud scraping noises.")) welded = FALSE update_icon() pipe_image = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) @@ -207,15 +207,15 @@ var/obj/item/multitool/M = I M.buffer_uid = UID() - to_chat(user, "You save [src] into [M]'s buffer") + to_chat(user, SPAN_NOTICE("You save [src] into [M]'s buffer")) /obj/machinery/atmospherics/unary/vent_pump/screwdriver_act(mob/living/user, obj/item/I) if(welded) return - to_chat(user, "You start screwing the vent [open ? "shut" : "open"].") + to_chat(user, SPAN_NOTICE("You start screwing the vent [open ? "shut" : "open"].")) if(do_after(user, 20 * I.toolspeed, target = src)) I.play_tool_sound(src) - user.visible_message("[user] screws the vent [open ? "shut" : "open"].", "You screw the vent [open ? "shut" : "open"].", "You hear a screwdriver.") + user.visible_message(SPAN_NOTICE("[user] screws the vent [open ? "shut" : "open"]."), SPAN_NOTICE("You screw the vent [open ? "shut" : "open"]."), "You hear a screwdriver.") open = !open return TRUE @@ -227,12 +227,12 @@ if(I.use_tool(src, user, 20, volume = I.tool_volume)) if(!welded) welded = TRUE - user.visible_message("[user] welds [src] shut!",\ - "You weld [src] shut!") + user.visible_message(SPAN_NOTICE("[user] welds [src] shut!"),\ + SPAN_NOTICE("You weld [src] shut!")) else welded = FALSE - user.visible_message("[user] unwelds [src]!",\ - "You unweld [src]!") + user.visible_message(SPAN_NOTICE("[user] unwelds [src]!"),\ + SPAN_NOTICE("You unweld [src]!")) update_icon() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm index 9d2f81e7d9e..df8e510974d 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -64,7 +64,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/examine(mob/user) . = ..() - . += "This filters the atmosphere of harmful gas. Filtered gas goes straight into the connected pipenet. Controlled by an Air Alarm." + . += SPAN_NOTICE("This filters the atmosphere of harmful gas. Filtered gas goes straight into the connected pipenet. Controlled by an Air Alarm.") if(welded) . += "It seems welded shut." @@ -257,7 +257,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/attack_alien(mob/user) if(!welded || !(do_after(user, 20, target = src))) return - user.visible_message("[user] furiously claws at [src]!", "You manage to clear away the stuff blocking the scrubber.", "You hear loud scraping noises.") + user.visible_message(SPAN_WARNING("[user] furiously claws at [src]!"), SPAN_NOTICE("You manage to clear away the stuff blocking the scrubber."), SPAN_ITALICS("You hear loud scraping noises.")) welded = FALSE update_icon() pipe_image = image(src, loc, layer = ABOVE_HUD_LAYER, dir = dir) @@ -272,12 +272,12 @@ if(I.use_tool(src, user, 20, volume = I.tool_volume)) if(!welded) welded = TRUE - user.visible_message("[user] welds [src] shut!",\ - "You weld [src] shut!") + user.visible_message(SPAN_NOTICE("[user] welds [src] shut!"),\ + SPAN_NOTICE("You weld [src] shut!")) else welded = FALSE - user.visible_message("[user] unwelds [src]!",\ - "You unweld [src]!") + user.visible_message(SPAN_NOTICE("[user] unwelds [src]!"),\ + SPAN_NOTICE("You unweld [src]!")) update_icon() /obj/machinery/atmospherics/unary/vent_scrubber/multitool_act(mob/living/user, obj/item/I) @@ -286,4 +286,4 @@ var/obj/item/multitool/M = I M.buffer_uid = UID() - to_chat(user, "You save [src] into [M]'s buffer.") + to_chat(user, SPAN_NOTICE("You save [src] into [M]'s buffer.")) diff --git a/code/modules/atmospherics/machinery/other/meter.dm b/code/modules/atmospherics/machinery/other/meter.dm index d17d82032be..77b0b43986a 100644 --- a/code/modules/atmospherics/machinery/other/meter.dm +++ b/code/modules/atmospherics/machinery/other/meter.dm @@ -58,12 +58,12 @@ GLOBAL_LIST_EMPTY(gas_meters) /obj/machinery/atmospherics/meter/examine(mob/user) . = ..() - . += "Measures the volume and temperature of the pipe under the meter." + . += SPAN_NOTICE("Measures the volume and temperature of the pipe under the meter.") if(get_dist(user, src) > 3 && !(is_ai(user) || istype(user, /mob/dead))) - . += "You are too far away to read it." + . += SPAN_BOLDNOTICE("You are too far away to read it.") else if(stat & (NOPOWER|BROKEN)) - . += "The display is off." + . += SPAN_DANGER("The display is off.") else if(target) var/datum/gas_mixture/environment = target.return_obj_air() @@ -83,13 +83,13 @@ GLOBAL_LIST_EMPTY(gas_meters) /obj/machinery/atmospherics/meter/wrench_act(mob/living/user, obj/item/wrench/W) // don't call parent here, we're kind of different - to_chat(user, "You begin to unfasten [src]...") + to_chat(user, SPAN_NOTICE("You begin to unfasten [src]...")) if(!W.use_tool(src, user, volume = W.tool_volume)) return user.visible_message( "[user] unfastens [src].", - "You have unfastened [src].", + SPAN_NOTICE("You have unfastened [src]."), "You hear ratchet." ) deconstruct(TRUE) @@ -112,4 +112,4 @@ GLOBAL_LIST_EMPTY(gas_meters) var/obj/item/multitool/M = I M.buffer_uid = UID() - to_chat(user, "You save [src] into [M]'s buffer") + to_chat(user, SPAN_NOTICE("You save [src] into [M]'s buffer")) diff --git a/code/modules/atmospherics/machinery/other/refill_station.dm b/code/modules/atmospherics/machinery/other/refill_station.dm index 96615c3e925..b2dcb844b80 100644 --- a/code/modules/atmospherics/machinery/other/refill_station.dm +++ b/code/modules/atmospherics/machinery/other/refill_station.dm @@ -39,7 +39,7 @@ atmospherics to their crew." if(holding_tank) . += "" - . += "The pressure gauge on the inserted tank displays [round(holding_tank.air_contents.return_pressure())] kPa." + . += SPAN_NOTICE("The pressure gauge on the inserted tank displays [round(holding_tank.air_contents.return_pressure())] kPa.") /obj/machinery/atmospherics/refill_station/update_overlays() . = ..() @@ -86,14 +86,14 @@ if(istype(used, /obj/item/analyzer)) return ..() if(!istype(used, /obj/item/tank)) - to_chat(user, "[used] does not fit in [src]'s tank slot.") + to_chat(user, SPAN_WARNING("[used] does not fit in [src]'s tank slot.")) return ITEM_INTERACT_COMPLETE if(!(stat & BROKEN)) if(used.flags & NODROP || !user.transfer_item_to(used, src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE var/obj/item/tank/new_tank = used - to_chat(user, "[holding_tank ? "In one smooth motion you pop [holding_tank] out of [src]'s connector and replace it with [new_tank]" : "You insert [new_tank] into [src]"].") + to_chat(user, SPAN_NOTICE("[holding_tank ? "In one smooth motion you pop [holding_tank] out of [src]'s connector and replace it with [new_tank]" : "You insert [new_tank] into [src]"].")) investigate_log("[key_name(user)] started a transfer into [new_tank] at [src].
", "atmos") if(holding_tank) replace_tank(user, new_tank) @@ -107,7 +107,7 @@ /obj/machinery/atmospherics/refill_station/attack_hand(mob/living/user) if(!holding_tank) - to_chat(user, "There is no tank to remove.") + to_chat(user, SPAN_WARNING("There is no tank to remove.")) return FINISH_ATTACK user.put_in_hands(holding_tank) holding_tank = null @@ -181,14 +181,14 @@ if(istype(used, /obj/item/analyzer)) return ..() if(!is_type_in_typecache(used, accepted_types)) - to_chat(user, "[used] does not fit in [src]'s tank slot.") + to_chat(user, SPAN_WARNING("[used] does not fit in [src]'s tank slot.")) return ITEM_INTERACT_COMPLETE if(!(stat & BROKEN)) if(used.flags & NODROP || !user.transfer_item_to(used, src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE var/obj/item/tank/new_tank = used - to_chat(user, "[holding_tank ? "In one smooth motion you pop [holding_tank] out of [src]'s connector and replace it with [new_tank]" : "You insert [new_tank] into [src]"].") + to_chat(user, SPAN_NOTICE("[holding_tank ? "In one smooth motion you pop [holding_tank] out of [src]'s connector and replace it with [new_tank]" : "You insert [new_tank] into [src]"].")) investigate_log("[key_name(user)] started a transfer into [new_tank] at [src].
", "atmos") if(holding_tank) replace_tank(user, new_tank) diff --git a/code/modules/atmospherics/machinery/pipes/cap.dm b/code/modules/atmospherics/machinery/pipes/cap.dm index 2441e257a72..8cc5a93654b 100644 --- a/code/modules/atmospherics/machinery/pipes/cap.dm +++ b/code/modules/atmospherics/machinery/pipes/cap.dm @@ -16,7 +16,7 @@ /obj/machinery/atmospherics/pipe/cap/examine(mob/user) . = ..() - . += "Largely cosmetic as pipes automatically seal themselves off from leaking gases if not connected to another pipe. Will prevent a nasty ventcrawler from paying you a visit however." + . += SPAN_NOTICE("Largely cosmetic as pipes automatically seal themselves off from leaking gases if not connected to another pipe. Will prevent a nasty ventcrawler from paying you a visit however.") /obj/machinery/atmospherics/pipe/cap/hide(i) if(level == 1 && issimulatedturf(loc)) diff --git a/code/modules/atmospherics/machinery/pipes/manifold.dm b/code/modules/atmospherics/machinery/pipes/manifold.dm index bebaadce574..bfb4b95a4e7 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold.dm @@ -31,7 +31,7 @@ /obj/machinery/atmospherics/pipe/manifold/examine(mob/user) . = ..() - . += "A pipe with three ends to connect to." + . += SPAN_NOTICE("A pipe with three ends to connect to.") /obj/machinery/atmospherics/pipe/manifold/atmos_init() ..() diff --git a/code/modules/atmospherics/machinery/pipes/manifold4w.dm b/code/modules/atmospherics/machinery/pipes/manifold4w.dm index a3548087fe3..e149a991e90 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold4w.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold4w.dm @@ -22,7 +22,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/examine(mob/user) . = ..() - . += "This is a normal pipe with 4 connecting ends." + . += SPAN_NOTICE("This is a normal pipe with 4 connecting ends.") /obj/machinery/atmospherics/pipe/manifold4w/pipeline_expansion() return list(node1, node2, node3, node4) diff --git a/code/modules/atmospherics/machinery/pipes/pipe.dm b/code/modules/atmospherics/machinery/pipes/pipe.dm index f48345d8439..c9e9e83fa04 100644 --- a/code/modules/atmospherics/machinery/pipes/pipe.dm +++ b/code/modules/atmospherics/machinery/pipes/pipe.dm @@ -48,7 +48,7 @@ /obj/machinery/atmospherics/pipe/examine(mob/user) . = ..() - . += "This pipe can be disconnected from a pipenet using a wrench. If the pipe's pressure is too high, you'll end up flying." + . += SPAN_NOTICE("This pipe can be disconnected from a pipenet using a wrench. If the pipe's pressure is too high, you'll end up flying.") /obj/machinery/atmospherics/proc/pipeline_expansion() return null diff --git a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm index d999f4d0c50..24fc4f0d43e 100644 --- a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm +++ b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple.dm @@ -68,7 +68,7 @@ update_icon() /obj/machinery/atmospherics/pipe/simple/proc/burst() - src.visible_message("\The [src] bursts!") + src.visible_message(SPAN_DANGER("\The [src] bursts!")) playsound(src.loc, 'sound/effects/bang.ogg', 25, 1) var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(1, FALSE, loc) diff --git a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_he.dm b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_he.dm index ccf04889e7e..db923b6a9ae 100644 --- a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_he.dm +++ b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_he.dm @@ -17,7 +17,7 @@ /obj/machinery/atmospherics/pipe/simple/heat_exchanging/examine(mob/user) . = ..() - . += "This radiates heat from the pipe's gas to space, cooling it down." + . += SPAN_NOTICE("This radiates heat from the pipe's gas to space, cooling it down.") /obj/machinery/atmospherics/pipe/simple/heat_exchanging/process_atmos() var/environment_temperature = 0 diff --git a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_hidden.dm b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_hidden.dm index cf5c5752058..7fc11d44d5d 100644 --- a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_hidden.dm +++ b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_hidden.dm @@ -42,7 +42,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/universal/examine(mob/user) . = ..() - . += "This allows you to connect 'normal' pipes, red 'scrubber' pipes, and blue 'supply' pipes." + . += SPAN_NOTICE("This allows you to connect 'normal' pipes, red 'scrubber' pipes, and blue 'supply' pipes.") /obj/machinery/atmospherics/pipe/simple/hidden/universal/update_overlays() . = list() diff --git a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_visible.dm b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_visible.dm index 80bd894c30b..153d1be7995 100644 --- a/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_visible.dm +++ b/code/modules/atmospherics/machinery/pipes/simple/pipe_simple_visible.dm @@ -60,7 +60,7 @@ /obj/machinery/atmospherics/pipe/simple/visible/universal/examine(mob/user) . = ..() - . += "This allows you to connect 'normal' pipes, red 'scrubber' pipes, and blue 'supply' pipes." + . += SPAN_NOTICE("This allows you to connect 'normal' pipes, red 'scrubber' pipes, and blue 'supply' pipes.") /obj/machinery/atmospherics/pipe/simple/visible/universal/update_overlays() . = list() diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index f5580e1c888..f911528020f 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -120,7 +120,7 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new()) release pressure, and open the valve. Alt-click to eject the tank, or use another to hot-swap. A gas analyzer can be used to check \ the contents of the canister.
" if(isAntag(user)) - . += "Canisters can be damaged, spilling their contents into the air, or you can just leave the release valve open." + . += SPAN_NOTICE("Canisters can be damaged, spilling their contents into the air, or you can just leave the release valve open.") /obj/machinery/atmospherics/portable/canister/proc/pressure_to_appearance(tank_pressure) if(tank_pressure < 10) @@ -335,7 +335,7 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new()) name = "canister" update_appearance(UPDATE_NAME) else - to_chat(ui.user, "As you attempted to rename it the pressure rose!") + to_chat(ui.user, SPAN_WARNING("As you attempted to rename it the pressure rose!")) . = FALSE if("pressure") @@ -543,7 +543,7 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new()) WELDER_ATTEMPT_SLICING_MESSAGE if(I.use_tool(src, user, 50, volume = I.tool_volume)) - to_chat(user, "You salvage whats left of [src]!") + to_chat(user, SPAN_NOTICE("You salvage whats left of [src]!")) new /obj/item/stack/sheet/metal(drop_location(), 3) qdel(src) diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index b76ec8ab689..096e0a7b6a8 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -89,20 +89,20 @@ /obj/machinery/atmospherics/portable/AltClick(mob/living/user) if(!istype(user) || user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(!in_range(src, user)) return if(!ishuman(usr) && !issilicon(usr)) return if(holding_tank) - to_chat(user, "You remove [holding_tank] from [src].") + to_chat(user, SPAN_NOTICE("You remove [holding_tank] from [src].")) replace_tank(user, TRUE) /obj/machinery/atmospherics/portable/examine(mob/user) . = ..() if(holding_tank) - . += "\The [src] contains [holding_tank]. Alt-click [src] to remove it." + . += SPAN_NOTICE("\The [src] contains [holding_tank]. Alt-click [src] to remove it.") /obj/machinery/atmospherics/portable/return_analyzable_air() return air_contents @@ -127,7 +127,7 @@ var/obj/item/tank/T = used user.drop_item() if(holding_tank) - to_chat(user, "[holding_tank ? "In one smooth motion you pop [holding_tank] out of [src]'s connector and replace it with [T]" : "You insert [T] into [src]"].") + to_chat(user, SPAN_NOTICE("[holding_tank ? "In one smooth motion you pop [holding_tank] out of [src]'s connector and replace it with [T]" : "You insert [T] into [src]"].")) replace_tank(user, FALSE) T.loc = src holding_tank = T @@ -141,20 +141,20 @@ return if(connected_port) disconnect() - to_chat(user, "You disconnect [name] from the port.") + to_chat(user, SPAN_NOTICE("You disconnect [name] from the port.")) update_icon() else var/obj/machinery/atmospherics/unary/portables_connector/possible_port = locate(/obj/machinery/atmospherics/unary/portables_connector/) in loc if(possible_port) if(connect(possible_port)) on = FALSE - to_chat(user, "You connect [src] to the port.") + to_chat(user, SPAN_NOTICE("You connect [src] to the port.")) update_icon() else - to_chat(user, "[src] failed to connect to the port.") + to_chat(user, SPAN_NOTICE("[src] failed to connect to the port.")) return else - to_chat(user, "Nothing happens.") + to_chat(user, SPAN_NOTICE("Nothing happens.")) /obj/machinery/atmospherics/portable/attacked_by(obj/item/attacker, mob/living/user) if(attacker.force < 10 && !(stat & BROKEN)) diff --git a/code/modules/atmospherics/machinery/portable/portable_pump.dm b/code/modules/atmospherics/machinery/portable/portable_pump.dm index a3050761859..e450103eebf 100644 --- a/code/modules/atmospherics/machinery/portable/portable_pump.dm +++ b/code/modules/atmospherics/machinery/portable/portable_pump.dm @@ -166,7 +166,7 @@ switch(action) if("power") if(connected_port) - to_chat(ui.user, "[src] fails to turn on, the port is covered!") + to_chat(ui.user, SPAN_WARNING("[src] fails to turn on, the port is covered!")) return on = !on if(on && direction == DIRECTION_OUT) @@ -204,7 +204,7 @@ /obj/machinery/atmospherics/portable/pump/big/examine(mob/user) . = ..() - . += "
This one is quite large, enabling it to hold more air." + . += "
[SPAN_NOTICE("This one is quite large, enabling it to hold more air.")]" /obj/machinery/atmospherics/portable/pump/bluespace name = "bluespace portable air pump" @@ -215,7 +215,7 @@ /obj/machinery/atmospherics/portable/pump/bluespace/examine(mob/user) . = ..() - . += "
This one is not only large, but made of exotic materials, and uses bluespace technology to hold even more air." + . += "
[SPAN_NOTICE("This one is not only large, but made of exotic materials, and uses bluespace technology to hold even more air.")]" /obj/machinery/atmospherics/portable/pump/bluespace/update_icon_state() if(on && direction == DIRECTION_IN) diff --git a/code/modules/atmospherics/machinery/portable/scrubber.dm b/code/modules/atmospherics/machinery/portable/scrubber.dm index c07d0869e87..555bcf6870a 100644 --- a/code/modules/atmospherics/machinery/portable/scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/scrubber.dm @@ -151,7 +151,7 @@ switch(action) if("power") if(connected_port) - to_chat(ui.user, "[src] fails to turn on, the port is covered!") + to_chat(ui.user, SPAN_WARNING("[src] fails to turn on, the port is covered!")) return on = !on update_icon() @@ -188,7 +188,7 @@ name = "[name] (ID [id])" /obj/machinery/atmospherics/portable/scrubber/huge/attack_hand(mob/user) - to_chat(usr, "You can't directly interact with this machine. Use the area atmos computer.") + to_chat(usr, SPAN_WARNING("You can't directly interact with this machine. Use the area atmos computer.")) /obj/machinery/atmospherics/portable/scrubber/huge/update_icon_state() icon_state = "scrubber:[on]" @@ -196,10 +196,10 @@ /obj/machinery/atmospherics/portable/scrubber/huge/wrench_act(mob/user, obj/item/I) . = TRUE if(stationary) - to_chat(user, "The bolts are too tight for you to unscrew!") + to_chat(user, SPAN_WARNING("The bolts are too tight for you to unscrew!")) return if(on) - to_chat(user, "Turn it off first!") + to_chat(user, SPAN_WARNING("Turn it off first!")) return default_unfasten_wrench(user, I, 4 SECONDS) diff --git a/code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm b/code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm index 47bdccd6f8e..fffd99baa84 100644 --- a/code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm +++ b/code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm @@ -41,7 +41,7 @@ if(istype(I, /obj/item/stack)) if(!ishuman(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 var/obj/item/stack/O = I @@ -102,7 +102,7 @@ var/datum/species/golem/X = mob_species to_chat(new_spawn, "[initial(X.info_text)]") if(!owner) - to_chat(new_spawn, "You are not an antagonist, do not build an AI without explicit admin permission. Do not board the station without explicit admin permission.") + to_chat(new_spawn, "[SPAN_WARNING("You are not an antagonist, do not build an AI without explicit admin permission. Do not board the station without explicit admin permission.")]") to_chat(new_spawn, "It is common in free golem societies to respect Adamantine golems as elders, however you do not have to obey them. \ Adamantine golems are the only golems that can resonate to all golems.") to_chat(new_spawn, "Build golem shells in the autolathe, and feed refined mineral sheets to the shells to bring them to life! You are generally a peaceful group unless provoked.") @@ -158,7 +158,7 @@ if(QDELETED(src) || uses <= 0) return log_game("[key_name(user)] golem-swapped into [src]") - user.visible_message("A faint light leaves [user], moving to [src] and animating it!","You leave your old body behind, and transfer into [src]!") + user.visible_message(SPAN_NOTICE("A faint light leaves [user], moving to [src] and animating it!"),SPAN_NOTICE("You leave your old body behind, and transfer into [src]!")) create(ckey = user.ckey, name = user.real_name) user.death() @@ -180,15 +180,15 @@ has_owner = FALSE owner = null flavour_text = null - user.visible_message("As [user] applies the potion on the golem shell, a faint light leaves them, moving to [src] and animating it!", - "You apply the potion to [src], feeling your mind leave your body!") + user.visible_message(SPAN_NOTICE("As [user] applies the potion on the golem shell, a faint light leaves them, moving to [src] and animating it!"), + SPAN_NOTICE("You apply the potion to [src], feeling your mind leave your body!")) message_admins("[key_name(user)] used [I] to transfer their mind into [src]") var/mob/living/carbon/human/g = create() //Create the golem and prep mind transfer stuff user.mind.transfer_to(g) g.real_name = user.real_name g.faction = user.faction user.death() //Keeps brain intact to prevent forcing redtext - to_chat(g, "You have become the [g.dna.species]. Your allegiances, alliances, and roles are still the same as they were prior to using [I]!") + to_chat(g, SPAN_WARNING("You have become the [g.dna.species]. Your allegiances, alliances, and roles are still the same as they were prior to using [I]!")) qdel(I) /obj/effect/mob_spawn/human/alive/golem/servant diff --git a/code/modules/awaymissions/mission_code/ruins/deepstorage.dm b/code/modules/awaymissions/mission_code/ruins/deepstorage.dm index 8893052c8d6..42fafb5fc7c 100644 --- a/code/modules/awaymissions/mission_code/ruins/deepstorage.dm +++ b/code/modules/awaymissions/mission_code/ruins/deepstorage.dm @@ -44,9 +44,9 @@ if(faction_check(faction, L.faction, FALSE)) continue - L.visible_message("[L] was thrown by [src]!", - "You feel a strong force throwing you!", - "You hear a thud.") + L.visible_message(SPAN_DANGER("[L] was thrown by [src]!"), + SPAN_USERDANGER("You feel a strong force throwing you!"), + SPAN_DANGER("You hear a thud.")) var/atom/throw_target = get_edge_target_turf(L, get_dir(src, get_step_away(L, src))) L.throw_at(throw_target, 4, 4) var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) @@ -108,7 +108,7 @@ if(charging) 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!")) forceMove(get_turf(L)) L.apply_damage(istype(src, /mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination) ? 15 : 30, BRUTE) playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, TRUE) @@ -127,7 +127,7 @@ /mob/living/simple_animal/hostile/megafauna/fleshling/death(gibbed) if(can_die() && !boss_killed) unlock_blast_doors(DS_BOSS_STORAGE) - src.visible_message("Somewhere, a heavy door has opened.") + src.visible_message(SPAN_NOTICE("Somewhere, a heavy door has opened.")) return ..(gibbed) /mob/living/simple_animal/hostile/megafauna/fleshling/proc/unlock_blast_doors(target_id_tag) @@ -215,7 +215,7 @@ /mob/living/simple_animal/hostile/spaceinfected/gateopener/death(gibbed) if(can_die() && !has_died) unlock_blast_doors(DS_ENGINEERING) - src.visible_message("Somewhere, a heavy door has opened.") + src.visible_message(SPAN_NOTICE("Somewhere, a heavy door has opened.")) return ..(gibbed) /mob/living/simple_animal/hostile/spaceinfected/gateopener/proc/unlock_blast_doors(target_id_tag) @@ -258,7 +258,7 @@ var/list/boss_warning = list("Proceed" = TRUE) var/final_decision = tgui_input_list(user, "Just a hunch but wherever this machine may lead, it won't be somewhere pleasant. Are you sure about this?", "Make your decision", boss_warning) if(!final_decision) - to_chat(user, "The teleporter machine remains untouched.") + to_chat(user, SPAN_NOTICE("The teleporter machine remains untouched.")) menu_open = FALSE return diff --git a/code/modules/awaymissions/mission_code/ruins/freegolems.dm b/code/modules/awaymissions/mission_code/ruins/freegolems.dm index cb3c58cee27..d7d23ad1f7a 100644 --- a/code/modules/awaymissions/mission_code/ruins/freegolems.dm +++ b/code/modules/awaymissions/mission_code/ruins/freegolems.dm @@ -125,7 +125,7 @@ /obj/machinery/computer/shuttle/golem_ship/attack_hand(mob/user) if(!isgolem(user) && !isobserver(user)) - to_chat(user, "The console is unresponsive. Seems only golems can use it.") + to_chat(user, SPAN_NOTICE("The console is unresponsive. Seems only golems can use it.")) return ..() diff --git a/code/modules/awaymissions/mission_code/ruins/oldstation.dm b/code/modules/awaymissions/mission_code/ruins/oldstation.dm index a62a23e0938..2db3886f8db 100644 --- a/code/modules/awaymissions/mission_code/ruins/oldstation.dm +++ b/code/modules/awaymissions/mission_code/ruins/oldstation.dm @@ -100,7 +100,7 @@ /obj/item/gun/energy/e_gun/old/examine(mob/user) . = ..() - . += "Despite the passage of time, [src] looks remarkably well-preserved." + . += SPAN_NOTICE("Despite the passage of time, [src] looks remarkably well-preserved.") /obj/item/gun/energy/e_gun/old/examine_more(mob/user) ..() @@ -315,9 +315,9 @@ anchored = locked if(anchored) - to_chat(user, "The crate reanchors itself to the ground.") + to_chat(user, SPAN_NOTICE("The crate reanchors itself to the ground.")) else - to_chat(user, "The crate unanchors itself from the ground.") + to_chat(user, SPAN_NOTICE("The crate unanchors itself from the ground.")) /obj/structure/closet/crate/secure/oldstation/emag_act(mob/user) // var/can_be_emaged works in mysterious ways so screw it diff --git a/code/modules/awaymissions/mission_code/ruins/telecomns.dm b/code/modules/awaymissions/mission_code/ruins/telecomns.dm index aceeeda2214..30ccccafa05 100644 --- a/code/modules/awaymissions/mission_code/ruins/telecomns.dm +++ b/code/modules/awaymissions/mission_code/ruins/telecomns.dm @@ -40,7 +40,7 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank) decorative_eye.mouse_opacity = MOUSE_OPACITY_TRANSPARENT /mob/living/simple_animal/bot/secbot/buzzsky/telecomms/doomba/explode() - visible_message("[src] EXPLODES!") + visible_message(SPAN_USERDANGER("[src] EXPLODES!")) var/your_doom = get_turf(src) new /obj/item/grenade/frag(your_doom) internal_tank.forceMove(your_doom) @@ -118,7 +118,7 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank) /obj/machinery/autolathe/trapped/proc/material_container_shenanigins(datum/source, obj/item/attacker, mob/user) if(!disguise_broken) - to_chat(user, "As you stick [attacker] into the recharger, it sparks and flashes blue. Wait a minute, this isn't a recharger!") + to_chat(user, SPAN_DANGER("As you stick [attacker] into the recharger, it sparks and flashes blue. Wait a minute, this isn't a recharger!")) name = "modified autolathe" desc = "An autolathe modified with holopad parts, to make it look like a harmless weapon recharger!" do_sparks(3, 1, src) @@ -130,7 +130,7 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank) return . = TRUE if(busy) - to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.") + to_chat(user, SPAN_ALERT("The autolathe is busy. Please wait for completion of previous operation.")) return if(disguise_broken == FALSE) default_deconstruction_screwdriver(user, "rechargeropen", initial(icon_state), I) @@ -273,7 +273,7 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank) return // No. /obj/machinery/syndicatebomb/doomsday/screwdriver_act(mob/user, obj/item/I) - to_chat(user, "[src] is welded shut! You can't get at the wires!") + to_chat(user, SPAN_DANGER("[src] is welded shut! You can't get at the wires!")) /obj/machinery/syndicatebomb/doomsday/Initialize(mapload) . = ..() @@ -436,11 +436,11 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank) /obj/item/remote_ai_upload/attackby__legacy__attackchain(obj/item/O, mob/user, params) if(istype(O, /obj/item/card/emag)) - to_chat(user, "You are more likely to damage this with an emag, than achieve something useful.") + to_chat(user, SPAN_WARNING("You are more likely to damage this with an emag, than achieve something useful.")) return var/time_to_die = integrated_console.item_interaction(user, O, params2list(params)) if(time_to_die) - to_chat(user, "[src]'s relay begins to overheat...") + to_chat(user, SPAN_DANGER("[src]'s relay begins to overheat...")) playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) addtimer(CALLBACK(src, PROC_REF(prime)), 5 SECONDS) diff --git a/code/modules/awaymissions/mission_code/ruins/watcher_grave.dm b/code/modules/awaymissions/mission_code/ruins/watcher_grave.dm index 32c6226b6c4..605786e3508 100644 --- a/code/modules/awaymissions/mission_code/ruins/watcher_grave.dm +++ b/code/modules/awaymissions/mission_code/ruins/watcher_grave.dm @@ -41,11 +41,11 @@ /obj/item/food/egg/watcher/examine(mob/user) . = ..() if(steps_travelled < (steps_to_hatch * WATCHER_EGG_ACTIVE_MOD)) - . += "Something stirs listlessly inside." + . += SPAN_NOTICE("Something stirs listlessly inside.") else if(steps_travelled < (steps_to_hatch * WATCHER_EGG_LIVELY_MOD)) - . += "Something is moving actively inside." + . += SPAN_NOTICE("Something is moving actively inside.") else - . += "It's jiggling wildly, it's about to hatch!" + . += SPAN_BOLDNOTICE("It's jiggling wildly, it's about to hatch!") @@ -60,7 +60,7 @@ return if(steps_travelled < steps_to_hatch) return - visible_message("[src] splits and unfurls into a baby Watcher!") + visible_message(SPAN_BOLDNOTICE("[src] splits and unfurls into a baby Watcher!")) playsound(new_loc, 'sound/effects/splat.ogg', 50, TRUE) new /obj/effect/decal/cleanable/greenglow(new_loc) new /obj/item/watcher_hatchling(new_loc) @@ -242,13 +242,13 @@ /// We must guard this corpse /obj/effect/watcher_orbiter/proc/on_parent_died(mob/living/parent) SIGNAL_HANDLER - visible_message("[src] emits a piteous keening in mourning of [parent]!") + visible_message(SPAN_NOTICE("[src] emits a piteous keening in mourning of [parent]!")) fire_delay /= on_death_multiplier /// Exit hyperactive mode /obj/effect/watcher_orbiter/proc/on_parent_revived(mob/living/parent) SIGNAL_HANDLER - visible_message("[src] chirps happily as [parent] suddenly gasps for breath!") + visible_message(SPAN_NOTICE("[src] chirps happily as [parent] suddenly gasps for breath!")) fire_delay *= on_death_multiplier diff --git a/code/modules/awaymissions/mob_spawn.dm b/code/modules/awaymissions/mob_spawn.dm index 2348a03fa6a..1807c15ffe7 100644 --- a/code/modules/awaymissions/mob_spawn.dm +++ b/code/modules/awaymissions/mob_spawn.dm @@ -67,7 +67,7 @@ if(!gender_prompt(user)) return if(!loc || !uses && !permanent || QDELETED(src) || QDELETED(user)) - to_chat(user, "The [name] is no longer usable!") + to_chat(user, SPAN_WARNING("The [name] is no longer usable!")) return create(ckey = user.ckey, user = user) @@ -105,18 +105,18 @@ if(SSticker.current_state != GAME_STATE_PLAYING || !loc || !ghost_usable) return FALSE if(!uses && !permanent) - to_chat(user, "This spawner is out of charges!") + to_chat(user, SPAN_WARNING("This spawner is out of charges!")) return FALSE if((jobban_isbanned(user, ban_type) || (restrict_antagban && jobban_isbanned(user, ROLE_SYNDICATE)))) - to_chat(user, "You are jobanned!") + to_chat(user, SPAN_WARNING("You are jobanned!")) return FALSE if(!HAS_TRAIT(user, TRAIT_RESPAWNABLE) && restrict_respawnability) - to_chat(user, "You currently do not have respawnability!") + to_chat(user, SPAN_WARNING("You currently do not have respawnability!")) return FALSE if(isobserver(user)) var/mob/dead/observer/O = user if(!O.check_ahud_rejoin_eligibility() && restrict_ahud) - to_chat(user, "Upon using the antagHUD you forfeited the ability to join the round.") + to_chat(user, SPAN_WARNING("Upon using the antagHUD you forfeited the ability to join the round.")) return FALSE if(time_check(user)) return FALSE @@ -142,7 +142,7 @@ if(deathtime <= death_cooldown && !joinedasobserver) to_chat(user, "You have been dead for[pluralcheck] [deathtimeseconds] seconds.") - to_chat(user, "You must wait [death_cooldown / 600] minutes to respawn!") + to_chat(user, SPAN_WARNING("You must wait [death_cooldown / 600] minutes to respawn!")) return TRUE return FALSE @@ -413,7 +413,7 @@ var/despawn = tgui_alert(user, "Return to cryosleep? (Warning, Your mob will be deleted!)", "Leave Bar", list("Yes", "No")) if(despawn != "Yes" || !loc || !Adjacent(user)) return - user.visible_message("[user.name] climbs back into cryosleep...") + user.visible_message(SPAN_NOTICE("[user.name] climbs back into cryosleep...")) qdel(user) /datum/outfit/cryobartender diff --git a/code/modules/buildmode/bm_mode.dm b/code/modules/buildmode/bm_mode.dm index 4f1d185532b..49d23ebb158 100644 --- a/code/modules/buildmode/bm_mode.dm +++ b/code/modules/buildmode/bm_mode.dm @@ -28,11 +28,11 @@ return "buildmode_[key]" /datum/buildmode_mode/proc/show_help(mob/user) - to_chat(user, "There is no help defined for this mode, this is a bug.") + to_chat(user, SPAN_WARNING("There is no help defined for this mode, this is a bug.")) CRASH("No help defined, yell at a coder") /datum/buildmode_mode/proc/change_settings(mob/user) - to_chat(user, "There is no configuration available for this mode") + to_chat(user, SPAN_WARNING("There is no configuration available for this mode")) /datum/buildmode_mode/proc/Reset() deselect_region() @@ -71,7 +71,7 @@ return else if(!cornerB) cornerB = select_tile(get_turf(object), AREASELECT_CORNERB) - to_chat(user, "Region selected, if you're happy with your selection left click again, otherwise right click.") + to_chat(user, SPAN_BOLDWARNING("Region selected, if you're happy with your selection left click again, otherwise right click.")) return if(processing_selection) return @@ -80,7 +80,7 @@ processing_selection = FALSE deselect_region() else if(cornerA || cornerB) - to_chat(user, "Region selection canceled!") + to_chat(user, SPAN_NOTICE("Region selection canceled!")) deselect_region() /datum/buildmode_mode/proc/handle_selected_region(mob/user, params) diff --git a/code/modules/buildmode/submodes/advanced.dm b/code/modules/buildmode/submodes/advanced.dm index b3c90460e57..4db8083bd6d 100644 --- a/code/modules/buildmode/submodes/advanced.dm +++ b/code/modules/buildmode/submodes/advanced.dm @@ -6,14 +6,14 @@ // of the currently selected path /datum/buildmode_mode/advanced/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Right Mouse Button on buildmode button = Set object type") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on buildmode button = Set object type")) to_chat(user, "Left Mouse Button + alt on turf/obj = Copy object type") - to_chat(user, "Left Mouse Button on turf/obj = Place objects") - to_chat(user, "Right Mouse Button = Delete objects") - to_chat(user, "Use the button in the upper left corner to") - to_chat(user, "change the direction of built objects.") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("Left Mouse Button on turf/obj = Place objects")) + to_chat(user, SPAN_NOTICE("Right Mouse Button = Delete objects")) + to_chat(user, SPAN_NOTICE("Use the button in the upper left corner to")) + to_chat(user, SPAN_NOTICE("change the direction of built objects.")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/advanced/change_settings(mob/user) var/target_path = tgui_input_text(user, "Enter typepath:" , "Typepath", "/obj/structure/closet") @@ -37,9 +37,9 @@ if(left_click && alt_click) if(isturf(object) || isobj(object) || ismob(object)) obj_holder = object.type - to_chat(user, "[initial(object.name)] ([object.type]) selected.") + to_chat(user, SPAN_NOTICE("[initial(object.name)] ([object.type]) selected.")) else - to_chat(user, "[initial(object.name)] is not a turf, object, or mob! Please select again.") + to_chat(user, SPAN_NOTICE("[initial(object.name)] is not a turf, object, or mob! Please select again.")) else if(left_click) if(ispath(obj_holder,/turf)) var/turf/T = get_turf(object) @@ -53,7 +53,7 @@ A.setDir(BM.build_dir) log_admin("Build Mode: [key_name(user)] modified [A]'s ([A.x],[A.y],[A.z]) dir to [BM.build_dir]") else - to_chat(user, "Select object type first.") + to_chat(user, SPAN_WARNING("Select object type first.")) else if(right_click) if(isobj(object)) log_admin("Build Mode: [key_name(user)] deleted [object] at ([object.x],[object.y],[object.z])") diff --git a/code/modules/buildmode/submodes/antirad_mode.dm b/code/modules/buildmode/submodes/antirad_mode.dm index 1ddd9964bb0..78dcfce0b7b 100644 --- a/code/modules/buildmode/submodes/antirad_mode.dm +++ b/code/modules/buildmode/submodes/antirad_mode.dm @@ -20,7 +20,7 @@ if(!clean_screen) if(!deep_clean) if(SEND_SIGNAL(target, COMSIG_ADMIN_DECONTAMINATE)) - to_chat(user, "Decontaminated [target].") + to_chat(user, SPAN_NOTICE("Decontaminated [target].")) log_admin("Build Mode: [key_name(user)] decontaminated radiation at ([target.x],[target.y],[target.z])") return @@ -36,7 +36,7 @@ for(var/atom/movable/cleanable2 in L.get_contents()) counter += SEND_SIGNAL(cleanable2, COMSIG_ADMIN_DECONTAMINATE) CHECK_TICK - to_chat(user, "Decontaminated [counter] atom\s.") + to_chat(user, SPAN_NOTICE("Decontaminated [counter] atom\s.")) log_admin("Build Mode: [key_name(user)] deep-clean decontaminated radiation at ([target.x],[target.y],[target.z])") return @@ -51,5 +51,5 @@ for(var/atom/movable/cleanable2 in L.get_contents()) counter += SEND_SIGNAL(cleanable2, COMSIG_ADMIN_DECONTAMINATE) CHECK_TICK - to_chat(user, "Decontaminated [counter] atom\s.") + to_chat(user, SPAN_NOTICE("Decontaminated [counter] atom\s.")) log_admin("Build Mode: [key_name(user)] [deep_clean ? "deep-clean " : ""]decontaminated their screen of radiation at ([target.x],[target.y],[target.z])") diff --git a/code/modules/buildmode/submodes/area_edit.dm b/code/modules/buildmode/submodes/area_edit.dm index bc84c2818cf..fafdd8c8732 100644 --- a/code/modules/buildmode/submodes/area_edit.dm +++ b/code/modules/buildmode/submodes/area_edit.dm @@ -20,11 +20,11 @@ return ..() /datum/buildmode_mode/area_edit/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button on obj/turf/mob = Paint area") - to_chat(user, "Right Mouse Button on obj/turf/mob = Select area to paint") - to_chat(user, "Right Mouse Button on buildmode button = Create new area") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button on obj/turf/mob = Paint area")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on obj/turf/mob = Select area to paint")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on buildmode button = Create new area")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/area_edit/change_settings(mob/user) var/target_path = tgui_input_text(user, "Enter typepath:", "Typepath", "/area") @@ -49,7 +49,7 @@ if(left_click) if(!stored_area) - to_chat(user, "Configure or select the area you want to paint first!") + to_chat(user, SPAN_WARNING("Configure or select the area you want to paint first!")) return var/turf/T = get_turf(object) if(get_area(T) != stored_area) diff --git a/code/modules/buildmode/submodes/atmos.dm b/code/modules/buildmode/submodes/atmos.dm index fb4b5ed35b6..1f594631ae1 100644 --- a/code/modules/buildmode/submodes/atmos.dm +++ b/code/modules/buildmode/submodes/atmos.dm @@ -15,12 +15,12 @@ /datum/buildmode_mode/atmos/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button on turf = Select corner") - to_chat(user, "Left Mouse Button + Ctrl on turf = Set 'base atmos conditions' for space turfs in region") - to_chat(user, "Right Mouse Button on buildmode button = Adjust target atmos") - to_chat(user, "Notice: Starts out with standard breathable/liveable defaults") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button on turf = Select corner")) + to_chat(user, SPAN_NOTICE("Left Mouse Button + Ctrl on turf = Set 'base atmos conditions' for space turfs in region")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on buildmode button = Adjust target atmos")) + to_chat(user, SPAN_NOTICE("Notice: Starts out with standard breathable/liveable defaults")) + to_chat(user, SPAN_NOTICE("***********************************************************")) // FIXME this is a little tedious, something where you don't have to fill in each field would be cooler // maybe some kind of stat panel thing? diff --git a/code/modules/buildmode/submodes/basic.dm b/code/modules/buildmode/submodes/basic.dm index e8198f98233..0dd88c4f430 100644 --- a/code/modules/buildmode/submodes/basic.dm +++ b/code/modules/buildmode/submodes/basic.dm @@ -2,14 +2,14 @@ key = "basic" /datum/buildmode_mode/basic/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button = Construct / Upgrade") - to_chat(user, "Right Mouse Button = Deconstruct / Delete / Downgrade") - to_chat(user, "Left Mouse Button + ctrl = R-Window") - to_chat(user, "Left Mouse Button + alt = Airlock") - to_chat(user, "Use the button in the upper left corner to") - to_chat(user, "change the direction of built objects.") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button = Construct / Upgrade")) + to_chat(user, SPAN_NOTICE("Right Mouse Button = Deconstruct / Delete / Downgrade")) + to_chat(user, SPAN_NOTICE("Left Mouse Button + ctrl = R-Window")) + to_chat(user, SPAN_NOTICE("Left Mouse Button + alt = Airlock")) + to_chat(user, SPAN_NOTICE("Use the button in the upper left corner to")) + to_chat(user, SPAN_NOTICE("change the direction of built objects.")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/basic/handle_click(user, params, obj/object) var/list/pa = params2list(params) diff --git a/code/modules/buildmode/submodes/boom.dm b/code/modules/buildmode/submodes/boom.dm index b895590d099..212a209afa6 100644 --- a/code/modules/buildmode/submodes/boom.dm +++ b/code/modules/buildmode/submodes/boom.dm @@ -13,9 +13,9 @@ var/flames = -1 /datum/buildmode_mode/boom/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Mouse Button on obj = Kaboom") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Mouse Button on obj = Kaboom")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/boom/change_settings(mob/user) devastation = tgui_input_number(user, "Range of Total Devasation", "Devastation", -1, min_value = -1) diff --git a/code/modules/buildmode/submodes/copy.dm b/code/modules/buildmode/submodes/copy.dm index 05a89331ed7..4ec1ffe43af 100644 --- a/code/modules/buildmode/submodes/copy.dm +++ b/code/modules/buildmode/submodes/copy.dm @@ -7,10 +7,10 @@ return ..() /datum/buildmode_mode/copy/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button on obj/turf/mob = Spawn a Copy of selected target") - to_chat(user, "Right Mouse Button on obj/mob = Select target to copy") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button on obj/turf/mob = Spawn a Copy of selected target")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on obj/mob = Select target to copy")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/copy/handle_click(user, params, obj/object) var/list/pa = params2list(params) @@ -24,5 +24,5 @@ O.admin_spawned = TRUE else if(right_click) if(ismovable(object)) // No copying turfs for now. - to_chat(user, "[object] set as template.") + to_chat(user, SPAN_NOTICE("[object] set as template.")) stored = object diff --git a/code/modules/buildmode/submodes/fill.dm b/code/modules/buildmode/submodes/fill.dm index ca087776882..c12d92dd754 100644 --- a/code/modules/buildmode/submodes/fill.dm +++ b/code/modules/buildmode/submodes/fill.dm @@ -5,12 +5,12 @@ var/objholder = null /datum/buildmode_mode/fill/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button on turf/obj/mob = Select corner") - to_chat(user, "Left Mouse Button + Alt on turf/obj/mob = Delete region") - to_chat(user, "Right Mouse Button on buildmode button = Select object type") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button on turf/obj/mob = Select corner")) + to_chat(user, SPAN_NOTICE("Left Mouse Button + Alt on turf/obj/mob = Delete region")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on buildmode button = Select object type")) to_chat(user, "Left Mouse Button + alt on turf/obj = Copy object type") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/fill/change_settings(mob/user) var/target_path = tgui_input_text(user, "Enter typepath:" , "Typepath", "/obj/structure/closet") @@ -33,11 +33,11 @@ if(left_click && alt_click) if(isturf(object) || isobj(object) || ismob(object)) objholder = object.type - to_chat(user, "[initial(object.name)] ([object.type]) selected.") + to_chat(user, SPAN_NOTICE("[initial(object.name)] ([object.type]) selected.")) else - to_chat(user, "[initial(object.name)] is not a turf, object, or mob! Please select again.") + to_chat(user, SPAN_NOTICE("[initial(object.name)] is not a turf, object, or mob! Please select again.")) if(isnull(objholder)) - to_chat(user, "Select an object type first.") + to_chat(user, SPAN_WARNING("Select an object type first.")) deselect_region() return ..() diff --git a/code/modules/buildmode/submodes/forcemove.dm b/code/modules/buildmode/submodes/forcemove.dm index 0f2364bdfff..79fc70fd672 100644 --- a/code/modules/buildmode/submodes/forcemove.dm +++ b/code/modules/buildmode/submodes/forcemove.dm @@ -6,11 +6,11 @@ var/image/selected_overlay // Overlay for the selected atom only visible for the build mode user /datum/buildmode_mode/forcemove/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button on obj/mob = Select destination") - to_chat(user, "Right Mouse Button on obj/mob = Select atom to move") - to_chat(user, "Notice: You need to select the movable atom first, then left-click its destination.") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button on obj/mob = Select destination")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on obj/mob = Select atom to move")) + to_chat(user, SPAN_NOTICE("Notice: You need to select the movable atom first, then left-click its destination.")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/forcemove/handle_click(mob/user, params, atom/A) var/list/pa = params2list(params) @@ -20,7 +20,7 @@ // Selecting the atom to move if(right_click) if(!ismovable(A) || iseffect(A)) - to_chat(user, "You cannot move effects, turfs or areas.") + to_chat(user, SPAN_DANGER("You cannot move effects, turfs or areas.")) return // If we had something previously selected, handle its signal and overlay @@ -39,7 +39,7 @@ selected_overlay.color = "#15d12d" user.client.images += selected_overlay - to_chat(user, "'[selected_atom]' is selected to be moved.") + to_chat(user, SPAN_NOTICE("'[selected_atom]' is selected to be moved.")) return // Selecting the destination to move to @@ -49,17 +49,17 @@ var/atom/destination = A if(!selected_atom) - to_chat(user, "Select an atom to move first (with right-click).") + to_chat(user, SPAN_DANGER("Select an atom to move first (with right-click).")) return // Block these as they can only lead to issues if(iseffect(destination) || isobserver(destination)) - to_chat(user, "You should not move atoms into effects or ghosts.") + to_chat(user, SPAN_DANGER("You should not move atoms into effects or ghosts.")) return selected_atom.forceMove(destination) - to_chat(user, "'[selected_atom]' is moved to '[destination]'.") + to_chat(user, SPAN_NOTICE("'[selected_atom]' is moved to '[destination]'.")) log_admin("Build Mode: [key_name(user)] forcemoved [selected_atom] to [destination] at ([destination.x],[destination.y],[destination.z]).") UnregisterSignal(selected_atom, COMSIG_PARENT_QDELETING) diff --git a/code/modules/buildmode/submodes/link.dm b/code/modules/buildmode/submodes/link.dm index f3424124882..eab23417592 100644 --- a/code/modules/buildmode/submodes/link.dm +++ b/code/modules/buildmode/submodes/link.dm @@ -27,10 +27,10 @@ ..() /datum/buildmode_mode/link/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button on obj = Select button to link") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button on obj = Select button to link")) to_chat(user, "Right Mouse Button on obj = Link/unlink to selected button") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) // FIXME: this probably would work better with something component-based /datum/buildmode_mode/link/handle_click(mob/user, params, obj/object) diff --git a/code/modules/buildmode/submodes/mapgen.dm b/code/modules/buildmode/submodes/mapgen.dm index 3bfdc85bafb..13cbc4a9250 100644 --- a/code/modules/buildmode/submodes/mapgen.dm +++ b/code/modules/buildmode/submodes/mapgen.dm @@ -5,10 +5,10 @@ var/generator_path /datum/buildmode_mode/mapgen/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button on turf/obj/mob = Select corner") - to_chat(user, "Right Mouse Button on buildmode button = Select generator") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button on turf/obj/mob = Select corner")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on buildmode button = Select generator")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/mapgen/change_settings(mob/user) var/list/gen_paths = subtypesof(/datum/map_generator) @@ -21,7 +21,7 @@ /datum/buildmode_mode/mapgen/handle_click(mob/user, params, obj/object) if(isnull(generator_path)) - to_chat(user, "Select generator type first.") + to_chat(user, SPAN_WARNING("Select generator type first.")) deselect_region() return ..() diff --git a/code/modules/buildmode/submodes/offer.dm b/code/modules/buildmode/submodes/offer.dm index e238b82a6ab..1eea792c8d1 100644 --- a/code/modules/buildmode/submodes/offer.dm +++ b/code/modules/buildmode/submodes/offer.dm @@ -6,10 +6,10 @@ var/hide_role /datum/buildmode_mode/offer/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left click to offer a mob") - to_chat(user, "Right click to change amount of playtime a player needs to be able to sign up and whether to display their special role") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left click to offer a mob")) + to_chat(user, SPAN_NOTICE("Right click to change amount of playtime a player needs to be able to sign up and whether to display their special role")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/offer/change_settings(mob/user) hours = tgui_input_number(user, "Playtime required", "Input", 20) diff --git a/code/modules/buildmode/submodes/portal.dm b/code/modules/buildmode/submodes/portal.dm index f7de6a2caab..3ff4cbff1f9 100644 --- a/code/modules/buildmode/submodes/portal.dm +++ b/code/modules/buildmode/submodes/portal.dm @@ -11,12 +11,12 @@ var/image/portal_origin_overlay /datum/buildmode_mode/portal/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button = Set origin then a destination to create a portal/s") - to_chat(user, "Right Mouse Button = Quick create portal to an area of choice") - to_chat(user, "Alt + Left Mouse Button = Alt+Click on any portal to close it") - to_chat(user, "Right click on tool icon= Change portal settings") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button = Set origin then a destination to create a portal/s")) + to_chat(user, SPAN_NOTICE("Right Mouse Button = Quick create portal to an area of choice")) + to_chat(user, SPAN_NOTICE("Alt + Left Mouse Button = Alt+Click on any portal to close it")) + to_chat(user, SPAN_NOTICE("Right click on tool icon= Change portal settings")) + to_chat(user, SPAN_NOTICE("***********************************************************")) // Allows user to change portal settings like style, type, and lifetime. /datum/buildmode_mode/portal/change_settings(mob/user) @@ -30,32 +30,32 @@ ) var/style_name = tgui_input_list(user, "Choose the style of your portals.", "Portal Style", portal_styles) if(style_name == null) - to_chat(user, "Portal Style not selected, returning to defaults.") + to_chat(user, SPAN_WARNING("Portal Style not selected, returning to defaults.")) style_name = "NT Standard" return var/selected_style = portal_icon_maps[style_name] portal_icon = selected_style["icon"] portal_icon_state = selected_style["state"] - to_chat(user, "Portal Style set to [style_name]") + to_chat(user, SPAN_NOTICE("Portal Style set to [style_name]")) var/two_way_choice = tgui_alert(user, "Portal Type", "Portal Type", list("One-Way", "Two-Way")) if(two_way_choice == null) - to_chat(user, "Portal Type not selected, returning to defaults.") + to_chat(user, SPAN_WARNING("Portal Type not selected, returning to defaults.")) two_way = FALSE return two_way = (two_way_choice == "Two-Way") if(two_way) - to_chat(user, "Two-Way Portal Selected") + to_chat(user, SPAN_NOTICE("Two-Way Portal Selected")) else - to_chat(user, "One-Way Portal Selected") + to_chat(user, SPAN_NOTICE("One-Way Portal Selected")) var/lifetime_input = tgui_input_number(user, "Select portal duration in seconds (-1 for forever, Min 1, Max 999)", "Portal Duration", 5, max_value = 999, min_value = -1) if(lifetime_input == null) - to_chat(user, "Portal Lifetime not selected, returning to defaults.") + to_chat(user, SPAN_WARNING("Portal Lifetime not selected, returning to defaults.")) lifetime = 5 SECONDS return lifetime = lifetime_input SECONDS - to_chat(user, "Portal Lifetime set to [lifetime_input] seconds") + to_chat(user, SPAN_NOTICE("Portal Lifetime set to [lifetime_input] seconds")) // Handles user click interactions for setting portal origin and destination, or deleting portals. /datum/buildmode_mode/portal/handle_click(mob/user, params, obj/loc) @@ -75,17 +75,17 @@ portal_origin_overlay = image(icon = portal_icon, loc = origin, icon_state = portal_icon_state) portal_origin_overlay.color = "#15d12d" user.client.images += portal_origin_overlay - to_chat(user, "Origin set to [get_area(origin)] Left click again for destination or right click to cancel.") + to_chat(user, SPAN_NOTICE("Origin set to [get_area(origin)] Left click again for destination or right click to cancel.")) else destination = get_turf(loc) - to_chat(user, "Destination set to [get_area(destination)]") + to_chat(user, SPAN_NOTICE("Destination set to [get_area(destination)]")) if(origin && destination) process_portals(user) reset_portal_selection(user) else if(right_click) if(origin) reset_portal_selection(user) - to_chat(user, "Portal creation canceled.") + to_chat(user, SPAN_NOTICE("Portal creation canceled.")) return quick_create_portal(user, loc) @@ -112,7 +112,7 @@ destination = pick(filtered_destinations) process_portals(user) else - to_chat(user, "No destination selected, aborting portal creation.") + to_chat(user, SPAN_WARNING("No destination selected, aborting portal creation.")) reset_portal_selection(user) // Processes portal creation by spawning portals and with feedback for admins. diff --git a/code/modules/buildmode/submodes/save.dm b/code/modules/buildmode/submodes/save.dm index 20df44a7124..20cf46770ad 100644 --- a/code/modules/buildmode/submodes/save.dm +++ b/code/modules/buildmode/submodes/save.dm @@ -5,9 +5,9 @@ var/use_json = TRUE /datum/buildmode_mode/save/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button on turf/obj/mob = Select corner") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button on turf/obj/mob = Select corner")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/save/change_settings(mob/user) use_json = (tgui_alert("Would you like to use json (Default is \"Yes\")?", list("Yes", "No")) == "Yes") diff --git a/code/modules/buildmode/submodes/say.dm b/code/modules/buildmode/submodes/say.dm index 585188b31f9..fc6703c1621 100644 --- a/code/modules/buildmode/submodes/say.dm +++ b/code/modules/buildmode/submodes/say.dm @@ -2,10 +2,10 @@ key = "say" /datum/buildmode_mode/say/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button = Say") - to_chat(user, "Right Mouse Button = Emote") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button = Say")) + to_chat(user, SPAN_NOTICE("Right Mouse Button = Emote")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/say/handle_click(mob/user, params, atom/object) if(ismob(object)) @@ -23,7 +23,7 @@ if(isnull(say)) return log_admin("Build Mode: [key_name(user)] made [object] at ([object.x],[object.y],[object.z] say [say].") - message_admins("Build Mode: [key_name(user)] made [object] at [ADMIN_VERBOSEJMP(object)] say \"[say]\".") + message_admins(SPAN_NOTICE("Build Mode: [key_name(user)] made [object] at [ADMIN_VERBOSEJMP(object)] say \"[say]\".")) user.create_log(MISC_LOG, "Made [object] at ([object.x],[object.y],[object.z] say [say].") object.atom_say(say) else if(right_click) @@ -31,6 +31,6 @@ if(isnull(emote)) return log_admin("Build Mode: [key_name(user)] made [object] at ([object.x],[object.y],[object.z] emote *[emote].") - message_admins("Build Mode: [key_name(user)] made [object] at [ADMIN_VERBOSEJMP(object)] emote \"*[emote]\".") + message_admins(SPAN_NOTICE("Build Mode: [key_name(user)] made [object] at [ADMIN_VERBOSEJMP(object)] emote \"*[emote]\".")) user.create_log(MISC_LOG, "Made [object] at ([object.x],[object.y],[object.z] emote *[emote].") object.atom_emote(emote) diff --git a/code/modules/buildmode/submodes/smoke.dm b/code/modules/buildmode/submodes/smoke.dm index 1296990d2da..0fd02641475 100644 --- a/code/modules/buildmode/submodes/smoke.dm +++ b/code/modules/buildmode/submodes/smoke.dm @@ -5,8 +5,8 @@ /datum/buildmode_mode/smoke/show_help(mob/user) var/list/messages = list( - "Left Click = Smoke 'em!", - "Right Click on Tool Icon = Change Effect Type", + SPAN_NOTICE("Left Click = Smoke 'em!"), + SPAN_NOTICE("Right Click on Tool Icon = Change Effect Type"), ) to_chat(user, chat_box_notice(messages.Join("
"))) diff --git a/code/modules/buildmode/submodes/throwing.dm b/code/modules/buildmode/submodes/throwing.dm index 24470a680b5..94b0f6c4208 100644 --- a/code/modules/buildmode/submodes/throwing.dm +++ b/code/modules/buildmode/submodes/throwing.dm @@ -1,13 +1,13 @@ /datum/buildmode_mode/throwing key = "throw" - + var/atom/movable/throw_atom = null - + /datum/buildmode_mode/throwing/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button on turf/obj/mob = Select") - to_chat(user, "Right Mouse Button on turf/obj/mob = Throw") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button on turf/obj/mob = Select")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on turf/obj/mob = Throw")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/throwing/handle_click(user, params, obj/object) var/list/pa = params2list(params) diff --git a/code/modules/buildmode/submodes/tilt.dm b/code/modules/buildmode/submodes/tilt.dm index bca823e7e66..9e38e4040e2 100644 --- a/code/modules/buildmode/submodes/tilt.dm +++ b/code/modules/buildmode/submodes/tilt.dm @@ -17,12 +17,12 @@ /datum/buildmode_mode/tilting/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Left Mouse Button on obj/mob = Select atom to tilt") - to_chat(user, "Right Mouse Button on turf/obj/mob = Tilt selected atom onto target") - to_chat(user, "Right Mouse Button + Alt = Untilt selected atom") - to_chat(user, "Right-click the main action button to customize tilting behavior.") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Left Mouse Button on obj/mob = Select atom to tilt")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on turf/obj/mob = Tilt selected atom onto target")) + to_chat(user, SPAN_NOTICE("Right Mouse Button + Alt = Untilt selected atom")) + to_chat(user, SPAN_WARNING("Right-click the main action button to customize tilting behavior.")) + to_chat(user, SPAN_NOTICE("***********************************************************")) /datum/buildmode_mode/tilting/change_settings(mob/user) crush_damage = tgui_input_number(user, "Crush Damage", "Damage", initial(crush_damage)) @@ -56,7 +56,7 @@ to_chat(user, "Selected object '[tilter]' to tilt.") if(right_click) if(!tilter) - to_chat(user, "You need to select something to tilt (or untilt) first.") + to_chat(user, SPAN_WARNING("You need to select something to tilt (or untilt) first.")) return if(tilter.GetComponent(/datum/component/tilted) && alt_click) tilter.untilt(duration = 0) @@ -64,7 +64,7 @@ return if(!object || isnull(get_turf(object))) - to_chat(user, "You need to select a target first.") + to_chat(user, SPAN_WARNING("You need to select a target first.")) return tilter.fall_and_crush(get_turf(object), crush_damage, prob(crit_chance), 2, forced_crit, weaken_time, knockdown_time, ignore_gravity, should_rotate, rotation_angle, rightable, block_interactions_until_righted) diff --git a/code/modules/buildmode/submodes/variable_edit.dm b/code/modules/buildmode/submodes/variable_edit.dm index cc3bca8bb10..34e0dc58404 100644 --- a/code/modules/buildmode/submodes/variable_edit.dm +++ b/code/modules/buildmode/submodes/variable_edit.dm @@ -5,11 +5,11 @@ var/valueholder = "value" /datum/buildmode_mode/varedit/show_help(mob/user) - to_chat(user, "***********************************************************") - to_chat(user, "Right Mouse Button on buildmode button = Select var(type) & value") - to_chat(user, "Left Mouse Button on turf/obj/mob = Set var(type) & value") - to_chat(user, "Right Mouse Button on turf/obj/mob = Reset var's value") - to_chat(user, "***********************************************************") + to_chat(user, SPAN_NOTICE("***********************************************************")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on buildmode button = Select var(type) & value")) + to_chat(user, SPAN_NOTICE("Left Mouse Button on turf/obj/mob = Set var(type) & value")) + to_chat(user, SPAN_NOTICE("Right Mouse Button on turf/obj/mob = Reset var's value")) + to_chat(user, SPAN_NOTICE("***********************************************************")) // FIXME: This needs to use a standard var-editing interface instead of // doing its own thing here @@ -21,7 +21,7 @@ var/temp_value = user.client.vv_get_value() if(isnull(temp_value["class"])) Reset() - to_chat(user, "Variable unset.") + to_chat(user, SPAN_NOTICE("Variable unset.")) return // we assign this once all user input is done, since things could get wonky otherwise varholder = temp_varname @@ -33,23 +33,23 @@ var/right_click = pa.Find("right") if(isnull(varholder)) - to_chat(user, "Choose a variable to modify first.") + to_chat(user, SPAN_WARNING("Choose a variable to modify first.")) return if(left_click) if(object.vars.Find(varholder)) if(!object.vv_edit_var(varholder, valueholder)) - to_chat(user, "Your edit was rejected by [object].") + to_chat(user, SPAN_WARNING("Your edit was rejected by [object].")) return log_admin("Build Mode: [key_name(user)] modified [object.name]'s [varholder] to [valueholder]") else - to_chat(user, "[initial(object.name)] does not have a var called '[varholder]'") + to_chat(user, SPAN_WARNING("[initial(object.name)] does not have a var called '[varholder]'")) if(right_click) if(object.vars.Find(varholder)) var/reset_value = initial(object.vars[varholder]) if(!object.vv_edit_var(varholder, reset_value)) - to_chat(user, "Your edit was rejected by [object].") + to_chat(user, SPAN_WARNING("Your edit was rejected by [object].")) return log_admin("Build Mode: [key_name(user)] modified [object.name]'s [varholder] to [reset_value]") else - to_chat(user, "[initial(object.name)] does not have a var called '[varholder]'") + to_chat(user, SPAN_WARNING("[initial(object.name)] does not have a var called '[varholder]'")) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index bc08338e781..c62e1fd3fd3 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -84,7 +84,7 @@ msg += " Administrators have been informed." log_game("[key_name(src)] Has hit the per-minute topic limit of [mtl] topic calls in a given game minute") message_admins("[ADMIN_LOOKUPFLW(usr)] Has hit the per-minute topic limit of [mtl] topic calls in a given game minute") - to_chat(src, "[msg]") + to_chat(src, SPAN_DANGER("[msg]")) return var/stl = 10 // 10 topics a second @@ -99,7 +99,7 @@ topiclimiter[SECOND_COUNT] += 1 if(topiclimiter[SECOND_COUNT] > stl) - to_chat(src, "Your previous action was ignored because you've done too many in a second") + to_chat(src, SPAN_DANGER("Your previous action was ignored because you've done too many in a second")) return //search the href for script injection @@ -118,10 +118,10 @@ if(href_list["discord_msg"]) if(!holder && received_discord_pm < world.time - 6000) // Worse they can do is spam discord for 10 minutes - to_chat(usr, "You are no longer able to use this, it's been more then 10 minutes since an admin on Discord has responded to you") + to_chat(usr, SPAN_WARNING("You are no longer able to use this, it's been more then 10 minutes since an admin on Discord has responded to you")) return if(check_mute(ckey, MUTE_ADMINHELP)) - to_chat(usr, "You cannot use this as your client has been muted from sending messages to the admins on Discord") + to_chat(usr, SPAN_WARNING("You cannot use this as your client has been muted from sending messages to the admins on Discord")) return cmd_admin_discord_pm() return @@ -138,7 +138,7 @@ if(href_list["ssdwarning"]) ssd_warning_acknowledged = TRUE - to_chat(src, "SSD warning acknowledged.") + to_chat(src, SPAN_NOTICE("SSD warning acknowledged.")) return if(href_list["link_forum_account"]) @@ -159,7 +159,7 @@ // I know its a very rare occurance, but I wouldnt doubt people using this to withdraw consent right when sec captures them message_admins("[key_name_admin(usr)] was disconnected due to withdrawing their ToS consent.") - to_chat(usr, "Your ToS consent has been withdrawn. You have been kicked from the server") + to_chat(usr, SPAN_BOLDANNOUNCEOOC("Your ToS consent has been withdrawn. You have been kicked from the server")) qdel(src) return @@ -177,7 +177,7 @@ //byond bug ID:2256651 if(asset_cache_job && (asset_cache_job in completed_asset_jobs)) - to_chat(src, "An error has been detected in how your client is receiving resources. Attempting to correct.... (If you keep seeing these messages you might want to close byond and reconnect)") + to_chat(src, SPAN_DANGER("An error has been detected in how your client is receiving resources. Attempting to correct.... (If you keep seeing these messages you might want to close byond and reconnect)")) src << browse("...", "window=asset_cache_browser") return @@ -228,7 +228,7 @@ if(throttle) if((last_message_time + throttle > world.time) && !check_rights(R_ADMIN, 0)) var/wait_time = round(((last_message_time + throttle) - world.time) / 10, 1) - to_chat(src, "You are sending messages to quickly. Please wait [wait_time] [wait_time == 1 ? "second" : "seconds"] before sending another message.") + to_chat(src, SPAN_DANGER("You are sending messages to quickly. Please wait [wait_time] [wait_time == 1 ? "second" : "seconds"] before sending another message.")) return 1 last_message_time = world.time @@ -237,12 +237,12 @@ if(SEND_SIGNAL(mob, COMSIG_MOB_AUTOMUTE_CHECK, src, last_message, mute_type) & WAIVE_AUTOMUTE_CHECK) return FALSE if(last_message_count >= SPAM_TRIGGER_AUTOMUTE) - to_chat(src, "You have exceeded the spam filter limit for identical messages. An auto-mute was applied.") + to_chat(src, SPAN_DANGER("You have exceeded the spam filter limit for identical messages. An auto-mute was applied.")) cmd_admin_mute(mob, mute_type, 1) return TRUE if(last_message_count >= SPAM_TRIGGER_WARNING) - to_chat(src, "You are nearing the spam filter limit for identical messages.") + to_chat(src, SPAN_DANGER("You are nearing the spam filter limit for identical messages.")) return FALSE else @@ -305,7 +305,7 @@ show_update_prompt = TRUE // Actually sent to client much later, so it appears after MOTD. - to_chat(src, "If the title screen is black, resources are still downloading. Please be patient until the title screen appears.") + to_chat(src, SPAN_WARNING("If the title screen is black, resources are still downloading. Please be patient until the title screen appears.")) GLOB.directory[ckey] = src // Admin Authorisation @@ -431,11 +431,11 @@ if(GLOB.custom_event_msg && GLOB.custom_event_msg != "") to_chat(src, "

Custom Event

") to_chat(src, "

A custom event is taking place. OOC Info:

") - to_chat(src, "[html_encode(GLOB.custom_event_msg)]") + to_chat(src, SPAN_ALERT("[html_encode(GLOB.custom_event_msg)]")) to_chat(src, "
") if(!winexists(src, "asset_cache_browser")) // The client is using a custom skin, tell them. - to_chat(src, "Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.") + to_chat(src, SPAN_WARNING("Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.")) update_ambience_pref() @@ -454,10 +454,10 @@ to_chat(src, "The queue server is currently [SSqueue.queue_enabled ? "enabled" : "disabled"], with a threshold of [SSqueue.queue_threshold]. This [SSqueue.persist_queue ? "will" : "will not"] persist through rounds.") if(holder && holder.restricted_by_2fa) - to_chat(src,"You do not have 2FA enabled. Admin verbs will be unavailable until you have enabled 2FA.\nTo setup 2FA, head to the following menu: Game Preferences") // Very fucking obvious + to_chat(src,SPAN_BOLDANNOUNCEOOC("You do not have 2FA enabled. Admin verbs will be unavailable until you have enabled 2FA.\nTo setup 2FA, head to the following menu: Game Preferences")) // Very fucking obvious // Tell client about their connection - to_chat(src, "You are currently connected [prefs.server_region ? "via the [prefs.server_region] relay" : "directly"] to Paradise.") - to_chat(src, "You can change this using the Change Region verb in the OOC tab, as selecting a region closer to you may reduce latency.") + to_chat(src, SPAN_NOTICE("You are currently connected [prefs.server_region ? "via the [prefs.server_region] relay" : "directly"] to Paradise.")) + to_chat(src, SPAN_NOTICE("You can change this using the Change Region verb in the OOC tab, as selecting a region closer to you may reduce latency.")) display_job_bans(TRUE) /client/proc/is_connecting_from_localhost() @@ -664,14 +664,14 @@ // This needs to happen after their account is put into the DB // This way, admins can then note people spawn(40) // This is necessary because without it, they won't see the message, and addtimer cannot be used because the timer system may not have initialized yet - message_admins("IPIntel: [key_name_admin(src)] on IP [address] was rejected. [detailsurl]") + message_admins(SPAN_ADMINNOTICE("IPIntel: [key_name_admin(src)] on IP [address] was rejected. [detailsurl]")) var/blockmsg = "Error: proxy/VPN detected. Proxy/VPN use is not allowed here. Deactivate it before you reconnect." if(GLOB.configuration.url.banappeals_url) blockmsg += "\nIf you are not actually using a proxy/VPN, or have no choice but to use one, request whitelisting at: [GLOB.configuration.url.banappeals_url]" to_chat(src, blockmsg) qdel(src) else - message_admins("IPIntel: [key_name_admin(src)] on IP [address] is likely to be using a Proxy/VPN. [detailsurl]") + message_admins(SPAN_ADMINNOTICE("IPIntel: [key_name_admin(src)] on IP [address] is likely to be using a Proxy/VPN. [detailsurl]")) /client/proc/check_forum_link() @@ -755,7 +755,7 @@ if(fromban) url += "&fwd=appeal" to_chat(src, {"Now opening a window to verify your information with the forums, so that you can appeal your ban. If the window does not load, please copy/paste this link: [url]"}) - to_chat(src, "If you are screenshotting this screen for your ban appeal, please blur/draw over the token in the above link.") + to_chat(src, SPAN_BOLDANNOUNCEOOC("If you are screenshotting this screen for your ban appeal, please blur/draw over the token in the above link.")) else to_chat(src, {"Now opening a window to verify your information with the forums. If the window does not load, please go to: [url]"}) @@ -819,7 +819,7 @@ else if(!topic || !topic["token"] || !tokens[ckey] || topic["token"] != tokens[ckey]) if(!cidcheck_spoofckeys[ckey]) - message_admins("[key_name(src)] appears to have attempted to spoof a cid randomizer check.") + message_admins(SPAN_ADMINNOTICE("[key_name(src)] appears to have attempted to spoof a cid randomizer check.")) cidcheck_spoofckeys[ckey] = TRUE cidcheck[ckey] = computer_id tokens[ckey] = cid_check_reconnect() @@ -833,11 +833,11 @@ // Change detected, they are randomizing cidcheck -= ckey // To allow them to try again after removing CID randomization - to_chat(src, "Connection Error:") - to_chat(src, "Invalid ComputerID(spoofed). Please remove the ComputerID spoofer from your BYOND installation and try again.") + to_chat(src, SPAN_USERDANGER("Connection Error:")) + to_chat(src, SPAN_DANGER("Invalid ComputerID(spoofed). Please remove the ComputerID spoofer from your BYOND installation and try again.")) if(!cidcheck_failedckeys[ckey]) - message_admins("[key_name(src)] has been detected as using a CID randomizer. Connection rejected.") + message_admins(SPAN_ADMINNOTICE("[key_name(src)] has been detected as using a CID randomizer. Connection rejected.")) GLOB.discord_manager.send2discord_simple_noadmins("**\[Warning]** [key_name(src)] has been detected as using a CID randomizer. Connection rejected.") cidcheck_failedckeys[ckey] = TRUE note_randomizer_user() @@ -851,12 +851,12 @@ // don't shoot, I'm innocent if(cidcheck_failedckeys[ckey]) // Atonement - message_admins("[key_name_admin(src)] has been allowed to connect after showing they removed their cid randomizer") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(src)] has been allowed to connect after showing they removed their cid randomizer")) GLOB.discord_manager.send2discord_simple_noadmins("**\[Info]** [key_name(src)] has been allowed to connect after showing they removed their cid randomizer.") cidcheck_failedckeys -= ckey if(cidcheck_spoofckeys[ckey]) - message_admins("[key_name_admin(src)] has been allowed to connect after appearing to have attempted to spoof a cid randomizer check because it appears they aren't spoofing one this time") + message_admins(SPAN_ADMINNOTICE("[key_name_admin(src)] has been allowed to connect after appearing to have attempted to spoof a cid randomizer check because it appears they aren't spoofing one this time")) cidcheck_spoofckeys -= ckey cidcheck -= ckey @@ -1105,7 +1105,7 @@ message_admins("[key] has just connected for the first time. BYOND account registered on [byondacc_date] ([byondacc_age] days old)") /client/proc/show_update_notice() - to_chat(src, "Your BYOND client (v: [byond_version].[byond_build]) is out of date. This can cause glitches. We highly suggest you download the latest client from byond.com before playing. You can also update via the BYOND launcher application.") + to_chat(src, SPAN_USERDANGER("Your BYOND client (v: [byond_version].[byond_build]) is out of date. This can cause glitches. We highly suggest you download the latest client from byond.com before playing. You can also update via the BYOND launcher application.")) /client/proc/update_ambience_pref() if(prefs.sound & SOUND_AMBIENCE) @@ -1154,7 +1154,7 @@ set name = "Change Region" if(!length(GLOB.configuration.system.region_map)) - to_chat(usr, "Error: No extra regions defined for this server") + to_chat(usr, SPAN_WARNING("Error: No extra regions defined for this server")) return var/list/target_regions = list("--DIRECT--") @@ -1231,7 +1231,7 @@ /client/proc/check_panel_loaded() if(stat_panel.is_ready()) return - to_chat(src, "Statpanel failed to load, click here to reload the panel ") + to_chat(src, SPAN_USERDANGER("Statpanel failed to load, click here to reload the panel ")) /** * Handles incoming messages from the stat-panel TGUI. diff --git a/code/modules/client/preference/character.dm b/code/modules/client/preference/character.dm index 26de22570f5..b263e57f053 100644 --- a/code/modules/client/preference/character.dm +++ b/code/modules/client/preference/character.dm @@ -2164,9 +2164,9 @@ html += "[rank]" continue if((job.title in GLOB.command_positions) || (job.title == "AI"))//Bold head jobs - html += "[rank]" + html += "[SPAN_DARK("[rank]")]" else - html += "[rank]" + html += SPAN_DARK("[rank]") html += "" diff --git a/code/modules/client/preference/link_processing.dm b/code/modules/client/preference/link_processing.dm index 67c79403800..09d76a39107 100644 --- a/code/modules/client/preference/link_processing.dm +++ b/code/modules/client/preference/link_processing.dm @@ -16,7 +16,7 @@ if(tgui_alert(user, "Would you like to open the Job selection info in your browser?", "Open Job Selection", list("Yes", "No")) == "Yes") user << link("[GLOB.configuration.url.wiki_url]/index.php/Job_Selection_and_Assignment") else - to_chat(user, "The Wiki URL is not set in the server configuration.") + to_chat(user, SPAN_DANGER("The Wiki URL is not set in the server configuration.")) if("random") if(active_character.alternate_option == GET_RANDOM_JOB || active_character.alternate_option == BE_ASSISTANT) active_character.alternate_option += 1 @@ -196,7 +196,7 @@ var/datum/species/NS = GLOB.all_species[active_character.species] if(!istype(NS)) //The species was invalid. Notify the user and fail out. active_character.species = prev_species - to_chat(user, "Invalid species, please pick something else.") + to_chat(user, SPAN_WARNING("Invalid species, please pick something else.")) return if(prev_species != active_character.species) active_character.quirks = list() //Reset their quirks @@ -1030,7 +1030,7 @@ to_chat(user, "You will now get put into cryo dorms after [GLOB.configuration.afk.auto_cryo_minutes] minutes. \ Then after [GLOB.configuration.afk.auto_despawn_minutes] minutes you will be fully despawned. You will receive a visual and auditory warning before you will be put into cryodorms.") else - to_chat(user, "Automatic cryoing turned off.") + to_chat(user, SPAN_NOTICE("Automatic cryoing turned off.")) toggles2 ^= PREFTOGGLE_2_AFKWATCH if("UIcolor") diff --git a/code/modules/client/preference/loadout/loadout_tgui.dm b/code/modules/client/preference/loadout/loadout_tgui.dm index c4be848b9b1..ab8f65908ee 100644 --- a/code/modules/client/preference/loadout/loadout_tgui.dm +++ b/code/modules/client/preference/loadout/loadout_tgui.dm @@ -41,7 +41,7 @@ GLOBAL_LIST_EMPTY(gear_tgui_info) return TRUE if(gear.donator_tier && user.client.donator_level < gear.donator_tier) - to_chat(user, "That gear is only available at a higher donation tier than you are on.") + to_chat(user, SPAN_WARNING("That gear is only available at a higher donation tier than you are on.")) return FALSE user.client.prefs.build_loadout(gear) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 19f0b2c6e3a..eea4376a789 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -156,7 +156,7 @@ GLOBAL_LIST_INIT(special_role_times, list( successful_load = load_preferences(Q) if(!successful_load) - to_chat(C, "Your preferences failed to load. Please inform the server host immediately.") + to_chat(C, SPAN_NARSIE("Your preferences failed to load. Please inform the server host immediately.")) /datum/preferences/proc/color_square(colour) return "___" @@ -200,7 +200,7 @@ GLOBAL_LIST_INIT(special_role_times, list( dat += "Load slot - " dat += "Save slot" if(active_character.from_db) - dat += "- Clear slot" + dat += "- [SPAN_BAD("Clear slot")]" dat += "" dat += "" dat += "" dat += "" - dat += "" : ""]" + dat += "" : ""]" dat += "" if(KB.category == KB_CATEGORY_EMOTE_CUSTOM) var/datum/keybinding/custom/custom_emote_keybind = kb @@ -613,13 +613,13 @@ GLOBAL_LIST_INIT(special_role_times, list( if(PREFTOGGLE_SPECIAL) dat += "" if(PREFTOGGLE_TOGGLE1) - dat += "" + dat += "" if(PREFTOGGLE_TOGGLE2) - dat += "" + dat += "" if(PREFTOGGLE_SOUND) - dat += "" + dat += "" if(PREFTOGGLE_LIGHT) - dat += "" + dat += "" dat += "" dat += "" @@ -673,7 +673,7 @@ GLOBAL_LIST_INIT(special_role_times, list( return if(!isnum(desiredLvl)) - to_chat(user, "UpdateJobPreference - desired level was not a number. Please notify coders!") + to_chat(user, SPAN_WARNING("UpdateJobPreference - desired level was not a number. Please notify coders!")) ShowChoices(user) return diff --git a/code/modules/client/preference/preferences_toggles.dm b/code/modules/client/preference/preferences_toggles.dm index c21ae5dc804..8396b5074eb 100644 --- a/code/modules/client/preference/preferences_toggles.dm +++ b/code/modules/client/preference/preferences_toggles.dm @@ -32,16 +32,16 @@ CRASH("[src] did not have it's set_toggles overriden even though it was a special toggle, please use the special_toggle path!") if(PREFTOGGLE_TOGGLE1) our_prefs.toggles ^= preftoggle_bitflag - to_chat(user, "[(our_prefs.toggles & preftoggle_bitflag) ? enable_message : disable_message]") + to_chat(user, SPAN_NOTICE("[(our_prefs.toggles & preftoggle_bitflag) ? enable_message : disable_message]")) if(PREFTOGGLE_TOGGLE2) our_prefs.toggles2 ^= preftoggle_bitflag - to_chat(user, "[(our_prefs.toggles2 & preftoggle_bitflag) ? enable_message : disable_message]") + to_chat(user, SPAN_NOTICE("[(our_prefs.toggles2 & preftoggle_bitflag) ? enable_message : disable_message]")) if(PREFTOGGLE_SOUND) our_prefs.sound ^= preftoggle_bitflag - to_chat(user, "[(our_prefs.sound & preftoggle_bitflag) ? enable_message : disable_message]") + to_chat(user, SPAN_NOTICE("[(our_prefs.sound & preftoggle_bitflag) ? enable_message : disable_message]")) if(PREFTOGGLE_LIGHT) our_prefs.light ^= preftoggle_bitflag - to_chat(user, "[(our_prefs.light & preftoggle_bitflag) ? enable_message : disable_message]") + to_chat(user, SPAN_NOTICE("[(our_prefs.light & preftoggle_bitflag) ? enable_message : disable_message]")) SSblackbox.record_feedback("tally", "toggle_verbs", 1, blackbox_message) our_prefs.save_preferences(user) diff --git a/code/modules/client/preference/quirks/negative_quirks.dm b/code/modules/client/preference/quirks/negative_quirks.dm index 5af0f278561..d31c76af574 100644 --- a/code/modules/client/preference/quirks/negative_quirks.dm +++ b/code/modules/client/preference/quirks/negative_quirks.dm @@ -89,7 +89,7 @@ * If a bad attack isn't treated, it can easily feed into itself and kill the user. */ /datum/quirk/asthma/proc/trigger_asthma_symptom(current_severity) - owner.visible_message("[owner] violently coughs!", "Your asthma flares up!") + owner.visible_message(SPAN_NOTICE("[owner] violently coughs!"), SPAN_WARNING("Your asthma flares up!")) switch(current_severity) if(50 to 75) owner.adjustOxyLoss(5) diff --git a/code/modules/client/preference/quirks/quirk.dm b/code/modules/client/preference/quirks/quirk.dm index 6b0ea724857..3c932100d90 100644 --- a/code/modules/client/preference/quirks/quirk.dm +++ b/code/modules/client/preference/quirks/quirk.dm @@ -104,16 +104,16 @@ GLOBAL_LIST_EMPTY(quirk_paths) if(!active_character) return FALSE if((to_add.species_flags & QUIRK_MACHINE_INCOMPATIBLE) && (active_character.species == "Machine")) - to_chat(src.client, "You can't put that quirk on a robotic character.") + to_chat(src.client, SPAN_WARNING("You can't put that quirk on a robotic character.")) return FALSE if((to_add.species_flags & QUIRK_ORGANIC_INCOMPATIBLE) && (active_character.species != "Machine")) - to_chat(src.client, "You can't put that quirk on an organic character.") + to_chat(src.client, SPAN_WARNING("You can't put that quirk on an organic character.")) return FALSE if((to_add.species_flags & QUIRK_SLIME_INCOMPATIBLE) && (active_character.species == "Slime People")) //Since they don't have eyes - to_chat(src.client, "You can't put that quirk on a slime character, you have no eyes!") + to_chat(src.client, SPAN_WARNING("You can't put that quirk on a slime character, you have no eyes!")) return FALSE if((to_add.species_flags & QUIRK_PLASMAMAN_INCOMPATIBLE) && (active_character.species == "Plasmaman")) //If someone can figure out how to only let plasmaman with a secondary language take this feel free to do that - to_chat(src.client, "You can't put that quirk on a plasmaman, you have no species language!") + to_chat(src.client, SPAN_WARNING("You can't put that quirk on a plasmaman, you have no species language!")) return FALSE active_character.quirks += to_add return TRUE diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 90290c4c767..226e02750ad 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -720,7 +720,7 @@ var/obj/item/mod/control/C = target C.current_disguise = FALSE if(C.active || C.activating) - to_chat(C.wearer, "Your suit is already active!") + to_chat(C.wearer, SPAN_WARNING("Your suit is already active!")) return if(initial(picked_item.name) == C.name) // If you select the same item as what it's currently disguised as, change back to MODsuit form. for(var/obj/item/mod/module/chameleon/toreturn in C.contents) @@ -740,7 +740,7 @@ toreturn.return_look() return if(C.active || C.activating) - to_chat(C.wearer, "Your suit is already active!") + to_chat(C.wearer, SPAN_WARNING("Your suit is already active!")) return ..() diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 9853cd71cf4..993e55cd701 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -50,7 +50,7 @@ visor_toggling() - to_chat(user, "You adjust \the [src] [up ? "up" : "down"].") + to_chat(user, SPAN_NOTICE("You adjust \the [src] [up ? "up" : "down"].")) if(iscarbon(user)) var/mob/living/carbon/C = user @@ -104,7 +104,7 @@ wearable = TRUE if(!wearable) - to_chat(M, "Your species cannot wear [src].") + to_chat(M, SPAN_WARNING("Your species cannot wear [src].")) return FALSE return TRUE @@ -213,7 +213,7 @@ /obj/item/clothing/glasses/examine(mob/user) . = ..() - . += "You can Alt-Click [src] to adjust if it fits over or under your mask." + . += SPAN_NOTICE("You can Alt-Click [src] to adjust if it fits over or under your mask.") /obj/item/clothing/glasses/AltClick(mob/living/carbon/human/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user) || !istype(user)) @@ -222,7 +222,7 @@ over_mask = !over_mask if(user.glasses == src) user.update_inv_glasses() - to_chat(user, "You adjust [src] to be worn [over_mask ? "over" : "under"] a mask.") + to_chat(user, SPAN_NOTICE("You adjust [src] to be worn [over_mask ? "over" : "under"] a mask.")) ////////////////////////////// // MARK: GLOVES @@ -265,13 +265,13 @@ if(istype(W, /obj/item/wirecutters)) if(!clipped) playsound(src.loc, W.usesound, 100, 1) - user.visible_message("[user] snips the fingertips off [src].","You snip the fingertips off [src].") + user.visible_message(SPAN_WARNING("[user] snips the fingertips off [src]."),SPAN_WARNING("You snip the fingertips off [src].")) clipped = TRUE name = "mangled [name]" desc = "[desc] They have had the fingertips cut off of them." update_icon() else - to_chat(user, "[src] have already been clipped!") + to_chat(user, SPAN_NOTICE("[src] have already been clipped!")) return else return ..() @@ -290,30 +290,30 @@ /obj/item/clothing/under/proc/set_sensors(mob/user) if(!Adjacent(user) && !user.Adjacent(src)) - to_chat(user, "You are too far away!") + to_chat(user, SPAN_WARNING("You are too far away!")) return if(!isrobot(user) && (!ishuman(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))) - to_chat(user, "You can't use your hands!") + to_chat(user, SPAN_WARNING("You can't use your hands!")) return if(has_sensor >= 2) - to_chat(user, "The controls are locked.") + to_chat(user, SPAN_WARNING("The controls are locked.")) return if(has_sensor <= SUIT_SENSOR_OFF) - to_chat(user, "This suit does not have any sensors.") + to_chat(user, SPAN_WARNING("This suit does not have any sensors.")) return var/list/modes = list("Off", "Binary sensors", "Vitals tracker", "Tracking beacon") var/switchMode = tgui_input_list(user, "Select a sensor mode:", "Suit Sensor Mode", modes, modes[sensor_mode + 1]) // If they walk away after the menu is already open. if(!Adjacent(user) && !user.Adjacent(src)) - to_chat(user, "You have moved too far away!") + to_chat(user, SPAN_WARNING("You have moved too far away!")) return // If your hands get lopped off or cuffed after the menu is open. if(!isrobot(user) && (!ishuman(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))) - to_chat(user, "You can't use your hands!") + to_chat(user, SPAN_WARNING("You can't use your hands!")) return if(!switchMode) return @@ -339,7 +339,7 @@ switch(sensor_mode) if(SUIT_SENSOR_OFF) for(var/mob/V in viewers(user, 1)) - V.show_message("[user] disables [loc]'s remote sensing equipment.", 1) + V.show_message(SPAN_WARNING("[user] disables [loc]'s remote sensing equipment."), 1) if(SUIT_SENSOR_BINARY) for(var/mob/V in viewers(user, 1)) V.show_message("[user] turns [loc]'s remote sensors to binary.", 1) @@ -419,7 +419,7 @@ . = ..() for(var/obj/item/clothing/head/hat as anything in attached_hats) . += "\A [hat] is placed neatly on top." - . += "Alt-Shift-Click to remove an accessory." + . += SPAN_NOTICE("Alt-Shift-Click to remove an accessory.") //when user attached a hat to H (another hat) /obj/item/clothing/head/proc/on_attached(obj/item/clothing/head/H, mob/user as mob) @@ -436,7 +436,7 @@ A.Grant(M) if(user) - to_chat(user, "You attach [src] to [has_under].") + to_chat(user, SPAN_NOTICE("You attach [src] to [has_under].")) add_fingerprint(user) /obj/item/clothing/head/proc/on_removed(mob/user) @@ -472,7 +472,7 @@ if(!Adjacent(user)) return detach_hat(hat, user) - to_chat(user, "You remove [hat] from [src].") + to_chat(user, SPAN_NOTICE("You remove [hat] from [src].")) /obj/item/clothing/head/proc/attached_unequip(mob/user) // If we need to do something special when clothing is removed from the user return @@ -505,7 +505,7 @@ else if(hat.has_under) return FALSE else - to_chat(user, "You cannot place [hat] ontop of [src].") + to_chat(user, SPAN_NOTICE("You cannot place [hat] ontop of [src].")) return FALSE @@ -540,7 +540,7 @@ if(!up) gas_transfer_coefficient = initial(gas_transfer_coefficient) permeability_coefficient = initial(permeability_coefficient) - to_chat(user, "You push \the [src] back into place.") + to_chat(user, SPAN_NOTICE("You push \the [src] back into place.")) slot_flags = initial(slot_flags) if(flags_inv != initial(flags_inv)) if(initial(flags_inv) & HIDEFACE) //If the mask is one that hides the face and can be adjusted yet lost that trait when it was adjusted, make it hide the face again. @@ -562,7 +562,7 @@ user.drop_item_to_ground(src) user.put_in_hands(src) else - to_chat(user, "You push \the [src] out of the way.") + to_chat(user, SPAN_NOTICE("You push \the [src] out of the way.")) gas_transfer_coefficient = null permeability_coefficient = null if(adjusted_flags) @@ -645,12 +645,12 @@ if(istype(I, /obj/item/match) && src.loc == user) var/obj/item/match/M = I if(!M.lit && !M.burnt) // Match isn't lit, but isn't burnt. - user.visible_message("[user] strikes a [M] on the bottom of [src], lighting it.","You strike [M] on the bottom of [src] to light it.") + user.visible_message(SPAN_WARNING("[user] strikes a [M] on the bottom of [src], lighting it."),SPAN_WARNING("You strike [M] on the bottom of [src] to light it.")) M.matchignite() playsound(user.loc, 'sound/goonstation/misc/matchstick_light.ogg', 50, 1) return if(M.lit && !M.burnt && M.w_class <= WEIGHT_CLASS_SMALL) - user.visible_message("[user] crushes [M] into the bottom of [src], extinguishing it.","You crush [M] into the bottom of [src], extinguishing it.") + user.visible_message(SPAN_WARNING("[user] crushes [M] into the bottom of [src], extinguishing it."),SPAN_WARNING("You crush [M] into the bottom of [src], extinguishing it.")) M.dropped() return @@ -658,32 +658,32 @@ if(can_cut_open) if(!cut_open) playsound(src.loc, I.usesound, 100, 1) - user.visible_message("[user] cuts open the toes of [src].","You cut open the toes of [src].") + user.visible_message(SPAN_WARNING("[user] cuts open the toes of [src]."),SPAN_WARNING("You cut open the toes of [src].")) cut_open = TRUE update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_ICON_STATE) else - to_chat(user, "[src] have already had [p_their()] toes cut open!") + to_chat(user, SPAN_NOTICE("[src] have already had [p_their()] toes cut open!")) return if(istype(I, /obj/item/kitchen/knife/combat)) if(!knife_slot) - to_chat(user, "There is no place to put [I] in [src]!") + to_chat(user, SPAN_NOTICE("There is no place to put [I] in [src]!")) return if(hidden_blade) - to_chat(user, "There is already something in [src]!") + to_chat(user, SPAN_NOTICE("There is already something in [src]!")) return if(!user.drop_item_to_ground(I)) return if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(45) && user.get_item_by_slot(ITEM_SLOT_SHOES) == src) var/stabbed_foot = pick("l_foot", "r_foot") - user.visible_message("[user] tries to place [I] into [src] but stabs their own foot!", \ - "You go to put [I] into [src], but miss the boot and stab your own foot!") + user.visible_message(SPAN_NOTICE("[user] tries to place [I] into [src] but stabs their own foot!"), \ + SPAN_WARNING("You go to put [I] into [src], but miss the boot and stab your own foot!")) user.apply_damage(I.force, BRUTE, stabbed_foot) user.drop_item(I) return - user.visible_message("[user] places [I] into their [name]!", \ - "You place [I] into the side of your [name]!") + user.visible_message(SPAN_NOTICE("[user] places [I] into their [name]!"), \ + SPAN_NOTICE("You place [I] into the side of your [name]!")) I.forceMove(src) hidden_blade = I return @@ -711,15 +711,15 @@ if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user) || !knife_slot) return if(!hidden_blade) - to_chat(user, "There's nothing in your [name]!") + to_chat(user, SPAN_WARNING("There's nothing in your [name]!")) return if(user.get_active_hand() && user.get_inactive_hand()) - to_chat(user, "You need an empty hand to pull out [hidden_blade]!") + to_chat(user, SPAN_WARNING("You need an empty hand to pull out [hidden_blade]!")) return - user.visible_message("[user] pulls [hidden_blade] from their [name]!", \ - "You draw [hidden_blade] from your [name]!") + user.visible_message(SPAN_NOTICE("[user] pulls [hidden_blade] from their [name]!"), \ + SPAN_NOTICE("You draw [hidden_blade] from your [name]!")) user.put_in_hands(hidden_blade) hidden_blade.add_fingerprint(user) hidden_blade = null @@ -727,9 +727,9 @@ /obj/item/clothing/shoes/examine(mob/user) . = ..() if(knife_slot) - . += "You can Alt-Click [src] to remove a stored knife. Use the knife on the shoes to place one in [src]." + . += SPAN_NOTICE("You can Alt-Click [src] to remove a stored knife. Use the knife on the shoes to place one in [src].") if(hidden_blade) - . += "Your boot has a [hidden_blade.name] hidden inside of it!" + . += SPAN_NOTICE("Your boot has a [hidden_blade.name] hidden inside of it!") ////////////////////////////// // MARK: SUIT @@ -782,8 +782,8 @@ /obj/item/clothing/suit/examine(mob/user) . = ..() if(length(inserts)) - . += "Has [length(inserts)] inserts attached." - . += "Inserts can be removed with Alt-Click." + . += SPAN_NOTICE("Has [length(inserts)] inserts attached.") + . += SPAN_NOTICE("Inserts can be removed with Alt-Click.") ///Hierophant card shielding. Saves me time. /obj/item/clothing/suit/proc/setup_hierophant_shielding() @@ -796,16 +796,16 @@ /// A proc for callback when the shield breaks, since I am stupid and want custom effects. /obj/item/clothing/suit/proc/hierophant_shield_damaged(mob/living/wearer, attack_text, new_current_charges) - wearer.visible_message("[attack_text] is deflected in a burst of dark-purple sparks!") + wearer.visible_message(SPAN_DANGER("[attack_text] is deflected in a burst of dark-purple sparks!")) new /obj/effect/temp_visual/cult/sparks/hierophant(get_turf(wearer)) playsound(wearer,'sound/magic/blind.ogg', 200, TRUE, -2) if(new_current_charges == 0) - wearer.visible_message("The runed shield around [wearer] suddenly disappears!") + wearer.visible_message(SPAN_DANGER("The runed shield around [wearer] suddenly disappears!")) //Proc that opens and closes jackets. /obj/item/clothing/suit/proc/adjustsuit(mob/user) if(ignore_suitadjust) - to_chat(user, "You attempt to button up the velcro on \the [src], before promptly realising how foolish you are.") + to_chat(user, SPAN_NOTICE("You attempt to button up the velcro on \the [src], before promptly realising how foolish you are.")) return if(user.incapacitated()) return @@ -819,14 +819,14 @@ for(var/obj/item/I in O.contents) //Dump the pocket out onto the floor below the user. user.drop_item_to_ground(I, force = TRUE) - user.visible_message("[user] bellows, [pick("shredding", "ripping open", "tearing off")] [user.p_their()] jacket in a fit of rage!","You accidentally [pick("shred", "rend", "tear apart")] [src] with your [pick("excessive", "extreme", "insane", "monstrous", "ridiculous", "unreal", "stupendous")] [pick("power", "strength")]!") + user.visible_message(SPAN_WARNING("[user] bellows, [pick("shredding", "ripping open", "tearing off")] [user.p_their()] jacket in a fit of rage!"),SPAN_WARNING("You accidentally [pick("shred", "rend", "tear apart")] [src] with your [pick("excessive", "extreme", "insane", "monstrous", "ridiculous", "unreal", "stupendous")] [pick("power", "strength")]!")) user.drop_item_to_ground(src) qdel(src) //Now that the pockets have been emptied, we can safely destroy the jacket. user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!")) user.update_inv_wear_suit() return else - to_chat(user, "You yank and pull at \the [src] with your [pick("excessive", "extreme", "insane", "monstrous", "ridiculous", "unreal", "stupendous")] [pick("power", "strength")], however you are unable to change its state!")//Yep, that's all they get. Avoids having to snowflake in a cooldown. + to_chat(user, SPAN_WARNING("You yank and pull at \the [src] with your [pick("excessive", "extreme", "insane", "monstrous", "ridiculous", "unreal", "stupendous")] [pick("power", "strength")], however you are unable to change its state!"))//Yep, that's all they get. Avoids having to snowflake in a cooldown. return if(suit_adjusted) @@ -876,7 +876,7 @@ if(!Adjacent(user)) return if(!length(inserts)) - to_chat(user, "Your suit has no inserts to remove.") + to_chat(user, SPAN_NOTICE("Your suit has no inserts to remove.")) return INVOKE_ASYNC(src, PROC_REF(finish_detach_insert), user) @@ -898,10 +898,10 @@ if(!istype(new_insert)) return if(length(inserts) == insert_max) - to_chat(user, "Your suit has no slots to add an insert.") + to_chat(user, SPAN_NOTICE("Your suit has no slots to add an insert.")) return if(new_insert.flags & NODROP || !user.transfer_item_to(new_insert, src)) - to_chat(user, "[new_insert] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[new_insert] is stuck to your hand!")) return inserts += new_insert new_insert.on_attached(src) @@ -912,23 +912,23 @@ effective_breakout_time = 5 SECONDS if(user.has_status_effect(STATUS_EFFECT_REMOVE_CUFFS)) - to_chat(user, "You are already trying to [break_restraints ? "break" : "remove"] your restraints.") + to_chat(user, SPAN_NOTICE("You are already trying to [break_restraints ? "break" : "remove"] your restraints.")) return user.apply_status_effect(STATUS_EFFECT_REMOVE_CUFFS) - user.visible_message("[user] attempts to [break_restraints ? "break" : "remove"] [src]!", "You attempt to [break_restraints ? "break" : "remove"] [src]...") - to_chat(user, "(This will take around [DisplayTimeText(effective_breakout_time)] and you need to stand still.)") + user.visible_message(SPAN_WARNING("[user] attempts to [break_restraints ? "break" : "remove"] [src]!"), SPAN_NOTICE("You attempt to [break_restraints ? "break" : "remove"] [src]...")) + to_chat(user, SPAN_NOTICE("(This will take around [DisplayTimeText(effective_breakout_time)] and you need to stand still.)")) if(!do_after(user, effective_breakout_time, FALSE, user, hidden = TRUE)) user.remove_status_effect(STATUS_EFFECT_REMOVE_CUFFS) - to_chat(user, "You fail to [break_restraints ? "break" : "remove"] [src]!") + to_chat(user, SPAN_WARNING("You fail to [break_restraints ? "break" : "remove"] [src]!")) return user.remove_status_effect(STATUS_EFFECT_REMOVE_CUFFS) if(loc != user || user.buckled) return - user.visible_message("[user] manages to [break_restraints ? "break" : "remove"] [src]!", "You successfully [break_restraints ? "break" : "remove"] [src].") + user.visible_message(SPAN_DANGER("[user] manages to [break_restraints ? "break" : "remove"] [src]!"), SPAN_NOTICE("You successfully [break_restraints ? "break" : "remove"] [src].")) user.drop_item_to_ground(src) ////////////////////////////// @@ -1106,7 +1106,7 @@ return TRUE else - to_chat(user, "You cannot attach more accessories of this type to [src].") + to_chat(user, SPAN_NOTICE("You cannot attach more accessories of this type to [src].")) return FALSE @@ -1131,15 +1131,15 @@ if(SUIT_SENSOR_TRACKING) . += "Its vital tracker and tracking beacon appear to be enabled." if(has_sensor == 1) - . += "Alt-Click to toggle the sensors mode." + . += SPAN_NOTICE("Alt-Click to toggle the sensors mode.") else . += "This suit does not have any sensors." if(length(accessories)) for(var/obj/item/clothing/accessory/A in accessories) . += "\A [A] is attached to it." - . += "Alt-Shift-Click to remove an accessory." - . += "Ctrl-Shift-Click to roll down this jumpsuit." + . += SPAN_NOTICE("Alt-Shift-Click to remove an accessory.") + . += SPAN_NOTICE("Ctrl-Shift-Click to roll down this jumpsuit.") /// Suffix for jumpsuits used in .dmi files when rolled down #define JUMPSUIT_ROLLED_DOWN_SUFFIX "_d" @@ -1150,7 +1150,7 @@ var/current_worn_icon = LAZYACCESS(sprite_sheets, user.dna.species.sprite_sheet_name) || worn_icon || 'icons/mob/clothing/under/misc.dmi' if(!icon_exists(current_worn_icon, "[base_icon_state][JUMPSUIT_ROLLED_DOWN_SUFFIX]_s")) - to_chat(user, "You cannot roll down this uniform!") + to_chat(user, SPAN_NOTICE("You cannot roll down this uniform!")) return rolled_down = !rolled_down @@ -1165,11 +1165,11 @@ /obj/item/clothing/under/CtrlShiftClick(mob/living/carbon/human/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user) || !istype(user)) - to_chat(user, "You cannot roll down the uniform!") + to_chat(user, SPAN_NOTICE("You cannot roll down the uniform!")) return if(user.get_item_by_slot(ITEM_SLOT_JUMPSUIT) != src) - to_chat(user, "You must wear the uniform to adjust it!") + to_chat(user, SPAN_NOTICE("You must wear the uniform to adjust it!")) return roll_undersuit(user) @@ -1199,7 +1199,7 @@ if(!Adjacent(user)) return detach_accessory(A, user) - to_chat(user, "You remove [A] from [src].") + to_chat(user, SPAN_NOTICE("You remove [A] from [src].")) /obj/item/clothing/under/emp_act(severity) if(length(accessories)) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index c1a3acb9602..2040263d912 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -12,11 +12,11 @@ if(istype(used, /obj/item/clothing/glasses/regular)) if(prescription) - to_chat(user, "You can't possibly imagine how adding more lenses would improve [src].") + to_chat(user, SPAN_WARNING("You can't possibly imagine how adding more lenses would improve [src].")) return ITEM_INTERACT_COMPLETE user.drop_item_to_ground(used) upgrade_prescription(used) - to_chat(user, "You fit [src] with lenses from [used].") + to_chat(user, SPAN_NOTICE("You fit [src] with lenses from [used].")) user.update_nearsighted_effects() return ITEM_INTERACT_COMPLETE @@ -38,7 +38,7 @@ name = initial(name) if(user) - to_chat(user, "You salvage the prescription lenses from [src].") + to_chat(user, SPAN_NOTICE("You salvage the prescription lenses from [src].")) user.put_in_hands(prescription_glasses) user.update_nearsighted_effects() else @@ -46,7 +46,7 @@ /obj/item/clothing/glasses/screwdriver_act(mob/living/user) if(!prescription) - to_chat(user, "There are no prescription lenses in [src].") + to_chat(user, SPAN_NOTICE("There are no prescription lenses in [src].")) return remove_prescription(user) return TRUE @@ -73,7 +73,7 @@ var/obj/item/organ/internal/eyes/eyes = H.get_organ_slot("eyes") if(!H.AmountBlinded() && eyes) if(H.glasses == src) - to_chat(H, "[src] overloads and blinds you!") + to_chat(H, SPAN_DANGER("[src] overloads and blinds you!")) H.flash_eyes(visual = TRUE) H.EyeBlind(6 SECONDS) H.EyeBlurry(10 SECONDS) @@ -331,7 +331,7 @@ punused = TRUE playsound(loc, 'sound/misc/yeah.ogg', 100, FALSE) - user.visible_message("YEEEAAAAAHHHHHHHHHHHHH!!") + user.visible_message(SPAN_BIGGERDANGER("YEEEAAAAAHHHHHHHHHHHHH!!")) if(HAS_TRAIT(user, TRAIT_BADASS)) //unless you're badass addtimer(VARSET_CALLBACK(src, punused, FALSE), 5 MINUTES) diff --git a/code/modules/clothing/glasses/tajblind.dm b/code/modules/clothing/glasses/tajblind.dm index fc9ee771493..328df70e269 100644 --- a/code/modules/clothing/glasses/tajblind.dm +++ b/code/modules/clothing/glasses/tajblind.dm @@ -24,7 +24,7 @@ /obj/item/clothing/glasses/hud/tajblind/examine() . = ..() - . += "You can Ctrl-Shift-Click [src] to toggle its electronics if present." + . += SPAN_NOTICE("You can Ctrl-Shift-Click [src] to toggle its electronics if present.") /obj/item/clothing/glasses/hud/tajblind/activate_self(mob/user) if(..()) @@ -69,7 +69,7 @@ return if(electronics) electronics = FALSE - to_chat(user, "You toggle electronics in [src] off.") + to_chat(user, SPAN_NOTICE("You toggle electronics in [src] off.")) if(user.get_item_by_slot(ITEM_SLOT_EYES) != src) hud_types = null return @@ -79,7 +79,7 @@ hud_types = null return electronics = TRUE - to_chat(user, "You toggle electronics in [src] on.") + to_chat(user, SPAN_NOTICE("You toggle electronics in [src] on.")) hud_types = list(initial(hud_types)) if(user.get_item_by_slot(ITEM_SLOT_EYES) != src) return @@ -93,7 +93,7 @@ /obj/item/clothing/glasses/hud/tajblind/meson/Initialize(mapload) . = ..() - desc += "
It has an optical meson scanner integrated into it." + desc += "
[SPAN_NOTICE("It has an optical meson scanner integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/meson/CtrlShiftClick(mob/user, modifiers) if(electronics) @@ -101,13 +101,13 @@ if(user.get_item_by_slot(ITEM_SLOT_EYES) == src) REMOVE_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]") user.update_sight() - to_chat(user, "You toggle electronics in [src] off.") + to_chat(user, SPAN_NOTICE("You toggle electronics in [src] off.")) return electronics = TRUE if(user.get_item_by_slot(ITEM_SLOT_EYES) == src) ADD_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]") user.update_sight() - to_chat(user, "You toggle electronics in [src] on.") + to_chat(user, SPAN_NOTICE("You toggle electronics in [src] on.")) /obj/item/clothing/glasses/hud/tajblind/meson/equipped(mob/user, slot, initial) . = ..() @@ -131,17 +131,17 @@ /obj/item/clothing/glasses/hud/tajblind/sci/Initialize(mapload) . = ..() - desc += "
It has science goggles integrated into it." + desc += "
[SPAN_NOTICE("It has science goggles integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/sci/CtrlShiftClick(mob/user, modifiers) if(electronics) electronics = FALSE scan_reagents = FALSE - to_chat(user, "You toggle electronics in [src] off.") + to_chat(user, SPAN_NOTICE("You toggle electronics in [src] off.")) return electronics = TRUE scan_reagents = TRUE - to_chat(user, "You toggle electronics in [src] on.") + to_chat(user, SPAN_NOTICE("You toggle electronics in [src] on.")) /obj/item/clothing/glasses/hud/tajblind/sci/item_action_slot_check(slot) if(slot == ITEM_SLOT_EYES) @@ -154,7 +154,7 @@ /obj/item/clothing/glasses/hud/tajblind/med/Initialize(mapload) . = ..() - desc += "
It has a health HUD integrated into it." + desc += "
[SPAN_NOTICE("It has a health HUD integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/sec name = "\improper Tajaran security veil" @@ -163,7 +163,7 @@ /obj/item/clothing/glasses/hud/tajblind/sec/Initialize(mapload) . = ..() - desc += "
It has a security HUD integrated into it." + desc += "
[SPAN_NOTICE("It has a security HUD integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/skill name = "\improper Tajaran skills veil" @@ -172,7 +172,7 @@ /obj/item/clothing/glasses/hud/tajblind/skill/Initialize(mapload) . = ..() - desc += "
It has a skill HUD integrated into it." + desc += "
[SPAN_NOTICE("It has a skill HUD integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/jani name = "\improper Tajaran janitorial veil" @@ -181,7 +181,7 @@ /obj/item/clothing/glasses/hud/tajblind/jani/Initialize(mapload) . = ..() - desc += "
It has a janitorial HUD integrated into it." + desc += "
[SPAN_NOTICE("It has a janitorial HUD integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/diag name = "\improper Tajaran diagnostics veil" @@ -190,7 +190,7 @@ /obj/item/clothing/glasses/hud/tajblind/diag/Initialize(mapload) . = ..() - desc += "
It has a diagnostics HUD integrated into it." + desc += "
[SPAN_NOTICE("It has a diagnostics HUD integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/hydro name = "\improper Tajaran hydroponics veil" @@ -199,7 +199,7 @@ /obj/item/clothing/glasses/hud/tajblind/hydro/Initialize(mapload) . = ..() - desc += "
It has a hydroponics HUD integrated into it." + desc += "
[SPAN_NOTICE("It has a hydroponics HUD integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/shaded name = "shaded Tajaran veil" @@ -208,7 +208,7 @@ /obj/item/clothing/glasses/hud/tajblind/shaded/Initialize(mapload) . = ..() - desc += "
It has an in-built flash protection." + desc += "
[SPAN_NOTICE("It has an in-built flash protection.")]" /obj/item/clothing/glasses/hud/tajblind/shaded/meson name = "shaded Tajaran engineering meson veil" @@ -216,7 +216,7 @@ /obj/item/clothing/glasses/hud/tajblind/shaded/meson/Initialize(mapload) . = ..() - desc += "
It has an optical meson scanner integrated into it." + desc += "
[SPAN_NOTICE("It has an optical meson scanner integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/shaded/meson/CtrlShiftClick(mob/user, modifiers) if(electronics) @@ -224,13 +224,13 @@ if(user.get_item_by_slot(ITEM_SLOT_EYES) == src) REMOVE_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]") user.update_sight() - to_chat(user, "You toggle electronics in [src] off.") + to_chat(user, SPAN_NOTICE("You toggle electronics in [src] off.")) return electronics = TRUE if(user.get_item_by_slot(ITEM_SLOT_EYES) == src) ADD_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]") user.update_sight() - to_chat(user, "You toggle electronics in [src] on.") + to_chat(user, SPAN_NOTICE("You toggle electronics in [src] on.")) /obj/item/clothing/glasses/hud/tajblind/shaded/meson/equipped(mob/user, slot, initial) . = ..() @@ -254,17 +254,17 @@ /obj/item/clothing/glasses/hud/tajblind/shaded/sci/Initialize(mapload) . = ..() - desc += "
It has science goggles integrated into it." + desc += "
[SPAN_NOTICE("It has science goggles integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/shaded/sci/CtrlShiftClick(mob/user, modifiers) if(electronics) electronics = FALSE scan_reagents = FALSE - to_chat(user, "You toggle electronics in [src] off.") + to_chat(user, SPAN_NOTICE("You toggle electronics in [src] off.")) return electronics = TRUE scan_reagents = TRUE - to_chat(user, "You toggle electronics in [src] on.") + to_chat(user, SPAN_NOTICE("You toggle electronics in [src] on.")) /obj/item/clothing/glasses/hud/tajblind/shaded/sci/item_action_slot_check(slot) if(slot == ITEM_SLOT_EYES) @@ -277,7 +277,7 @@ /obj/item/clothing/glasses/hud/tajblind/shaded/med/Initialize(mapload) . = ..() - desc += "
It has a health HUD integrated into it." + desc += "
[SPAN_NOTICE("It has a health HUD integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/shaded/sec name = "shaded Tajaran security veil" @@ -287,7 +287,7 @@ /obj/item/clothing/glasses/hud/tajblind/shaded/sec/Initialize(mapload) . = ..() - desc += "
It has a security HUD integrated into it." + desc += "
[SPAN_NOTICE("It has a security HUD integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/shaded/skill name = "shaded Tajaran skills veil" @@ -296,7 +296,7 @@ /obj/item/clothing/glasses/hud/tajblind/shaded/skill/Initialize(mapload) . = ..() - desc += "
It has a skill HUD integrated into it." + desc += "
[SPAN_NOTICE("It has a skill HUD integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/shaded/jani name = "shaded Tajaran janitorial veil" @@ -305,7 +305,7 @@ /obj/item/clothing/glasses/hud/tajblind/shaded/jani/Initialize(mapload) . = ..() - desc += "
It has a janitorial HUD integrated into it." + desc += "
[SPAN_NOTICE("It has a janitorial HUD integrated into it.")]" /obj/item/clothing/glasses/hud/tajblind/shaded/diag name = "shaded Tajaran diagnostics veil" @@ -314,7 +314,7 @@ /obj/item/clothing/glasses/hud/tajblind/shaded/diag/Initialize(mapload) . = ..() - desc += "
It has a diagnostics HUD integrated into it." + desc += "
[SPAN_NOTICE("It has a diagnostics HUD integrated into it.")]" #undef MODE_OFF #undef MODE_NATURAL diff --git a/code/modules/clothing/gloves/colored_gloves.dm b/code/modules/clothing/gloves/colored_gloves.dm index 476845d6e29..fee38bf910b 100644 --- a/code/modules/clothing/gloves/colored_gloves.dm +++ b/code/modules/clothing/gloves/colored_gloves.dm @@ -63,7 +63,7 @@ to_chat(user, "You have moved too far away.") return if(confirm == "Yes") - to_chat(user, "You snip the fingertips off of [src].") + to_chat(user, SPAN_NOTICE("You snip the fingertips off of [src].")) playsound(user.loc, W.usesound, rand(10,50), 1) var/obj/item/clothing/gloves/fingerless/F = new/obj/item/clothing/gloves/fingerless(user.loc) if(pickpocket) diff --git a/code/modules/clothing/gloves/misc_gloves.dm b/code/modules/clothing/gloves/misc_gloves.dm index 2ff8d6bb290..0d496078846 100644 --- a/code/modules/clothing/gloves/misc_gloves.dm +++ b/code/modules/clothing/gloves/misc_gloves.dm @@ -152,12 +152,12 @@ do_sparks(5, 0, loc) playsound(loc, 'sound/weapons/egloves.ogg', 50, TRUE, -1) H.do_attack_animation(C) - visible_message("[C] has been touched with [src] by [H]!") + visible_message(SPAN_DANGER("[C] has been touched with [src] by [H]!")) add_attack_logs(H, C, "Touched with stun gloves") C.Weaken(stun_strength) C.Stuttering(stun_strength) else - to_chat(H, "Not enough charge!") + to_chat(H, SPAN_NOTICE("Not enough charge!")) return TRUE return FALSE @@ -171,14 +171,14 @@ if(istype(W, /obj/item/stock_parts/cell)) if(!cell) if(!user.drop_item()) - to_chat(user, "[W] is stuck to you!") + to_chat(user, SPAN_WARNING("[W] is stuck to you!")) return W.forceMove(src) cell = W - to_chat(user, "You attach [W] to [src].") + to_chat(user, SPAN_NOTICE("You attach [W] to [src].")) update_icon(UPDATE_OVERLAYS) else - to_chat(user, "[src] already has a cell.") + to_chat(user, SPAN_NOTICE("[src] already has a cell.")) else return ..() @@ -187,7 +187,7 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(cell) - to_chat(user, "You cut [cell] away from [src].") + to_chat(user, SPAN_NOTICE("You cut [cell] away from [src].")) cell.forceMove(get_turf(loc)) cell = null update_icon(UPDATE_OVERLAYS) @@ -195,7 +195,7 @@ /obj/item/clothing/gloves/color/yellow/fake/examine(mob/user) . = ..() if(user.Adjacent(src)) - . += "They don't feel like rubber..." + . += SPAN_NOTICE("They don't feel like rubber...") /obj/item/clothing/gloves/fingerless/rapid name = "gloves of the North Star" diff --git a/code/modules/clothing/gloves/rings.dm b/code/modules/clothing/gloves/rings.dm index f6e5af64cf4..2b9d9a9d98b 100644 --- a/code/modules/clothing/gloves/rings.dm +++ b/code/modules/clothing/gloves/rings.dm @@ -28,13 +28,13 @@ if(istype(I, /obj/item/stack/sheet/mineral/diamond)) var/obj/item/stack/sheet/mineral/diamond/D = I if(stud) - to_chat(usr, "[src] already has a gem.") + to_chat(usr, SPAN_NOTICE("[src] already has a gem.")) else if(D.amount >= 1) D.use(1) stud = TRUE update_icon(UPDATE_ICON_STATE) - to_chat(usr, "You socket the diamond into [src].") + to_chat(usr, SPAN_NOTICE("You socket the diamond into [src].")) // s'pensive /obj/item/clothing/gloves/ring/silver diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 21c24be2455..e736e393e59 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -47,7 +47,7 @@ on = FALSE turn_off() update_icon(UPDATE_ICON_STATE) - visible_message("[src]'s light fades and turns off.") + visible_message(SPAN_DANGER("[src]'s light fades and turns off.")) /obj/item/clothing/head/hardhat/orange name = "orange hard hat" diff --git a/code/modules/clothing/head/misc_hats.dm b/code/modules/clothing/head/misc_hats.dm index 9679f8eff1c..00fac95c719 100644 --- a/code/modules/clothing/head/misc_hats.dm +++ b/code/modules/clothing/head/misc_hats.dm @@ -253,7 +253,7 @@ return TRUE /obj/item/clothing/head/fedora/proc/tip_fedora(mob/user) - user.visible_message("[user] tips [user.p_their()] fedora.", "You tip your fedora.") + user.visible_message(SPAN_NOTICE("[user] tips [user.p_their()] fedora."), SPAN_NOTICE("You tip your fedora.")) /obj/item/clothing/head/fedora/whitefedora name = "white fedora" diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index e89ef2445b6..607d3a6ddef 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -144,7 +144,7 @@ var/obj/item/clothing/mask/gas/clown_hat/new_mask = new picked_mask(get_turf(user)) qdel(src) user.put_in_active_hand(new_mask) - to_chat(user, "Your Clown Mask has now morphed into its new form, all praise the Honk Mother!") + to_chat(user, SPAN_NOTICE("Your Clown Mask has now morphed into its new form, all praise the Honk Mother!")) return TRUE /obj/item/clothing/mask/gas/clown_hat/sexy @@ -319,7 +319,7 @@ var/message = phrase_list[key] if(!safety) - to_chat(user, "You set the restrictor to: FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT.") + to_chat(user, SPAN_NOTICE("You set the restrictor to: FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT.")) return switch(aggressiveness) @@ -327,29 +327,29 @@ phrase = (phrase < 6) ? (phrase + 1) : 1 key = phrase_list[phrase] message = phrase_list[key] - to_chat(user,"You set the restrictor to: [message]") + to_chat(user,SPAN_NOTICE("You set the restrictor to: [message]")) if(2) phrase = (phrase < 11 && phrase >= 7) ? (phrase + 1) : 7 key = phrase_list[phrase] message = phrase_list[key] - to_chat(user,"You set the restrictor to: [message]") + to_chat(user,SPAN_NOTICE("You set the restrictor to: [message]")) if(3) phrase = (phrase < 18 && phrase >= 12 ) ? (phrase + 1) : 12 key = phrase_list[phrase] message = phrase_list[key] - to_chat(user,"You set the restrictor to: [message]") + to_chat(user,SPAN_NOTICE("You set the restrictor to: [message]")) if(4) phrase = (phrase < 18 && phrase >= 1 ) ? (phrase + 1) : 1 key = phrase_list[phrase] message = phrase_list[key] - to_chat(user,"You set the restrictor to: [message]") + to_chat(user,SPAN_NOTICE("You set the restrictor to: [message]")) else - to_chat(user, "It's broken.") + to_chat(user, SPAN_NOTICE("It's broken.")) /obj/item/clothing/mask/gas/sechailer/attackby__legacy__attackchain(obj/item/W as obj, mob/user as mob, params) if(istype(W, /obj/item/wirecutters)) if(aggressiveness != 5) - to_chat(user, "You broke it!") + to_chat(user, SPAN_WARNING("You broke it!")) aggressiveness = 5 return . = ..() @@ -357,23 +357,23 @@ /obj/item/clothing/mask/gas/sechailer/screwdriver_act(mob/living/user, obj/item/I) switch(aggressiveness) if(1) - to_chat(user, "You set the aggressiveness restrictor to the second position.") + to_chat(user, SPAN_NOTICE("You set the aggressiveness restrictor to the second position.")) aggressiveness = 2 phrase = 7 if(2) - to_chat(user, "You set the aggressiveness restrictor to the third position.") + to_chat(user, SPAN_NOTICE("You set the aggressiveness restrictor to the third position.")) aggressiveness = 3 phrase = 13 if(3) - to_chat(user, "You set the aggressiveness restrictor to the fourth position.") + to_chat(user, SPAN_NOTICE("You set the aggressiveness restrictor to the fourth position.")) aggressiveness = 4 phrase = 1 if(4) - to_chat(user, "You set the aggressiveness restrictor to the first position.") + to_chat(user, SPAN_NOTICE("You set the aggressiveness restrictor to the first position.")) aggressiveness = 1 phrase = 1 if(5) - to_chat(user, "You adjust the restrictor but nothing happens, probably because its broken.") + to_chat(user, SPAN_WARNING("You adjust the restrictor but nothing happens, probably because its broken.")) return TRUE /obj/item/clothing/mask/gas/sechailer/attack_self__legacy__attackchain() diff --git a/code/modules/clothing/masks/misc_masks.dm b/code/modules/clothing/masks/misc_masks.dm index 6d340c5b1d9..8e526c063ed 100644 --- a/code/modules/clothing/masks/misc_masks.dm +++ b/code/modules/clothing/masks/misc_masks.dm @@ -21,8 +21,8 @@ return 0 else if(security_lock && locked) if(do_unlock(user)) - visible_message("[user] unlocks [user.p_their()] [src.name].", \ - "[user] unlocks [user.p_their()] [src.name].") + visible_message(SPAN_DANGER("[user] unlocks [user.p_their()] [src.name]."), \ + SPAN_USERDANGER("[user] unlocks [user.p_their()] [src.name].")) ..() return 1 @@ -38,16 +38,16 @@ /obj/item/clothing/mask/muzzle/proc/do_unlock(mob/living/carbon/human/user) if(istype(user.get_inactive_hand(), /obj/item/card/emag)) - to_chat(user, "The lock vibrates as the card forces its locking system open.") + to_chat(user, SPAN_WARNING("The lock vibrates as the card forces its locking system open.")) do_break() return TRUE else if(ACCESS_BRIG in user.get_access()) - to_chat(user, "The muzzle unlocks with a click.") + to_chat(user, SPAN_WARNING("The muzzle unlocks with a click.")) locked = FALSE set_nodrop(FALSE, loc) return TRUE - to_chat(user, "You must be wearing a security ID card or have one in your inactive hand to remove the muzzle.") + to_chat(user, SPAN_WARNING("You must be wearing a security ID card or have one in your inactive hand to remove the muzzle.")) return FALSE /obj/item/clothing/mask/muzzle/proc/do_lock(mob/living/carbon/human/user) @@ -111,19 +111,19 @@ /obj/item/clothing/mask/muzzle/safety/shock/attackby__legacy__attackchain(obj/item/W, mob/user, params) if(istype(W, /obj/item/assembly/signaler) || istype(W, /obj/item/assembly/voice)) if(istype(trigger, /obj/item/assembly/signaler) || istype(trigger, /obj/item/assembly/voice)) - to_chat(user, "Something is already attached to [src].") + to_chat(user, SPAN_NOTICE("Something is already attached to [src].")) return FALSE if(!user.drop_item()) - to_chat(user, "You are unable to insert [W] into [src].") + to_chat(user, SPAN_WARNING("You are unable to insert [W] into [src].")) return FALSE trigger = W trigger.forceMove(src) trigger.master = src trigger.holder = src - to_chat(user, "You attach [W] to [src].") + to_chat(user, SPAN_NOTICE("You attach [W] to [src].")) return TRUE else if(istype(W, /obj/item/assembly)) - to_chat(user, "That won't fit in [src]. Perhaps a signaler or voice analyzer would?") + to_chat(user, SPAN_NOTICE("That won't fit in [src]. Perhaps a signaler or voice analyzer would?")) return FALSE return ..() @@ -134,7 +134,7 @@ . = TRUE if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return - to_chat(user, "You remove [trigger] from [src].") + to_chat(user, SPAN_NOTICE("You remove [trigger] from [src].")) trigger.forceMove(get_turf(user)) trigger.master = null trigger.holder = null @@ -152,7 +152,7 @@ var/mob/living/L = can_shock(loc) if(!L) return - to_chat(L, "You feel a sharp shock!") + to_chat(L, SPAN_DANGER("You feel a sharp shock!")) do_sparks(3, 1, L) L.Weaken(10 SECONDS) @@ -222,7 +222,7 @@ return 1 /obj/item/clothing/mask/fakemoustache/proc/pontificate(mob/user) - user.visible_message("\ [user] twirls [user.p_their()] moustache and laughs [pick("fiendishly","maniacally","diabolically","evilly")]!") + user.visible_message(SPAN_DANGER("\ [user] twirls [user.p_their()] moustache and laughs [pick("fiendishly","maniacally","diabolically","evilly")]!")) /obj/item/clothing/mask/pig name = "pig mask" @@ -368,7 +368,7 @@ var/mob/living/carbon/char = user if((char.get_item_by_slot(ITEM_SLOT_NECK) == src) || (char.get_item_by_slot(ITEM_SLOT_MASK) == src) || (char.get_item_by_slot(ITEM_SLOT_HEAD) == src)) - to_chat(user, ("You can't tie [src] while wearing it!")) + to_chat(user, (SPAN_WARNING("You can't tie [src] while wearing it!"))) return if(slot_flags & ITEM_SLOT_NECK) @@ -393,7 +393,7 @@ var/datum/action/item_action/adjust/act = new(src) if(loc == user) act.Grant(user) - to_chat(user, ("You untie the neckercheif.")) + to_chat(user, (SPAN_NOTICE("You untie the neckercheif."))) else icon = 'icons/obj/clothing/neck.dmi' flags_inv = FALSE @@ -414,7 +414,7 @@ for(var/datum/action/item_action/adjust/act in actions) act.Remove(user) qdel(act) - to_chat(user, ("You tie [src] up like a neckerchief.")) + to_chat(user, (SPAN_NOTICE("You tie [src] up like a neckerchief."))) /obj/item/clothing/mask/bandana/red name = "red bandana" @@ -509,12 +509,12 @@ ..() var/mob/living/carbon/human/H = user if(istype(H) && slot == ITEM_SLOT_MASK) - to_chat(H, "[src] grips your face!") + to_chat(H, SPAN_DANGER("[src] grips your face!")) if(H.mind && H.mind.assigned_role != "Cluwne") H.makeCluwne() /obj/item/clothing/mask/cursedclown/suicide_act(mob/user) - user.visible_message("[user] gazes into the eyes of [src]. [src] gazes back!") + user.visible_message(SPAN_DANGER("[user] gazes into the eyes of [src]. [src] gazes back!")) spawn(10) if(user) user.gib() diff --git a/code/modules/clothing/neck/neck.dm b/code/modules/clothing/neck/neck.dm index 3b643824283..0d9dfc66bd1 100644 --- a/code/modules/clothing/neck/neck.dm +++ b/code/modules/clothing/neck/neck.dm @@ -22,7 +22,7 @@ /obj/item/clothing/neck/tie/examine(mob/user) . = ..() - . += "You can Alt-Click [src] to adjust if it is worn under or over your suit." + . += SPAN_NOTICE("You can Alt-Click [src] to adjust if it is worn under or over your suit.") /obj/item/clothing/neck/tie/AltClick(mob/living/carbon/human/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user) || !istype(user)) @@ -31,7 +31,7 @@ under_suit = !under_suit if(user.neck == src) user.update_inv_neck() - to_chat(user, "You adjust [src] to be worn [under_suit ? "under" : "over"] your suit.") + to_chat(user, SPAN_NOTICE("You adjust [src] to be worn [under_suit ? "under" : "over"] your suit.")) /obj/item/clothing/neck/stethoscope name = "stethoscope" @@ -49,13 +49,13 @@ var/datum/organ/heart/heart_datum = M.get_int_organ_datum(ORGAN_DATUM_HEART) var/datum/organ/lungs/lung_datum = M.get_int_organ_datum(ORGAN_DATUM_LUNGS) if(!lung_datum || !heart_datum) - to_chat(user, "You don't hear anything.") + to_chat(user, SPAN_WARNING("You don't hear anything.")) return var/obj/item/organ/internal/H = heart_datum.linked_organ var/obj/item/organ/internal/L = lung_datum.linked_organ if(!M.pulse || (!H || !(L && !HAS_TRAIT(M, TRAIT_NOBREATH)))) - to_chat(user, "You don't hear anything.") + to_chat(user, SPAN_WARNING("You don't hear anything.")) return var/color = "notice" diff --git a/code/modules/clothing/neck/necklace.dm b/code/modules/clothing/neck/necklace.dm index 8ee3ba686ce..de86c15eb84 100644 --- a/code/modules/clothing/neck/necklace.dm +++ b/code/modules/clothing/neck/necklace.dm @@ -39,7 +39,7 @@ if(open) icon_state = "[base_icon]_open" if(held) - to_chat(user, "[held] falls out!") + to_chat(user, SPAN_WARNING("[held] falls out!")) held.forceMove(get_turf(user)) held = null else diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index f0e16628755..4bc40a8311a 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -86,7 +86,7 @@ /obj/item/clothing/shoes/magboots/advance/examine(mob/user) . = ..() - . += "[src] will not slow you down when active." + . += SPAN_NOTICE("[src] will not slow you down when active.") /obj/item/clothing/shoes/magboots/advance/examine_more(mob/user) . = ..() @@ -120,7 +120,7 @@ /obj/item/clothing/shoes/magboots/elite/examine(mob/user) . = ..() - . += "[src] will not slow you down when active." + . += SPAN_NOTICE("[src] will not slow you down when active.") /obj/item/clothing/shoes/magboots/clown name = "clown shoes" @@ -155,10 +155,10 @@ to_chat(user, "You must hold [src] in your hand to do this.") return if(!enabled_waddle) - to_chat(user, "You switch off the waddle dampeners!") + to_chat(user, SPAN_NOTICE("You switch off the waddle dampeners!")) enabled_waddle = TRUE else - to_chat(user, "You switch on the waddle dampeners!") + to_chat(user, SPAN_NOTICE("You switch on the waddle dampeners!")) enabled_waddle = FALSE /// bundled with the wiz hardsuit @@ -175,7 +175,7 @@ if(!user) return if(!iswizard(user)) - to_chat(user, "You poke the gem on [src]. Nothing happens.") + to_chat(user, SPAN_NOTICE("You poke the gem on [src]. Nothing happens.")) return ..() if(magpulse) //faint blue light when shoes are turned on gives a reason to turn them off when not needed in maint @@ -218,24 +218,24 @@ /obj/item/clothing/shoes/magboots/gravity/examine(mob/user) . = ..() if(core && cell) - . += "[src] are fully operational!" - . += "The boots are [round(cell.percent())]% charged." + . += SPAN_NOTICE("[src] are fully operational!") + . += SPAN_NOTICE("The boots are [round(cell.percent())]% charged.") else if(core) - . += "It has a gravitational anomaly core installed, but no power cell installed." + . += SPAN_WARNING("It has a gravitational anomaly core installed, but no power cell installed.") else if(cell) - . += "It has a power installed, but no gravitational anomaly core installed." + . += SPAN_WARNING("It has a power installed, but no gravitational anomaly core installed.") else - . += "It is missing a gravitational anomaly core and a power cell." + . += SPAN_WARNING("It is missing a gravitational anomaly core and a power cell.") /obj/item/clothing/shoes/magboots/gravity/toggle_magpulse(mob/user, no_message) if(!cell) - to_chat(user, "Your boots do not have a power cell!") + to_chat(user, SPAN_WARNING("Your boots do not have a power cell!")) return else if(cell.charge <= power_consumption_rate && !magpulse) - to_chat(user, "Your boots do not have enough charge!") + to_chat(user, SPAN_WARNING("Your boots do not have enough charge!")) return if(!core) - to_chat(user, "There's no core installed!") + to_chat(user, SPAN_WARNING("There's no core installed!")) return ..() @@ -246,25 +246,25 @@ if(cell.charge <= power_consumption_rate * 2) if(ishuman(loc)) var/mob/living/carbon/human/user = loc - to_chat(user, "[src] has ran out of charge, and turned off!") + to_chat(user, SPAN_WARNING("[src] has ran out of charge, and turned off!")) toggle_magpulse(user, TRUE) else cell.use(power_consumption_rate) /obj/item/clothing/shoes/magboots/gravity/screwdriver_act(mob/living/user, obj/item/I) if(!cell) - to_chat(user, "There's no cell installed!") + to_chat(user, SPAN_WARNING("There's no cell installed!")) return if(magpulse) - to_chat(user, "Turn off the boots first!") + to_chat(user, SPAN_WARNING("Turn off the boots first!")) return if(!I.use_tool(src, user, volume = I.tool_volume)) return user.put_in_hands(cell) - to_chat(user, "You remove [cell] from [src].") + to_chat(user, SPAN_NOTICE("You remove [cell] from [src].")) cell.update_icon() cell = null update_icon() @@ -272,24 +272,24 @@ /obj/item/clothing/shoes/magboots/gravity/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, /obj/item/stock_parts/cell)) if(cell) - to_chat(user, "[src] already has a cell!") + to_chat(user, SPAN_WARNING("[src] already has a cell!")) return if(!user.drop_item_to_ground(I)) return I.forceMove(src) cell = I - to_chat(user, "You install [I] into [src].") + to_chat(user, SPAN_NOTICE("You install [I] into [src].")) update_icon() return if(istype(I, /obj/item/assembly/signaler/anomaly/grav)) if(core) - to_chat(user, "[src] already has a [I]!") + to_chat(user, SPAN_NOTICE("[src] already has a [I]!")) return if(!user.drop_item()) - to_chat(user, "[I] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[I] is stuck to your hand!")) return - to_chat(user, "You insert [I] into [src], and [src] starts to warm up.") + to_chat(user, SPAN_NOTICE("You insert [I] into [src], and [src] starts to warm up.")) I.forceMove(src) core = I else @@ -310,7 +310,7 @@ if(H.get_item_by_slot(ITEM_SLOT_SHOES) == src) style.remove(H) if(magpulse) - to_chat(user, "As [src] are removed, they deactivate.") + to_chat(user, SPAN_NOTICE("As [src] are removed, they deactivate.")) toggle_magpulse(user, TRUE) /obj/item/clothing/shoes/magboots/gravity/item_action_slot_check(slot) @@ -323,27 +323,27 @@ if(cell) if(cell.charge <= dash_cost) - to_chat(user, "Your boots do not have enough charge to dash!") + to_chat(user, SPAN_WARNING("Your boots do not have enough charge to dash!")) return else - to_chat(user, "Your boots do not have a power cell!") + to_chat(user, SPAN_WARNING("Your boots do not have a power cell!")) return if(!core) - to_chat(user, "There's no core installed!") + to_chat(user, SPAN_WARNING("There's no core installed!")) return if(recharging_time > world.time) - to_chat(user, "The boot's gravitational pulse needs to recharge still!") + to_chat(user, SPAN_WARNING("The boot's gravitational pulse needs to recharge still!")) return var/atom/target = get_edge_target_turf(user, user.dir) //gets the user's direction ADD_TRAIT(user, TRAIT_FLYING, "gravity_boots") if(user.throw_at(target, jumpdistance, jumpspeed, spin = FALSE, diagonals_first = TRUE, callback = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(callback_remove_trait), user, TRAIT_FLYING, "gravity_boots"))) playsound(src, 'sound/effects/stealthoff.ogg', 50, TRUE, 1) - user.visible_message("[usr] dashes forward into the air!") + user.visible_message(SPAN_WARNING("[usr] dashes forward into the air!")) recharging_time = world.time + recharging_rate cell.use(dash_cost) else REMOVE_TRAIT(user, TRAIT_FLYING, "gravity_boots") - to_chat(user, "Something prevents you from dashing forward!") + to_chat(user, SPAN_WARNING("Something prevents you from dashing forward!")) diff --git a/code/modules/clothing/shoes/misc_shoes.dm b/code/modules/clothing/shoes/misc_shoes.dm index 96795c028c1..9fc9113f853 100644 --- a/code/modules/clothing/shoes/misc_shoes.dm +++ b/code/modules/clothing/shoes/misc_shoes.dm @@ -117,10 +117,10 @@ /obj/item/clothing/shoes/clown_shoes/proc/toggle_waddle(mob/living/user) if(!enabled_waddle) - to_chat(user, "You switch off the waddle dampeners!") + to_chat(user, SPAN_NOTICE("You switch off the waddle dampeners!")) enabled_waddle = TRUE else - to_chat(user, "You switch on the waddle dampeners!") + to_chat(user, SPAN_NOTICE("You switch on the waddle dampeners!")) enabled_waddle = FALSE /obj/item/clothing/shoes/clown_shoes/nodrop @@ -161,7 +161,7 @@ /obj/item/clothing/shoes/clown_shoes/slippers/ui_action_click(mob/living/user, action) if(recharging_time > world.time) - to_chat(user, "The boot's internal propulsion needs to recharge still!") + to_chat(user, SPAN_WARNING("The boot's internal propulsion needs to recharge still!")) return var/prev_dir = user.dir var/old_pass = user.pass_flags @@ -175,11 +175,11 @@ /obj/item/clothing/shoes/clown_shoes/slippers/toggle_waddle(mob/living/user) if(!enabled_waddle) - to_chat(user, "You switch off the waddle dampeners!") + to_chat(user, SPAN_NOTICE("You switch off the waddle dampeners!")) enabled_waddle = TRUE slowdown = SHOES_SLOWDOWN + 1 else - to_chat(user, "You switch on the waddle dampeners, [src] no longer slow you down!") + to_chat(user, SPAN_NOTICE("You switch on the waddle dampeners, [src] no longer slow you down!")) enabled_waddle = FALSE slowdown = SHOES_SLOWDOWN @@ -441,18 +441,18 @@ return if(recharging_time > world.time) - to_chat(user, "The boot's internal propulsion needs to recharge still!") + to_chat(user, SPAN_WARNING("The boot's internal propulsion needs to recharge still!")) return var/atom/target = get_edge_target_turf(user, user.dir) //gets the user's direction ADD_TRAIT(user, TRAIT_FLYING, "bhop_shoes") if(user.throw_at(target, jumpdistance, jumpspeed, spin = FALSE, diagonals_first = TRUE, callback = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(callback_remove_trait), user, TRAIT_FLYING, "bhop_shoes"))) playsound(src, 'sound/effects/stealthoff.ogg', 50, TRUE, 1) - user.visible_message("[usr] dashes forward into the air!") + user.visible_message(SPAN_WARNING("[usr] dashes forward into the air!")) recharging_time = world.time + recharging_rate else REMOVE_TRAIT(user, TRAIT_FLYING, "bhop_shoes") - to_chat(user, "Something prevents you from dashing forward!") + to_chat(user, SPAN_WARNING("Something prevents you from dashing forward!")) /obj/item/clothing/shoes/ducky name = "rubber ducky shoes" diff --git a/code/modules/clothing/spacesuits/alien_suits.dm b/code/modules/clothing/spacesuits/alien_suits.dm index eb3ab006c74..9dd0ae546ea 100644 --- a/code/modules/clothing/spacesuits/alien_suits.dm +++ b/code/modules/clothing/spacesuits/alien_suits.dm @@ -189,7 +189,7 @@ return var/mob/living/carbon/human/H = user if(H.shoes != src) - to_chat(user, "You will have to put on [src] before you can do that.") + to_chat(user, SPAN_WARNING("You will have to put on [src] before you can do that.")) return set_nodrop(TRUE, loc) //kinda hard to take off magclaws when you are gripping them tightly. to_chat(user, "You dig your claws deeply into the flooring, bracing yourself.") diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index 4fc8ed1d5d3..76e0b042bea 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -60,7 +60,7 @@ switch(severity) if(1) if(user && ishuman(user) && (user.wear_suit == src)) - to_chat(user, "Elecrtromagnetic pulse detected, shutting down systems to preserve integrity...") + to_chat(user, SPAN_USERDANGER("Elecrtromagnetic pulse detected, shutting down systems to preserve integrity...")) deactivate() /obj/item/clothing/suit/space/chronos/proc/chronowalk(mob/living/carbon/human/user) diff --git a/code/modules/clothing/spacesuits/ert_hardsuits.dm b/code/modules/clothing/spacesuits/ert_hardsuits.dm index ad70b1fb0bf..f161159dcc0 100644 --- a/code/modules/clothing/spacesuits/ert_hardsuits.dm +++ b/code/modules/clothing/spacesuits/ert_hardsuits.dm @@ -38,7 +38,7 @@ camera = new /obj/machinery/camera/portable(src, FALSE) camera.network = list("ERT") camera.c_tag = wearer.name - to_chat(wearer, "User scanned as [camera.c_tag]. Camera activated.") + to_chat(wearer, SPAN_NOTICE("User scanned as [camera.c_tag]. Camera activated.")) /obj/item/clothing/head/helmet/space/hardsuit/ert/examine(mob/user) . = ..() diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 97d369b9fad..765dd51b70c 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -61,7 +61,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/extinguish_light(force = FALSE) if(on) toggle_light() - visible_message("[src]'s light fades and turns off.") + visible_message(SPAN_DANGER("[src]'s light fades and turns off.")) /obj/item/clothing/head/helmet/space/hardsuit/dropped(mob/user) ..() @@ -87,7 +87,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/proc/display_visor_message(msg) var/mob/wearer = loc if(msg && ishuman(wearer)) - wearer.show_message("[msg]", 1) + wearer.show_message("[SPAN_ROBOT("[msg]")]", 1) /obj/item/clothing/head/helmet/space/hardsuit/rad_act(atom/source, amount, emission_type) current_tick_amount += amount @@ -120,7 +120,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/proc/toggle_geiger_counter() scanning = !scanning if(ishuman(loc)) - to_chat(loc, "You toggle [src]'s internal geiger counter [scanning ? "on" : "off"].") + to_chat(loc, SPAN_NOTICE("You toggle [src]'s internal geiger counter [scanning ? "on" : "off"].")) /obj/item/clothing/head/helmet/space/hardsuit/emp_act(severity) ..() @@ -177,14 +177,14 @@ /obj/item/clothing/suit/space/hardsuit/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, /obj/item/tank/jetpack/suit)) if(jetpack) - to_chat(user, "[src] already has a jetpack installed.") + to_chat(user, SPAN_WARNING("[src] already has a jetpack installed.")) return if(src == user.get_item_by_slot(ITEM_SLOT_OUTER_SUIT)) //Make sure the player is not wearing the suit before applying the upgrade. - to_chat(user, "You cannot install the upgrade to [src] while wearing it.") + to_chat(user, SPAN_WARNING("You cannot install the upgrade to [src] while wearing it.")) return if(user.transfer_item_to(I, src)) jetpack = I - to_chat(user, "You successfully install the jetpack into [src].") + to_chat(user, SPAN_NOTICE("You successfully install the jetpack into [src].")) return return ..() @@ -193,15 +193,15 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(!jetpack) - to_chat(user, "[src] has no jetpack installed.") + to_chat(user, SPAN_WARNING("[src] has no jetpack installed.")) return if(src == user.get_item_by_slot(ITEM_SLOT_OUTER_SUIT)) - to_chat(user, "You cannot remove the jetpack from [src] while wearing it.") + to_chat(user, SPAN_WARNING("You cannot remove the jetpack from [src] while wearing it.")) return jetpack.turn_off(user) jetpack.forceMove(drop_location()) jetpack = null - to_chat(user, "You successfully remove the jetpack from [src].") + to_chat(user, SPAN_NOTICE("You successfully remove the jetpack from [src].")) /obj/item/clothing/suit/space/hardsuit/equipped(mob/user, slot) ..() @@ -257,11 +257,11 @@ /obj/item/clothing/head/helmet/space/hardsuit/syndi/attack_self__legacy__attackchain(mob/user) //Toggle Helmet if(!isturf(user.loc)) - to_chat(user, "You cannot toggle your helmet while in this [user.loc]!" ) + to_chat(user, SPAN_WARNING("You cannot toggle your helmet while in this [user.loc]!") ) return on = !on if(on) - to_chat(user, "You switch your hardsuit to EVA mode, sacrificing speed for space protection.") + to_chat(user, SPAN_NOTICE("You switch your hardsuit to EVA mode, sacrificing speed for space protection.")) name = initial(name) desc = initial(desc) set_light(brightness_on) @@ -270,7 +270,7 @@ flags_inv |= visor_flags_inv cold_protection |= HEAD else - to_chat(user, "You switch your hardsuit to combat mode and can now run at full speed.") + to_chat(user, SPAN_NOTICE("You switch your hardsuit to combat mode and can now run at full speed.")) name += " (combat)" desc = alt_desc set_light(0) diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index c0e1143e99b..8e2345be4de 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -77,9 +77,9 @@ if(istype(H)) H.update_inv_head() if(!update_light) - to_chat(user, "You turn \the [src]'s torch [on ? "on":"off"].") + to_chat(user, SPAN_NOTICE("You turn \the [src]'s torch [on ? "on":"off"].")) if(on && !up) - to_chat(user, "[src]'s torch can't pass through your welding visor!") + to_chat(user, SPAN_NOTICE("[src]'s torch can't pass through your welding visor!")) if(!on || !up) set_light(0) @@ -295,12 +295,12 @@ /obj/item/clothing/head/helmet/space/plasmaman/tacticool/examine(mob/user) . = ..() if(!reskinned) - . += "You can Ctrl-Shift-Click to reskin it when held." + . += SPAN_NOTICE("You can Ctrl-Shift-Click to reskin it when held.") /obj/item/clothing/head/helmet/space/plasmaman/tacticool/CtrlShiftClick(mob/user) ..() if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(reskin_radial_check(user) && !reskinned) reskin(user) diff --git a/code/modules/clothing/suits/armor_suits.dm b/code/modules/clothing/suits/armor_suits.dm index 906d7279d99..6feb36c200b 100644 --- a/code/modules/clothing/suits/armor_suits.dm +++ b/code/modules/clothing/suits/armor_suits.dm @@ -54,7 +54,7 @@ icon_state = "armorsec" user.update_inv_wear_suit() desc = "A Level II soft armor vest used by Nanotrasen corporate security, offering light protection against kinetic impacts and lasers. This one has [attached_badge] attached to it." - to_chat(user, "You attach [attached_badge] to [src].") + to_chat(user, SPAN_NOTICE("You attach [attached_badge] to [src].")) return ..() @@ -68,7 +68,7 @@ icon_state = "armor" user.update_inv_wear_suit() desc = "A Level II soft armor vest used by Nanotrasen corporate security. Offers light protection against kinetic impacts and lasers, and has a clip for a holobadge." - to_chat(user, "You remove [attached_badge] from [src].") + to_chat(user, SPAN_NOTICE("You remove [attached_badge] from [src].")) attached_badge = null return @@ -390,7 +390,7 @@ /obj/item/clothing/suit/armor/reactive/examine(mob/user) . = ..() if(cell) - . += "The armor is [round(cell.percent())]% charged." + . += SPAN_NOTICE("The armor is [round(cell.percent())]% charged.") /obj/item/clothing/suit/armor/reactive/examine_more(mob/user) . = ..() @@ -403,13 +403,13 @@ /obj/item/clothing/suit/armor/reactive/attack_self__legacy__attackchain(mob/user) active = !(active) if(disabled) - to_chat(user, "[src] is disabled and rebooting!") + to_chat(user, SPAN_WARNING("[src] is disabled and rebooting!")) return if(active) - to_chat(user, "[src] is now active.") + to_chat(user, SPAN_NOTICE("[src] is now active.")) icon_state = "reactive" else - to_chat(user, "[src] is now inactive.") + to_chat(user, SPAN_NOTICE("[src] is now inactive.")) icon_state = "reactiveoff" add_fingerprint(user) user.update_inv_wear_suit() @@ -475,7 +475,7 @@ if(reaction_check(hitby) && is_teleport_allowed(owner.z) && use_power()) var/mob/living/carbon/human/H = owner if(do_teleport(owner, owner, 6, safe_turf_pick = TRUE)) //Teleport on the same spot with a precision of 6 gets a random tile near the owner. - owner.visible_message("The reactive teleport system flings [H] clear of [attack_text]!") + owner.visible_message(SPAN_DANGER("The reactive teleport system flings [H] clear of [attack_text]!")) return TRUE return FALSE return FALSE @@ -500,7 +500,7 @@ if(!active) return FALSE if(reaction_check(hitby) && use_power()) - owner.visible_message("[src] blocks [attack_text], sending out jets of flame!") + owner.visible_message(SPAN_DANGER("[src] blocks [attack_text], sending out jets of flame!")) for(var/mob/living/carbon/C in range(6, owner)) if(C != owner) C.fire_stacks += 8 @@ -527,13 +527,13 @@ if(!active) return FALSE if(reaction_check(hitby) && use_power()) - owner.visible_message("[src] blocks [attack_text], sending out freezing bolts!") + owner.visible_message(SPAN_DANGER("[src] blocks [attack_text], sending out freezing bolts!")) for(var/mob/living/M in oview(get_turf(src), 7)) shootAt(M) if(prob(10)) //rarely vent gasses - owner.visible_message("[src] vents excess coolant!") + owner.visible_message(SPAN_WARNING("[src] vents excess coolant!")) playsound(loc, 'sound/effects/refill.ogg', 50, TRUE) var/turf/simulated/T = get_turf(src) @@ -571,7 +571,7 @@ E.Copy_Parent(owner, 50) E.GiveTarget(owner) //so it starts running right away E.Goto(owner, E.move_to_delay, E.minimum_distance) - owner.visible_message("[owner] is hit by [attack_text] in the chest!") //We pretend to be hit, since blocking it would stop the message otherwise + owner.visible_message(SPAN_DANGER("[owner] is hit by [attack_text] in the chest!")) //We pretend to be hit, since blocking it would stop the message otherwise owner.make_invisible() disable(rand(4, 5)) //No blocking while invisible addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/living, reset_visibility)), 4 SECONDS) @@ -585,7 +585,7 @@ if(!active) return FALSE if(reaction_check(hitby) && use_power()) - owner.visible_message("[src] blocks [attack_text], sending out arcs of lightning!") + owner.visible_message(SPAN_DANGER("[src] blocks [attack_text], sending out arcs of lightning!")) for(var/mob/living/M in view(6, owner)) if(M == owner) continue @@ -611,7 +611,7 @@ if(!active) return FALSE if(reaction_check(hitby) && use_power()) - owner.visible_message("[src] blocks [attack_text], converting the attack into a wave of force!") + owner.visible_message(SPAN_DANGER("[src] blocks [attack_text], converting the attack into a wave of force!")) use_power() var/list/thrown_atoms = list() for(var/turf/T in range(repulse_range, owner)) //Done this way so things don't get thrown all around hilariously. @@ -628,13 +628,13 @@ if(isliving(AM)) var/mob/living/M = AM M.Weaken(6 SECONDS) - to_chat(M, "You're slammed into the floor by [owner]'s reactive armor!") + to_chat(M, SPAN_USERDANGER("You're slammed into the floor by [owner]'s reactive armor!")) add_attack_logs(owner, M, "[M] was thrown by [owner]'s [src]", ATKLOG_ALMOSTALL) else new sparkle_path(get_turf(AM), get_dir(owner, AM)) if(isliving(AM)) var/mob/living/M = AM - to_chat(M, "You're thrown back by [owner]'s reactive armor!") + to_chat(M, SPAN_USERDANGER("You're thrown back by [owner]'s reactive armor!")) add_attack_logs(owner, M, "[M] was thrown by [owner]'s [src]", ATKLOG_ALMOSTALL) INVOKE_ASYNC(AM, TYPE_PROC_REF(/atom/movable, throw_at), throw_target, ((clamp((repulse_power - (clamp(dist_from_user - 2, 0, dist_from_user))), 3, repulse_power))), 1) //So stuff gets tossed around at the same time. disable(rand(2, 5)) diff --git a/code/modules/clothing/suits/cardborg_suit.dm b/code/modules/clothing/suits/cardborg_suit.dm index 5663ca42a05..5345fa57a52 100644 --- a/code/modules/clothing/suits/cardborg_suit.dm +++ b/code/modules/clothing/suits/cardborg_suit.dm @@ -204,7 +204,7 @@ CONTENTS: if(!istype(H) || !istype(borghead)) return if(species_disguise != borghead.species_disguise) // Ensure the head and body are the same colour. - to_chat(H, "The colours of the cardborg helmet and suit do not match, the disguise is not convincing enough to work!") + to_chat(H, SPAN_WARNING("The colours of the cardborg helmet and suit do not match, the disguise is not convincing enough to work!")) return var/selected_borg_disguise = pick(borghead.available_disguises) var/selected_borg_eyes diff --git a/code/modules/clothing/suits/hood.dm b/code/modules/clothing/suits/hood.dm index 959dfea67d4..8031aa373db 100644 --- a/code/modules/clothing/suits/hood.dm +++ b/code/modules/clothing/suits/hood.dm @@ -60,10 +60,10 @@ if(ishuman(loc)) var/mob/living/carbon/human/H = loc if(H.wear_suit != src) - to_chat(H,"You must be wearing [src] to put up the hood!") + to_chat(H,SPAN_WARNING("You must be wearing [src] to put up the hood!")) return if(H.head) - to_chat(H,"You're already wearing something on your head!") + to_chat(H,SPAN_WARNING("You're already wearing something on your head!")) return else if(H.equip_to_slot_if_possible(hood, ITEM_SLOT_HEAD, FALSE, FALSE)) suit_adjusted = 1 @@ -74,7 +74,7 @@ if((hood?.flags & NODROP) && respects_nodrop) if(ishuman(loc)) var/mob/living/carbon/human/H = loc - to_chat(H, "[hood] is stuck to your head!") + to_chat(H, SPAN_WARNING("[hood] is stuck to your head!")) return RemoveHood() diff --git a/code/modules/clothing/suits/misc_suits.dm b/code/modules/clothing/suits/misc_suits.dm index 0cffaff94d1..655e9a76bfe 100644 --- a/code/modules/clothing/suits/misc_suits.dm +++ b/code/modules/clothing/suits/misc_suits.dm @@ -272,14 +272,14 @@ . = ..() if(slot == ITEM_SLOT_OUTER_SUIT) user.faction += "carp" - to_chat(user, "You feel a something gnash in the back of your mind- the carp are your friends, not your foe.") + to_chat(user, SPAN_CULT("You feel a something gnash in the back of your mind- the carp are your friends, not your foe.")) playsound(loc, 'sound/weapons/bite.ogg', 35, TRUE) /obj/item/clothing/suit/hooded/carp_costume/dragon/dropped(mob/user) . = ..() if(user) user.faction -= "carp" - to_chat(user, "A sudden calm fills the gnashing void of your mind- you're alone now.") + to_chat(user, SPAN_CULT("A sudden calm fills the gnashing void of your mind- you're alone now.")) /mob/living/carbon/human/Process_Spacemove(movement_dir = 0, continuous_move = FALSE) if(istype(wear_suit, /obj/item/clothing/suit/hooded/carp_costume/dragon)) @@ -1297,7 +1297,7 @@ /obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe/examine(mob/user) . = ..() if(isAntag(user)) - . += "This robe is made of totally reinforced fibers, granting it 100% not superficial protection. More importantly the robes also wirelessly generate power for the neurotransmitter in the linked missionary staff while being worn." + . += SPAN_WARNING("This robe is made of totally reinforced fibers, granting it 100% not superficial protection. More importantly the robes also wirelessly generate power for the neurotransmitter in the linked missionary staff while being worn.") /obj/item/clothing/suit/hooded/chaplain_cassock/missionary_robe/Destroy() if(linked_staff) //delink on destruction @@ -1329,12 +1329,12 @@ // Do not allow the staff to recharge if it's more than 3 tiles away from the robe. If get_dist returns 0, the robe and the staff in the same tile. if(!(get_dist(H, linked_staff) <= 3)) if(prob(10)) //10% chance per process should avoid being too spammy, can tweak if it ends up still being too frequent. - to_chat(H, "Your staff is unable to charge at this range. Get closer!") + to_chat(H, SPAN_WARNING("Your staff is unable to charge at this range. Get closer!")) return linked_staff.faith += 5 if(linked_staff.faith >= 100) //if this charge puts the staff at or above full, notify the wearer - to_chat(H, "Faith renewed; ready to convert new followers.") + to_chat(H, SPAN_NOTICE("Faith renewed; ready to convert new followers.")) /obj/item/clothing/suit/tailcoat name = "victorian tailcoat" @@ -1402,7 +1402,7 @@ var/obj/item/clothing/suit/hooded/abaya/abaya = new abaya_type(get_turf(src)) L.unequip(src) L.put_in_active_hand(abaya) - to_chat(L, "You are now wearing \a [choice]. Allahu Akbar!") + to_chat(L, SPAN_NOTICE("You are now wearing \a [choice]. Allahu Akbar!")) qdel(src) /obj/item/clothing/suit/hooded/abaya/attack_self__legacy__attackchain(mob/user) diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index 48848e28e2b..96dbc2d102a 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -15,7 +15,7 @@ helmet.attack_self__legacy__attackchain(H) H.transfer_item_to(helmet, src, force = TRUE) H.update_inv_wear_suit() - to_chat(H, "The helmet on the hardsuit disengages.") + to_chat(H, SPAN_NOTICE("The helmet on the hardsuit disengages.")) playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1) else helmet.forceMove(src) @@ -29,13 +29,13 @@ if(!suit_toggled) if(ishuman(src.loc)) if(H.wear_suit != src) - to_chat(H, "You must be wearing [src] to engage the helmet!") + to_chat(H, SPAN_WARNING("You must be wearing [src] to engage the helmet!")) return if(H.head) - to_chat(H, "You're already wearing something on your head!") + to_chat(H, SPAN_WARNING("You're already wearing something on your head!")) return else if(H.equip_to_slot_if_possible(helmet, ITEM_SLOT_HEAD, FALSE, FALSE)) - to_chat(H, "You engage the helmet on the hardsuit.") + to_chat(H, SPAN_NOTICE("You engage the helmet on the hardsuit.")) suit_toggled = TRUE H.update_inv_wear_suit() playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1) diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 11a4110a95d..8b436ab1bd6 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -52,7 +52,7 @@ has_suit.armor = has_suit.armor.attachArmor(armor) if(user) - to_chat(user, "You attach [src] to [has_suit].") + to_chat(user, SPAN_NOTICE("You attach [src] to [has_suit].")) src.add_fingerprint(user) /obj/item/clothing/accessory/proc/on_removed(mob/user) @@ -85,10 +85,10 @@ if(user == H) U.attach_accessory(src, user, TRUE) return - user.visible_message("[user] is putting a [src.name] on [H]'s [U.name]!", "You begin to put a [src.name] on [H]'s [U.name]...") + user.visible_message(SPAN_NOTICE("[user] is putting a [src.name] on [H]'s [U.name]!"), SPAN_NOTICE("You begin to put a [src.name] on [H]'s [U.name]...")) if(do_after(user, 4 SECONDS, target = H) && H.w_uniform == U) if(U.attach_accessory(src, user, TRUE)) - user.visible_message("[user] puts a [src.name] on [H]'s [U.name]!", "You finish putting a [src.name] on [H]'s [U.name].") + user.visible_message(SPAN_NOTICE("[user] puts a [src.name] on [H]'s [U.name]!"), SPAN_NOTICE("You finish putting a [src.name] on [H]'s [U.name].")) after_successful_nonself_attach(H, user) else to_chat(user, "[H] is not wearing anything to attach \the [src] to.") @@ -136,13 +136,13 @@ /obj/item/clothing/accessory/medal/examine(mob/user) . = ..() if(channel) - . += "The tiny radio inside seems to be [try_announce ? "active" : "inactive"]." + . += SPAN_NOTICE("The tiny radio inside seems to be [try_announce ? "active" : "inactive"].") /obj/item/clothing/accessory/medal/attack_self__legacy__attackchain(mob/user) . = ..() if(channel) try_announce = !try_announce - to_chat(user, "You silently [try_announce ? "enable" : "disable"] the radio in [src].") + to_chat(user, SPAN_NOTICE("You silently [try_announce ? "enable" : "disable"] the radio in [src].")) /obj/item/clothing/accessory/medal/after_successful_nonself_attach(mob/living/carbon/human/H, mob/living/user) if(!channel || !try_announce) @@ -266,7 +266,7 @@ var/turf/simulated/T = get_turf(src) if(istype(T)) T.atmos_spawn_air(LINDA_SPAWN_HEAT | LINDA_SPAWN_TOXINS | LINDA_SPAWN_OXYGEN, 10) //Technically twice as much plasma as it should spawn but a little more never hurt anyone. - visible_message("[src] bursts into flame!") + visible_message(SPAN_WARNING("[src] bursts into flame!")) qdel(src) // Alloy, for the vetus speculator, or abductors I guess. @@ -344,8 +344,8 @@ to_chat(user, "Waving around a badge before swiping an ID would be pretty pointless.") return if(isliving(user)) - user.visible_message("[user] displays [user.p_their()] Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.", - "You display your Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.") + user.visible_message(SPAN_WARNING("[user] displays [user.p_their()] Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security."), + SPAN_WARNING("You display your Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.")) /obj/item/clothing/accessory/holobadge/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, /obj/item/card/id) || istype(I, /obj/item/pda)) @@ -359,27 +359,27 @@ id_card = pda.id if((ACCESS_SEC_DOORS in id_card.access) || emagged) - to_chat(user, "You imprint your ID details onto the badge.") + to_chat(user, SPAN_NOTICE("You imprint your ID details onto the badge.")) stored_name = id_card.registered_name name = "holobadge ([stored_name])" desc = "This glowing blue badge marks [stored_name] as THE LAW." else - to_chat(user, "[src] rejects your insufficient access rights.") + to_chat(user, SPAN_WARNING("[src] rejects your insufficient access rights.")) return ..() /obj/item/clothing/accessory/holobadge/emag_act(mob/user) if(emagged) - to_chat(user, "[src] is already cracked.") + to_chat(user, SPAN_WARNING("[src] is already cracked.")) else emagged = TRUE - to_chat(user, "You swipe the card and crack the holobadge security checks.") + to_chat(user, SPAN_WARNING("You swipe the card and crack the holobadge security checks.")) return TRUE /obj/item/clothing/accessory/holobadge/attack__legacy__attackchain(mob/living/carbon/human/H, mob/living/user) if(H != user) - user.visible_message("[user] invades [H]'s personal space, thrusting [src] into [H.p_their()] face insistently.", - "You invade [H]'s personal space, thrusting [src] into [H.p_their()] face insistently. You are THE LAW!") + user.visible_message(SPAN_WARNING("[user] invades [H]'s personal space, thrusting [src] into [H.p_their()] face insistently."), + SPAN_WARNING("You invade [H]'s personal space, thrusting [src] into [H.p_their()] face insistently. You are THE LAW!")) return ..() @@ -397,12 +397,12 @@ /obj/item/clothing/accessory/legal_badge/attack_self__legacy__attackchain(mob/user) if(prob(1)) user.say("The testimony contradicts the evidence!") - user.visible_message("[user] shows [user.p_their()] [name].", "You show your [name].") + user.visible_message(SPAN_NOTICE("[user] shows [user.p_their()] [name]."), SPAN_NOTICE("You show your [name].")) /obj/item/clothing/accessory/legal_badge/attack__legacy__attackchain(mob/living/carbon/human/H, mob/living/user) if(H != user) - user.visible_message("[user] invades [H]'s personal space, thrusting [src] into [H.p_their()] face insistently.", - "You invade [H]'s personal space, thrusting [src] into [H.p_their()] face insistently. You are [what_you_are]!") + user.visible_message(SPAN_WARNING("[user] invades [H]'s personal space, thrusting [src] into [H.p_their()] face insistently."), + SPAN_WARNING("You invade [H]'s personal space, thrusting [src] into [H.p_their()] face insistently. You are [what_you_are]!")) return ..() @@ -555,10 +555,10 @@ . = ..() var/chosen_pin = show_radial_menu(user, src, flag_icons, require_near = TRUE) if(!chosen_pin) - to_chat(user, "You decide not to change [src].") + to_chat(user, SPAN_NOTICE("You decide not to change [src].")) return var/pin_icon_state = flag_types[chosen_pin] - to_chat(user, "You change [src] to show [chosen_pin].") + to_chat(user, SPAN_NOTICE("You change [src] to show [chosen_pin].")) icon_state = pin_icon_state inv_overlay = mutable_appearance('icons/obj/clothing/accessories_overlay.dmi', icon_state) diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm index 396e888fab1..daa51b2ed4c 100644 --- a/code/modules/clothing/under/accessories/holster.dm +++ b/code/modules/clothing/under/accessories/holster.dm @@ -32,41 +32,41 @@ /obj/item/clothing/accessory/holster/proc/holster(obj/item/I, mob/user as mob) if(holstered) - to_chat(user, "There is already a [holstered] holstered here!") + to_chat(user, SPAN_WARNING("There is already a [holstered] holstered here!")) return if(!isgun(I)) - to_chat(user, "Only guns can be holstered!") + to_chat(user, SPAN_WARNING("Only guns can be holstered!")) return var/obj/item/gun/W = I if(!can_holster(W)) - to_chat(user, "This [W.name] won't fit in [src]!") + to_chat(user, SPAN_WARNING("This [W.name] won't fit in [src]!")) return if(!user.canUnEquip(W, 0)) - to_chat(user, "You can't let go of [W]!") + to_chat(user, SPAN_WARNING("You can't let go of [W]!")) return holstered = W user.unequip(holstered) holstered.forceMove(src) holstered.add_fingerprint(user) - user.visible_message("[user] holsters [holstered].", "You holster [holstered].") + user.visible_message(SPAN_NOTICE("[user] holsters [holstered]."), SPAN_NOTICE("You holster [holstered].")) /obj/item/clothing/accessory/holster/proc/unholster(mob/user as mob) if(!holstered) return if(isobj(user.get_active_hand()) && isobj(user.get_inactive_hand())) - to_chat(user, "You need an empty hand to draw [holstered]!") + to_chat(user, SPAN_WARNING("You need an empty hand to draw [holstered]!")) else if(user.a_intent == INTENT_HARM) - usr.visible_message("[user] draws [holstered], ready to shoot!", \ - "You draw [holstered], ready to shoot!") + usr.visible_message(SPAN_WARNING("[user] draws [holstered], ready to shoot!"), \ + SPAN_WARNING("You draw [holstered], ready to shoot!")) else - user.visible_message("[user] draws [holstered], pointing it at the ground.", \ - "You draw [holstered], pointing it at the ground.") + user.visible_message(SPAN_NOTICE("[user] draws [holstered], pointing it at the ground."), \ + SPAN_NOTICE("You draw [holstered], pointing it at the ground.")) user.put_in_hands(holstered) holstered.add_fingerprint(user) holstered = null @@ -102,7 +102,7 @@ if(!holstered) var/obj/item/gun/gun = user.get_active_hand() if(!istype(gun)) - to_chat(user, "You need your gun equipped to holster it.") + to_chat(user, SPAN_WARNING("You need your gun equipped to holster it.")) return holster(gun, user) else diff --git a/code/modules/clothing/under/accessories/storage_accessories.dm b/code/modules/clothing/under/accessories/storage_accessories.dm index 5f705a5dda4..1b72e86b475 100644 --- a/code/modules/clothing/under/accessories/storage_accessories.dm +++ b/code/modules/clothing/under/accessories/storage_accessories.dm @@ -65,7 +65,7 @@ if(has_suit) //if we are part of a suit hold.open(user) else - to_chat(user, "You empty [src].") + to_chat(user, SPAN_NOTICE("You empty [src].")) var/turf/T = get_turf(src) hold.hide_from(usr) for(var/obj/item/I in hold.contents) diff --git a/code/modules/clothing/under/jobs/engineering_jumpsuits.dm b/code/modules/clothing/under/jobs/engineering_jumpsuits.dm index 5da39d286d8..2abce6e88d7 100644 --- a/code/modules/clothing/under/jobs/engineering_jumpsuits.dm +++ b/code/modules/clothing/under/jobs/engineering_jumpsuits.dm @@ -59,7 +59,7 @@ var/list/slot_must_be_empty = list(ITEM_SLOT_BACK,ITEM_SLOT_HANDCUFFED,ITEM_SLOT_LEGCUFFED,ITEM_SLOT_LEFT_HAND,ITEM_SLOT_RIGHT_HAND,ITEM_SLOT_BELT,ITEM_SLOT_HEAD,ITEM_SLOT_OUTER_SUIT) for(var/slot_id in slot_must_be_empty) if(user.get_item_by_slot(slot_id)) - to_chat(user,"You can't fit inside while wearing \the [user.get_item_by_slot(slot_id)].") + to_chat(user,SPAN_WARNING("You can't fit inside while wearing \the [user.get_item_by_slot(slot_id)].")) return 0 return 1 diff --git a/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm b/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm index d00c351110c..92874687a06 100644 --- a/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm +++ b/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm @@ -19,7 +19,7 @@ /obj/item/clothing/under/plasmaman/examine(mob/user) . = ..() - . += "There are [extinguishes_left] extinguisher charges left in this suit." + . += SPAN_NOTICE("There are [extinguishes_left] extinguisher charges left in this suit.") /obj/item/clothing/under/plasmaman/proc/Extinguish(mob/living/carbon/human/H) if(!istype(H)) @@ -31,9 +31,9 @@ return next_extinguish = world.time + extinguish_cooldown extinguishes_left-- - H.visible_message("[H]'s suit automatically extinguishes [H.p_them()]!","Your suit automatically extinguishes you.") + H.visible_message(SPAN_WARNING("[H]'s suit automatically extinguishes [H.p_them()]!"),SPAN_WARNING("Your suit automatically extinguishes you.")) if(!extinguishes_left) - to_chat(H, "Onboard auto-extinguisher depleted, refill with a cartridge.") + to_chat(H, SPAN_WARNING("Onboard auto-extinguisher depleted, refill with a cartridge.")) playsound(H.loc, 'sound/effects/spray.ogg', 10, TRUE, -3) H.ExtinguishMob() new /obj/effect/particle_effect/water(get_turf(H)) @@ -42,11 +42,11 @@ /obj/item/clothing/under/plasmaman/attackby__legacy__attackchain(obj/item/E, mob/user, params) if(istype(E, /obj/item/extinguisher_refill)) if(extinguishes_left == 5) - to_chat(user, "The inbuilt extinguisher is full.") + to_chat(user, SPAN_NOTICE("The inbuilt extinguisher is full.")) return else extinguishes_left = 5 - to_chat(user, "You refill the suit's built-in extinguisher, using up the cartridge.") + to_chat(user, SPAN_NOTICE("You refill the suit's built-in extinguisher, using up the cartridge.")) qdel(E) else return ..() diff --git a/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm b/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm index f9c33828081..3cb7da3f1ed 100644 --- a/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm +++ b/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm @@ -84,7 +84,7 @@ return next_extinguish = world.time + extinguish_cooldown extinguishes_left-- - H.visible_message("[H]'s suit spews out a tonne of space lube!", "Your suit spews out a tonne of space lube!") + H.visible_message(SPAN_WARNING("[H]'s suit spews out a tonne of space lube!"), SPAN_WARNING("Your suit spews out a tonne of space lube!")) H.ExtinguishMob() new /obj/effect/particle_effect/foam(loc) //Truely terrifying. return FALSE diff --git a/code/modules/clothing/under/jobs/plasmamen/engineering_plasmasuits.dm b/code/modules/clothing/under/jobs/plasmamen/engineering_plasmasuits.dm index 861f68bd79e..bfdd8185672 100644 --- a/code/modules/clothing/under/jobs/plasmamen/engineering_plasmasuits.dm +++ b/code/modules/clothing/under/jobs/plasmamen/engineering_plasmasuits.dm @@ -37,6 +37,6 @@ var/list/slot_must_be_empty = list(ITEM_SLOT_BACK, ITEM_SLOT_HANDCUFFED, ITEM_SLOT_LEGCUFFED, ITEM_SLOT_LEFT_HAND, ITEM_SLOT_RIGHT_HAND, ITEM_SLOT_BELT, ITEM_SLOT_OUTER_SUIT) for(var/slot_id in slot_must_be_empty) if(user.get_item_by_slot(slot_id)) - to_chat(user,"You can't fit inside while wearing [user.get_item_by_slot(slot_id)].") + to_chat(user,SPAN_WARNING("You can't fit inside while wearing [user.get_item_by_slot(slot_id)].")) return FALSE return TRUE diff --git a/code/modules/clothing/under/jobs/procedure.dm b/code/modules/clothing/under/jobs/procedure.dm index b745be31c2a..0b5440e920b 100644 --- a/code/modules/clothing/under/jobs/procedure.dm +++ b/code/modules/clothing/under/jobs/procedure.dm @@ -119,7 +119,7 @@ /obj/item/clothing/under/rank/procedure/iaa/formal/goodman/examine(mob/user) . = ..() - . += "Now all you need is a law degree and a job that actually deals with the law..." // But don't get any ideas about it meaning anything. + . += SPAN_NOTICE("Now all you need is a law degree and a job that actually deals with the law...") // But don't get any ideas about it meaning anything. /obj/item/clothing/under/rank/procedure/iaa/formal/goodman/skirt name = "criminal lawyer skirt" diff --git a/code/modules/clothing/under/syndicate_jumpsuits.dm b/code/modules/clothing/under/syndicate_jumpsuits.dm index e5889480486..e761304c256 100644 --- a/code/modules/clothing/under/syndicate_jumpsuits.dm +++ b/code/modules/clothing/under/syndicate_jumpsuits.dm @@ -44,11 +44,11 @@ if(slot == ITEM_SLOT_JUMPSUIT) ADD_TRAIT(user, TRAIT_AI_UNTRACKABLE, "silicon_cham[UID()]") user.set_invisible(SEE_INVISIBLE_LIVING) - to_chat(user, "You feel a slight shiver as the cybernetic obfuscators activate.") + to_chat(user, SPAN_NOTICE("You feel a slight shiver as the cybernetic obfuscators activate.")) /obj/item/clothing/under/syndicate/silicon_cham/dropped(mob/user) . = ..() if(user) REMOVE_TRAIT(user, TRAIT_AI_UNTRACKABLE, "silicon_cham[UID()]") user.set_invisible(INVISIBILITY_MINIMUM) - to_chat(user, "You feel a slight shiver as the cybernetic obfuscators deactivate.") + to_chat(user, SPAN_NOTICE("You feel a slight shiver as the cybernetic obfuscators deactivate.")) diff --git a/code/modules/cooking/autochef/autochef.dm b/code/modules/cooking/autochef/autochef.dm index eeeb1287af1..9eef34ef640 100644 --- a/code/modules/cooking/autochef/autochef.dm +++ b/code/modules/cooking/autochef/autochef.dm @@ -25,9 +25,9 @@ RESTRICT_TYPE(/obj/machinery/autochef) /obj/machinery/autochef/examine(mob/user) . = ..() - . += "Specify the desired output by using a food item on [src]." - . += "Start, pause, or restart [src] by clicking on it." - . += "Alt-Click to reset and clear all pending recipes." + . += SPAN_NOTICE("Specify the desired output by using a food item on [src].") + . += SPAN_NOTICE("Start, pause, or restart [src] by clicking on it.") + . += SPAN_NOTICE("Alt-Click to reset and clear all pending recipes.") /obj/machinery/autochef/Initialize(mapload) . = ..() @@ -86,7 +86,7 @@ RESTRICT_TYPE(/obj/machinery/autochef) UnregisterSignal(storage, COMSIG_PARENT_QDELETING) if(!length(remote.linkable_machine_uids)) - to_chat(user, "You unlink all items from [src].") + to_chat(user, SPAN_NOTICE("You unlink all items from [src].")) for(var/uid in remote.linkable_machine_uids) var/obj = locateUID(uid) @@ -104,9 +104,9 @@ RESTRICT_TYPE(/obj/machinery/autochef) if(success) RegisterSignal(obj, COMSIG_PARENT_QDELETING, PROC_REF(unlink), override = TRUE) - to_chat(user, "[obj] is registered to [src].") + to_chat(user, SPAN_NOTICE("[obj] is registered to [src].")) else - to_chat(user, "[obj] failed to register to [src].") + to_chat(user, SPAN_NOTICE("[obj] failed to register to [src].")) return ITEM_INTERACT_COMPLETE @@ -163,7 +163,7 @@ RESTRICT_TYPE(/obj/machinery/autochef) if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return panel_open = !panel_open - to_chat(user, "You screw [src]'s panel [panel_open ? "open" : "closed"].") + to_chat(user, SPAN_NOTICE("You screw [src]'s panel [panel_open ? "open" : "closed"].")) update_icon() /obj/machinery/autochef/wrench_act(mob/user, obj/item/I) diff --git a/code/modules/cooking/cooking_container.dm b/code/modules/cooking/cooking_container.dm index 483d4f6f14e..faafff57cdd 100644 --- a/code/modules/cooking/cooking_container.dm +++ b/code/modules/cooking/cooking_container.dm @@ -62,7 +62,7 @@ . = ..() if(length(contents)) . += get_content_info() - . += "Alt-Click to remove all items and reagents from this." + . += SPAN_NOTICE("Alt-Click to remove all items and reagents from this.") /obj/item/reagent_containers/cooking/build_reagent_description(mob/user) . = list() @@ -70,10 +70,10 @@ return var/one_percent = reagents.total_volume / 100 if(length(reagents.reagent_list)) - . += "It contains:" + . += SPAN_NOTICE("It contains:") for(var/I in reagents.reagent_list) var/datum/reagent/R = I - . += "[R.volume] units of [R] ([round(R.volume / one_percent)]%)" + . += SPAN_NOTICE("[R.volume] units of [R] ([round(R.volume / one_percent)]%)") /obj/item/reagent_containers/cooking/proc/get_content_info() return "It contains [english_list(contents)]." @@ -116,7 +116,7 @@ tracker.recipes_last_completed_step[recipe] = 0 if(!tracker && (length(contents) || reagents.total_volume != 0)) - to_chat(user, "\The [src] is full. Empty its contents first.") + to_chat(user, SPAN_NOTICE("\The [src] is full. Empty its contents first.")) return PCWJ_CONTAINER_FULL var/process_reaction = tracker.process_item_wrap(user, used) @@ -139,27 +139,27 @@ return if(tracker.step_reaction_message) - to_chat(user, "[tracker.step_reaction_message]") + to_chat(user, SPAN_NOTICE("[tracker.step_reaction_message]")) tracker.step_reaction_message = null else - to_chat(user, "You don't know what you'd begin to make with this.") + to_chat(user, SPAN_NOTICE("You don't know what you'd begin to make with this.")) return switch(reaction_status) if(PCWJ_NO_RECIPES) - to_chat(user, "You don't know what you'd begin to make with this.") + to_chat(user, SPAN_NOTICE("You don't know what you'd begin to make with this.")) if(PCWJ_NO_STEPS) - to_chat(user, "You get a feeling this wouldn't improve the recipe.") + to_chat(user, SPAN_NOTICE("You get a feeling this wouldn't improve the recipe.")) if(PCWJ_SUCCESS, PCWJ_PARTIAL_SUCCESS) if(tracker.step_reaction_message && ismob(user)) - to_chat(user, "[tracker.step_reaction_message]") + to_chat(user, SPAN_NOTICE("[tracker.step_reaction_message]")) update_appearance(UPDATE_ICON) if(PCWJ_COMPLETE) if(tracker.step_reaction_message && ismob(user)) - to_chat(user, "[tracker.step_reaction_message]") - to_chat(user, "You finish cooking with [src].") + to_chat(user, SPAN_NOTICE("[tracker.step_reaction_message]")) + to_chat(user, SPAN_NOTICE("You finish cooking with [src].")) QDEL_NULL(tracker) clear_cooking_data() update_appearance(UPDATE_ICON) @@ -195,7 +195,7 @@ AM.forceMove(get_turf(target)) if(ismob(user)) - to_chat(user, "You remove everything from [src].") + to_chat(user, SPAN_NOTICE("You remove everything from [src].")) if(reagent_clear) reagents.clear_reagents() @@ -208,7 +208,7 @@ /obj/item/reagent_containers/cooking/wash(mob/user, atom/source) if(reagents.total_volume >= volume) - to_chat(user, "[src] is full.") + to_chat(user, SPAN_WARNING("[src] is full.")) else var/obj/item/reagent_containers/temp/temp_container = new() process_item(user, temp_container) diff --git a/code/modules/cooking/machines/cooking_machine.dm b/code/modules/cooking/machines/cooking_machine.dm index 6d886364ec7..6d3659c7f3c 100644 --- a/code/modules/cooking/machines/cooking_machine.dm +++ b/code/modules/cooking/machines/cooking_machine.dm @@ -79,7 +79,7 @@ RESTRICT_TYPE(/obj/machinery/cooking) . = TRUE if(user.a_intent == INTENT_HELP) panel_open = !panel_open - to_chat(user, "You screw [src]'s panel [panel_open ? "open" : "closed"].") + to_chat(user, SPAN_NOTICE("You screw [src]'s panel [panel_open ? "open" : "closed"].")) update_appearance() if(panel_open) machine_state_change() @@ -136,7 +136,7 @@ RESTRICT_TYPE(/obj/machinery/cooking) for(var/allowed_container_type in allowed_containers) if(istype(used, allowed_container_type)) if(ismob(user)) - to_chat(user, "You put [used] on [src].") + to_chat(user, SPAN_NOTICE("You put [used] on [src].")) if(user.drop_item()) used.forceMove(src) else diff --git a/code/modules/cooking/machines/cooking_surface.dm b/code/modules/cooking/machines/cooking_surface.dm index 34e82e027b9..c0db390f27d 100644 --- a/code/modules/cooking/machines/cooking_surface.dm +++ b/code/modules/cooking/machines/cooking_surface.dm @@ -25,9 +25,9 @@ RESTRICT_TYPE(/datum/cooking_surface) /datum/cooking_surface/proc/container_examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER // COMSIG_PARENT_EXAMINE - examine_list += "[examine_text()]" + examine_list += SPAN_NOTICE("[examine_text()]") if(timer) - examine_list += "Its alarm is configured for [timer / (1 SECONDS)] seconds." + examine_list += SPAN_NOTICE("Its alarm is configured for [timer / (1 SECONDS)] seconds.") /datum/cooking_surface/proc/examine_text() return "This [surface_name] will cook at [temperature] temperature." diff --git a/code/modules/cooking/machines/deep_fryer.dm b/code/modules/cooking/machines/deep_fryer.dm index 4bc306d219e..565c84fa151 100644 --- a/code/modules/cooking/machines/deep_fryer.dm +++ b/code/modules/cooking/machines/deep_fryer.dm @@ -31,7 +31,7 @@ /obj/machinery/cooking/deepfryer/examine(mob/user) . = ..() - . += "Ctrl-Click on a basin to set its timer and toggle it on or off." + . += SPAN_NOTICE("Ctrl-Click on a basin to set its timer and toggle it on or off.") #define ICON_SPLIT_X 16 #define ICON_SPLIT_Y 16 @@ -66,7 +66,7 @@ which_hand = "r_hand" burn_victim.adjustFireLossByPart(20, which_hand) - to_chat(burn_victim, "You burn your hand a little taking [surface.container] off of [src].") + to_chat(burn_victim, SPAN_DANGER("You burn your hand a little taking [surface.container] off of [src].")) user.put_in_hands(surface.container) surface.UnregisterSignal(surface.container, COMSIG_PARENT_EXAMINE) diff --git a/code/modules/cooking/machines/grill.dm b/code/modules/cooking/machines/grill.dm index 49705a631b7..69653a38514 100644 --- a/code/modules/cooking/machines/grill.dm +++ b/code/modules/cooking/machines/grill.dm @@ -8,7 +8,7 @@ if(!on) if(grill.stored_wood <= 0) - to_chat(user, "There is no wood in the grill. Insert some planks first.") + to_chat(user, SPAN_NOTICE("There is no wood in the grill. Insert some planks first.")) return return ..() @@ -60,8 +60,8 @@ /obj/machinery/cooking/grill/examine(mob/user) . = ..() - . += "It contains [round(stored_wood, 0.01)]/[wood_maximum] units of charcoal." - . += "Ctrl-Click on a surface to set its timer, temperature, and toggle it on or off." + . += SPAN_NOTICE("It contains [round(stored_wood, 0.01)]/[wood_maximum] units of charcoal.") + . += SPAN_NOTICE("Ctrl-Click on a surface to set its timer, temperature, and toggle it on or off.") /obj/machinery/cooking/grill/process() . = ..() @@ -105,9 +105,9 @@ var/obj/item/stack/sheet/wood/stack = used var/used_sheets = min(stack.get_amount(), (wood_maximum - stored_wood)) if(!used_sheets) - to_chat(user, "The grill's hopper is full.") + to_chat(user, SPAN_NOTICE("The grill's hopper is full.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You add [used_sheets] wood plank\s into [src]'s hopper.") + to_chat(user, SPAN_NOTICE("You add [used_sheets] wood plank\s into [src]'s hopper.")) if(!stack.use(used_sheets)) qdel(stack) // Protects against weirdness stored_wood += used_sheets @@ -140,7 +140,7 @@ if(J_LO) burn_victim.adjustFireLossByPart(1, which_hand) - to_chat(burn_victim, "You burn your hand a little taking [surface.container] off of [src].") + to_chat(burn_victim, SPAN_DANGER("You burn your hand a little taking [surface.container] off of [src].")) user.put_in_hands(surface.container) surface.UnregisterSignal(surface.container, COMSIG_PARENT_EXAMINE) diff --git a/code/modules/cooking/machines/ice_cream_mixer.dm b/code/modules/cooking/machines/ice_cream_mixer.dm index 6cd3edaad24..a1543008511 100644 --- a/code/modules/cooking/machines/ice_cream_mixer.dm +++ b/code/modules/cooking/machines/ice_cream_mixer.dm @@ -28,7 +28,7 @@ /obj/machinery/cooking/ice_cream_mixer/examine(mob/user) . = ..() - . += "Ctrl-Click to set its timer and toggle it on or off." + . += SPAN_NOTICE("Ctrl-Click to set its timer and toggle it on or off.") /obj/machinery/cooking/ice_cream_mixer/clickpos_to_surface(modifiers) return 1 @@ -39,7 +39,7 @@ return if(surface.on) - to_chat(user, "\The [src] must be off to retrieve its contents.") + to_chat(user, SPAN_NOTICE("\The [src] must be off to retrieve its contents.")) return user.put_in_hands(surface.container) diff --git a/code/modules/cooking/machines/oven.dm b/code/modules/cooking/machines/oven.dm index 8929ee6cacc..16d0671546c 100644 --- a/code/modules/cooking/machines/oven.dm +++ b/code/modules/cooking/machines/oven.dm @@ -36,7 +36,7 @@ /obj/machinery/cooking/oven/examine(mob/user) . = ..() - . += "Ctrl-Click to set its timer, temperature, and toggle it on or off." + . += SPAN_NOTICE("Ctrl-Click to set its timer, temperature, and toggle it on or off.") /obj/machinery/cooking/oven/RefreshParts() ..() diff --git a/code/modules/cooking/machines/stovetop.dm b/code/modules/cooking/machines/stovetop.dm index 3fec01ee147..51f0118de52 100644 --- a/code/modules/cooking/machines/stovetop.dm +++ b/code/modules/cooking/machines/stovetop.dm @@ -29,7 +29,7 @@ /obj/machinery/cooking/stovetop/examine(mob/user) . = ..() - . += "Ctrl-Click on a burner to set its timer, temperature, and toggle it on or off." + . += SPAN_NOTICE("Ctrl-Click on a burner to set its timer, temperature, and toggle it on or off.") #define ICON_SPLIT_X 16 #define ICON_SPLIT_Y 21 @@ -71,7 +71,7 @@ if(J_LO) burn_victim.adjustFireLossByPart(1, which_hand) - to_chat(burn_victim, "You burn your hand a little taking [burner.container] off of the stove.") + to_chat(burn_victim, SPAN_DANGER("You burn your hand a little taking [burner.container] off of the stove.")) user.put_in_hands(burner.container) burner.UnregisterSignal(burner.container, COMSIG_PARENT_EXAMINE) burner.container = null diff --git a/code/modules/cooking/recipe_tracker.dm b/code/modules/cooking/recipe_tracker.dm index e202c5567ab..2853dfe6335 100644 --- a/code/modules/cooking/recipe_tracker.dm +++ b/code/modules/cooking/recipe_tracker.dm @@ -174,7 +174,7 @@ if(user && user.Adjacent(container)) if(result) - to_chat(user, "You have completed \a [result]!") + to_chat(user, SPAN_NOTICE("You have completed \a [result]!")) else log_debug("failure to create result for recipe tracker") diff --git a/code/modules/cooking/steps/recipe_step_add_item.dm b/code/modules/cooking/steps/recipe_step_add_item.dm index f2ec53c5832..51af9ab4fee 100644 --- a/code/modules/cooking/steps/recipe_step_add_item.dm +++ b/code/modules/cooking/steps/recipe_step_add_item.dm @@ -68,12 +68,12 @@ RESTRICT_TYPE(/datum/cooking/recipe_step/add_item) new stack_type(container, 1) return list(message = "You add one of \the [stack.name] to \the [container].", stack_added = stack_type) else - to_chat(user, "You can't remove one of \the [stack.name] from the stack!") + to_chat(user, SPAN_NOTICE("You can't remove one of \the [stack.name] from the stack!")) return list() if(user.unequip(used_item)) used_item.forceMove(container) else - to_chat(user, "You can't remove [used_item] from your hands!") + to_chat(user, SPAN_NOTICE("You can't remove [used_item] from your hands!")) return list() else used_item.forceMove(container) diff --git a/code/modules/cooking/steps/recipe_step_add_produce.dm b/code/modules/cooking/steps/recipe_step_add_produce.dm index 920d66bf385..bbe8c0f92b6 100644 --- a/code/modules/cooking/steps/recipe_step_add_produce.dm +++ b/code/modules/cooking/steps/recipe_step_add_produce.dm @@ -51,7 +51,7 @@ RESTRICT_TYPE(/datum/cooking/recipe_step/add_produce) if(user.unequip(used_item)) used_item.forceMove(container) else - to_chat(user, "You can't remove [used_item] from your hands!") + to_chat(user, SPAN_NOTICE("You can't remove [used_item] from your hands!")) return list() else used_item.forceMove(container) diff --git a/code/modules/crafting/craft.dm b/code/modules/crafting/craft.dm index 9ee1c0bb0bb..16e7520817f 100644 --- a/code/modules/crafting/craft.dm +++ b/code/modules/crafting/craft.dm @@ -364,11 +364,11 @@ SStgui.update_uis(src) var/fail_msg = construct_item(usr, TR) if(!fail_msg) - to_chat(usr, "[TR.name] constructed.") + to_chat(usr, SPAN_NOTICE("[TR.name] constructed.")) if(TR.alert_admins_on_craft) message_admins("[key_name_admin(usr)] has created a [TR.name] at [ADMIN_COORDJMP(usr)]") else - to_chat(usr, "Construction failed[fail_msg]") + to_chat(usr, SPAN_WARNING("Construction failed[fail_msg]")) busy = FALSE SStgui.update_uis(src) diff --git a/code/modules/crafting/guncrafting.dm b/code/modules/crafting/guncrafting.dm index 14aa4c539ff..b5cb1a23505 100644 --- a/code/modules/crafting/guncrafting.dm +++ b/code/modules/crafting/guncrafting.dm @@ -124,7 +124,7 @@ if(!istype(gunkit_to_use)) return if(!gunkit_to_use.outcome) - to_chat(user, "That gunkit can not be used to craft a weapon.") + to_chat(user, SPAN_WARNING("That gunkit can not be used to craft a weapon.")) return playsound(user, 'sound/items/drill_use.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) @@ -168,7 +168,7 @@ var/obj/item/weaponcrafting/ishotgunconstruction2/C = new /obj/item/weaponcrafting/ishotgunconstruction2 user.unequip(src) user.put_in_hands(C) - to_chat(user, "You screw the pins into place, securing the pipe to the receiver.") + to_chat(user, SPAN_NOTICE("You screw the pins into place, securing the pipe to the receiver.")) qdel(src) return TRUE @@ -202,9 +202,9 @@ var/obj/item/gun/projectile/revolver/doublebarrel/improvised/W = new /obj/item/gun/projectile/revolver/doublebarrel/improvised user.unequip(src) user.put_in_hands(W) - to_chat(user, "You tie the wrapping paper around the stock and the barrel to secure it.") + to_chat(user, SPAN_NOTICE("You tie the wrapping paper around the stock and the barrel to secure it.")) qdel(src) else - to_chat(user, "You need at least five feet of wrapping paper to secure the stock.") + to_chat(user, SPAN_WARNING("You need at least five feet of wrapping paper to secure the stock.")) return diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 433ef12ad86..f193b4344a6 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -45,8 +45,8 @@ /obj/item/fluff/tattoo_gun/attack__legacy__attackchain(mob/living/carbon/M as mob, mob/user as mob) if(user.a_intent == INTENT_HARM) - user.visible_message("[user] stabs [M] with [src]!", "You stab [M] with [src]!") - to_chat(M, "[user] stabs you with [src]!
You feel a tiny prick!") + user.visible_message(SPAN_WARNING("[user] stabs [M] with [src]!"), SPAN_WARNING("You stab [M] with [src]!")) + to_chat(M, SPAN_USERDANGER("[user] stabs you with [src]!
You feel a tiny prick!")) return if(used) @@ -76,10 +76,10 @@ to_chat(user, "You use [src] to apply a [tattoo_name] to yourself!") else - user.visible_message("[user] begins to apply a [tattoo_name] [target] with [src].", "You begin to tattoo [target] with [src]!") + user.visible_message(SPAN_NOTICE("[user] begins to apply a [tattoo_name] [target] with [src]."), SPAN_NOTICE("You begin to tattoo [target] with [src]!")) if(!do_after(user, 30 * toolspeed, target = M)) return - user.visible_message("[user] finishes the [tattoo_name] on [target].", "You finish the [tattoo_name].") + user.visible_message(SPAN_NOTICE("[user] finishes the [tattoo_name] on [target]."), SPAN_NOTICE("You finish the [tattoo_name].")) if(!used) // No exploiting do_after to tattoo multiple folks. target.change_markings(tattoo_icon, "body") @@ -116,12 +116,12 @@ tattoo_g = color2G(ink_color) tattoo_b = color2B(ink_color) - to_chat(user, "You change the color setting on [src].") + to_chat(user, SPAN_NOTICE("You change the color setting on [src].")) update_icon() else - to_chat(user, "[src] is out of ink!") + to_chat(user, SPAN_NOTICE("[src] is out of ink!")) /// BirdtTalon: Kahkiri /obj/item/fluff/bird_painter @@ -170,7 +170,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' /obj/item/fluff/rsik_katana/suicide_act(mob/user) - user.visible_message("[user] tries to stab [src] into [user.p_their()] stomach! Except [src] shatters! [user.p_they(TRUE)] look[user.p_s()] as if [user.p_they()] might die from the shame.") + user.visible_message(SPAN_SUICIDE("[user] tries to stab [src] into [user.p_their()] stomach! Except [src] shatters! [user.p_they(TRUE)] look[user.p_s()] as if [user.p_they()] might die from the shame.")) return BRUTELOSS /// Zomgponies: Griffin Rowley @@ -215,7 +215,7 @@ return if(istype(target, /obj/structure/chair/wheelchair)) - to_chat(user, "You modify the appearance of [target].") + to_chat(user, SPAN_NOTICE("You modify the appearance of [target].")) var/obj/structure/chair/wheelchair/chair = target chair.icon = 'icons/obj/custom_items.dmi' chair.icon_state = "vox_wheelchair" @@ -225,7 +225,7 @@ qdel(src) return - to_chat(user, "You can't modify [target]!") + to_chat(user, SPAN_WARNING("You can't modify [target]!")) // Custom zippo lighters /obj/item/lighter/zippo/fluff @@ -271,7 +271,7 @@ force = 2 /obj/item/fluff/dogwhistle/attack_self__legacy__attackchain(mob/user) - user.visible_message("[user] blows on the whistle, but no sound comes out.", "You blow on the whistle, but don't hear anything.") + user.visible_message(SPAN_NOTICE("[user] blows on the whistle, but no sound comes out."), SPAN_NOTICE("You blow on the whistle, but don't hear anything.")) addtimer(CALLBACK(src, PROC_REF(summon_sax), user), 20) /obj/item/fluff/dogwhistle/proc/summon_sax(mob/user) @@ -281,8 +281,8 @@ var/obj/item/clothing/head/det_hat/D = new D.set_nodrop(TRUE, loc) C.place_on_head(D) - C.visible_message("[C] suddenly winks into existence at [user]'s feet!") - to_chat(user, "[src] crumbles to dust in your hands!") + C.visible_message(SPAN_NOTICE("[C] suddenly winks into existence at [user]'s feet!")) + to_chat(user, SPAN_DANGER("[src] crumbles to dust in your hands!")) user.drop_item() qdel(src) @@ -321,7 +321,7 @@ return if(target.change_body_accessory("Jay Wingler Tail")) - to_chat(target, "You comb your tail with [src].") + to_chat(target, SPAN_NOTICE("You comb your tail with [src].")) used = TRUE /// DesolateG: Micheal Smith @@ -336,10 +336,10 @@ return if(!istype(target, /obj/item/clothing/suit/armor/hos)) - to_chat(user, "You can't modify [target]!") + to_chat(user, SPAN_WARNING("You can't modify [target]!")) return - to_chat(user, "You modify the appearance of [target].") + to_chat(user, SPAN_NOTICE("You modify the appearance of [target].")) var/obj/item/clothing/suit/armor/jacket = target jacket.icon_state = "desolate_coat_open" jacket.icon = 'icons/obj/custom_items.dmi' @@ -368,7 +368,7 @@ return if(istype(target, /obj/item/clothing/mask/gas) && !istype(target, /obj/item/clothing/mask/gas/welding)) - to_chat(user, "You modify the appearance of [target].") + to_chat(user, SPAN_NOTICE("You modify the appearance of [target].")) var/obj/item/clothing/mask/gas/M = target M.name = "Prescription Gas Mask" M.desc = "It looks heavily modified, but otherwise functions as a gas mask. The words \"Property of Yon-Dale\" can be seen on the inner band." @@ -381,7 +381,7 @@ qdel(src) return - to_chat(user, "You can't modify [target]!") + to_chat(user, SPAN_WARNING("You can't modify [target]!")) /// DesolateG: Micheal Smith /obj/item/fluff/desolate_baton_kit @@ -396,7 +396,7 @@ return if(istype(target, /obj/item/melee/baton) && !istype(target, /obj/item/melee/baton/cattleprod)) - to_chat(user, "You modify the appearance of [target].") + to_chat(user, SPAN_NOTICE("You modify the appearance of [target].")) var/obj/item/melee/baton/the_baton = target the_baton.icon = 'icons/obj/custom_items.dmi' the_baton.base_icon = "desolate_baton" @@ -407,7 +407,7 @@ qdel(src) return - to_chat(user, "You can't modify [target]!") + to_chat(user, SPAN_WARNING("You can't modify [target]!")) /// captain cardgage: Richard Ulery /obj/item/fluff/cardgage_helmet_kit @@ -421,14 +421,14 @@ return if(istype(target, /obj/item/clothing/head/welding)) - to_chat(user, "You modify the appearance of [target].") + to_chat(user, SPAN_NOTICE("You modify the appearance of [target].")) var/obj/item/clothing/head/welding/flamedecal/P = new(get_turf(target)) target.transfer_fingerprints_to(P) qdel(target) qdel(src) return - to_chat(user, "You can't modify [target]!") + to_chat(user, SPAN_WARNING("You can't modify [target]!")) /// Travelling Merchant: Trav Noble. This is what they spawn in with /obj/item/fluff/merchant_sallet_modkit @@ -465,12 +465,12 @@ sallet.add_fingerprint(H) target.transfer_fingerprints_to(sallet) playsound(src.loc, 'sound/items/screwdriver.ogg', 50, 1) - to_chat(user, "You modify [target] with [src].") + to_chat(user, SPAN_NOTICE("You modify [target] with [src].")) H.update_inv_head() qdel(target) qdel(src) else - to_chat(user, "You can't modify [target]!") + to_chat(user, SPAN_WARNING("You can't modify [target]!")) /// IK3I: Yakikatachi /obj/item/fluff/k3_webbing_modkit @@ -488,12 +488,12 @@ var/obj/item/clothing/suit/storage/S = target var/obj/item/clothing/suit/storage/fluff/k3_webbing/webbing = new(get_turf(target)) webbing.allowed = S.allowed - to_chat(user, "You modify [S] with [src].") + to_chat(user, SPAN_NOTICE("You modify [S] with [src].")) H.update_inv_wear_suit() qdel(S) qdel(src) else - to_chat(user, "You can't modify [target]!") + to_chat(user, SPAN_WARNING("You can't modify [target]!")) // These two fluff items are commented out due to the transfer to MODsuits breaking these. Sprites are still in custom_items.dmi , but they need a resprite to work with MODsuits. /// DarkLordpyro: Valthorne Haliber @@ -510,9 +510,9 @@ if(istype(target, /obj/item/clothing/head/helmet/space/hardsuit/security)) if(used & USED_MOD_HELM) - to_chat(H, "The kit's helmet modifier has already been used.") + to_chat(H, SPAN_NOTICE("The kit's helmet modifier has already been used.")) return - to_chat(H, "You modify the appearance of [target].") + to_chat(H, SPAN_NOTICE("You modify the appearance of [target].")) used |= USED_MOD_HELM var/obj/item/clothing/head/helmet/space/hardsuit/security/P = target @@ -530,9 +530,9 @@ return if(istype(target, /obj/item/clothing/suit/space/hardsuit/security)) if(used & USED_MOD_SUIT) - to_chat(user, "The kit's suit modifier has already been used.") + to_chat(user, SPAN_NOTICE("The kit's suit modifier has already been used.")) return - to_chat(H, "You modify the appearance of [target].") + to_chat(H, SPAN_NOTICE("You modify the appearance of [target].")) used |= USED_MOD_SUIT var/obj/item/clothing/suit/space/hardsuit/security/P = target @@ -547,7 +547,7 @@ if(P == H.wear_suit) H.update_inv_wear_suit() return - to_chat(user, "You can't modify [target]!") + to_chat(user, SPAN_WARNING("You can't modify [target]!")) */ /// Decemviri: Sylus Cain @@ -564,9 +564,9 @@ if(istype(target, /obj/item/clothing/head/helmet/space/hardsuit/security)) if(used & USED_MOD_HELM) - to_chat(H, "The kit's helmet modifier has already been used.") + to_chat(H, SPAN_NOTICE("The kit's helmet modifier has already been used.")) return - to_chat(H, "You modify the appearance of [target].") + to_chat(H, SPAN_NOTICE("You modify the appearance of [target].")) used |= USED_MOD_HELM var/obj/item/clothing/head/helmet/space/hardsuit/security/P = target @@ -587,9 +587,9 @@ if(istype(target, /obj/item/clothing/suit/space/hardsuit/security)) if(used & USED_MOD_SUIT) - to_chat(user, "The kit's suit modifier has already been used.") + to_chat(user, SPAN_NOTICE("The kit's suit modifier has already been used.")) return - to_chat(H, "You modify the appearance of [target].") + to_chat(H, SPAN_NOTICE("You modify the appearance of [target].")) used |= USED_MOD_SUIT var/obj/item/clothing/suit/space/hardsuit/security/P = target @@ -607,7 +607,7 @@ qdel(src) return - to_chat(user, "You can't modify [target]!") + to_chat(user, SPAN_WARNING("You can't modify [target]!")) */ ////////////////////////////////// @@ -1056,7 +1056,7 @@ return if(target.change_hair("Sasook Hair", 1)) - to_chat(target, "You dump some of [src] on your head and style it around.") + to_chat(target, SPAN_NOTICE("You dump some of [src] on your head and style it around.")) /// MrSynnester : Shesi Skaklas /obj/item/clothing/suit/hooded/wintercoat/fluff/shesi @@ -1469,7 +1469,7 @@ return if(target.change_hair("Zekes Tentacles", 1)) - to_chat(target, "You take time to admire yourself in [src], brushing your tendrils down and revealing their true length.") + to_chat(target, SPAN_NOTICE("You take time to admire yourself in [src], brushing your tendrils down and revealing their true length.")) /// Fethas: Sefra'neem /obj/item/clothing/accessory/locket/fluff/fethasnecklace @@ -1517,12 +1517,12 @@ if(istype(target, /obj/item/clothing/head/helmet/space/plasmaman)) if(used & USED_MOD_HELM) - to_chat(H, "The kit's helmet modifier has already been used!") + to_chat(H, SPAN_WARNING("The kit's helmet modifier has already been used!")) return var/obj/item/clothing/head/helmet/space/plasmaman/P = target used |= USED_MOD_HELM - to_chat(H, "You modify the appearance of [P].") + to_chat(H, SPAN_NOTICE("You modify the appearance of [P].")) playsound(src, 'sound/effects/spray.ogg', 5, TRUE, 5) var/obj/item/clothing/head/helmet/space/plasmaman/lf53_fluff/F = new(P.loc) if(P == H.head) @@ -1533,12 +1533,12 @@ else if(istype(target, /obj/item/clothing/under/plasmaman)) if(used & USED_MOD_SUIT) - to_chat(user, "The kit's suit modifier has already been used!") + to_chat(user, SPAN_WARNING("The kit's suit modifier has already been used!")) return var/obj/item/clothing/under/plasmaman/P = target used |= USED_MOD_SUIT - to_chat(H, "You modify the appearance of [P].") + to_chat(H, SPAN_NOTICE("You modify the appearance of [P].")) playsound(src, 'sound/effects/spray.ogg', 5, TRUE, 5) P.icon_state = "ikelos_envirosuit" P.icon = 'icons/obj/custom_items.dmi' @@ -1547,7 +1547,7 @@ H.update_inv_w_uniform() else - to_chat(user, "You can't modify [target]!") + to_chat(user, SPAN_WARNING("You can't modify [target]!")) /// LightFire53: Ikelos /obj/item/clothing/head/helmet/space/plasmaman/lf53_fluff diff --git a/code/modules/detective_work/evidence.dm b/code/modules/detective_work/evidence.dm index 312d551c085..8446286a153 100644 --- a/code/modules/detective_work/evidence.dm +++ b/code/modules/detective_work/evidence.dm @@ -21,19 +21,19 @@ return if(istype(I, /obj/item/storage/box)) - to_chat(user, "This box is too big to fit in the evidence bag.") + to_chat(user, SPAN_NOTICE("This box is too big to fit in the evidence bag.")) return if(istype(I, /obj/item/evidencebag)) - to_chat(user, "You find putting an evidence bag in another evidence bag to be slightly absurd.") + to_chat(user, SPAN_NOTICE("You find putting an evidence bag in another evidence bag to be slightly absurd.")) return 1 //now this is podracing if(I.w_class > WEIGHT_CLASS_NORMAL) - to_chat(user, "[I] won't fit in [src].") + to_chat(user, SPAN_NOTICE("[I] won't fit in [src].")) return if(length(contents)) - to_chat(user, "[src] already has something inside it.") + to_chat(user, SPAN_NOTICE("[src] already has something inside it.")) return if(!isturf(I.loc)) //If it isn't on the floor. Do some checks to see if it's in our hands or a box. Otherwise give up. @@ -43,8 +43,8 @@ else if(!user.is_holding(I) || !user.unequip(I)) //in a hand return - user.visible_message("[user] puts [I] into [src].", "You put [I] inside [src].",\ - "You hear a rustle as someone puts something into a plastic bag.") + user.visible_message(SPAN_NOTICE("[user] puts [I] into [src]."), SPAN_NOTICE("You put [I] inside [src]."),\ + SPAN_NOTICE("You hear a rustle as someone puts something into a plastic bag.")) icon_state = "evidence" @@ -67,8 +67,8 @@ /obj/item/evidencebag/attack_self__legacy__attackchain(mob/user) if(length(contents)) var/obj/item/I = contents[1] - user.visible_message("[user] takes [I] out of [src].", "You take [I] out of [src].",\ - "You hear someone rustle around in a plastic bag, and remove something.") + user.visible_message(SPAN_NOTICE("[user] takes [I] out of [src]."), SPAN_NOTICE("You take [I] out of [src]."),\ + SPAN_NOTICE("You hear someone rustle around in a plastic bag, and remove something.")) overlays.Cut() //remove the overlays user.put_in_hands(I) I.pickup(user) @@ -108,7 +108,7 @@ return FALSE evidence |= supplied.evidence name = "[initial(name)] (combined)" - to_chat(user, "You add [supplied] to [src].") + to_chat(user, SPAN_NOTICE("You add [supplied] to [src].")) return TRUE /obj/item/sample/print/merge_evidence(obj/item/sample/supplied, mob/user) @@ -120,7 +120,7 @@ else evidence[print] = supplied.evidence[print] name = "[initial(name)] (combined)" - to_chat(user, "You overlay [src] and [supplied], combining the print records.") + to_chat(user, SPAN_NOTICE("You overlay [src] and [supplied], combining the print records.")) return TRUE /obj/item/sample/item_interaction(mob/living/user, obj/item/used, list/modifiers) @@ -153,10 +153,10 @@ var/mob/living/carbon/human/H = user if(H.gloves) - to_chat(user, "Take [H.gloves] off first.") + to_chat(user, SPAN_WARNING("Take [H.gloves] off first.")) return FINISH_ATTACK - to_chat(user, "You press your fingertips firmly against the card.") + to_chat(user, SPAN_NOTICE("You press your fingertips firmly against the card.")) var/fullprint = H.get_full_print() evidence[fullprint] = fullprint name = "[initial(name)] ([H])" @@ -174,21 +174,21 @@ return ITEM_INTERACT_COMPLETE if(H.gloves) - to_chat(user, "[H] is wearing gloves.") + to_chat(user, SPAN_WARNING("[H] is wearing gloves.")) return ITEM_INTERACT_COMPLETE if(user != H && H.stat == CONSCIOUS && !H.restrained()) - user.visible_message("[user] tried to fingerprint [H], but he resists.") + user.visible_message(SPAN_DANGER("[user] tried to fingerprint [H], but he resists.")) return ITEM_INTERACT_COMPLETE var/has_hand = (H.has_organ("r_hand") || H.has_organ("l_hand")) if(!has_hand) - to_chat(user, "[H] has no hands!") + to_chat(user, SPAN_WARNING("[H] has no hands!")) return ITEM_INTERACT_COMPLETE if(!do_after(user, 2 SECONDS, target = H)) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] makes a copy of [H]'s fingerprints'.") + user.visible_message(SPAN_NOTICE("[user] makes a copy of [H]'s fingerprints'.")) var/fullprint = H.get_full_print() evidence[fullprint] = fullprint transfer_evidence(src) @@ -197,7 +197,7 @@ update_appearance(UPDATE_ICON_STATE) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You need to target [H]'s hands to obtain fingerprints!'.") + to_chat(user, SPAN_WARNING("You need to target [H]'s hands to obtain fingerprints!'.")) return ITEM_INTERACT_COMPLETE /obj/item/sample/print/transfer_evidence(atom/supplied) @@ -230,7 +230,7 @@ /obj/item/forensics/sample_kit/proc/take_sample(mob/user, atom/supplied) var/obj/item/sample/S = new evidence_path(get_turf(user)) S.transfer_evidence(supplied) - to_chat(user, "You move [S.evidence.len] [S.evidence.len > 1 ? "[evidence_type]s" : "[evidence_type]"] into [S].") + to_chat(user, SPAN_NOTICE("You move [S.evidence.len] [S.evidence.len > 1 ? "[evidence_type]s" : "[evidence_type]"] into [S].")) /obj/item/forensics/sample_kit/interact_with_atom(atom/target, mob/living/user, list/modifiers) if(user.a_intent != INTENT_HARM) @@ -239,7 +239,7 @@ if(can_take_sample(user, target)) take_sample(user, target) else - to_chat(user, "You cannot find [evidence_type] on [target].") + to_chat(user, SPAN_WARNING("You cannot find [evidence_type] on [target].")) return ITEM_INTERACT_COMPLETE /obj/item/forensics/sample_kit/MouseDrop(atom/over) diff --git a/code/modules/detective_work/footprints_and_rag.dm b/code/modules/detective_work/footprints_and_rag.dm index cd69d549e0c..c6d77fcffd6 100644 --- a/code/modules/detective_work/footprints_and_rag.dm +++ b/code/modules/detective_work/footprints_and_rag.dm @@ -13,7 +13,7 @@ /obj/item/reagent_containers/glass/rag/mob_act(mob/target, mob/living/user) if(target.reagents && reagents.total_volume) - user.visible_message("[user] has smothered [target] with [src]!", "You smother [target] with [src]!", "You hear some struggling and muffled cries of surprise") + user.visible_message(SPAN_DANGER("[user] has smothered [target] with [src]!"), SPAN_DANGER("You smother [target] with [src]!"), "You hear some struggling and muffled cries of surprise") src.reagents.reaction(target, REAGENT_TOUCH) src.reagents.clear_reagents() return TRUE diff --git a/code/modules/detective_work/forensic_machines.dm b/code/modules/detective_work/forensic_machines.dm index dbd0aa26d41..c77b726382e 100644 --- a/code/modules/detective_work/forensic_machines.dm +++ b/code/modules/detective_work/forensic_machines.dm @@ -24,48 +24,48 @@ /obj/machinery/dnaforensics/examine(mob/user) . = ..() - . += "Click while holding a sample to insert a sample." - . += "Alt-Click to eject the current sample." - . += "Click with an empty hand to analyze the current sample." + . += SPAN_NOTICE("Click while holding a sample to insert a sample.") + . += SPAN_NOTICE("Alt-Click to eject the current sample.") + . += SPAN_NOTICE("Click with an empty hand to analyze the current sample.") /obj/machinery/dnaforensics/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!istype(used, /obj/item/forensics)) return ..() if(panel_open) - to_chat(user, "You must close the panel!") + to_chat(user, SPAN_WARNING("You must close the panel!")) return ITEM_INTERACT_COMPLETE if(swab) - to_chat(user, "There is already a sample inside the scanner.") + to_chat(user, SPAN_WARNING("There is already a sample inside the scanner.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/forensics/swab)) - to_chat(user, "You insert [used] into [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into [src].")) user.unequip(used) used.forceMove(src) swab = used update_icon() else - to_chat(user, "This is not a compatible sample!") + to_chat(user, SPAN_NOTICE("This is not a compatible sample!")) return ITEM_INTERACT_COMPLETE /obj/machinery/dnaforensics/attack_hand(mob/user) if(!swab) - to_chat(user, "The scanner is empty!") + to_chat(user, SPAN_WARNING("The scanner is empty!")) return scanning = TRUE update_appearance(UPDATE_ICON) - to_chat(user, "The scanner begins to hum as you analyze [swab].") + to_chat(user, SPAN_NOTICE("The scanner begins to hum as you analyze [swab].")) if(!do_after(user, 2.5 SECONDS, src) || QDELETED(swab)) - to_chat(user, "You have stopped analyzing [swab || "the swab"].") + to_chat(user, SPAN_NOTICE("You have stopped analyzing [swab || "the swab"].")) scanning = FALSE update_appearance(UPDATE_ICON) return - to_chat(user, "Printing report...") + to_chat(user, SPAN_NOTICE("Printing report...")) var/obj/item/paper/report = new(get_turf(src)) report.stamped = list(/obj/item/stamp) report_num++ @@ -77,7 +77,7 @@ if(!isnull(bloodswab.dna)) data = "Spectrometric analysis on the provided sample determined the presence of DNA. DNA String(s) found: [length(bloodswab.dna)].

" for(var/blood in bloodswab.dna) - data += "Blood type: [bloodswab.dna[blood]]
\nDNA: [blood]

" + data += SPAN_NOTICE("Blood type: [bloodswab.dna[blood]]
\nDNA: [blood]

") else data += "\nNo DNA found.
" report.info = "Report number: [report_num]
" @@ -91,9 +91,9 @@ if(!istype(remover) || HAS_TRAIT(remover, TRAIT_HANDS_BLOCKED) || !Adjacent(remover)) return if(!swab) - to_chat(remover, "There is no sample inside the scanner!") + to_chat(remover, SPAN_WARNING("There is no sample inside the scanner!")) return - to_chat(remover, "You remove [swab] from the scanner.") + to_chat(remover, SPAN_NOTICE("You remove [swab] from the scanner.")) swab.forceMove(get_turf(src)) remover.put_in_hands(swab) swab = null @@ -154,25 +154,25 @@ /obj/machinery/microscope/examine(mob/user) . = ..() - . += "Click while holding a sample to insert a sample." - . += "Alt-Click to eject the current sample." - . += "Click with an empty hand to study the current sample." + . += SPAN_NOTICE("Click while holding a sample to insert a sample.") + . += SPAN_NOTICE("Alt-Click to eject the current sample.") + . += SPAN_NOTICE("Click with an empty hand to study the current sample.") /obj/machinery/microscope/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!istype(used, /obj/item/forensics/swab) && !istype(used, /obj/item/sample)) return ..() if(panel_open) - to_chat(user, "You must close the panel!") + to_chat(user, SPAN_WARNING("You must close the panel!")) return ITEM_INTERACT_COMPLETE if(sample) - to_chat(user, "There is already a sample in the microscope!") + to_chat(user, SPAN_WARNING("There is already a sample in the microscope!")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/forensics/swab)|| istype(used, /obj/item/sample/fibers) || istype(used, /obj/item/sample/print)) add_fingerprint(user) - to_chat(user, "You insert [used] into the microscope.") + to_chat(user, SPAN_NOTICE("You insert [used] into the microscope.")) user.unequip(used) used.forceMove(src) sample = used @@ -182,17 +182,17 @@ /obj/machinery/microscope/attack_hand(mob/user) if(!sample) - to_chat(user, "There is no sample in the microscope to study.") + to_chat(user, SPAN_WARNING("There is no sample in the microscope to study.")) return add_fingerprint(user) - to_chat(user, "The microscope buzzes as you study [sample].") + to_chat(user, SPAN_NOTICE("The microscope buzzes as you study [sample].")) if(!do_after(user, 2.5 SECONDS, src) || !sample) - to_chat(user, "You stop studying [sample].") + to_chat(user, SPAN_NOTICE("You stop studying [sample].")) return - to_chat(user, "Printing Report...") + to_chat(user, SPAN_NOTICE("Printing Report...")) var/obj/item/paper/report = new(get_turf(src)) report.stamped = list(/obj/item/stamp) report_num++ @@ -217,7 +217,7 @@ if(fibers.evidence) report.info += "Molecular analysis on the provided sample determined the presence of the following unique fiber strands:

" for(var/fiber in fibers.evidence) - report.info += "Most Likely Match: [fiber]

" + report.info += SPAN_NOTICE("Most Likely Match: [fiber]

") else report.info += "No fibers found." else if(istype(sample, /obj/item/sample/print)) @@ -228,7 +228,7 @@ if(card.evidence && card.evidence.len) report.info += "
Surface analysis identified the following unique fingerprints:

" for(var/prints in card.evidence) - report.info += "Fingerprint: " + report.info += SPAN_NOTICE("Fingerprint: ") if(!is_complete_print(prints)) report.info += "INCOMPLETE PRINT" else @@ -247,9 +247,9 @@ if(!istype(remover) || remover.incapacitated() || !Adjacent(remover)) return if(!sample) - to_chat(remover, "There is no sample inside the microscope!") + to_chat(remover, SPAN_WARNING("There is no sample inside the microscope!")) return - to_chat(remover, "you removed [sample] from the microscope.") + to_chat(remover, SPAN_NOTICE("you removed [sample] from the microscope.")) sample.forceMove(get_turf(src)) remover.put_in_hands(sample) sample = null diff --git a/code/modules/detective_work/scanner.dm b/code/modules/detective_work/scanner.dm index 238eb1e0510..585978dbb3d 100644 --- a/code/modules/detective_work/scanner.dm +++ b/code/modules/detective_work/scanner.dm @@ -53,11 +53,11 @@ break if(name) - to_chat(user, "Match found in station records: [name]
\ - Fingerprint: [fingerprint]
\ - Blood DNA: [dna]") + to_chat(user, "[SPAN_NOTICE("Match found in station records: [name]")]
\ + Fingerprint:[SPAN_NOTICE(" [fingerprint]")]
\ + Blood DNA:[SPAN_NOTICE(" [dna]")]") else - to_chat(user, "No match found in station records.") + to_chat(user, SPAN_WARNING("No match found in station records.")) /obj/item/detective_scanner/ui_action_click(mob/user, actiontype) if(actiontype == /datum/action/item_action/print_forensic_report) @@ -68,14 +68,14 @@ /obj/item/detective_scanner/proc/print_scanner_report() if(length(log) && !scanning) scanning = TRUE - to_chat(usr, "Printing report, please wait...") + to_chat(usr, SPAN_NOTICE("Printing report, please wait...")) playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1) addtimer(CALLBACK(src, PROC_REF(make_paper), log), 10 SECONDS) // Create our paper log = list() // Clear the logs scanning = FALSE else - to_chat(usr, "The scanner has no logs or is in use.") + to_chat(usr, SPAN_WARNING("The scanner has no logs or is in use.")) /obj/item/detective_scanner/proc/make_paper(log) // Moved to a proc because 'spawn()' is evil var/obj/item/paper/P = new(get_turf(src)) @@ -88,16 +88,16 @@ if(ismob(loc)) var/mob/M = loc M.put_in_hands(P) - to_chat(M, "Report printed. Log cleared.") + to_chat(M, SPAN_NOTICE("Report printed. Log cleared.")) /obj/item/detective_scanner/proc/clear_scanner() if(length(log) && !scanning) log = list() playsound(loc, 'sound/machines/ding.ogg', 40) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), usr, "Scanner logs cleared."), 1.5 SECONDS) //Timer so that it clears on the 'ding' + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), usr, SPAN_NOTICE("Scanner logs cleared.")), 1.5 SECONDS) //Timer so that it clears on the 'ding' else - to_chat(usr, "The scanner has no logs or is in use.") + to_chat(usr, SPAN_WARNING("The scanner has no logs or is in use.")) /obj/item/detective_scanner/attack__legacy__attackchain() @@ -118,7 +118,7 @@ scanning = TRUE user.visible_message("[user] points [src] at [A] and performs a forensic scan.", - "You scan [A]. The scanner is now analysing the results...") + SPAN_NOTICE("You scan [A]. The scanner is now analysing the results...")) // GATHER INFORMATION @@ -172,7 +172,7 @@ // Fingerprints if(length(fingerprints)) sleep(30) - add_log("Prints:") + add_log(SPAN_NOTICE("Prints:")) for(var/finger in fingerprints) add_log("[finger]") found_something = TRUE @@ -180,7 +180,7 @@ // Blood if(length(blood)) sleep(30) - add_log("Blood:") + add_log(SPAN_NOTICE("Blood:")) found_something = TRUE for(var/B in blood) add_log("Type: [blood[B]] DNA: [B]") @@ -188,7 +188,7 @@ //Fibers if(length(fibers)) sleep(30) - add_log("Fibers:") + add_log(SPAN_NOTICE("Fibers:")) for(var/fiber in fibers) add_log("[fiber]") found_something = TRUE @@ -196,7 +196,7 @@ //Reagents if(length(reagents)) sleep(30) - add_log("Reagents:") + add_log(SPAN_NOTICE("Reagents:")) for(var/R in reagents) add_log("Reagent: [R] Volume: [reagents[R]]") found_something = TRUE @@ -209,10 +209,10 @@ if(!found_something) add_log("# No forensic traces found #", FALSE) // Don't display this to the holder user if(holder) - to_chat(holder, "Unable to locate any fingerprints, materials, fibers, or blood on [A]!") + to_chat(holder, SPAN_NOTICE("Unable to locate any fingerprints, materials, fibers, or blood on [A]!")) else if(holder) - to_chat(holder, "You finish scanning [A].") + to_chat(holder, SPAN_NOTICE("You finish scanning [A].")) add_log("---------------------------------------------------------", FALSE) scanning = FALSE diff --git a/code/modules/detective_work/swabs.dm b/code/modules/detective_work/swabs.dm index 6cb5db334fe..be923344c5a 100644 --- a/code/modules/detective_work/swabs.dm +++ b/code/modules/detective_work/swabs.dm @@ -19,12 +19,12 @@ return ..() if(is_used()) - to_chat(user, "This sample kit is already used.") + to_chat(user, SPAN_WARNING("This sample kit is already used.")) return ITEM_INTERACT_COMPLETE add_fingerprint(user) in_use = TRUE - to_chat(user, "You start collecting evidence...") + to_chat(user, SPAN_NOTICE("You start collecting evidence...")) if(do_after(user, 2 SECONDS, target = user)) var/list/choices = list() var/list/found_blood = list() @@ -48,7 +48,7 @@ var/choice if(!length(choices)) - to_chat(user, "There is no evidence on [target].") + to_chat(user, SPAN_WARNING("There is no evidence on [target].")) in_use = FALSE return ITEM_INTERACT_COMPLETE else if(length(choices) == 1) @@ -70,7 +70,7 @@ else if(choice == "Gunpowder particles") var/obj/item/clothing/B = target if(!istype(B) || !B.gunshot_residue) - to_chat(user, "There is not a hint of gunpowder on [target].") + to_chat(user, SPAN_WARNING("There is not a hint of gunpowder on [target].")) in_use = FALSE return ITEM_INTERACT_COMPLETE target_gsr = B.gunshot_residue @@ -78,8 +78,8 @@ if(sample_type) user.visible_message( - "[user] takes a swab from [target] for analysis.", - "You take a swab from [target] for analysis.") + SPAN_NOTICE("[user] takes a swab from [target] for analysis."), + SPAN_NOTICE("You take a swab from [target] for analysis.")) if(!dispenser) dna = target_dna gsr = target_gsr diff --git a/code/modules/economy/economy_machinery/account_terminal.dm b/code/modules/economy/economy_machinery/account_terminal.dm index f125ade2979..b1e0b4d244a 100644 --- a/code/modules/economy/economy_machinery/account_terminal.dm +++ b/code/modules/economy/economy_machinery/account_terminal.dm @@ -118,16 +118,16 @@ if(!attempt_pin || !Adjacent(ui.user)) return if(!account_db.try_authenticate_login(detailed_account_view, attempt_pin, FALSE, FALSE, FALSE) || detailed_account_view.account_pin != attempt_pin) - to_chat(ui.user, "Authentification Failure: Incorrect Pin or insufficient access.") + to_chat(ui.user, SPAN_WARNING("Authentification Failure: Incorrect Pin or insufficient access.")) return var/new_pin = input("Enter the new pin for this account", "New Account Pin") as num if(!new_pin || !Adjacent(ui.user)) return if(new_pin < 1 || new_pin >= 1000000) - to_chat(ui.user, "Account Error: New pin must be a number between 000001 and 999999.") + to_chat(ui.user, SPAN_WARNING("Account Error: New pin must be a number between 000001 and 999999.")) return detailed_account_view.account_pin = new_pin - to_chat(ui.user, "The [detailed_account_view.account_name] account pin has been set to [new_pin] successfully.") + to_chat(ui.user, SPAN_NOTICE("The [detailed_account_view.account_name] account pin has been set to [new_pin] successfully.")) if("toggle_suspension") if(detailed_account_view) detailed_account_view.suspended = !detailed_account_view.suspended diff --git a/code/modules/economy/economy_machinery/atm.dm b/code/modules/economy/economy_machinery/atm.dm index 0f02fd09e69..9ae28d70102 100644 --- a/code/modules/economy/economy_machinery/atm.dm +++ b/code/modules/economy/economy_machinery/atm.dm @@ -72,7 +72,7 @@ if(..()) return TRUE if(issilicon(user)) - to_chat(user, "Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per Nanotrasen regulation #1005.") + to_chat(user, SPAN_WARNING("Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per Nanotrasen regulation #1005.")) return if(!account_database) reconnect_database() @@ -98,14 +98,14 @@ return ..() /obj/machinery/economy/atm/insert_cash(obj/item/stack/spacecash/cash_money, mob/user) - visible_message("[user] inserts [cash_money] into [src].") + visible_message(SPAN_NOTICE("[user] inserts [cash_money] into [src].")) cash_stored += cash_money.amount account_database.credit_account(authenticated_account, cash_money.amount, "ATM Deposit", name, FALSE) cash_money.use(cash_money.amount) return TRUE /obj/machinery/economy/atm/proc/redeem_credits(obj/item/credit_redemption_slip/credit_slip, mob/user) - visible_message("[user] inserts [credit_slip] into [src].") + visible_message(SPAN_NOTICE("[user] inserts [credit_slip] into [src].")) account_database.credit_account(authenticated_account, credit_slip.value * (1 - credit_slip.department_cut), "Credit Redemption", name, FALSE) account_database.credit_account(credit_slip.department_account, credit_slip.value * credit_slip.department_cut, "Credit Redemption", name, FALSE) qdel(credit_slip) @@ -230,12 +230,12 @@ /obj/machinery/economy/atm/proc/attempt_login(account_number, account_pin, mob/user) var/account_to_attempt = account_number ? account_number : held_card?.associated_account_number if(!account_to_attempt) - to_chat(user, "[bicon(src)]Authentification Failure: Account number not found.") + to_chat(user, "[bicon(src)][SPAN_WARNING("Authentification Failure: Account number not found.")]") return FALSE var/datum/money_account/user_account = account_database.find_user_account(account_number, include_departments = TRUE) if(!user_account) - to_chat(user, "[bicon(src)]Authentification Failure: User Account Not Found.") + to_chat(user, "[bicon(src)][SPAN_WARNING("Authentification Failure: User Account Not Found.")]") return FALSE if(login_attempts >= 3) @@ -263,10 +263,10 @@ lockout_time = world.time + LOCKOUT_TIME else playsound(src, 'sound/machines/buzz-two.ogg', 50, TRUE) - to_chat(user, "[bicon(src)]Incorrect pin/account combination entered, [3 - login_attempts] attempt\s remaining.") + to_chat(user, "[bicon(src)][SPAN_WARNING("Incorrect pin/account combination entered, [3 - login_attempts] attempt\s remaining.")]") /obj/machinery/economy/atm/proc/unauthorized(user) - to_chat(user, "[bicon(src)]Account is locked due to too many incorrect login attempts. Try again later.") + to_chat(user, "[bicon(src)][SPAN_WARNING("Account is locked due to too many incorrect login attempts. Try again later.")]") playsound(src, 'sound/machines/buzz-two.ogg', 50, TRUE) view_screen = ATM_SCREEN_DEFAULT @@ -279,21 +279,21 @@ if(!authenticated_account) return if(amount <= 0) - to_chat(user, "[bicon(src)]That is not a valid transfer amount.") + to_chat(user, "[bicon(src)][SPAN_WARNING("That is not a valid transfer amount.")]") return if(account_database.charge_account(authenticated_account, amount, FALSE)) var/datum/money_account/target_account = account_database.find_user_account(target_account_number, include_departments = TRUE) if(target_account) account_database.credit_account(target_account, amount, purpose, name, FALSE) - to_chat(user, "[bicon(src)]Funds transfer successful.") + to_chat(user, "[bicon(src)][SPAN_NOTICE("Funds transfer successful.")]") else - to_chat(user, "[bicon(src)]You don't have enough funds to do that!") + to_chat(user, "[bicon(src)][SPAN_WARNING("You don't have enough funds to do that!")]") /obj/machinery/economy/atm/proc/withdraw(amount, mob/user) if(!authenticated_account) return if(amount <= 0) - to_chat(user, "[bicon(src)]That is not a valid amount.") + to_chat(user, "[bicon(src)][SPAN_WARNING("That is not a valid amount.")]") return if(account_database.charge_account(authenticated_account, amount, "Cash Withdrawal", name, FALSE, FALSE)) @@ -304,7 +304,7 @@ if(!authenticated_account) return if(world.time <= print_cooldown) - to_chat(usr, "[src] flashes an error on its display.") + to_chat(usr, SPAN_NOTICE("[src] flashes an error on its display.")) return print_cooldown = world.time + PRINT_DELAY playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, TRUE) @@ -331,7 +331,7 @@ if(HAS_TRAIT(src, TRAIT_CMAGGED)) return FALSE playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - to_chat(user, "Yellow ooze seeps into the [src]'s card slot...") + to_chat(user, SPAN_WARNING("Yellow ooze seeps into the [src]'s card slot...")) ADD_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG) return TRUE @@ -339,7 +339,7 @@ . = ..() if(!HAS_TRAIT(src, TRAIT_CMAGGED)) return - . += "Yellow ooze is dripping from the card slot!" + . += SPAN_WARNING("Yellow ooze is dripping from the card slot!") MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/atm, 30, 30) diff --git a/code/modules/economy/economy_machinery/economy_machinery.dm b/code/modules/economy/economy_machinery/economy_machinery.dm index ac7b999a8ed..537cbf71f77 100644 --- a/code/modules/economy/economy_machinery/economy_machinery.dm +++ b/code/modules/economy/economy_machinery/economy_machinery.dm @@ -40,32 +40,32 @@ return FALSE var/is_admin = is_admin(user) if(!account_database.try_authenticate_login(customer_account, attempt_pin, restricted_bypass, FALSE, is_admin)) - to_chat(user, "Unable to access account: incorrect credentials.") + to_chat(user, SPAN_WARNING("Unable to access account: incorrect credentials.")) return FALSE return TRUE /obj/machinery/economy/proc/pay_with_card(obj/item/card/id/I, amount, purpose, transactor, mob/user, datum/money_account/target) - visible_message("[user] swipes a card through [src].") + visible_message(SPAN_NOTICE("[user] swipes a card through [src].")) return pay_with_account(I.get_card_account(), amount, purpose, transactor, user, target) /obj/machinery/economy/proc/pay_with_account(datum/money_account/customer_account, amount, purpose, transactor, mob/user, datum/money_account/target) if(!customer_account) - to_chat(user, "Error: Unable to access account. Please contact technical support if problem persists.") + to_chat(user, SPAN_WARNING("Error: Unable to access account. Please contact technical support if problem persists.")) return FALSE if(customer_account.suspended) - to_chat(user, "Unable to access account: account suspended.") + to_chat(user, SPAN_WARNING("Unable to access account: account suspended.")) return FALSE if(!attempt_account_authentification(customer_account, null, user)) return FALSE if(!account_database.charge_account(customer_account, amount, purpose, transactor, allow_overdraft = FALSE, supress_log = FALSE)) - to_chat(user, "Unable to complete transaction: account has insufficient credit balance to purchase this.") + to_chat(user, SPAN_WARNING("Unable to complete transaction: account has insufficient credit balance to purchase this.")) return FALSE account_database.credit_account(target, amount, purpose, transactor, FALSE) return TRUE /obj/machinery/economy/proc/pay_with_cash(item_cost, purpose, transactor, mob/user, datum/money_account/target) if(item_cost > cash_transaction) - to_chat(user, "Unable to complete transaction: insufficient space cash inserted.") + to_chat(user, SPAN_WARNING("Unable to complete transaction: insufficient space cash inserted.")) return FALSE cash_stored -= item_cost @@ -77,7 +77,7 @@ if(amount > cash_money.amount) return var/amount_to_insert = amount ? amount : cash_money.amount - visible_message("[user] inserts [amount_to_insert == 1 ? "[amount_to_insert] credit" : "[amount_to_insert] credits"] into [src].") + visible_message(SPAN_NOTICE("[user] inserts [amount_to_insert == 1 ? "[amount_to_insert] credit" : "[amount_to_insert] credits"] into [src].")) cash_stored += amount_to_insert cash_transaction += amount_to_insert cash_money.use(amount_to_insert) @@ -101,7 +101,7 @@ var/stacks_to_dispense = min(CEILING(amount / MAX_STACKABLE_CASH, 1), 10) var/remaining_cash = amount - visible_message("[src] spits out [stacks_to_dispense == 1 ? "1 wad" : "[stacks_to_dispense] wads"] of cash.") + visible_message(SPAN_NOTICE("[src] spits out [stacks_to_dispense == 1 ? "1 wad" : "[stacks_to_dispense] wads"] of cash.")) for(var/i in 1 to stacks_to_dispense) if(remaining_cash >= MAX_STACKABLE_CASH) remaining_cash -= MAX_STACKABLE_CASH diff --git a/code/modules/economy/economy_machinery/eftpos.dm b/code/modules/economy/economy_machinery/eftpos.dm index 9b4e07f9fdf..6eca6ed888c 100644 --- a/code/modules/economy/economy_machinery/eftpos.dm +++ b/code/modules/economy/economy_machinery/eftpos.dm @@ -65,9 +65,9 @@ scan_card(O, user) SStgui.update_uis(src) else - to_chat(user, "[bicon(src)]Unable to connect to linked account.") + to_chat(user, "[bicon(src)][SPAN_WARNING("Unable to connect to linked account.")]") else - to_chat(user, "[bicon(src)]Unable to connect to accounts database.") + to_chat(user, "[bicon(src)][SPAN_WARNING("Unable to connect to accounts database.")]") else return ..() @@ -118,20 +118,20 @@ access_code = trycode print_reference() else - to_chat(user, "[bicon(src)]Incorrect code entered.") + to_chat(user, "[bicon(src)][SPAN_WARNING("Incorrect code entered.")]") if("link_account") if(!account_database) reconnect_database() if(!account_database) - to_chat(user, "[bicon(src)]Unable to connect to accounts database.") + to_chat(user, "[bicon(src)][SPAN_WARNING("Unable to connect to accounts database.")]") return var/datum/money_account/target_account = locateUID(params["account"]) if(!istype(target_account)) - to_chat(user, "[bicon(src)]Unable to connect to inputted account.") + to_chat(user, "[bicon(src)][SPAN_WARNING("Unable to connect to inputted account.")]") return // in this case we don't care about authenticating login because we're sending money into the account linked_account = target_account - to_chat(user, "[bicon(src)]Linked account successfully set to [target_account.account_name]") + to_chat(user, "[bicon(src)][SPAN_WARNING("Linked account successfully set to [target_account.account_name]")]") if("trans_purpose") var/purpose = tgui_input_text(user, "Enter reason for EFTPOS transaction", "Transaction purpose", transaction_purpose, encode = FALSE) if(!check_user_position(user) || !purpose) @@ -156,7 +156,7 @@ if(vendor.linked_pos == src) SStgui.update_uis(vendor, TRUE) else - to_chat(user, "[bicon(src)]No account connected to send transactions to.") + to_chat(user, "[bicon(src)][SPAN_WARNING("No account connected to send transactions to.")]") if("reset") //reset the access code - requires HoP/captain access var/obj/item/I = user.get_active_hand() @@ -164,10 +164,10 @@ var/obj/item/card/id/C = I if((ACCESS_CENT_COMMANDER in C.access) || (ACCESS_HOP in C.access) || (ACCESS_CAPTAIN in C.access)) access_code = 1000 - to_chat(user, "[bicon(src)]Access code reset to [access_code].") + to_chat(user, "[bicon(src)][SPAN_NOTICE("Access code reset to [access_code].")]") else if(istype(I, /obj/item/card/emag)) access_code = 1000 - to_chat(user, "[bicon(src)]Access code reset to [access_code].") + to_chat(user, "[bicon(src)][SPAN_NOTICE("Access code reset to [access_code].")]") if("offer") if(can_offer) offer(user) @@ -177,18 +177,18 @@ /obj/item/eftpos/proc/scan_card(obj/item/card/id/C, mob/user, secured = TRUE) if(!transaction_locked || transaction_paid || !secured) - visible_message("[user] swipes a card through [src], but nothing happens.") + visible_message(SPAN_NOTICE("[user] swipes a card through [src], but nothing happens.")) return - visible_message("[user] swipes a card through [src].") + visible_message(SPAN_NOTICE("[user] swipes a card through [src].")) if(!linked_account) - visible_message("[bicon(src)][src] buzzes as its display flashes \"EFTPOS is not connected to an account.\"", "You hear something buzz.") + visible_message("[bicon(src)][SPAN_WARNING("[src] buzzes as its display flashes \"EFTPOS is not connected to an account.\"")]", SPAN_NOTICE("You hear something buzz.")) return var/datum/money_account/D = GLOB.station_money_database.find_user_account(C.associated_account_number, include_departments = FALSE) if(!D) - visible_message("[bicon(src)][src] buzzes as its display flashes \"Card is not connected to an account.\"", "You hear something buzz.") + visible_message("[bicon(src)][SPAN_WARNING("[src] buzzes as its display flashes \"Card is not connected to an account.\"")]", SPAN_NOTICE("You hear something buzz.")) return //if security level high enough, prompt for pin var/attempt_pin @@ -198,7 +198,7 @@ return //given the credentials, can the associated account be accessed right now? if(!GLOB.station_money_database.try_authenticate_login(D, attempt_pin, restricted_bypass = FALSE)) - visible_message("[bicon(src)][src] buzzes as its display flashes \"Access denied.\"", "You hear something buzz.") + visible_message("[bicon(src)][SPAN_WARNING("[src] buzzes as its display flashes \"Access denied.\"")]", SPAN_NOTICE("You hear something buzz.")) return if(tgui_alert(user, "Are you sure you want to pay $[transaction_amount] to: [linked_account.account_name]", "Confirm transaction", list("Yes", "No")) != "Yes") return @@ -206,11 +206,11 @@ return //attempt to charge account money if(!GLOB.station_money_database.charge_account(D, transaction_amount, transaction_purpose, machine_name, FALSE, FALSE)) - visible_message("[bicon(src)][src] buzzes as its display flashes \"Insufficient funds.\"", "You hear something buzz.") + visible_message("[bicon(src)][SPAN_WARNING("[src] buzzes as its display flashes \"Insufficient funds.\"")]", SPAN_NOTICE("You hear something buzz.")) return GLOB.station_money_database.credit_account(linked_account, transaction_amount, transaction_purpose, machine_name, FALSE) playsound(src, transaction_sound, 50, TRUE) - visible_message("[bicon(src)][src] chimes as its display reads \"Transaction successful!\"", "You hear something chime.") + visible_message("[bicon(src)][SPAN_NOTICE("[src] chimes as its display reads \"Transaction successful!\"")]", SPAN_NOTICE("You hear something chime.")) transaction_paid = TRUE addtimer(VARSET_CALLBACK(src, transaction_paid, FALSE), 5 SECONDS) @@ -263,25 +263,25 @@ /obj/item/eftpos/register/examine(mob/user) . = ..() if(!anchored) - . += "Alt-click to rotate it." + . += SPAN_NOTICE("Alt-click to rotate it.") else - . += "It is secured in place." + . += SPAN_NOTICE("It is secured in place.") /obj/item/eftpos/register/AltClick(mob/user) if(user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(!Adjacent(user)) return if(anchored) - to_chat(user, "[src] is secured in place!") + to_chat(user, SPAN_WARNING("[src] is secured in place!")) return setDir(turn(dir, 90)) /obj/item/eftpos/register/attack_hand(mob/user) if(anchored) if(!check_user_position(user)) - to_chat(user, "You need to be behind [src] to use it!") + to_chat(user, SPAN_WARNING("You need to be behind [src] to use it!")) return add_fingerprint(user) ui_interact(user) @@ -292,7 +292,7 @@ return GLOB.human_adjacent_state /obj/item/eftpos/register/attack_self__legacy__attackchain(mob/user) - to_chat(user, "[src] has to be set down and secured to be used.") + to_chat(user, SPAN_NOTICE("[src] has to be set down and secured to be used.")) /obj/item/eftpos/register/check_user_position(mob/user) if(!..()) diff --git a/code/modules/events/blob/blob_mobs.dm b/code/modules/events/blob/blob_mobs.dm index 50202ca0895..822aadd501b 100644 --- a/code/modules/events/blob/blob_mobs.dm +++ b/code/modules/events/blob/blob_mobs.dm @@ -129,7 +129,7 @@ update_icons() H.forceMove(src) oldguy = H - visible_message("The corpse of [H.name] suddenly rises!") + visible_message(SPAN_WARNING("The corpse of [H.name] suddenly rises!")) /mob/living/basic/blob/blobspore/death(gibbed) // Only execute the below if we successfuly died @@ -258,6 +258,6 @@ if(message) for(var/mob/M in GLOB.mob_list) follow_text = isobserver(M) ? " ([ghost_follow_link(src, ghost = M)])" : "" - rendered = "Blob Telepathy, [name]([overmind])[follow_text] states, \"[message]\"" + rendered = SPAN_BLOB("Blob Telepathy, [SPAN_NAME("[name]([overmind])")][follow_text] [SPAN_MESSAGE("states, \"[message]\"")]") if(isovermind(M) || isobserver(M) || istype(M, /mob/living/basic/blob/blobbernaut)) M.show_message(rendered, EMOTE_AUDIBLE) diff --git a/code/modules/events/blob/blob_powers.dm b/code/modules/events/blob/blob_powers.dm index e3821ebf650..7ec6115391b 100644 --- a/code/modules/events/blob/blob_powers.dm +++ b/code/modules/events/blob/blob_powers.dm @@ -2,7 +2,7 @@ /mob/camera/blob/proc/can_buy(cost = 15) if(blob_points < cost) - to_chat(src, "You cannot afford this!") + to_chat(src, SPAN_WARNING("You cannot afford this!")) return 0 add_points(-cost) return 1 @@ -38,9 +38,9 @@ set desc = "Toggle requiring nodes to place resource and factory blobs." nodes_required = !nodes_required if(nodes_required) - to_chat(src, "You now require a nearby node or core to place factory and resource blobs.") + to_chat(src, SPAN_WARNING("You now require a nearby node or core to place factory and resource blobs.")) else - to_chat(src, "You no longer require a nearby node or core to place factory and resource blobs.") + to_chat(src, SPAN_WARNING("You no longer require a nearby node or core to place factory and resource blobs.")) /mob/camera/blob/verb/create_shield_power() set category = "Blob" @@ -72,18 +72,18 @@ else if(istype(S, /obj/structure/blob/shield/reflective)) - to_chat(src, "There's already a reflector blob here!") + to_chat(src, SPAN_WARNING("There's already a reflector blob here!")) return else if(S.obj_integrity < S.max_integrity * 0.5) - to_chat(src, "This shield blob is too damaged to be modified properly!") + to_chat(src, SPAN_WARNING("This shield blob is too damaged to be modified properly!")) return else if(!can_buy(15)) return - to_chat(src, "You secrete a reflective ooze over the shield blob, allowing it to reflect energy projectiles at the cost of reduced intregrity.") + to_chat(src, SPAN_WARNING("You secrete a reflective ooze over the shield blob, allowing it to reflect energy projectiles at the cost of reduced intregrity.")) S.change_to(/obj/structure/blob/shield/reflective) S.color = blob_reagent_datum.color @@ -116,7 +116,7 @@ if(nodes_required) if(!(locate(/obj/structure/blob/node) in orange(3, T)) && !(locate(/obj/structure/blob/core) in orange(4, T))) - to_chat(src, "You need to place this blob closer to a node or core!") + to_chat(src, SPAN_WARNING("You need to place this blob closer to a node or core!")) return //handholdotron 2000 if(!can_buy(40)) @@ -192,7 +192,7 @@ if(nodes_required) if(!(locate(/obj/structure/blob/node) in orange(3, T)) && !(locate(/obj/structure/blob/core) in orange(4, T))) - to_chat(src, "You need to place this blob closer to a node or core!") + to_chat(src, SPAN_WARNING("You need to place this blob closer to a node or core!")) return //handholdotron 2000 if(!can_buy(60)) @@ -240,8 +240,8 @@ if(C) blobber.key = C.key dust_if_respawnable(C) - to_chat(blobber, "You are a blobbernaut! You must assist all blob lifeforms in their mission to consume everything!") - to_chat(blobber, "You heal while standing on blob structures, however you will decay slowly if you are damaged outside of the blob.") + to_chat(blobber, SPAN_BIGGERDANGER("You are a blobbernaut! You must assist all blob lifeforms in their mission to consume everything!")) + to_chat(blobber, SPAN_DANGER("You heal while standing on blob structures, however you will decay slowly if you are damaged outside of the blob.")) if(!blobber.ckey) blobber.ai_controller.set_ai_status(AI_STATUS_ON) return @@ -287,17 +287,17 @@ if(!T) return if(!B) - to_chat(src, "There is no blob there!") + to_chat(src, SPAN_WARNING("There is no blob there!")) return if(B.point_return < 0) - to_chat(src, "Unable to remove this blob.") + to_chat(src, SPAN_WARNING("Unable to remove this blob.")) return if(max_blob_points < B.point_return + blob_points) - to_chat(src, "You have too many resources to remove this blob!") + to_chat(src, SPAN_WARNING("You have too many resources to remove this blob!")) return if(B.point_return) add_points(B.point_return) - to_chat(src, "Gained [B.point_return] resources from removing \the [B].") + to_chat(src, SPAN_NOTICE("Gained [B.point_return] resources from removing \the [B].")) qdel(B) return @@ -379,21 +379,21 @@ if(!T) return if(split_used) - to_chat(src, "You have already produced an offspring.") + to_chat(src, SPAN_WARNING("You have already produced an offspring.")) return if(is_offspring) - to_chat(src, "You cannot split as an offspring of another Blob.") + to_chat(src, SPAN_WARNING("You cannot split as an offspring of another Blob.")) return if(length(GLOB.clients) < GLOB.configuration.event.blob_highpop_trigger) - to_chat(src, "There isnt enough organic matter on this station to justify a second core.") + to_chat(src, SPAN_WARNING("There isnt enough organic matter on this station to justify a second core.")) return var/obj/structure/blob/N = (locate(/obj/structure/blob) in T) if(!N) - to_chat(src, "A node is required to birth your offspring.") + to_chat(src, SPAN_WARNING("A node is required to birth your offspring.")) return if(!istype(N, /obj/structure/blob/node)) - to_chat(src, "A node is required to birth your offspring.") + to_chat(src, SPAN_WARNING("A node is required to birth your offspring.")) return if(!can_buy(100)) return diff --git a/code/modules/events/blob/overmind.dm b/code/modules/events/blob/overmind.dm index 2536406ffac..11b1f5ac802 100644 --- a/code/modules/events/blob/overmind.dm +++ b/code/modules/events/blob/overmind.dm @@ -100,7 +100,7 @@ var/follow_text for(var/mob/M in GLOB.mob_list) follow_text = isobserver(M) ? " ([ghost_follow_link(src, ghost=M)])" : "" - rendered = "Blob Telepathy, [name]([blob_reagent_datum.name])[follow_text] states, \"[message]\"" + rendered = SPAN_BLOB("Blob Telepathy, [SPAN_NAME("[name]([blob_reagent_datum.name])")][follow_text] [SPAN_MESSAGE("states, \"[message]\"")]") if(isovermind(M) || isobserver(M) || istype(M, /mob/living/basic/blob/blobbernaut)) M.show_message(rendered, EMOTE_AUDIBLE) diff --git a/code/modules/events/blob_spawn.dm b/code/modules/events/blob_spawn.dm index ff4d71eed61..4ab3a7f6938 100644 --- a/code/modules/events/blob_spawn.dm +++ b/code/modules/events/blob_spawn.dm @@ -52,8 +52,8 @@ antaghud.join_hud(B.mind.current) set_antag_hud(B.mind.current, "hudblob") - to_chat(B, "You are now a mouse, infected with blob spores. Find somewhere isolated... before you burst and become the blob! Use ventcrawl (alt-click on vents) to move around.") - to_chat(B, "For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Blob)") + to_chat(B, SPAN_USERDANGER("You are now a mouse, infected with blob spores. Find somewhere isolated... before you burst and become the blob! Use ventcrawl (alt-click on vents) to move around.")) + to_chat(B, SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Blob)")) notify_ghosts("Infected Mouse has appeared in [get_area(B)].", source = B, action = NOTIFY_FOLLOW) successSpawn = TRUE SSevents.biohazards_this_round += BIOHAZARD_BLOB diff --git a/code/modules/events/bureaucratic_error.dm b/code/modules/events/bureaucratic_error.dm index 07e41919f43..b90e20eb5b9 100644 --- a/code/modules/events/bureaucratic_error.dm +++ b/code/modules/events/bureaucratic_error.dm @@ -50,4 +50,4 @@ errors++ log_and_message_admins(affected_jobs.Join(".\n")) for(var/mob/M as anything in GLOB.dead_mob_list) - to_chat(M, "Bureaucratic Error: The following job slots have changed: \n[affected_jobs.Join(",\n ")].") + to_chat(M, SPAN_DEADSAY("Bureaucratic Error: The following job slots have changed: \n[affected_jobs.Join(",\n ")].")) diff --git a/code/modules/events/communications_blackout.dm b/code/modules/events/communications_blackout.dm index bcf433ed3ab..e7447a6a90a 100644 --- a/code/modules/events/communications_blackout.dm +++ b/code/modules/events/communications_blackout.dm @@ -12,7 +12,7 @@ for(var/mob/living/silicon/ai/A in GLOB.ai_list) //AIs are always aware of communication blackouts. to_chat(A, "
") - to_chat(A, "[alert]") + to_chat(A, SPAN_WARNING("[alert]")) to_chat(A, "
") if(prob(30) || false_alarm) //most of the time, we don't want an announcement, so as to allow AIs to fake blackouts. diff --git a/code/modules/events/demon_incursion.dm b/code/modules/events/demon_incursion.dm index c5ec6952244..8a661bad497 100644 --- a/code/modules/events/demon_incursion.dm +++ b/code/modules/events/demon_incursion.dm @@ -72,7 +72,7 @@ /datum/event/demon_incursion/proc/prepare_spawn_elite() var/obj/structure/spawner/nether/demon_incursion/elite_portal = pick(portal_list) - elite_portal.visible_message("Something within [elite_portal] stirs...") + elite_portal.visible_message(SPAN_DANGER("Something within [elite_portal] stirs...")) var/list/potentialspawns = list(/mob/living/simple_animal/hostile/asteroid/elite/broodmother, /mob/living/simple_animal/hostile/asteroid/elite/pandora, /mob/living/simple_animal/hostile/asteroid/elite/legionnaire, @@ -83,7 +83,7 @@ /datum/event/demon_incursion/proc/spawn_elite(mob/dead/observer/elitemind, obj/structure/spawner/nether/demon_incursion/elite_portal, selected_elite) var/mob/living/simple_animal/hostile/asteroid/elite/created_mob = new selected_elite(elite_portal.loc) created_mob.faction = list("nether") - elite_portal.visible_message("[created_mob] emerges from [elite_portal]!") + elite_portal.visible_message(SPAN_USERDANGER("[created_mob] emerges from [elite_portal]!")) notify_ghosts("\A [created_mob] has emerged from an incursion portal in \the [get_area(src)]!", enter_link="(Click to help)", source = created_mob, action = NOTIFY_FOLLOW) qdel(elite_portal) playsound(created_mob.loc,'sound/effects/phasein.ogg', 200, FALSE, 50, TRUE, TRUE) @@ -190,7 +190,7 @@ /obj/structure/spawner/nether/demon_incursion/examine(mob/user) . = ..() if(COOLDOWN_FINISHED(src, portal_repair) && obj_integrity < max_integrity) - . += "Dark tendrils are stabilizing the portal!" + . += SPAN_WARNING("Dark tendrils are stabilizing the portal!") /obj/structure/spawner/nether/demon_incursion/process() . = ..() diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index caeba785e2d..d458aae0e09 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -50,9 +50,9 @@ GLOBAL_LIST_EMPTY(current_pending_diseases) for(var/mob/M as anything in GLOB.dead_mob_list) //Announce outbreak to dchat if(istype(chosen_disease, /datum/disease/advance)) var/datum/disease/advance/temp_disease = chosen_disease - to_chat(M, chat_box_examine("Disease outbreak: The next new arrival is a carrier of [chosen_disease.name]! A \"[chosen_disease.severity]\" disease with the following symptoms:\n[english_list(temp_disease.symptoms)]\nand the following stats:\n[english_map(temp_disease.GenerateProperties())]")) + to_chat(M, chat_box_examine(SPAN_DEADSAY("Disease outbreak: The next new arrival is a carrier of [chosen_disease.name]! A \"[chosen_disease.severity]\" disease with the following symptoms:\n[english_list(temp_disease.symptoms)]\nand the following stats:\n[english_map(temp_disease.GenerateProperties())]"))) else - to_chat(M, chat_box_examine("Disease outbreak: The next new arrival is a carrier of a \"[chosen_disease.severity]\" disease: [chosen_disease.name]!")) + to_chat(M, chat_box_examine(SPAN_DEADSAY("Disease outbreak: The next new arrival is a carrier of a \"[chosen_disease.severity]\" disease: [chosen_disease.name]!"))) /datum/event/disease_outbreak/announce() switch(severity) diff --git a/code/modules/events/fake_virus.dm b/code/modules/events/fake_virus.dm index f15f5476b7f..389db176e9d 100644 --- a/code/modules/events/fake_virus.dm +++ b/code/modules/events/fake_virus.dm @@ -30,7 +30,7 @@ for(var/i in 1 to rand(1, fake_virus_victims)) var/mob/living/carbon/human/one_cough_man = pick(valid_targets) if(prob(25)) // 1/4 odds to get a spooky message instead of coughing out loud - addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), one_cough_man, "[pick("Your head hurts.", "Your head pounds.")]"), rand(1, 120) SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), one_cough_man, SPAN_WARNING("[pick("Your head hurts.", "Your head pounds.")]")), rand(1, 120) SECONDS) else addtimer(CALLBACK(one_cough_man, TYPE_PROC_REF(/mob/, emote), pick("cough", "sniff", "sneeze", "yawn")), rand(1, 120) SECONDS) // Deliver the message with a randomized time interval so there arent multiple people coughing at the same time valid_targets -= one_cough_man diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm index eb5a3839d8c..98a6a6597fc 100644 --- a/code/modules/events/immovable_rod.dm +++ b/code/modules/events/immovable_rod.dm @@ -141,8 +141,8 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 else if(ismob(victim)) if(ishuman(victim)) var/mob/living/carbon/human/H = victim - H.visible_message("[H.name] is penetrated by an immovable rod!", - "The rod penetrates you!", + H.visible_message(SPAN_DANGER("[H.name] is penetrated by an immovable rod!"), + SPAN_USERDANGER("The rod penetrates you!"), "You hear a CLANG!") H.adjustBruteLoss(160) if(victim.density || prob(10)) diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index 6c3fc438039..deaaf2b16a2 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -32,11 +32,11 @@ if(message) ai_player.add_ion_law(message) to_chat(ai_player, "
") - to_chat(ai_player, "[message] ...LAWS UPDATED") + to_chat(ai_player, SPAN_DANGER("[message] ...LAWS UPDATED")) to_chat(ai_player, "
") for(var/ghost in GLOB.dead_mob_list) - to_chat(ghost, "[ai_player] ([ghost_follow_link(ai_player, ghost)]) has received an ion law:\n'[message]'") + to_chat(ghost, SPAN_DEADSAY("[ai_player] ([ghost_follow_link(ai_player, ghost)]) has received an ion law:\n'[message]'")) if(botEmagChance) for(var/mob/living/simple_animal/bot/bot as anything in GLOB.bots_list) diff --git a/code/modules/events/sentience.dm b/code/modules/events/sentience.dm index 0afa60dcea1..dba41cc0d64 100644 --- a/code/modules/events/sentience.dm +++ b/code/modules/events/sentience.dm @@ -45,7 +45,7 @@ print_command_report(sentience_report, "NAS Trurl Update", FALSE) /datum/event/sentience/proc/greet_sentient(mob/living/carbon/human/M) - to_chat(M, chat_box_green("Hello world!
Due to freak radiation, you have gained \ + to_chat(M, chat_box_green("[SPAN_USERDANGER("Hello world!")]
Due to freak radiation, you have gained \ human level intelligence and the ability to speak and understand \ human language!")) M.create_log(MISC_LOG, "[M] was made into a sentient animal") diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 6301b96f5fa..25123219541 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -199,7 +199,7 @@ if(issilicon(crosser)) return if(prob(severity) && istype(crosser) && !isvineimmune(crosser)) - to_chat(crosser, "You accidentally touch the vine and feel a strange sensation.") + to_chat(crosser, SPAN_ALERT("You accidentally touch the vine and feel a strange sensation.")) crosser.adjustToxLoss(5) /datum/spacevine_mutation/toxicity/on_eat(obj/structure/spacevine/holder, mob/living/eater) @@ -292,13 +292,13 @@ if(prob(severity) && istype(crosser) && !isvineimmune(holder)) var/mob/living/M = crosser M.adjustBruteLoss(5) - to_chat(M, "You cut yourself on the thorny vines.") + to_chat(M, SPAN_ALERT("You cut yourself on the thorny vines.")) /datum/spacevine_mutation/thorns/on_hit(obj/structure/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage) if(prob(severity) && istype(hitter) && !isvineimmune(holder)) var/mob/living/M = hitter M.adjustBruteLoss(5) - to_chat(M, "You cut yourself on the thorny vines.") + to_chat(M, SPAN_ALERT("You cut yourself on the thorny vines.")) . = expected_damage /datum/spacevine_mutation/woodening @@ -673,7 +673,7 @@ var/datum/spacevine_mutation/SM = mutations[SM_type] SM.on_buckle(src, V) if((V.stat != DEAD) && (V.buckled != src)) //not dead or captured - to_chat(V, "The vines [pick("wind", "tangle", "tighten")] around you!") + to_chat(V, SPAN_DANGER("The vines [pick("wind", "tangle", "tighten")] around you!")) buckle_mob(V, 1) /obj/structure/spacevine/proc/spread() diff --git a/code/modules/events/tear.dm b/code/modules/events/tear.dm index a3bfa775013..f816b7eb92f 100644 --- a/code/modules/events/tear.dm +++ b/code/modules/events/tear.dm @@ -112,7 +112,7 @@ var/mob/M = new leader(get_turf(src)) M.faction = list("rift") playsound(M, 'sound/goonstation/voice/growl2.ogg', 100) - visible_message("With a terrifying growl, \a [M] steps out of the portal!") + visible_message(SPAN_DANGER("With a terrifying growl, \a [M] steps out of the portal!")) /obj/effect/tear/proc/spawn_next_mob() spawn_total++ @@ -128,4 +128,4 @@ M.faction = list("rift") step(M, pick(GLOB.cardinal)) if(prob(30)) - visible_message("[M] steps out of the portal!") + visible_message(SPAN_DANGER("[M] steps out of the portal!")) diff --git a/code/modules/events/traders.dm b/code/modules/events/traders.dm index ee9d5ccaf6f..aecc1d2faae 100644 --- a/code/modules/events/traders.dm +++ b/code/modules/events/traders.dm @@ -113,7 +113,7 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol")) /datum/event/traders/proc/greet_trader(mob/living/carbon/human/M, datum/traders/T) var/list/messages = list() - messages.Add("You are a trader! You are currently docked at [T.dock_site].
You are about to trade with [station_name()].

") + messages.Add("[SPAN_BOLDNOTICE("You are a trader!")] [SPAN_NOTICE("You are currently docked at [T.dock_site].
You are about to trade with [station_name()].")]
") messages.Add(M.mind.prepare_announce_objectives()) to_chat(M, chat_box_green(messages.Join("
"))) M.create_log(MISC_LOG, "[M] was made into a [T.trader_type] Trader") diff --git a/code/modules/events/wizard/ghost_wizard_spells.dm b/code/modules/events/wizard/ghost_wizard_spells.dm index f824344c833..374fa58db97 100644 --- a/code/modules/events/wizard/ghost_wizard_spells.dm +++ b/code/modules/events/wizard/ghost_wizard_spells.dm @@ -2,7 +2,7 @@ /datum/event/wizard/ghost /datum/event/wizard/ghost/start() - var/msg = "You suddenly feel extremely obvious..." + var/msg = SPAN_WARNING("You suddenly feel extremely obvious...") set_observer_default_invisibility(0, msg) /// The spook is silent @@ -12,5 +12,5 @@ GLOB.dsay_enabled = FALSE var/sound/S = sound('sound/hallucinations/wail.ogg') for(var/mob/dead/observer/silenced in GLOB.player_list) - to_chat(silenced, "Magical forces wrap around your spectral form. You can no longer speak to other ghosts!") + to_chat(silenced, SPAN_WARNING("Magical forces wrap around your spectral form. You can no longer speak to other ghosts!")) SEND_SOUND(silenced, S) diff --git a/code/modules/fish/fish_items.dm b/code/modules/fish/fish_items.dm index 8d4a4255c19..f43b3abfcaa 100644 --- a/code/modules/fish/fish_items.dm +++ b/code/modules/fish/fish_items.dm @@ -22,7 +22,7 @@ throw_speed = 3 /obj/item/fish_net/suicide_act(mob/user) //"A tiny net is a death sentence: it's a net and it's tiny!" https://www.youtube.com/watch?v=FCI9Y4VGCVw - visible_message("[user] places [src] on top of [user.p_their()] head, [user.p_their()] fingers tangled in the netting! It looks like [user.p_theyre()] trying to commit suicide!") + visible_message(SPAN_SUICIDE("[user] places [src] on top of [user.p_their()] head, [user.p_their()] fingers tangled in the netting! It looks like [user.p_theyre()] trying to commit suicide!")) return OXYLOSS /obj/item/fishfood @@ -45,7 +45,7 @@ attack_verb = list("scrubbed", "brushed", "scraped") /obj/item/tank_brush/suicide_act(mob/user) - visible_message("[user] is vigorously scrubbing [user.p_themselves()] raw with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + visible_message(SPAN_SUICIDE("[user] is vigorously scrubbing [user.p_themselves()] raw with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS|FIRELOSS /obj/item/storage/bag/fish diff --git a/code/modules/fish/fishtank.dm b/code/modules/fish/fishtank.dm index d4b35cbd919..014023b3c3d 100644 --- a/code/modules/fish/fishtank.dm +++ b/code/modules/fish/fishtank.dm @@ -293,11 +293,11 @@ egg_list.Cut() //Destroy any excess eggs, clearing the egg_list if(duds) - to_chat(user, "[duds] egg\s [duds == 1 ? "was a dud" : "were duds"]!") + to_chat(user, SPAN_NOTICE("[duds] egg\s [duds == 1 ? "was a dud" : "were duds"]!")) /obj/machinery/fishtank/proc/harvest_fish(mob/user) if(!get_num_fish()) //Can't catch non-existant fish! - to_chat(user, "There are no fish in [src] to catch!") + to_chat(user, SPAN_WARNING("There are no fish in [src] to catch!")) return var/list/fish_types = list() // fish sorted by type. Key is type of fish, value is a list of fish of that type var/list/fish_types_input = list() // The choices given to the player, and the types of fish those choices are for. Key is string shown to player, value is type of fish @@ -312,10 +312,10 @@ if(!caught_fish) return if(!Adjacent(user)) - to_chat(user, "You are no longer next to [src], so you can't catch fish!") + to_chat(user, SPAN_WARNING("You are no longer next to [src], so you can't catch fish!")) return if(!get_num_fish()) - to_chat(user, "There are no fish in [src] to catch!") + to_chat(user, SPAN_WARNING("There are no fish in [src] to catch!")) return var/fish_type_caught = fish_types_input[caught_fish] var/list/fishes_of_type = list() @@ -324,7 +324,7 @@ fishes_of_type += list(F) if(!length(fishes_of_type)) var/datum/fish/fish_type = fish_type_caught - to_chat(user, "There are no [fish_type.fish_name] in [src] to catch!") + to_chat(user, SPAN_WARNING("There are no [fish_type.fish_name] in [src] to catch!")) return var/datum/fish/fish_to_scoop = pick(fishes_of_type) // Is the user holding a fish bag? @@ -507,9 +507,9 @@ //Finally, report the full examine_message constructed from the above reports - . += "[examine_message]" - . += "You can Alt-Click [src] to open/close its lid." - . += "You can Alt-Shift-Click [src] to enable/disable its light." + . += SPAN_NOTICE("[examine_message]") + . += SPAN_NOTICE("You can Alt-Click [src] to open/close its lid.") + . += SPAN_NOTICE("You can Alt-Shift-Click [src] to enable/disable its light.") ////////////////////////////// // ATTACK PROCS // @@ -520,37 +520,37 @@ if(istype(M, /mob/living/simple_animal/pet/cat)) if(M.a_intent == INTENT_HELP) //Cats can try to fish in open tanks on help intent if(lid_switch) //Can't fish in a closed tank. Fishbowls are ALWAYS open. - M.visible_message("[M.name] stares at into [src] while sitting perfectly still.", "The lid is closed, so you stare into [src] intently.") + M.visible_message(SPAN_NOTICE("[M.name] stares at into [src] while sitting perfectly still."), SPAN_NOTICE("The lid is closed, so you stare into [src] intently.")) else if(fish_count) //Tank must actually have fish to try catching one - M.visible_message("[M.name] leaps up onto [src] and attempts to fish through the opening!", "You jump up onto [src] and begin fishing through the opening!") + M.visible_message(SPAN_WARNING("[M.name] leaps up onto [src] and attempts to fish through the opening!"), SPAN_NOTICE("You jump up onto [src] and begin fishing through the opening!")) if(water_level && prob(45)) //If there is water, there is a chance the cat will slip, Syndicat will spark like E-N when this happens - M.visible_message("[M.name] slipped and got soaked!", "You slipped and got soaked!") + M.visible_message(SPAN_NOTICE("[M.name] slipped and got soaked!"), SPAN_NOTICE("You slipped and got soaked!")) if(istype(M, /mob/living/simple_animal/pet/cat/syndi)) do_sparks(3, 1, src) else //No water or didn't slip, get that fish! - M.visible_message("[M.name] catches and devours a live fish!", "You catch and devour a live fish, yum!") + M.visible_message(SPAN_WARNING("[M.name] catches and devours a live fish!"), SPAN_NOTICE("You catch and devour a live fish, yum!")) kill_fish() //Kill a random fish M.health = M.maxHealth //Eating fish heals the predator else - to_chat(M, "There are no fish in [src]!") + to_chat(M, SPAN_WARNING("There are no fish in [src]!")) else return ..() else if(istype(M, /mob/living/basic/bear)) if(M.a_intent == INTENT_HELP) //Bears can try to fish in open tanks on help intent if(lid_switch) //Can't fish in a closed tank. Fishbowls are ALWAYS open. - M.visible_message("[M.name] scrapes it's claws along [src]'s lid.", "The lid is closed, so you scrape your claws against [src]'s lid.") + M.visible_message(SPAN_NOTICE("[M.name] scrapes it's claws along [src]'s lid."), SPAN_NOTICE("The lid is closed, so you scrape your claws against [src]'s lid.")) else if(fish_count) //Tank must actually have fish to try catching one - M.visible_message("[M.name] reaches into [src] and attempts to fish through the opening!", "You reach into [src] and begin fishing through the opening!") + M.visible_message(SPAN_WARNING("[M.name] reaches into [src] and attempts to fish through the opening!"), SPAN_WARNING("You reach into [src] and begin fishing through the opening!")) if(water_level && prob(5)) //Bears are good at catching fish, only a 5% chance to fail - M.visible_message("[M.name] swipes at the water!", "You just barely missed that fish!") + M.visible_message(SPAN_WARNING("[M.name] swipes at the water!"), SPAN_NOTICE("You just barely missed that fish!")) else //No water or didn't slip, get that fish! - M.visible_message("[M.name] catches and devours a live fish!", "You catch and devour a live fish, yum!") + M.visible_message(SPAN_WARNING("[M.name] catches and devours a live fish!"), SPAN_NOTICE("You catch and devour a live fish, yum!")) kill_fish() //Kill a random fish M.health = M.maxHealth //Eating fish heals the predator else - to_chat(M, "There are no fish in [src]!") + to_chat(M, SPAN_WARNING("There are no fish in [src]!")) else return ..() else @@ -562,12 +562,12 @@ user.changeNext_move(CLICK_CD_MELEE) playsound(get_turf(src), 'sound/effects/glassknock.ogg', 80, TRUE) if(user.a_intent == INTENT_HARM) - user.visible_message("[user] bangs against [src]!", - "You bang against [src]!", + user.visible_message(SPAN_DANGER("[user] bangs against [src]!"), + SPAN_DANGER("You bang against [src]!"), "You hear a banging sound.") else - user.visible_message("[user] taps on [src].", - "You tap on [src].", + user.visible_message(SPAN_NOTICE("[user] taps on [src]."), + SPAN_NOTICE("You tap on [src]."), "You hear a knocking sound.") /obj/machinery/fishtank/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) @@ -612,7 +612,7 @@ used.reagents.clear_reagents() else if(water_level == water_capacity) - to_chat(user, "[src] is already full!") + to_chat(user, SPAN_NOTICE("[src] is already full!")) else message = "The filtration process purifies the water, raising the water level." @@ -622,20 +622,20 @@ message += " You overfilled [src] and some water runs down the side, wasted." used.reagents.clear_reagents() adjust_water_level(water_value) - user.visible_message("[user.name] pours the contents of [used.name] into [src].", "[message]") + user.visible_message(SPAN_NOTICE("[user.name] pours the contents of [used.name] into [src]."), SPAN_NOTICE("[message]")) //Empty containers will scoop out water, filling the container as much as possible from the water_level else if(used.is_refillable()) if(!water_level) - to_chat(user, "[src] is empty!") + to_chat(user, SPAN_NOTICE("[src] is empty!")) else if(water_level >= used.reagents.maximum_volume) //Enough to fill the container completely used.reagents.add_reagent("fishwater", used.reagents.maximum_volume) adjust_water_level(-used.reagents.maximum_volume) - user.visible_message("[user.name] scoops out some water from [src].", "You completely fill [used.name] from [src].") + user.visible_message(SPAN_NOTICE("[user.name] scoops out some water from [src]."), SPAN_NOTICE("You completely fill [used.name] from [src].")) else //Fill the container as much as possible with the water_level used.reagents.add_reagent("fishwater", water_level) adjust_water_level(-water_level) - user.visible_message("[user.name] scoops out some water from [src].", "You fill [used.name] with the last of the water in [src].") + user.visible_message(SPAN_NOTICE("[user.name] scoops out some water from [src]."), SPAN_NOTICE("You fill [used.name] with the last of the water in [src].")) return ITEM_INTERACT_COMPLETE //Fish eggs @@ -643,11 +643,11 @@ var/obj/item/fish_eggs/egg = used //Don't add eggs if there is no water (they kinda need that to live) if(!water_level) - to_chat(user, "[src] has no water; [egg.name] won't hatch without water!") + to_chat(user, SPAN_WARNING("[src] has no water; [egg.name] won't hatch without water!")) else //Don't add eggs if the tank already has the max number of fish if(get_num_fish() >= max_fish) - to_chat(user, "[src] can't hold any more fish.") + to_chat(user, SPAN_NOTICE("[src] can't hold any more fish.")) else add_fish(egg.fish_type) qdel(egg) @@ -659,14 +659,14 @@ if(water_level) if(food_level < 10) if(!get_num_fish()) - user.visible_message("[user.name] shakes some fish food into the empty [src]... How sad.", "You shake some fish food into the empty [src]... If only it had fish.") + user.visible_message(SPAN_NOTICE("[user.name] shakes some fish food into the empty [src]... How sad."), SPAN_NOTICE("You shake some fish food into the empty [src]... If only it had fish.")) else - user.visible_message("[user.name] feeds the fish in [src]. The fish look excited!", "You feed the fish in [src]. They look excited!") + user.visible_message(SPAN_NOTICE("[user.name] feeds the fish in [src]. The fish look excited!"), SPAN_NOTICE("You feed the fish in [src]. They look excited!")) adjust_food_level(10) else - to_chat(user, "[src] already has plenty of food in it. You decide to not add more.") + to_chat(user, SPAN_NOTICE("[src] already has plenty of food in it. You decide to not add more.")) else - to_chat(user, "[src] doesn't have any water in it. You should fill it with water first.") + to_chat(user, SPAN_NOTICE("[src] doesn't have any water in it. You should fill it with water first.")) return ITEM_INTERACT_COMPLETE //Fish egg scoop @@ -678,10 +678,10 @@ fish_bag = user.r_hand else if(istype(user.l_hand, /obj/item/storage/bag/fish)) fish_bag = user.l_hand - user.visible_message("[user.name] harvests some fish eggs from [src].", "You scoop the fish eggs out of [src].") + user.visible_message(SPAN_NOTICE("[user.name] harvests some fish eggs from [src]."), SPAN_NOTICE("You scoop the fish eggs out of [src].")) harvest_eggs(user, fish_bag) else - user.visible_message("[user.name] fails to harvest any fish eggs from [src].", "There are no fish eggs in [src] to scoop out.") + user.visible_message(SPAN_NOTICE("[user.name] fails to harvest any fish eggs from [src]."), SPAN_NOTICE("There are no fish eggs in [src] to scoop out.")) return ITEM_INTERACT_COMPLETE //Fish net @@ -691,10 +691,10 @@ //Tank brush else if(istype(used, /obj/item/tank_brush)) if(filth_level == 0) - to_chat(user, "[src] is already spotless!") + to_chat(user, SPAN_WARNING("[src] is already spotless!")) else adjust_filth_level(-filth_level) - user.visible_message("[user.name] scrubs the inside of [src], cleaning the filth.", "You scrub the inside of [src], cleaning the filth.") + user.visible_message(SPAN_NOTICE("[user.name] scrubs the inside of [src], cleaning the filth."), SPAN_NOTICE("You scrub the inside of [src], cleaning the filth.")) return ITEM_INTERACT_COMPLETE return ..() @@ -702,10 +702,10 @@ /obj/machinery/fishtank/wrench_act(mob/user, obj/item/I) //Wrenches can deconstruct empty tanks, but not tanks with any water. Kills any fish left inside and destroys any unharvested eggs in the process . = TRUE if(water_level) - to_chat(user, "[src] must be empty before you disassemble it!") + to_chat(user, SPAN_WARNING("[src] must be empty before you disassemble it!")) return if(!I.tool_use_check(user, 0)) return - to_chat(user, "Now disassembling [src].") + to_chat(user, SPAN_NOTICE("Now disassembling [src].")) if(I.use_tool(src, user, 50, volume = I.tool_volume)) deconstruct(TRUE) diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/Dreaming.dm index f2b392d091d..6dd79d94c22 100644 --- a/code/modules/flufftext/Dreaming.dm +++ b/code/modules/flufftext/Dreaming.dm @@ -51,5 +51,5 @@ if(stat != UNCONSCIOUS || InCritical()) return if(isNightmare) - dream_image = "[dream_image]" - to_chat(src, "... [dream_image] ...") + dream_image = SPAN_CULTITALIC("[dream_image]") + to_chat(src, SPAN_NOTICE("... [dream_image] ...")) diff --git a/code/modules/food_and_drinks/drinks/bottler/bottler.dm b/code/modules/food_and_drinks/drinks/bottler/bottler.dm index 18b702a2a68..1de444d4411 100644 --- a/code/modules/food_and_drinks/drinks/bottler/bottler.dm +++ b/code/modules/food_and_drinks/drinks/bottler/bottler.dm @@ -42,14 +42,14 @@ /obj/machinery/bottler/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!user.canUnEquip(used, 0)) - to_chat(user, "[used] is stuck to your hand, you can't seem to put it down!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand, you can't seem to put it down!")) return ITEM_INTERACT_COMPLETE if(is_type_in_list(used,acceptable_items)) if(istype(used, /obj/item/food)) var/obj/item/food/S = used user.drop_item_to_ground(S) if(S.reagents && !S.reagents.total_volume) //This prevents us from using empty foods, should one occur due to some sort of error - to_chat(user, "[S] is gone, oh no!") + to_chat(user, SPAN_WARNING("[S] is gone, oh no!")) qdel(S) //Delete the food object because it is useless even as food due to the lack of reagents else insert_item(S, user) @@ -58,7 +58,7 @@ var/obj/item/reagent_containers/drinks/cans/C = used if(C.reagents) if(C.can_opened && C.reagents.total_volume) //This prevents us from using opened cans that still have something in them - to_chat(user, "Only unopened cans and bottles can be processed to ensure product integrity.") + to_chat(user, SPAN_WARNING("Only unopened cans and bottles can be processed to ensure product integrity.")) return ITEM_INTERACT_COMPLETE user.drop_item_to_ground(C) if(!C.reagents.total_volume) //Empty cans get recycled, even if they have somehow remained unopened due to some sort of error @@ -81,7 +81,7 @@ process_sheets(S) return ITEM_INTERACT_COMPLETE else //If it doesn't qualify in the above checks, we don't want it. Inform the person so they (ideally) stop trying to put the nuke disc in. - to_chat(user, "You aren't sure this is able to be processed by the machine.") + to_chat(user, SPAN_WARNING("You aren't sure this is able to be processed by the machine.")) return ITEM_INTERACT_COMPLETE /obj/machinery/bottler/wrench_act(mob/user, obj/item/I) @@ -92,7 +92,7 @@ if(!O || !user) return if(slots[1] && slots[2] && slots[3]) - to_chat(user, "[src] is full, please remove or process the contents first.") + to_chat(user, SPAN_WARNING("[src] is full, please remove or process the contents first.")) return var/slot_inserted = 0 for(var/i = 1, i <= length(slots), i++) @@ -101,10 +101,10 @@ slot_inserted = i break if(!slot_inserted) - to_chat(user, "Something went wrong and the machine spits out [O].") + to_chat(user, SPAN_WARNING("Something went wrong and the machine spits out [O].")) O.forceMove(loc) else - to_chat(user, "You load [O] into the [slot_inserted]\th ingredient tray.") + to_chat(user, SPAN_NOTICE("You load [O] into the [slot_inserted]\th ingredient tray.")) O.forceMove(src) updateUsrDialog() @@ -116,13 +116,13 @@ O = slots[i] O.forceMove(loc) slots[i] = null - visible_message("[src] beeps as it ejects the contents of all the ingredient trays.") + visible_message(SPAN_NOTICE("[src] beeps as it ejects the contents of all the ingredient trays.")) else if(slots[slot]) //ensures the tray actually has something to eject so we don't runtime on trying to reference null O = slots[slot] O.forceMove(loc) slots[slot] = null - visible_message("[src] beeps as it ejects [O.name] from the [slot]\th ingredient tray.") + visible_message(SPAN_NOTICE("[src] beeps as it ejects [O.name] from the [slot]\th ingredient tray.")) updateUsrDialog() /obj/machinery/bottler/proc/recycle_container(obj/item/O) @@ -155,11 +155,11 @@ if(con_type) if(containers[con_type] < max_define) containers[con_type]++ - visible_message("[src] whirs briefly as it prepares the container for reuse.") + visible_message(SPAN_NOTICE("[src] whirs briefly as it prepares the container for reuse.")) qdel(O) updateUsrDialog() else - visible_message("[src] cannot store any more cans at this time. Please fill some before recycling more.") + visible_message(SPAN_WARNING("[src] cannot store any more cans at this time. Please fill some before recycling more.")) O.forceMove(loc) /obj/machinery/bottler/proc/process_sheets(obj/item/stack/sheet/S) @@ -183,7 +183,7 @@ max_define = MAX_METAL mat_ratio = RATIO_METAL else - visible_message("[src] rejects the unusable materials.") + visible_message(SPAN_WARNING("[src] rejects the unusable materials.")) return var/missing var/sheets_needed @@ -195,12 +195,12 @@ sheets_needed += 1 sheets_to_use = min(sheets_needed, S.amount) if(missing) - visible_message("[src] shudders as it converts [sheets_to_use] [S.singular_name]\s into new [con_type]s.") + visible_message(SPAN_NOTICE("[src] shudders as it converts [sheets_to_use] [S.singular_name]\s into new [con_type]s.")) containers[con_type] += sheets_to_use * mat_ratio containers[con_type] = min(containers[con_type], max_define) S.use(sheets_to_use) else - visible_message("[src] rejects [S] because it already is fully stocked with [con_type]s.") + visible_message(SPAN_WARNING("[src] rejects [S] because it already is fully stocked with [con_type]s.")) /obj/machinery/bottler/proc/select_recipe() for(var/datum/bottler_recipe/recipe in available_recipes) @@ -237,7 +237,7 @@ /obj/machinery/bottler/proc/process_ingredients(container) //stop if we have ZERO ingredients (what would you process?) if(!slots[1] && !slots[2] && !slots[3]) - visible_message("There are no ingredients to process! Please insert some first.") + visible_message(SPAN_WARNING("There are no ingredients to process! Please insert some first.")) return //prep a container var/obj/item/reagent_containers/drinks/cans/bottler/drink_container @@ -254,28 +254,28 @@ drink_container = /obj/item/reagent_containers/drinks/cans/bottler/metal_can if(!con_type) - visible_message("Error 404: Drink Container Not Found.") + visible_message(SPAN_WARNING("Error 404: Drink Container Not Found.")) return if(!containers[con_type]) - visible_message("Error 503: Out of [con_type]s.") + visible_message(SPAN_WARNING("Error 503: Out of [con_type]s.")) return else drink_container = new drink_container() containers[con_type]-- //select and process a recipe based on inserted ingredients - visible_message("[src] hums as it processes the ingredients...") + visible_message(SPAN_NOTICE("[src] hums as it processes the ingredients...")) bottling = TRUE var/datum/bottler_recipe/recipe_to_use = select_recipe() if(!recipe_to_use) //bad recipe, ruins the drink var/contents = pick("thick goop", "pungent sludge", "unspeakable slurry", "gross-looking concoction", "eldritch abomination of liquids") - visible_message("The [con_type] fills with \an [contents]...") + visible_message(SPAN_WARNING("The [con_type] fills with \an [contents]...")) drink_container.reagents.add_reagent(pick("????", "toxic_slurry", "meatslurry", "glowing_slurry", "fishwater"), pick(30, 50)) drink_container.name = "Liquid Mistakes" drink_container.desc = "WARNING: CONTENTS MAY BE AWFUL, DRINK AT OWN RISK." else //good recipe, make it - visible_message("The [con_type] fills with a delicious-looking beverage!") + visible_message(SPAN_NOTICE("The [con_type] fills with a delicious-looking beverage!")) drink_container.reagents.add_reagent(recipe_to_use.result, 50) drink_container.name = "[recipe_to_use.name]" drink_container.desc = "[recipe_to_use.description]" diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 92c9753a4d7..e984c549ec0 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -56,7 +56,7 @@ return FINISH_ATTACK 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 FINISH_ATTACK /obj/item/reagent_containers/drinks/bottle/attack(mob/living/target, mob/living/user, params) @@ -113,11 +113,11 @@ //Display an attack message. if(target != user) - target.visible_message("[user] has hit [target][head_attack_message] with a bottle of [name]!", \ - "[user] has hit [target][head_attack_message] with a bottle of [name]!") + target.visible_message(SPAN_DANGER("[user] has hit [target][head_attack_message] with a bottle of [name]!"), \ + SPAN_USERDANGER("[user] has hit [target][head_attack_message] with a bottle of [name]!")) else - user.visible_message("[target] hits [target.p_themselves()] with a bottle of [name][head_attack_message]!", \ - "[target] hits [target.p_themselves()] with a bottle of [name][head_attack_message]!") + user.visible_message(SPAN_DANGER("[target] hits [target.p_themselves()] with a bottle of [name][head_attack_message]!"), \ + SPAN_USERDANGER("[target] hits [target.p_themselves()] with a bottle of [name][head_attack_message]!")) //Attack logs add_attack_logs(user, target, "Hit with [src]") @@ -130,7 +130,7 @@ /obj/item/reagent_containers/drinks/bottle/proc/SplashReagents(mob/M) if(reagents && reagents.total_volume) - M.visible_message("The contents of \the [src] splashes all over [M]!") + M.visible_message(SPAN_DANGER("The contents of \the [src] splashes all over [M]!")) reagents.reaction(M, REAGENT_TOUCH) reagents.clear_reagents() @@ -409,7 +409,7 @@ message_admins("[key_name(user)][ADMIN_QUE(user,"?")] has primed a [name] for detonation at [bombarea] (JMP).") log_game("[key_name(user)] has primed a [name] for detonation at [bombarea] ([bombturf.x],[bombturf.y],[bombturf.z]).") - to_chat(user, "You light [src] on fire.") + to_chat(user, SPAN_NOTICE("You light [src] on fire.")) if(!is_glass) spawn(50) if(active) @@ -432,8 +432,8 @@ if(active) if(!is_glass) - to_chat(user, "The flame's spread too far on it!") + to_chat(user, SPAN_DANGER("The flame's spread too far on it!")) return - to_chat(user, "You snuff out the flame on \the [src].") + to_chat(user, SPAN_NOTICE("You snuff out the flame on \the [src].")) active = FALSE update_icon(UPDATE_OVERLAYS) diff --git a/code/modules/food_and_drinks/drinks/drinks/cans.dm b/code/modules/food_and_drinks/drinks/drinks/cans.dm index b6f732f245c..78523aea29d 100644 --- a/code/modules/food_and_drinks/drinks/drinks/cans.dm +++ b/code/modules/food_and_drinks/drinks/drinks/cans.dm @@ -11,9 +11,9 @@ /obj/item/reagent_containers/drinks/cans/examine(mob/user) . = ..() if(can_opened) - . += "It has been opened." + . += SPAN_NOTICE("It has been opened.") else - . += "Ctrl-click to shake it up!" + . += SPAN_NOTICE("Ctrl-click to shake it up!") /obj/item/reagent_containers/drinks/cans/activate_self(mob/user) if(..() || can_opened) @@ -25,7 +25,7 @@ playsound(loc, 'sound/effects/canopen.ogg', rand(10, 50), 1) can_opened = TRUE container_type |= OPENCONTAINER - to_chat(user, "You open the drink with an audible pop!") + to_chat(user, SPAN_NOTICE("You open the drink with an audible pop!")) /obj/item/reagent_containers/drinks/cans/proc/crush(mob/user) var/obj/item/trash/can/crushed_can = new /obj/item/trash/can(user.loc) @@ -52,9 +52,9 @@ if(H.is_holding(src)) can_shake = FALSE addtimer(CALLBACK(src, PROC_REF(reset_shakable)), 1 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) - to_chat(H, "You start shaking up [src].") + to_chat(H, SPAN_NOTICE("You start shaking up [src].")) if(do_after(H, 1 SECONDS, target = H)) - visible_message("[user] shakes up [src]!") + visible_message(SPAN_WARNING("[user] shakes up [src]!")) if(times_shaken == 0) times_shaken++ addtimer(CALLBACK(src, PROC_REF(reset_shaken)), 1 MINUTES, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT) @@ -69,14 +69,14 @@ /obj/item/reagent_containers/drinks/cans/interact_with_atom(atom/target, mob/living/user, list/modifiers) if(target == user && !reagents.total_volume && user.a_intent == INTENT_HARM && user.zone_selected == "head") - user.visible_message("[user] crushes [src] on [user.p_their()] forehead!", "You crush [src] on your forehead.") + user.visible_message(SPAN_WARNING("[user] crushes [src] on [user.p_their()] forehead!"), SPAN_NOTICE("You crush [src] on your forehead.")) crush(user) return ITEM_INTERACT_COMPLETE return ..() /obj/item/reagent_containers/drinks/cans/item_interaction(mob/living/user, obj/item/used, list/modifiers) // This doesn't belong here. if(istype(used, /obj/item/storage/bag/trash/cyborg)) - user.visible_message("[user] crushes [src] in [user.p_their()] trash compactor.", "You crush [src] in your trash compactor.") + user.visible_message(SPAN_NOTICE("[user] crushes [src] in [user.p_their()] trash compactor."), SPAN_NOTICE("You crush [src] in your trash compactor.")) // Automatic crushed can pickup seems to be broken until storage is migrated. crush(user) return ITEM_INTERACT_COMPLETE @@ -94,21 +94,21 @@ container_type |= OPENCONTAINER if(!burstopen && user) - to_chat(user, "You open the drink with an audible pop!") + to_chat(user, SPAN_NOTICE("You open the drink with an audible pop!")) else - visible_message("[src] bursts open!") + visible_message(SPAN_WARNING("[src] bursts open!")) if(times_shaken < 5) - visible_message("[src] fizzes violently!") + visible_message(SPAN_WARNING("[src] fizzes violently!")) else - visible_message("[src] erupts into foam!") + visible_message(SPAN_BOLDWARNING("[src] erupts into foam!")) if(reagents.total_volume) var/datum/effect_system/foam_spread/sodafizz = new sodafizz.set_up(1, get_turf(src), reagents) sodafizz.start() for(var/mob/living/carbon/C in range(1, get_turf(src))) - to_chat(C, "You are splattered with [name]!") + to_chat(C, SPAN_WARNING("You are splattered with [name]!")) reagents.reaction(C, REAGENT_TOUCH) C.wetlevel = max(C.wetlevel + 1, times_shaken) diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index 6e15d33fac1..267e29fcc94 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -19,9 +19,9 @@ var/obj/item/food/egg/egg = used 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 [egg] in [src].") + to_chat(user, SPAN_NOTICE("You break [egg] in [src].")) egg.reagents.trans_to(src, egg.reagents.total_volume) qdel(egg) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/food_and_drinks/drinks/drinks_base.dm b/code/modules/food_and_drinks/drinks/drinks_base.dm index 03829e77cf8..92e0adca421 100644 --- a/code/modules/food_and_drinks/drinks/drinks_base.dm +++ b/code/modules/food_and_drinks/drinks/drinks_base.dm @@ -15,11 +15,11 @@ /obj/item/reagent_containers/drinks/mob_act(mob/target, mob/living/user) . = TRUE if(!reagents || !reagents.total_volume) - to_chat(user, "None of [src] left, oh no!") + to_chat(user, SPAN_WARNING("None of [src] left, oh no!")) return if(!is_drainable()) - to_chat(user, "You need to open [src] first!") + to_chat(user, SPAN_WARNING("You need to open [src] first!")) return if(iscarbon(target)) @@ -31,20 +31,20 @@ return var/mob/living/carbon/chugger = over_object if(!(container_type & DRAINABLE)) - to_chat(chugger, "You need to open [src] first!") + to_chat(chugger, SPAN_NOTICE("You need to open [src] first!")) return if(reagents.total_volume && loc == chugger && src == chugger.get_active_hand()) - chugger.visible_message("[chugger] raises [src] to [chugger.p_their()] mouth and starts [pick("chugging","gulping")] it down like [pick("a savage","a mad beast","it's going out of style","there's no tomorrow")]!", - "You start chugging [src].", - "You hear what sounds like gulping.") + chugger.visible_message(SPAN_NOTICE("[chugger] raises [src] to [chugger.p_their()] mouth and starts [pick("chugging","gulping")] it down like [pick("a savage","a mad beast","it's going out of style","there's no tomorrow")]!"), + SPAN_NOTICE("You start chugging [src]."), + SPAN_NOTICE("You hear what sounds like gulping.")) chugging = TRUE while(do_after_once(chugger, 4 SECONDS, TRUE, chugger, null, "You stop chugging [src].")) chugger.drink(src, chugger, 25) //Half of a glass, quarter of a bottle. if(!reagents.total_volume) //Finish in style. chugger.emote("gasp") - chugger.visible_message("[chugger] [pick("finishes","downs","polishes off","slams")] the entire [src], what a [pick("savage","monster","champ","beast")]!", - "You finish off [src]![prob(50) ? " Maybe that wasn't such a good idea..." : ""]", - "You hear a gasp and a clink.") + chugger.visible_message(SPAN_NOTICE("[chugger] [pick("finishes","downs","polishes off","slams")] the entire [src], what a [pick("savage","monster","champ","beast")]!"), + SPAN_NOTICE("You finish off [src]![prob(50) ? " Maybe that wasn't such a good idea..." : ""]"), + SPAN_NOTICE("You hear a gasp and a clink.")) break chugging = FALSE @@ -55,46 +55,46 @@ if(target.is_refillable() && is_drainable()) //Something like a glass. Player probably wants to transfer TO it. . = TRUE 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) - to_chat(user, "You transfer [trans] units of the solution to [target].") + to_chat(user, SPAN_NOTICE("You transfer [trans] units of the solution to [target].")) else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us. . = TRUE if(!is_refillable()) - to_chat(user, "[src]'s tab isn't open!") + to_chat(user, SPAN_WARNING("[src]'s tab isn't open!")) return 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, amount_per_transfer_from_this) - to_chat(user, "You fill [src] with [trans] units of the contents of [target].") + to_chat(user, SPAN_NOTICE("You fill [src] with [trans] units of the contents of [target].")) /obj/item/reagent_containers/drinks/examine(mob/user) . = ..() if(in_range(user, src)) if(!reagents || reagents.total_volume == 0) - . += "[src] is empty!" + . += SPAN_NOTICE("[src] is empty!") else if(reagents.total_volume <= volume/4) - . += "[src] is almost empty!" + . += SPAN_NOTICE("[src] is almost empty!") else if(reagents.total_volume <= volume*0.66) - . += "[src] is half full!"// We're all optimistic, right?! + . += SPAN_NOTICE("[src] is half full!")// We're all optimistic, right?! else if(reagents.total_volume <= volume*0.90) - . += "[src] is almost full!" + . += SPAN_NOTICE("[src] is almost full!") else - . += "[src] is full!" + . += SPAN_NOTICE("[src] is full!") //////////////////////////////////////////////////////////////////////////////// /// Drinks. END @@ -268,13 +268,13 @@ return if(!reagents.total_volume) - to_chat(user, "You won't shake an empty shaker now, will you?") + to_chat(user, SPAN_WARNING("You won't shake an empty shaker now, will you?")) return if(COOLDOWN_FINISHED(src, shaking_cooldown)) shaking = TRUE var/adjective = pick("furiously", "passionately", "with vigor", "with determination", "like a devil", "with care and love", "like there is no tomorrow") - user.visible_message("[user] shakes [src] [adjective]!", "You shake [src] [adjective]!") + user.visible_message(SPAN_NOTICE("[user] shakes [src] [adjective]!"), SPAN_NOTICE("You shake [src] [adjective]!")) icon_state = "shaker-shake" if(iscarbon(loc)) var/mob/living/carbon/M = loc diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index 2ae4729df2f..5cffbc54a87 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -41,21 +41,21 @@ /obj/item/reagent_containers/condiment/mob_act(mob/target, mob/living/user) . = TRUE if(!reagents || !reagents.total_volume) - to_chat(user, "None of [src] left, oh no!") + to_chat(user, SPAN_WARNING("None of [src] left, oh no!")) return if(!iscarbon(target)) // Non-carbons can't process reagents - to_chat(user, "You cannot find a way to feed [target].") + to_chat(user, SPAN_WARNING("You cannot find a way to feed [target].")) return if(target == user) - to_chat(user, "You swallow some of the contents of [src].") + to_chat(user, SPAN_NOTICE("You swallow some of the contents of [src].")) else - user.visible_message("[user] attempts to feed [target] from [src].") + user.visible_message(SPAN_WARNING("[user] attempts to feed [target] from [src].")) if(!do_mob(user, target)) return if(!reagents || !reagents.total_volume) return // The condiment might be empty after the delay. - user.visible_message("[user] feeds [target] from [src].") + user.visible_message(SPAN_WARNING("[user] feeds [target] from [src].")) add_attack_logs(user, target, "Fed [src] containing [reagents.log_list()]", reagents.harmless_helper() ? ATKLOG_ALMOSTALL : null) var/fraction = min(10/reagents.total_volume, 1) reagents.reaction(target, REAGENT_INGEST, fraction) @@ -66,25 +66,25 @@ if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. . = TRUE if(!target.reagents.total_volume) - to_chat(user, "[target] is empty!") + to_chat(user, SPAN_WARNING("[target] is empty!")) return if(reagents.total_volume >= reagents.maximum_volume) - 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) - to_chat(user, "You fill [src] with [trans] units of the contents of [target].") + to_chat(user, SPAN_NOTICE("You fill [src] with [trans] units of the contents of [target].")) //Something like a glass or a food item. Player probably wants to transfer TO it. else if(target.is_refillable() || istype(target, /obj/item/food)) . = TRUE if(!reagents.total_volume) - to_chat(user, "[src] is empty!") + to_chat(user, SPAN_WARNING("[src] is empty!")) return if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "you can't add anymore to [target]!") + to_chat(user, SPAN_WARNING("you can't add anymore to [target]!")) return var/trans = reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "You transfer [trans] units of the condiment to [target].") + to_chat(user, SPAN_NOTICE("You transfer [trans] units of the condiment to [target].")) /obj/item/reagent_containers/condiment/on_reagent_change() if(!length(possible_states)) @@ -139,7 +139,7 @@ possible_states = list() /obj/item/reagent_containers/condiment/saltshaker/suicide_act(mob/user) - user.visible_message("[user] begins to swap forms with the salt shaker! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] begins to swap forms with the salt shaker! It looks like [user.p_theyre()] trying to commit suicide!")) var/newname = "[name]" name = "[user.name]" user.name = newname @@ -313,15 +313,15 @@ //You can tear the bag open above food to put the condiments on it, obviously. if(istype(target, /obj/item/food)) if(!reagents.total_volume) - to_chat(user, "You tear open [src], but there's nothing in it.") + to_chat(user, SPAN_WARNING("You tear open [src], but there's nothing in it.")) qdel(src) return ITEM_INTERACT_COMPLETE if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "You tear open [src], but [target] is stacked so high that it just drips off!") //Not sure if food can ever be full, but better safe than sorry. + to_chat(user, SPAN_WARNING("You tear open [src], but [target] is stacked so high that it just drips off!")) //Not sure if food can ever be full, but better safe than sorry. qdel(src) return ITEM_INTERACT_COMPLETE else - to_chat(user, "You tear open [src] above [target] and the condiments drip onto it.") + to_chat(user, SPAN_NOTICE("You tear open [src] above [target] and the condiments drip onto it.")) reagents.trans_to(target, amount_per_transfer_from_this) qdel(src) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm index 0e0b04c8d10..1064826b2c6 100644 --- a/code/modules/food_and_drinks/food/customizables.dm +++ b/code/modules/food_and_drinks/food/customizables.dm @@ -326,7 +326,7 @@ do {\ return ..() if(!istype(used, /obj/item/food)) - to_chat(user, "[used] isn't exactly something that you would want to eat.") + to_chat(user, SPAN_WARNING("[used] isn't exactly something that you would want to eat.")) return ITEM_INTERACT_COMPLETE add_ingredient(used, user) @@ -340,21 +340,21 @@ do {\ */ /obj/item/food/customizable/proc/add_ingredient(obj/item/food/snack, mob/user) if(length(ingredients) > ingredient_limit) - to_chat(user, "If you put anything else in or on [src] it's going to make a mess.") + to_chat(user, SPAN_WARNING("If you put anything else in or on [src] it's going to make a mess.")) return // Fully custom snacks don't add the ingredients. So no need to check if(!fullycustom && istype(snack, /obj/item/food/customizable)) var/obj/item/food/customizable/origin = snack if(length(ingredients) + length(origin.ingredients) > ingredient_limit) - to_chat(user, "Merging [snack] and [src] together is going to make a mess.") + to_chat(user, SPAN_WARNING("Merging [snack] and [src] together is going to make a mess.")) return if(!user.unequip(snack)) - to_chat(user, "[snack] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[snack] is stuck to your hand!")) return - to_chat(user, "You add [snack] to [src].") + to_chat(user, SPAN_NOTICE("You add [snack] to [src].")) snack.reagents.trans_to(src, snack.reagents.total_volume) var/list/added_ingredients = list(snack) @@ -419,7 +419,7 @@ do {\ . = ..() if(LAZYLEN(ingredients)) var/whatsinside = pick(ingredients) - . += "You think you can see [whatsinside] in there." + . += SPAN_NOTICE("You think you can see [whatsinside] in there.") /obj/item/food/customizable/proc/newname() diff --git a/code/modules/food_and_drinks/food/foods/baked_goods.dm b/code/modules/food_and_drinks/food/foods/baked_goods.dm index 3b49e444e23..282886d3582 100644 --- a/code/modules/food_and_drinks/food/foods/baked_goods.dm +++ b/code/modules/food_and_drinks/food/foods/baked_goods.dm @@ -616,7 +616,7 @@ /obj/item/food/pie/throw_impact(atom/hit_atom) ..() new/obj/effect/decal/cleanable/pie_smudge(loc) - visible_message("[src] splats.","You hear a splat.") + visible_message(SPAN_WARNING("[src] splats."),SPAN_WARNING("You hear a splat.")) qdel(src) /obj/item/food/meatpie @@ -1069,16 +1069,16 @@ /obj/item/food/pancake/attack_tk(mob/user) if(src in user.tkgrabbed_objects) - to_chat(user, "You start channeling psychic energy into [src].") - visible_message("The syrup on [src] starts to boil...") + to_chat(user, SPAN_NOTICE("You start channeling psychic energy into [src].")) + visible_message(SPAN_DANGER("The syrup on [src] starts to boil...")) if(do_after_once(user, 4 SECONDS, target = src)) - visible_message("[src] suddenly combust!") - to_chat(user, "You combust [src] with your mind!") + visible_message(SPAN_DANGER("[src] suddenly combust!")) + to_chat(user, SPAN_WARNING("You combust [src] with your mind!")) explosion(get_turf(src), light_impact_range = 2, flash_range = 2, cause = "[user.ckey]: blows up pancakes with mind") add_attack_logs(user, src, "blew up [src] with TK", ATKLOG_ALL) qdel(src) return - to_chat(user, "You decide against the destruction of [src].") + to_chat(user, SPAN_NOTICE("You decide against the destruction of [src].")) return return ..() diff --git a/code/modules/food_and_drinks/food/foods/ingredients.dm b/code/modules/food_and_drinks/food/foods/ingredients.dm index 52548b37372..d5f3cd6eb3d 100644 --- a/code/modules/food_and_drinks/food/foods/ingredients.dm +++ b/code/modules/food_and_drinks/food/foods/ingredients.dm @@ -195,10 +195,10 @@ if(isturf(loc)) new /obj/item/food/sliceable/flatdough(loc) - to_chat(user, "You flatten [src].") + to_chat(user, SPAN_NOTICE("You flatten [src].")) qdel(src) else - to_chat(user, "You need to put [src] on a surface to roll it out!") + to_chat(user, SPAN_NOTICE("You need to put [src] on a surface to roll it out!")) return ITEM_INTERACT_COMPLETE // slicable into 3xdoughslices @@ -248,28 +248,28 @@ /obj/item/food/cookiedough/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/kitchen/rollingpin)) if(flat) - to_chat(user, "[src] doesn't need to be flattened any further!") + to_chat(user, SPAN_WARNING("[src] doesn't need to be flattened any further!")) return ITEM_INTERACT_COMPLETE if(isturf(loc)) - to_chat(user, "You flatten [src].") + to_chat(user, SPAN_NOTICE("You flatten [src].")) flat = TRUE update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) else - to_chat(user, "You need to put [src] on a surface to roll it out!") + to_chat(user, SPAN_WARNING("You need to put [src] on a surface to roll it out!")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/kitchen/cutter)) if(!flat) - to_chat(user, "[src] needs to be flattened first!") + to_chat(user, SPAN_WARNING("[src] needs to be flattened first!")) return ITEM_INTERACT_COMPLETE if(isturf(loc)) new /obj/item/food/rawcookies(loc) - to_chat(user, "You cut [src] into cookies.") + to_chat(user, SPAN_NOTICE("You cut [src] into cookies.")) qdel(src) else - to_chat(user, "You need to put [src] on a surface to cut it out!") + to_chat(user, SPAN_WARNING("You need to put [src] on a surface to cut it out!")) return ITEM_INTERACT_COMPLETE return NONE @@ -286,11 +286,11 @@ if(istype(used, /obj/item/food/choc_pile)) if(isturf(loc)) new /obj/item/food/rawcookies/chocochips(loc) - to_chat(user, "You sprinkle [used] all over the cookies.") + to_chat(user, SPAN_NOTICE("You sprinkle [used] all over the cookies.")) qdel(src) qdel(used) else - to_chat(user, "You need to put [src] on a surface to add [used]!") + to_chat(user, SPAN_WARNING("You need to put [src] on a surface to add [used]!")) return ITEM_INTERACT_COMPLETE return NONE @@ -329,10 +329,10 @@ if(isturf(loc)) new /obj/item/food/choc_pile(loc) - to_chat(user, "You cut [src] into little crumbles.") + to_chat(user, SPAN_NOTICE("You cut [src] into little crumbles.")) qdel(src) else - to_chat(user, "You need to put [src] on a surface to cut it out!") + to_chat(user, SPAN_WARNING("You need to put [src] on a surface to cut it out!")) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/food_and_drinks/food/foods/meat.dm b/code/modules/food_and_drinks/food/foods/meat.dm index 6a9c58ff15a..d94796a8d53 100644 --- a/code/modules/food_and_drinks/food/foods/meat.dm +++ b/code/modules/food_and_drinks/food/foods/meat.dm @@ -201,7 +201,7 @@ tastes = list("tough meat" = 1) /obj/item/food/monstermeat/goliath/burn() - visible_message("[src] finishes cooking!") + visible_message(SPAN_NOTICE("[src] finishes cooking!")) new /obj/item/food/goliath_steak(loc) qdel(src) @@ -276,15 +276,15 @@ /obj/item/food/meat/patty_raw/examine(mob/user) . = ..() - . += "Use it in hand to shape it into a raw meatball." + . += SPAN_NOTICE("Use it in hand to shape it into a raw meatball.") /obj/item/food/meat/patty_raw/activate_self(mob/user) if(..()) return ITEM_INTERACT_COMPLETE user.visible_message( - "[user] shapes [src] into a raw meatball.", - "You shape [src] into a raw meatball." + SPAN_NOTICE("[user] shapes [src] into a raw meatball."), + SPAN_NOTICE("You shape [src] into a raw meatball.") ) playsound(user, 'sound/effects/blobattack.ogg', 50, 1) var/obj/item/food/meat/raw_meatball/M = new(get_turf(user)) @@ -304,16 +304,16 @@ /obj/item/food/ground_meat/examine(mob/user) . = ..() - . += "Use it in hand to shape it into a raw meatball." - . += "Use it in hand again to flatten it into a raw patty." + . += SPAN_NOTICE("Use it in hand to shape it into a raw meatball.") + . += SPAN_NOTICE("Use it in hand again to flatten it into a raw patty.") /obj/item/food/ground_meat/activate_self(mob/user) if(..()) return ITEM_INTERACT_COMPLETE user.visible_message( - "[user] shapes [src] into a ball.", - "You shape [src] into a ball of raw ground meat." + SPAN_NOTICE("[user] shapes [src] into a ball."), + SPAN_NOTICE("You shape [src] into a ball of raw ground meat.") ) playsound(user, 'sound/effects/blobattack.ogg', 50, TRUE) var/obj/item/food/meat/raw_meatball/M = new(get_turf(user)) @@ -332,15 +332,15 @@ /obj/item/food/meat/raw_meatball/examine(mob/user) . = ..() - . += "Use it in hand to flatten it into a raw patty." + . += SPAN_NOTICE("Use it in hand to flatten it into a raw patty.") /obj/item/food/meat/raw_meatball/activate_self(mob/user) if(..()) return ITEM_INTERACT_COMPLETE user.visible_message( - "[user] flattens [src] into a patty.", - "You flatten [src] into a raw patty." + SPAN_NOTICE("[user] flattens [src] into a patty."), + SPAN_NOTICE("You flatten [src] into a raw patty.") ) playsound(user, 'sound/effects/blobattack.ogg', 50, TRUE) var/obj/item/food/meat/patty_raw/M = new(get_turf(user)) @@ -460,7 +460,7 @@ if(LAZYLEN(SSmobs.cubemonkeys) >= GLOB.configuration.general.monkey_cube_cap) return if(!QDELETED(src)) - visible_message("[src] expands!") + visible_message(SPAN_NOTICE("[src] expands!")) if(fingerprintslast) log_game("Cube ([monkey_type]) inflated, last touched by: " + fingerprintslast) else diff --git a/code/modules/food_and_drinks/food/foods/misc_food.dm b/code/modules/food_and_drinks/food/foods/misc_food.dm index 4a2c7ffbf6f..37aa5d5afbd 100644 --- a/code/modules/food_and_drinks/food/foods/misc_food.dm +++ b/code/modules/food_and_drinks/food/foods/misc_food.dm @@ -287,7 +287,7 @@ /obj/item/food/popcorn/On_Consume(mob/M, mob/user) if(prob(unpopped)) //lol ...what's the point? - to_chat(user, "You bite down on an un-popped kernel!") + to_chat(user, SPAN_USERDANGER("You bite down on an un-popped kernel!")) unpopped = max(0, unpopped-1) ..() diff --git a/code/modules/food_and_drinks/food/foods/pizza.dm b/code/modules/food_and_drinks/food/foods/pizza.dm index b7a8039d315..7e4ed141bd4 100644 --- a/code/modules/food_and_drinks/food/foods/pizza.dm +++ b/code/modules/food_and_drinks/food/foods/pizza.dm @@ -343,7 +343,7 @@ /obj/item/pizzabox/attack_hand(mob/user) if(open && pizza) user.put_in_hands(pizza) - to_chat(user, "You take [pizza] out of [src].") + to_chat(user, SPAN_WARNING("You take [pizza] out of [src].")) pizza = null update_appearance(UPDATE_DESC|UPDATE_ICON) return @@ -355,7 +355,7 @@ var/obj/item/pizzabox/box = boxes[length(boxes)] boxes -= box user.put_in_hands(box) - to_chat(user, "You remove the topmost [src] from your hand.") + to_chat(user, SPAN_WARNING("You remove the topmost [src] from your hand.")) box.update_appearance(UPDATE_DESC|UPDATE_ICON) update_appearance(UPDATE_DESC|UPDATE_ICON) return @@ -392,11 +392,11 @@ boxes.Add(boxestoadd) box.update_appearance(UPDATE_DESC|UPDATE_ICON) update_appearance(UPDATE_DESC|UPDATE_ICON) - to_chat(user, "You put [box] on top of [src]!") + to_chat(user, SPAN_WARNING("You put [box] on top of [src]!")) else - to_chat(user, "The stack is too high!") + to_chat(user, SPAN_WARNING("The stack is too high!")) else - to_chat(user, "Close [box] first!") + to_chat(user, SPAN_WARNING("Close [box] first!")) return if(istype(I, /obj/item/food/sliceable/pizza)) // Long ass fucking object name @@ -407,9 +407,9 @@ update_appearance(UPDATE_DESC|UPDATE_ICON) - to_chat(user, "You put [I] in [src]!") + to_chat(user, SPAN_WARNING("You put [I] in [src]!")) else - to_chat(user, "You try to push [I] through the lid but it doesn't work!") + to_chat(user, SPAN_WARNING("You try to push [I] through the lid but it doesn't work!")) return if(is_pen(I)) @@ -555,9 +555,9 @@ open = TRUE opener = user - audible_message("[bicon(src)] *beep* *beep* *beep*") + audible_message(SPAN_WARNING("[bicon(src)] *beep* *beep* *beep*")) playsound(src, 'sound/machines/triple_beep.ogg', 40, extrarange = -10) - to_chat(user, "That's no pizza! That's a bomb!") + to_chat(user, SPAN_DANGER("That's no pizza! That's a bomb!")) if(HAS_TRAIT(src, TRAIT_CMAGGED)) atom_say("Pizza time!") playsound(src, 'sound/voice/pizza_time.ogg', 50, FALSE) ///Sound effect made by BlackDog @@ -574,10 +574,10 @@ /obj/item/pizzabox/pizza_bomb/proc/go_boom() if(pizza_bomb_status == PIZZA_BOMB_DISARMED) - visible_message("[bicon(src)] Sparks briefly jump out of the [correct_wire] wire on [src], but it's disarmed!") + visible_message(SPAN_DANGER("[bicon(src)] Sparks briefly jump out of the [correct_wire] wire on [src], but it's disarmed!")) return atom_say("Enjoy the pizza!") - visible_message("[src] violently explodes!") + visible_message(SPAN_USERDANGER("[src] violently explodes!")) message_admins("A pizza bomb set by [key_name_admin(armer)] and opened by [key_name_admin(opener)] has detonated at [ADMIN_JMP(loc)].") log_game("Pizza bomb set by [key_name(armer)] and opened by [key_name(opener)]) detonated at ([loc.x],[loc.y],[loc.z]).") explosion(loc, 1, 2, 4, flame_range = 2, cause = "Pizza bomb") //Identical to a minibomb @@ -585,7 +585,7 @@ /obj/item/pizzabox/pizza_bomb/cmag_act(mob/user) if(!HAS_TRAIT(src, TRAIT_CMAGGED)) - to_chat(user, "You smear the bananium ooze all over the pizza bomb's internals! You think you smell a bit of tomato sauce.") + to_chat(user, SPAN_NOTICE("You smear the bananium ooze all over the pizza bomb's internals! You think you smell a bit of tomato sauce.")) ADD_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG) return TRUE return FALSE @@ -595,32 +595,32 @@ return . = TRUE if(pizza_bomb_status == PIZZA_BOMB_PRIMED) - to_chat(user, "Oh God, what wire do you cut?!") + to_chat(user, SPAN_DANGER("Oh God, what wire do you cut?!")) var/chosen_wire = tgui_input_list(user, "OH GOD OH GOD", "WHAT WIRE?!", wires) if(!in_range(src, user) || issilicon(usr) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || user.restrained() || !chosen_wire) return playsound(src, I.usesound, 50, TRUE, 1) - user.visible_message("[user] cuts the [chosen_wire] wire!", "You cut the [chosen_wire] wire!") + user.visible_message(SPAN_WARNING("[user] cuts the [chosen_wire] wire!"), SPAN_DANGER("You cut the [chosen_wire] wire!")) if(chosen_wire == correct_wire) - audible_message("[bicon(src)] [src] suddenly stops beeping and seems lifeless.") - to_chat(user, "You did it!") + audible_message(SPAN_WARNING("[bicon(src)] [src] suddenly stops beeping and seems lifeless.")) + to_chat(user, SPAN_NOTICE("You did it!")) pizza_bomb_status = PIZZA_BOMB_DISARMED update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_ICON) return else - to_chat(user, "WRONG WIRE!") + to_chat(user, SPAN_USERDANGER("WRONG WIRE!")) go_boom() return if(pizza_bomb_status == PIZZA_BOMB_DISARMED) if(!in_range(user, src)) - to_chat(user, "You can't see the box well enough to cut the wires out.") + to_chat(user, SPAN_WARNING("You can't see the box well enough to cut the wires out.")) return - user.visible_message("[user] starts removing the payload and wires from [src].") + user.visible_message(SPAN_NOTICE("[user] starts removing the payload and wires from [src].")) if(I.use_tool(src, user, 4 SECONDS, volume = 50)) user.unequip(src) - user.visible_message("[user] removes the insides of [src]!") + user.visible_message(SPAN_NOTICE("[user] removes the insides of [src]!")) var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(src.loc) C.amount = 3 new /obj/item/bombcore/miniature(loc) diff --git a/code/modules/food_and_drinks/food/foods/sandwiches.dm b/code/modules/food_and_drinks/food/foods/sandwiches.dm index d30af6d101b..a95f9e67bf7 100644 --- a/code/modules/food_and_drinks/food/foods/sandwiches.dm +++ b/code/modules/food_and_drinks/food/foods/sandwiches.dm @@ -496,9 +496,9 @@ ..() if(!HAS_TRAIT(M, TRAIT_SUPERMATTER_IMMUNE)) M.visible_message( - "[M] lifts [src] up to [M.p_their()] mouth and bites down, inducing a resonance... [M.p_their(TRUE)] body starts to glow and burst into flames before flashing into dust!", - "You bite down on [src].

Everything starts burning and all you can hear is ringing. Your final thought is: \"OH FU-\"
", - "A deafening resonance fills the air, followed by silence..." + SPAN_DANGER("[M] lifts [src] up to [M.p_their()] mouth and bites down, inducing a resonance... [M.p_their(TRUE)] body starts to glow and burst into flames before flashing into dust!"), + SPAN_USERDANGER("You bite down on [src].

Everything starts burning and all you can hear is ringing. Your final thought is: \"OH FU-\""), + SPAN_DANGER("A deafening resonance fills the air, followed by silence...") ) radiation_pulse(src, 2000, GAMMA_RAD) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) diff --git a/code/modules/food_and_drinks/food_base.dm b/code/modules/food_and_drinks/food_base.dm index 1de21fbd23a..fad9c3de11c 100644 --- a/code/modules/food_and_drinks/food_base.dm +++ b/code/modules/food_and_drinks/food_base.dm @@ -132,11 +132,11 @@ if(in_range(user, src)) if(bitecount > 0) if(bitecount==1) - . += "[src] was bitten by someone!" + . += SPAN_NOTICE("[src] was bitten by someone!") else if(bitecount<=3) - . += "[src] was bitten [bitecount] times!" + . += SPAN_NOTICE("[src] was bitten [bitecount] times!") else - . += "[src] was bitten multiple times!" + . += SPAN_NOTICE("[src] was bitten multiple times!") /obj/item/food/ex_act() if(reagents) @@ -161,8 +161,8 @@ SEND_SIGNAL(src, COMSIG_MOB_REAGENT_EXCHANGE, M) if(!reagents.total_volume) if(M == user) - to_chat(user, "You finish eating [src].") - user.visible_message("[M] finishes eating [src].") + to_chat(user, SPAN_NOTICE("You finish eating [src].")) + user.visible_message(SPAN_NOTICE("[M] finishes eating [src].")) user.unequip(src) //so icons update :[ Post_Consume(M) var/obj/item/trash_item = generate_trash(user) @@ -178,7 +178,7 @@ user.changeNext_move(CLICK_CD_MELEE) if(reagents && !reagents.total_volume) // Shouldn't be needed but it checks to see if it has anything left in it. - to_chat(user, "None of [src] left, oh no!") + to_chat(user, SPAN_WARNING("None of [src] left, oh no!")) qdel(src) return ITEM_INTERACT_COMPLETE @@ -206,8 +206,8 @@ return ITEM_INTERACT_COMPLETE user.visible_message( - "[user] scoops up some [name] with [U]!", - "You scoop up some [name] with [U]!" + SPAN_NOTICE("[user] scoops up some [name] with [U]!"), + SPAN_NOTICE("You scoop up some [name] with [U]!") ) bitecount++ U.overlays.Cut() @@ -254,23 +254,23 @@ if(isdog(M)) var/mob/living/simple_animal/pet/dog/D = M if(world.time < (D.last_eaten + 300)) - to_chat(D, "You are too full to try eating [src] right now.") + to_chat(D, SPAN_NOTICE("You are too full to try eating [src] right now.")) else if(bitecount >= 4) - D.visible_message("[D] [pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where [src] was")].","You swallow up the last part of [src].") + D.visible_message("[D] [pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where [src] was")].",SPAN_NOTICE("You swallow up the last part of [src].")) playsound(loc,'sound/items/eatfood.ogg', rand(10,50), 1) D.adjustHealth(-10) D.last_eaten = world.time D.taste(reagents) qdel(src) else - D.visible_message("[D] takes a bite of [src].","You take a bite of [src].") + D.visible_message("[D] takes a bite of [src].",SPAN_NOTICE("You take a bite of [src].")) playsound(loc,'sound/items/eatfood.ogg', rand(10,50), 1) bitecount++ D.last_eaten = world.time D.taste(reagents) else if(ismouse(M)) var/mob/living/basic/mouse/N = M - to_chat(N, "You nibble away at [src].") + to_chat(N, SPAN_NOTICE("You nibble away at [src].")) if(prob(50)) N.visible_message("[N] nibbles away at [src].", "") N.adjustHealth(-2) @@ -303,7 +303,7 @@ /obj/item/food/sliceable/examine(mob/user) . = ..() - . += "Alt-click to put something small inside." + . += SPAN_NOTICE("Alt-click to put something small inside.") /obj/item/food/sliceable/AltClick(mob/user) if(!Adjacent(user)) @@ -312,19 +312,19 @@ if(!I || I == src) // dont try to slip inside itself return if(I.w_class > WEIGHT_CLASS_SMALL) - to_chat(user, "You cannot fit [I] in [src]!") + to_chat(user, SPAN_WARNING("You cannot fit [I] in [src]!")) return var/newweight = GetTotalContentsWeight() + I.GetTotalContentsWeight() + I.w_class if(newweight > MAX_WEIGHT_CLASS) // Nope, no bluespace slice food - to_chat(user, "You cannot fit [I] in [src]!") + to_chat(user, SPAN_WARNING("You cannot fit [I] in [src]!")) return if(!iscarbon(user)) return if(!user.drop_item()) - to_chat(user, "You cannot slip [I] inside [src]!") + to_chat(user, SPAN_WARNING("You cannot slip [I] inside [src]!")) return - to_chat(user, "You slip [I] inside [src].") + to_chat(user, SPAN_WARNING("You slip [I] inside [src].")) total_w_class += I.w_class add_fingerprint(user) I.forceMove(src) @@ -342,7 +342,7 @@ if(!isturf(loc) || !(locate(/obj/structure/table) in loc) && \ !(locate(/obj/machinery/optable) in loc) && !(locate(/obj/item/storage/bag/tray) in loc)) - to_chat(user, "You cannot slice [src] here! You need a table or at least a tray to do it.") + to_chat(user, SPAN_WARNING("You cannot slice [src] here! You need a table or at least a tray to do it.")) return ITEM_INTERACT_COMPLETE var/initial_volume = 0 // the total some of reagents this food had initially @@ -356,13 +356,13 @@ var/slices_lost if(!inaccurate) user.visible_message( - "[user] slices [src] with [used].", - "You slice [src] with [used]." + SPAN_NOTICE("[user] slices [src] with [used]."), + SPAN_NOTICE("You slice [src] with [used].") ) else user.visible_message( - "[user] crudely slices [src] with [used], destroying some in the process!", - "You crudely slice [src] with [used], destroying some in the process!" + SPAN_NOTICE("[user] crudely slices [src] with [used], destroying some in the process!"), + SPAN_NOTICE("You crudely slice [src] with [used], destroying some in the process!") ) slices_lost = rand(1, min(1, round(slices_num / 2))) // Low efficiency means more loss. diff --git a/code/modules/food_and_drinks/kitchen_machinery/cooker.dm b/code/modules/food_and_drinks/kitchen_machinery/cooker.dm index 48c4612ae1c..845926c2f31 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/cooker.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/cooker.dm @@ -53,7 +53,7 @@ * Return TRUE to drop the grab or FALSE to keep the grab afterwards. */ /obj/machinery/cooker/proc/special_attack(mob/user, mob/living/carbon/target, obj/item/grab/G) - to_chat(user, "This is ridiculous. You can not fit [target] in this [src].") + to_chat(user, SPAN_ALERT("This is ridiculous. You can not fit [target] in this [src].")) return FALSE /obj/machinery/cooker/shove_impact(mob/living/target, mob/living/attacker) @@ -83,15 +83,15 @@ if(!istype(G)) return FALSE if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "Slamming [G.affecting] into [src] might hurt them!") + to_chat(user, SPAN_DANGER("Slamming [G.affecting] into [src] might hurt them!")) return FALSE if(!iscarbon(G.affecting)) if(verbose) - to_chat(user, "You can't shove that in there!") + to_chat(user, SPAN_WARNING("You can't shove that in there!")) return FALSE if(G.state < GRAB_AGGRESSIVE) if(verbose) - to_chat(user, "You need a better grip to do that!") + to_chat(user, SPAN_WARNING("You need a better grip to do that!")) return FALSE return TRUE @@ -110,22 +110,22 @@ // check if you can put it in the machine /obj/machinery/cooker/proc/checkValid(obj/item/check, mob/user) if(on) - to_chat(user, "[src] is still active!") + to_chat(user, SPAN_NOTICE("[src] is still active!")) return FALSE if(has_specials && checkSpecials(check)) return TRUE if(istype(check, /obj/item/food) || emagged) if(istype(check, /obj/item/disk/nuclear)) //(1984 voice) you will not deep fry the NAD - to_chat(user, "The disk is more useful raw than [thiscooktype].") + to_chat(user, SPAN_NOTICE("The disk is more useful raw than [thiscooktype].")) return FALSE var/obj/item/disk/nuclear/datdisk = locate() in check if(datdisk) - to_chat(user, "You get the feeling that something very important is inside this. Something that shouldn't be [thiscooktype].") + to_chat(user, SPAN_NOTICE("You get the feeling that something very important is inside this. Something that shouldn't be [thiscooktype].")) return FALSE if(check.flags & (ABSTRACT | DROPDEL | NODROP)) //you will not deep fry the armblade return FALSE return TRUE - to_chat(user, "You can only process food!") + to_chat(user, SPAN_NOTICE("You can only process food!")) return FALSE /obj/machinery/cooker/proc/setIcon(obj/item/copyme, obj/item/copyto) @@ -149,7 +149,7 @@ var/obj/item/food/badrecipe/burnt = new(get_turf(src)) setRegents(props, burnt) soundloop.stop() - to_chat(user, "You smell burning coming from [src]!") + to_chat(user, SPAN_WARNING("You smell burning coming from [src]!")) var/datum/effect_system/smoke_spread/bad/smoke = new // burning things makes smoke! smoke.set_up(5, FALSE, src) smoke.start() @@ -167,7 +167,7 @@ /obj/machinery/cooker/proc/putIn(obj/item/tocook, mob/chef) icon_state = onicon - to_chat(chef, "You put [tocook] into [src].") + to_chat(chef, SPAN_NOTICE("You put [tocook] into [src].")) soundloop.start() on = TRUE chef.drop_item() @@ -188,7 +188,7 @@ if(stat & (NOPOWER|BROKEN)) return ITEM_INTERACT_COMPLETE if(panel_open) - to_chat(user, "Close the panel first!") + to_chat(user, SPAN_WARNING("Close the panel first!")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/grab)) if(special_attack_grab(used, user)) @@ -198,7 +198,7 @@ if(!burns) if(istype(used, /obj/item/food)) if(checkCooked(used)) - to_chat(user, "That is already [thiscooktype], it would do nothing!") + to_chat(user, SPAN_WARNING("That is already [thiscooktype], it would do nothing!")) return ITEM_INTERACT_COMPLETE putIn(used, user) for(var/mob/living/L in used.contents) //Emagged cookers - Any mob put in will not survive the trip diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index 5ef5db715dd..3de488069f5 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -40,12 +40,12 @@ /obj/machinery/gibber/examine(mob/user) . = ..() - . += "You can Alt-Click [src] to empty it." + . += SPAN_NOTICE("You can Alt-Click [src] to empty it.") /obj/machinery/gibber/suicide_act(mob/living/user) if(occupant || locked) return FALSE - user.visible_message("[user] climbs into [src] and turns it on!") + user.visible_message(SPAN_DANGER("[user] climbs into [src] and turns it on!")) user.Stun(20 SECONDS) user.forceMove(src) occupant = user @@ -84,11 +84,11 @@ return if(operating) - to_chat(user, "The gibber is locked and running, wait for it to finish.") + to_chat(user, SPAN_DANGER("The gibber is locked and running, wait for it to finish.")) return if(locked) - to_chat(user, "Wait for [occupant.name] to finish being loaded!") + to_chat(user, SPAN_WARNING("Wait for [occupant.name] to finish being loaded!")) return startgibbing(user) @@ -97,7 +97,7 @@ if(istype(used, /obj/item/grab)) var/obj/item/grab/G = used if(G.state < 2) - to_chat(user, "You need a better grip to do that!") + to_chat(user, SPAN_DANGER("You need a better grip to do that!")) return ITEM_INTERACT_COMPLETE move_into_gibber(user,G.affecting) qdel(G) @@ -131,28 +131,28 @@ /obj/machinery/gibber/proc/move_into_gibber(mob/user, mob/living/victim) if(occupant) - to_chat(user, "[src] is full, empty it first!") + to_chat(user, SPAN_DANGER("[src] is full, empty it first!")) return if(operating) - to_chat(user, "[src] is locked and running, wait for it to finish.") + to_chat(user, SPAN_DANGER("[src] is locked and running, wait for it to finish.")) return if(!ishuman(victim)) - to_chat(user, "This is not suitable for [src]!") + to_chat(user, SPAN_DANGER("This is not suitable for [src]!")) return - user.visible_message("[user] starts to put [victim] into [src]!") + user.visible_message(SPAN_DANGER("[user] starts to put [victim] into [src]!")) add_fingerprint(user) if(victim.abiotic(TRUE)) - to_chat(user, "Clothing detected. Please speak to an engineer if any clothing jams up the internal grinders!") + to_chat(user, SPAN_DANGER("Clothing detected. Please speak to an engineer if any clothing jams up the internal grinders!")) if(do_after(user, 15 SECONDS, target = victim) && user.Adjacent(src) && victim.Adjacent(user) && !occupant) //15 seconds if they are not fully stripped, 12 more than normal. Similarly, takes about that long to strip a person in a ert hardsuit of all gear. - user.visible_message("[user] stuffs [victim] into [src]!") + user.visible_message(SPAN_DANGER("[user] stuffs [victim] into [src]!")) else return else if(do_after(user, 3 SECONDS, target = victim) && user.Adjacent(src) && victim.Adjacent(user) && !occupant) - user.visible_message("[user] stuffs [victim] into [src]!") + user.visible_message(SPAN_DANGER("[user] stuffs [victim] into [src]!")) else return QDEL_LIST_CONTENTS(victim.grabbed_by) @@ -228,15 +228,15 @@ return if(!occupant) - visible_message("You hear a loud metallic grinding sound.") + visible_message(SPAN_DANGER("You hear a loud metallic grinding sound.")) return if(HAS_TRAIT(occupant, TRAIT_CLING_BURSTING)) - visible_message("[src] jams up as [occupant]'s corpse rapidly grows in size...") + visible_message(SPAN_WARNING("[src] jams up as [occupant]'s corpse rapidly grows in size...")) return use_power(1000) - visible_message("You hear a loud squelchy grinding sound.") + visible_message(SPAN_DANGER("You hear a loud squelchy grinding sound.")) operating = TRUE update_icon(UPDATE_OVERLAYS | UPDATE_ICON_STATE) @@ -363,7 +363,7 @@ victim_targets += H if(length(victim_targets)) - visible_message({"\The [src] states, "Food detected!""}) + visible_message(SPAN_DANGER("\The [src] states, \"Food detected!\"")) sleep(consumption_delay) for(var/mob/living/carbon/H in victim_targets) if(H.loc == lturf) //still standing there @@ -378,7 +378,7 @@ /obj/machinery/gibber/autogibber/proc/force_move_into_gibber(mob/living/carbon/human/victim) if(!istype(victim)) return 0 - visible_message("\The [victim.name] gets sucked into \the [src]!") + visible_message(SPAN_DANGER("\The [victim.name] gets sucked into \the [src]!")) victim.forceMove(src) occupant = victim @@ -423,6 +423,6 @@ spats++ sleep(1) if(spats) - visible_message("\The [src] spits out more possessions!") + visible_message(SPAN_WARNING("\The [src] spits out more possessions!")) #undef GIBBER_ANIMATION_DELAY diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm index d99d8389ce7..9d3d7861fc1 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm @@ -32,14 +32,14 @@ /obj/machinery/icemachine/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/reagent_containers/glass)) if(beaker) - to_chat(user, "A container is already inside [src].") + to_chat(user, SPAN_NOTICE("A container is already inside [src].")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) - to_chat(user, "\The [used] is stuck to you!") + to_chat(user, SPAN_WARNING("\The [used] is stuck to you!")) return ITEM_INTERACT_COMPLETE beaker = used used.forceMove(src) - to_chat(user, "You add [used] to [src].") + to_chat(user, SPAN_NOTICE("You add [used] to [src].")) updateUsrDialog() return ITEM_INTERACT_COMPLETE @@ -51,7 +51,7 @@ used.name += " with sprinkles" used.desc += ". This also has sprinkles." else - to_chat(user, "This [used] already has sprinkles.") + to_chat(user, SPAN_NOTICE("This [used] already has sprinkles.")) return ITEM_INTERACT_COMPLETE return ..() @@ -76,7 +76,7 @@ var/transferred = beaker.reagents.trans_id_to(src, id, amount) if(transferred <= 0) return - to_chat(usr, "[src] vibrates for a moment as it transfers the liquid.") + to_chat(usr, SPAN_NOTICE("[src] vibrates for a moment as it transfers the liquid.")) playsound(loc, 'sound/machines/twobeep.ogg', 10, TRUE) else if(href_list["remove"]) @@ -87,7 +87,7 @@ return if(beaker == null || (id in locked_reagents)) reagents.remove_reagent(id,amount) - to_chat(usr, "[src] vibrates for a moment as it flushes the liquid.") + to_chat(usr, SPAN_NOTICE("[src] vibrates for a moment as it flushes the liquid.")) playsound(loc, 'sound/machines/twobeep.ogg', 10, TRUE) updateUsrDialog() return @@ -95,7 +95,7 @@ var/transferred = reagents.trans_id_to(beaker, id, amount) if(transferred <= 0) return - to_chat(usr, "[src] vibrates for a moment as it transfers the liquid.") + to_chat(usr, SPAN_NOTICE("[src] vibrates for a moment as it transfers the liquid.")) playsound(loc, 'sound/machines/twobeep.ogg', 10, TRUE) else if(href_list["main"]) diff --git a/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm b/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm index 10fa3722920..17df6929e2d 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm @@ -85,21 +85,21 @@ if(dirty == MAX_DIRT) // The machine is all dirty so can't be used! if(istype(used, /obj/item/reagent_containers/spray/cleaner) || istype(used, /obj/item/soap) || istype(used, /obj/item/reagent_containers/glass/rag)) // If they're trying to clean it then let them - user.visible_message("[user] starts to clean [src].", "You start to clean [src].") + user.visible_message(SPAN_NOTICE("[user] starts to clean [src]."), SPAN_NOTICE("You start to clean [src].")) if(do_after(user, 20 * used.toolspeed, target = src)) - user.visible_message("[user] has cleaned [src].", "You have cleaned [src].") + user.visible_message(SPAN_NOTICE("[user] has cleaned [src]."), SPAN_NOTICE("You have cleaned [src].")) dirty = NO_DIRT update_icon(UPDATE_ICON_STATE) container_type = OPENCONTAINER return ITEM_INTERACT_COMPLETE else //Otherwise bad luck!! - to_chat(user, "It's dirty!") + to_chat(user, SPAN_ALERT("It's dirty!")) return ITEM_INTERACT_COMPLETE if(is_type_in_list(used, GLOB.cooking_ingredients[recipe_type])) if(length(contents) >= max_n_of_items) - to_chat(user, "This [src] is full of ingredients, you cannot put more.") + to_chat(user, SPAN_ALERT("This [src] is full of ingredients, you cannot put more.")) return ITEM_INTERACT_COMPLETE if(istype(used,/obj/item/stack)) @@ -107,7 +107,7 @@ if(S.get_amount() > 1) var/obj/item/stack/to_add = S.split(user, 1) to_add.forceMove(src) - user.visible_message("[user] adds one of [S] to [src].", "You add one of [S] to [src].") + user.visible_message(SPAN_NOTICE("[user] adds one of [S] to [src]."), SPAN_NOTICE("You add one of [S] to [src].")) else add_item(S, user) else @@ -120,26 +120,26 @@ for(var/datum/reagent/R in used.reagents.reagent_list) if(!(R.id in GLOB.cooking_reagents[recipe_type])) - to_chat(user, "Your [used.name] contains components unsuitable for cookery.") + to_chat(user, SPAN_ALERT("Your [used.name] contains components unsuitable for cookery.")) return ITEM_INTERACT_COMPLETE return ..() else if(istype(used, /obj/item/storage)) var/obj/item/storage/S = used if(!S.allow_quick_empty) - to_chat(user, "[used] is too awkward a shape to dump into [src].") + to_chat(user, SPAN_ALERT("[used] is too awkward a shape to dump into [src].")) return ITEM_INTERACT_COMPLETE if(length(S.contents) + length(contents) >= max_n_of_items) - to_chat(user, "You can't fit everything from [used] into [src].") + to_chat(user, SPAN_ALERT("You can't fit everything from [used] into [src].")) return ITEM_INTERACT_COMPLETE if(length(S.contents) == 0) - to_chat(user, "[used] is empty!") + to_chat(user, SPAN_ALERT("[used] is empty!")) return ITEM_INTERACT_COMPLETE for(var/obj/item/ingredient in used.contents) if(!is_type_in_list(ingredient, GLOB.cooking_ingredients[recipe_type])) - to_chat(user, "Your [used.name] contains contents unsuitable for cookery.") + to_chat(user, SPAN_ALERT("Your [used.name] contains contents unsuitable for cookery.")) return ITEM_INTERACT_COMPLETE S.hide_from(user) - user.visible_message("[user] dumps [used] into [src].", "You dump [used] into [src].") + user.visible_message(SPAN_NOTICE("[user] dumps [used] into [src]."), SPAN_NOTICE("You dump [used] into [src].")) for(var/obj/item/ingredient in used.contents) S.remove_from_storage(ingredient, src) CHECK_TICK @@ -149,12 +149,12 @@ else if(istype(used, /obj/item/grab)) var/obj/item/grab/G = used if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "Slamming [G.affecting] into [src] might hurt them!") + to_chat(user, SPAN_DANGER("Slamming [G.affecting] into [src] might hurt them!")) return ITEM_INTERACT_COMPLETE special_attack_grab(G, user) return ITEM_INTERACT_COMPLETE - to_chat(user, "You have no idea what you can cook with [used].") + to_chat(user, SPAN_ALERT("You have no idea what you can cook with [used].")) return ITEM_INTERACT_COMPLETE /obj/machinery/kitchen_machine/wrench_act(mob/living/user, obj/item/I) @@ -166,11 +166,11 @@ /obj/machinery/kitchen_machine/proc/add_item(obj/item/I, mob/user) if(!user.drop_item()) - to_chat(user, "[I] is stuck to your hand, you cannot put it in [src]") + to_chat(user, SPAN_NOTICE("[I] is stuck to your hand, you cannot put it in [src]")) return I.forceMove(src) - user.visible_message("[user] adds [I] to [src].", "You add [I] to [src].") + user.visible_message(SPAN_NOTICE("[user] adds [I] to [src]."), SPAN_NOTICE("You add [I] to [src].")) SStgui.update_uis(src) /obj/machinery/kitchen_machine/attack_ai(mob/user) @@ -182,10 +182,10 @@ if(!istype(G)) return FALSE if(!iscarbon(G.affecting)) - to_chat(user, "You can't shove that in there!") + to_chat(user, SPAN_WARNING("You can't shove that in there!")) return FALSE if(G.state < GRAB_AGGRESSIVE) - to_chat(user, "You need a better grip to do that!") + to_chat(user, SPAN_WARNING("You need a better grip to do that!")) return FALSE var/result = special_attack(user, G.affecting, TRUE) user.changeNext_move(CLICK_CD_MELEE) @@ -201,7 +201,7 @@ * Return TRUE to drop the grab or FALSE to keep the grab afterwards. */ /obj/machinery/kitchen_machine/proc/special_attack(mob/user, mob/living/carbon/target, obj/item/grab/G) - to_chat(user, "This is ridiculous. You can not fit [target] in this [src].") + to_chat(user, SPAN_ALERT("This is ridiculous. You can not fit [target] in this [src].")) return FALSE /obj/machinery/kitchen_machine/shove_impact(mob/living/target, mob/living/attacker) @@ -328,7 +328,7 @@ if(reagents.total_volume) dirty++ reagents.clear_reagents() - to_chat(user, "You eject the contents of [src].") + to_chat(user, SPAN_NOTICE("You eject the contents of [src].")) SStgui.update_uis(src) //choose_recipes(): picks out recipes for the machine and any mixing bowls it may contain. @@ -396,7 +396,7 @@ return FALSE /obj/machinery/kitchen_machine/proc/start() - visible_message("[src] turns on.", blind_message = "You hear \a [src].") + visible_message(SPAN_NOTICE("[src] turns on."), blind_message = SPAN_NOTICE("You hear \a [src].")) if(soundloop) soundloop.start() else @@ -426,7 +426,7 @@ update_icon(UPDATE_ICON_STATE) /obj/machinery/kitchen_machine/proc/muck_finish() - visible_message("[src] gets covered in muck!") + visible_message(SPAN_ALERT("[src] gets covered in muck!")) flags = null //So you can't add condiments stop() @@ -471,7 +471,7 @@ if(length(recipes) == 1 && recipes[1][2] != RECIPE_FAIL) var/datum/recipe/recipe = recipes[1][2] var/obj/item/result = recipe.result - . += "Your expert chef knowledge tells you that this would make \a [initial(result.name)]." + . += SPAN_NOTICE("Your expert chef knowledge tells you that this would make \a [initial(result.name)].") /obj/machinery/kitchen_machine/attack_hand(mob/user) if(stat & (BROKEN|NOPOWER) || panel_open || !anchored) @@ -581,32 +581,32 @@ return cook() - to_chat(user, "You activate [src].") + to_chat(user, SPAN_NOTICE("You activate [src].")) /obj/machinery/kitchen_machine/proc/has_cookables() return reagents.total_volume > 0 || length(contents) /obj/machinery/kitchen_machine/proc/check_useable(mob/user) if(dirty >= MAX_DIRT) - to_chat(user, "It's too dirty.") + to_chat(user, SPAN_WARNING("It's too dirty.")) return FALSE if(!has_cookables()) - to_chat(user, "It's empty!") + to_chat(user, SPAN_WARNING("It's empty!")) return FALSE if(stat & BROKEN) - to_chat(user, "It's broken!") + to_chat(user, SPAN_WARNING("It's broken!")) return FALSE if(stat & NOPOWER) - to_chat(user, "It's depowered!") + to_chat(user, SPAN_WARNING("It's depowered!")) return FALSE if(panel_open) - to_chat(user, "Its panel is open!") + to_chat(user, SPAN_WARNING("Its panel is open!")) return FALSE if(!anchored) - to_chat(user, "It's unanchored!") + to_chat(user, SPAN_WARNING("It's unanchored!")) return FALSE if(operating) - to_chat(user, "Its already cooking!") + to_chat(user, SPAN_WARNING("Its already cooking!")) return FALSE return TRUE diff --git a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm index 8df9421511c..803c4724d6f 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm @@ -84,11 +84,11 @@ GLOBAL_LIST_EMPTY(monkey_recyclers) if(6) cube_type = /obj/item/food/monkeycube cycle_through = 0 - to_chat(user, "You change the monkeycube type to [initial(cube_type.name)].") + to_chat(user, SPAN_NOTICE("You change the monkeycube type to [initial(cube_type.name)].")) else var/obj/item/multitool/M = used M.buffer = src - to_chat(user, "You log [src] in [M]'s buffer.") + to_chat(user, SPAN_NOTICE("You log [src] in [M]'s buffer.")) return ITEM_INTERACT_COMPLETE if(stat != 0) //NOPOWER etc return ITEM_INTERACT_COMPLETE @@ -99,23 +99,23 @@ GLOBAL_LIST_EMPTY(monkey_recyclers) var/mob/living/carbon/human/target = grabbed if(issmall(target)) if(target.stat == CONSCIOUS) - to_chat(user, "The monkey is struggling far too much to put it in the recycler.") + to_chat(user, SPAN_WARNING("The monkey is struggling far too much to put it in the recycler.")) else user.drop_item() qdel(target) target = null //we sleep in this proc, clear reference NOW - to_chat(user, "You stuff the monkey in the machine.") + to_chat(user, SPAN_NOTICE("You stuff the monkey in the machine.")) playsound(loc, 'sound/machines/juicer.ogg', 50, 1) var/offset = prob(50) ? -2 : 2 animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 200) //start shaking use_power(500) grinded++ - to_chat(user, "The machine now has [grinded] monkey\s worth of material stored.") + to_chat(user, SPAN_NOTICE("The machine now has [grinded] monkey\s worth of material stored.")) addtimer(VARSET_CALLBACK(src, pixel_x, initial(pixel_x)), 5 SECONDS) else - to_chat(user, "The machine only accepts monkeys!") + to_chat(user, SPAN_WARNING("The machine only accepts monkeys!")) else - to_chat(user, "The machine only accepts monkeys!") + to_chat(user, SPAN_WARNING("The machine only accepts monkeys!")) return ITEM_INTERACT_COMPLETE return ..() @@ -123,12 +123,12 @@ GLOBAL_LIST_EMPTY(monkey_recyclers) if(stat != 0) //NOPOWER etc return if(grinded >= required_grind) - to_chat(user, "The machine hisses loudly as it condenses the grinded monkey meat. After a moment, it dispenses a brand new monkey cube.") + to_chat(user, SPAN_NOTICE("The machine hisses loudly as it condenses the grinded monkey meat. After a moment, it dispenses a brand new monkey cube.")) playsound(loc, 'sound/machines/hiss.ogg', 50, 1) grinded -= required_grind for(var/i = 0, i < cube_production, i++) // Forgot to fix this bit the first time through new cube_type(loc) - to_chat(user, "The machine's display flashes that it has [grinded] monkey\s worth of material left.") + to_chat(user, SPAN_NOTICE("The machine's display flashes that it has [grinded] monkey\s worth of material left.")) else // I'm not sure if the \s macro works with a word in between; I'll play it safe - to_chat(user, "The machine needs at least [required_grind] monkey\s worth of material to compress [cube_production] monkey\s. It only has [grinded].") + to_chat(user, SPAN_WARNING("The machine needs at least [required_grind] monkey\s worth of material to compress [cube_production] monkey\s. It only has [grinded].")) return diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index e1984c1e726..23c6a1559a7 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -30,18 +30,18 @@ /obj/machinery/processor/examine(mob/user) . = ..() if(!anchored) - . += "Alt-click to rotate it." + . += SPAN_NOTICE("Alt-click to rotate it.") else - . += "It is secured in place." + . += SPAN_NOTICE("It is secured in place.") /obj/machinery/processor/AltClick(mob/user) if(user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(!Adjacent(user)) return if(anchored) - to_chat(user, "[src] is secured in place!") + to_chat(user, SPAN_WARNING("[src] is secured in place!")) return setDir(turn(dir, 90)) @@ -67,7 +67,7 @@ if(!P) return - visible_message("[picked_slime] is sucked into [src].") + visible_message(SPAN_NOTICE("[picked_slime] is sucked into [src].")) picked_slime.forceMove(src) //RECIPE DATUMS @@ -142,7 +142,7 @@ var/C = S.cores if(S.stat != DEAD) S.forceMove(processor.drop_location()) - S.visible_message("[S] crawls free of the processor!") + S.visible_message(SPAN_NOTICE("[S] crawls free of the processor!")) return for(var/i in 1 to (C+processor.rating_amount-1)) new S.coretype(processor.drop_location()) @@ -157,9 +157,9 @@ var/mob/living/carbon/human/monkey/O = what if(O.client) //grief-proof O.loc = loc - O.visible_message("Suddenly [O] jumps out from the processor!", \ - "You jump out of \the [src].", \ - "You hear a chimp.") + O.visible_message(SPAN_NOTICE("Suddenly [O] jumps out from the processor!"), \ + SPAN_NOTICE("You jump out of \the [src]."), \ + SPAN_NOTICE("You hear a chimp.")) return var/obj/item/reagent_containers/glass/bucket/bucket_of_blood = new(loc) var/datum/reagent/blood/B = new() @@ -189,7 +189,7 @@ /obj/machinery/processor/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(processing) - to_chat(user, "\the [src] is already processing something!") + to_chat(user, SPAN_WARNING("\the [src] is already processing something!")) return ITEM_INTERACT_COMPLETE if(default_deconstruction_screwdriver(user, "processor_open", "processor", used)) @@ -212,10 +212,10 @@ var/datum/food_processor_process/P = select_recipe(what) if(!P) - to_chat(user, "That probably won't blend.") + to_chat(user, SPAN_WARNING("That probably won't blend.")) return ITEM_INTERACT_COMPLETE - user.visible_message("\the [user] puts \the [what] into \the [src].", \ + user.visible_message(SPAN_NOTICE("\the [user] puts \the [what] into \the [src]."), \ "You put \the [what] into \the [src].") user.drop_item() @@ -228,17 +228,17 @@ return if(processing) - to_chat(user, "\the [src] is already processing something!") + to_chat(user, SPAN_WARNING("\the [src] is already processing something!")) return 1 if(length(contents) == 0) - to_chat(user, "\the [src] is empty.") + to_chat(user, SPAN_WARNING("\the [src] is empty.")) return 1 processing = TRUE update_icon(UPDATE_ICON_STATE) user.visible_message("[user] turns on [src].", \ - "You turn on [src].", \ - "You hear a food processor.") + SPAN_NOTICE("You turn on [src]."), \ + SPAN_ITALICS("You hear a food processor.")) playsound(loc, 'sound/machines/blender.ogg', 50, 1) use_power(500) var/total_time = 0 @@ -259,6 +259,6 @@ processing = FALSE update_icon(UPDATE_ICON_STATE) - visible_message("\the [src] has finished processing.", \ - "\the [src] has finished processing.", \ - "You hear a food processor stopping.") + visible_message(SPAN_NOTICE("\the [src] has finished processing."), \ + SPAN_NOTICE("\the [src] has finished processing."), \ + SPAN_NOTICE("You hear a food processor stopping.")) diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 651d9297fe4..da075c1cad6 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -186,13 +186,13 @@ return if(stat & (BROKEN|NOPOWER)) - to_chat(user, "[src] is unpowered and useless.") + to_chat(user, SPAN_NOTICE("[src] is unpowered and useless.")) return ITEM_INTERACT_COMPLETE if(load(used, user)) user.visible_message( - "[user] has added [used] to [src].", - "You add [used] to [src]." + SPAN_NOTICE("[user] has added [used] to [src]."), + SPAN_NOTICE("You add [used] to [src].") ) SStgui.update_uis(src) update_icon(UPDATE_OVERLAYS) @@ -206,18 +206,18 @@ items_loaded++ if(items_loaded) user.visible_message( - "[user] loads [src] with [P].", - "You load [src] with [P]." + SPAN_NOTICE("[user] loads [src] with [P]."), + SPAN_NOTICE("You load [src] with [P].") ) SStgui.update_uis(src) update_icon(UPDATE_OVERLAYS) var/failed = length(P.contents) if(failed) - to_chat(user, "[failed] item\s [failed == 1 ? "is" : "are"] refused.") + to_chat(user, SPAN_NOTICE("[failed] item\s [failed == 1 ? "is" : "are"] refused.")) return ITEM_INTERACT_COMPLETE if(!istype(used, /obj/item/card/emag)) - to_chat(user, "\The [src] smartly refuses [used].") + to_chat(user, SPAN_NOTICE("\The [src] smartly refuses [used].")) return ITEM_INTERACT_COMPLETE return ..() @@ -244,12 +244,12 @@ if(!istype(over_object, /obj/item/storage/pill_bottle)) //Only pill bottles, please return if(stat & (BROKEN|NOPOWER)) - to_chat(user, "\The [src] is unpowered and useless.") + to_chat(user, SPAN_NOTICE("\The [src] is unpowered and useless.")) return TRUE var/obj/item/storage/box/pillbottles/P = over_object if(!length(P.contents)) - to_chat(user, "\The [P] is empty.") + to_chat(user, SPAN_NOTICE("\The [P] is empty.")) return TRUE var/items_loaded = 0 @@ -257,11 +257,11 @@ if(load(G, user)) items_loaded++ if(items_loaded) - user.visible_message("[user] empties \the [P] into \the [src].", "You empty \the [P] into \the [src].") + user.visible_message(SPAN_NOTICE("[user] empties \the [P] into \the [src]."), SPAN_NOTICE("You empty \the [P] into \the [src].")) update_icon(UPDATE_OVERLAYS) var/failed = length(P.contents) if(failed) - to_chat(user, "[failed] item\s [failed == 1 ? "is" : "are"] refused.") + to_chat(user, SPAN_NOTICE("[failed] item\s [failed == 1 ? "is" : "are"] refused.")) return TRUE /obj/machinery/smartfridge/ui_state(mob/user) @@ -306,7 +306,7 @@ switch(action) if("vend") if(is_secure && !emagged && scan_id && !allowed(usr)) //secure fridge check - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_WARNING("Access denied.")) return FALSE var/index = text2num(params["index"]) @@ -350,7 +350,7 @@ /obj/machinery/smartfridge/proc/load(obj/I, mob/user) if(accept_check(I)) if(length(contents) >= max_n_of_items) - to_chat(user, "\The [src] is full.") + to_chat(user, SPAN_NOTICE("\The [src] is full.")) return FALSE else if(isstorage(I.loc)) @@ -368,7 +368,7 @@ item_quants[I.name] += 1 return TRUE else - to_chat(user, "\The [I] is stuck to you!") + to_chat(user, SPAN_WARNING("\The [I] is stuck to you!")) return FALSE else I.forceMove(src) @@ -400,7 +400,7 @@ return FALSE INVOKE_ASYNC(throw_item, TYPE_PROC_REF(/atom/movable, throw_at), target, 16, 3, src) - visible_message("[src] launches [throw_item.name] at [target.name]!") + visible_message(SPAN_WARNING("[src] launches [throw_item.name] at [target.name]!")) return TRUE /** @@ -424,7 +424,7 @@ /obj/machinery/smartfridge/secure/emag_act(mob/user) emagged = TRUE - to_chat(user, "You short out the product lock on \the [src].") + to_chat(user, SPAN_NOTICE("You short out the product lock on \the [src].")) return TRUE /obj/machinery/smartfridge/secure/emp_act(severity) diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm index 62a26776c7b..d0e7d9f1849 100644 --- a/code/modules/games/cards.dm +++ b/code/modules/games/cards.dm @@ -82,25 +82,25 @@ /obj/item/deck/examine(mob/user) . = ..() - . += "It contains [length(cards) ? length(cards) : "no"] card\s." + . += SPAN_NOTICE("It contains [length(cards) ? length(cards) : "no"] card\s.") if(last_player_name && last_player_action) - . += "Most recent action: [last_player_name] [last_player_action]." + . += SPAN_NOTICE("Most recent action: [last_player_name] [last_player_action].") if(in_play_range(user) && !Adjacent(user)) - . += "You're in range of this card-hand, and can use it at a distance!" + . += SPAN_BOLDNOTICE("You're in range of this card-hand, and can use it at a distance!") else - . += "You're too far away from this deck to play from it." + . += SPAN_NOTICE("You're too far away from this deck to play from it.") . += "" - . += "Drag [src] to yourself to pick it up." - . += "Examine this again to see some shortcuts for interacting with it." + . += SPAN_NOTICE("Drag [src] to yourself to pick it up.") + . += SPAN_NOTICE("Examine this again to see some shortcuts for interacting with it.") /obj/item/deck/examine_more(mob/user) . = ..() - . += "Click to draw a card." - . += "Alt-Click to place a card." - . += "Ctrl-Shift-Click to split [src]." - . += "If you draw or return cards with harm intent, your plays will be public!" - . += "With cards in your active hand..." - . += "\tCtrl-Click with cards to place them at the bottom of the deck." + . += SPAN_NOTICE("Click to draw a card.") + . += SPAN_NOTICE("Alt-Click to place a card.") + . += SPAN_NOTICE("Ctrl-Shift-Click to split [src].") + . += SPAN_NOTICE("If you draw or return cards with [SPAN_DANGER("harm")] intent, your plays will be public!") + . += SPAN_NOTICE("With cards in your active hand...") + . += "\t[SPAN_NOTICE("Ctrl-Click with cards to place them at the bottom of the deck.")]" . += "" . += "You also notice a little number on the corner of [src]: it's tagged [main_deck_id]." @@ -134,7 +134,7 @@ if(istype(O, /obj/item/deck)) var/obj/item/deck/other_deck = O if(other_deck.main_deck_id != main_deck_id) - to_chat(user, "These aren't the same deck!") + to_chat(user, SPAN_WARNING("These aren't the same deck!")) return merge_deck(user, O) @@ -148,7 +148,7 @@ return ..() var/obj/item/cardhand/H = O if(H.parent_deck_id != main_deck_id) - to_chat(user, "You can't mix cards from different decks!") + to_chat(user, SPAN_WARNING("You can't mix cards from different decks!")) return draw_card(user, user.a_intent == INTENT_HARM) @@ -168,7 +168,7 @@ if(!Adjacent(user) || !istype(user)) return if(length(cards) <= 1) - to_chat(user, "You can't split this deck, it's too small!") + to_chat(user, SPAN_NOTICE("You can't split this deck, it's too small!")) return var/num_cards = tgui_input_number(user, "How many cards would you like the new split deck to have?", "Split Deck", length(cards) / 2, length(cards), 0) @@ -181,14 +181,14 @@ new_deck.cards = cards.Copy(1, num_cards + 1) cards.Cut(1, num_cards + 1) user.put_in_any_hand_if_possible(new_deck) - user.visible_message("[user] splits [src] in two.", "You split [src] in two.") + user.visible_message(SPAN_NOTICE("[user] splits [src] in two."), SPAN_NOTICE("You split [src] in two.")) update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_ICON_STATE|UPDATE_OVERLAYS) new_deck.update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_ICON_STATE|UPDATE_OVERLAYS) /obj/item/deck/proc/merge_deck(mob/user, obj/item/deck/other_deck) if(main_deck_id != other_deck.main_deck_id) if(user) - to_chat(user, "These decks didn't both come from the same original deck, you can't merge them!") + to_chat(user, SPAN_WARNING("These decks didn't both come from the same original deck, you can't merge them!")) return for(var/card in other_deck.cards) cards += card @@ -197,7 +197,7 @@ update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_ICON_STATE|UPDATE_OVERLAYS) if(user) add_most_recent_action(user, "merged with [other_deck]") - user.visible_message("[user] mixes the two decks together.", "You merge the two decks together.") + user.visible_message(SPAN_NOTICE("[user] mixes the two decks together."), SPAN_NOTICE("You merge the two decks together.")) /obj/item/deck/attack_hand(mob/user) draw_card(user, user.a_intent == INTENT_HARM) @@ -254,7 +254,7 @@ return if(hand.parent_deck_id != main_deck_id) - to_chat(user, "You can't mix cards from different decks!") + to_chat(user, SPAN_WARNING("You can't mix cards from different decks!")) return var/side = place_on_top ? "top" : "bottom" @@ -287,7 +287,7 @@ QDEL_IN(draft, 1 SECONDS) sleep(1 SECONDS) add_most_recent_action(user, "placed [P] on the [side]") - user.visible_message("[user] places [P] on the [side] of [src].", "You place [P] on the [side] of [src].") + user.visible_message(SPAN_NOTICE("[user] places [P] on the [side] of [src]."), SPAN_NOTICE("You place [P] on the [side] of [src].")) user.do_attack_animation(src, hand) update_icon(UPDATE_ICON_STATE|UPDATE_OVERLAYS) return @@ -295,7 +295,7 @@ user.do_attack_animation(src, no_effect = TRUE) add_most_recent_action(user, "placed [length(chosen_cards)] card\s on the [side]") - user.visible_message("[user] returns [length(chosen_cards)] card\s to the [side] of [src].", "You return [length(chosen_cards)] card\s to the [side] of [src].") + user.visible_message(SPAN_NOTICE("[user] returns [length(chosen_cards)] card\s to the [side] of [src]."), SPAN_NOTICE("You return [length(chosen_cards)] card\s to the [side] of [src].")) // deck datum actions @@ -352,12 +352,12 @@ return if(!length(cards)) - to_chat(user,"There are no cards in the deck.") + to_chat(user,SPAN_NOTICE("There are no cards in the deck.")) return var/obj/item/cardhand/H = user.get_active_card_hand() if(H && (H.parent_deck_id != main_deck_id)) - to_chat(user,"You can't mix cards from different decks!") + to_chat(user,SPAN_WARNING("You can't mix cards from different decks!")) return if(!H) @@ -375,15 +375,15 @@ user.do_attack_animation(src, no_effect = TRUE) if(public) add_most_recent_action(user, "drew \a [P.name]") - user.visible_message("[user] draws \a [P.name]!", "You draw \a [P]!", "You hear a card be drawn.") + user.visible_message(SPAN_DANGER("[user] draws \a [P.name]!"), SPAN_DANGER("You draw \a [P]!"), SPAN_NOTICE("You hear a card be drawn.")) var/obj/effect/temp_visual/card_preview/draft = new /obj/effect/temp_visual/card_preview(user, P.card_icon) user.vis_contents += draft QDEL_IN(draft, 1 SECONDS) sleep(1 SECONDS) else add_most_recent_action(user, "drew a card") - user.visible_message("[user] draws a card.", "You draw a card.", "You hear a card be drawn.") - to_chat(user, "It's \a [P.name].") + user.visible_message(SPAN_NOTICE("[user] draws a card."), SPAN_NOTICE("You draw a card."), SPAN_NOTICE("You hear a card be drawn.")) + to_chat(user, SPAN_NOTICE("It's \a [P.name].")) // Classic action /obj/item/deck/proc/deal_card(mob/user) @@ -391,7 +391,7 @@ return if(!length(cards)) - to_chat(user, "There are no cards in the deck.") + to_chat(user, SPAN_NOTICE("There are no cards in the deck.")) return var/list/players = list() @@ -409,7 +409,7 @@ return if(!length(cards)) - to_chat(user, "There are no cards in the deck.") + to_chat(user, SPAN_NOTICE("There are no cards in the deck.")) return var/list/players = list() @@ -438,16 +438,16 @@ if(user == target) add_most_recent_action(user, "dealt [dcard] card\s to [user.p_themselves()]") user.visible_message( - "[user] deals [dcard] card\s to [user.p_themselves()].", - "You deal [dcard] card\s to yourself.", - "You hear cards being dealt." + SPAN_NOTICE("[user] deals [dcard] card\s to [user.p_themselves()]."), + SPAN_NOTICE("You deal [dcard] card\s to yourself."), + SPAN_NOTICE("You hear cards being dealt.") ) else add_most_recent_action(user, "dealt [dcard] card\s to [target]") user.visible_message( - "[user] deals [dcard] card\s to [target].", - "You deal [dcard] card\s to [target].", - "You hear cards being dealt." + SPAN_NOTICE("[user] deals [dcard] card\s to [target]."), + SPAN_NOTICE("You deal [dcard] card\s to [target]."), + SPAN_NOTICE("You hear cards being dealt.") ) H.throw_at(get_step(target, target.dir), 3, 1, null) @@ -461,9 +461,9 @@ if(user) add_most_recent_action(user, "shuffled [src]") user.visible_message( - "[user] shuffles [src].", - "You shuffle [src].", - "You hear cards being shuffled." + SPAN_NOTICE("[user] shuffles [src]."), + SPAN_NOTICE("You shuffle [src]."), + SPAN_NOTICE("You hear cards being shuffled.") ) playsound(user, 'sound/items/cardshuffle.ogg', 50, TRUE) shuffle_cooldown = world.time @@ -485,17 +485,17 @@ if("r_hand") if(M.put_in_r_hand(src)) add_fingerprint(M) - usr.visible_message("[usr] picks up the deck.") + usr.visible_message(SPAN_NOTICE("[usr] picks up the deck.")) if("l_hand") if(M.put_in_l_hand(src)) add_fingerprint(M) - usr.visible_message("[usr] picks up the deck.") + usr.visible_message(SPAN_NOTICE("[usr] picks up the deck.")) return if(over == M && loc != M) if(M.put_in_hands(src)) add_fingerprint(M) - usr.visible_message("[usr] picks up the deck.") + usr.visible_message(SPAN_NOTICE("[usr] picks up the deck.")) return ..() @@ -513,9 +513,9 @@ /obj/item/pack/attack_self__legacy__attackchain(mob/user as mob) user.visible_message( - "[name] rips open [src]!", - "You rip open [src]!", - "You hear the sound of a packet being ripped open." + SPAN_NOTICE("[name] rips open [src]!"), + SPAN_NOTICE("You rip open [src]!"), + SPAN_NOTICE("You hear the sound of a packet being ripped open.") ) var/obj/item/cardhand/H = new(get_turf(user)) @@ -546,23 +546,23 @@ /obj/item/cardhand/examine(mob/user) . = ..() if(!concealed && length(cards)) - . += "It contains:" + . += SPAN_NOTICE("It contains:") for(var/datum/playingcard/P as anything in cards) - . += "\tthe [P.name]." + . += "\t[SPAN_NOTICE("the [P.name].")]" if(Adjacent(user)) - . += "Click this in-hand to select a card to draw." - . += "Ctrl-Click this to flip it." + . += SPAN_NOTICE("Click this in-hand to select a card to draw.") + . += SPAN_NOTICE("Ctrl-Click this to flip it.") if(loc == user) - . += "Alt-Click this in-hand to see the legacy interaction menu." + . += SPAN_NOTICE("Alt-Click this in-hand to see the legacy interaction menu.") else - . += "Alt-Click this to add a card from your deck to it." + . += SPAN_NOTICE("Alt-Click this to add a card from your deck to it.") - . += "Drag this to its associated deck to return all cards at once to it." - . += "Enable throw mode to automatically catch cards and add them to your hand." - . += "Drag-and-Drop this onto another hand to merge the cards together." + . += SPAN_NOTICE("Drag this to its associated deck to return all cards at once to it.") + . += SPAN_NOTICE("Enable throw mode to automatically catch cards and add them to your hand.") + . += SPAN_NOTICE("Drag-and-Drop this onto another hand to merge the cards together.") if(loc != user) - . += "You can Drag this to yourself from here to draw cards from it." + . += SPAN_NOTICE("You can Drag this to yourself from here to draw cards from it.") /obj/item/cardhand/examine_more(mob/user) . = ..() @@ -597,10 +597,10 @@ return ..() if(hand.concealed) - visible_message("A card lands on top of [src].") + visible_message(SPAN_WARNING("A card lands on top of [src].")) else var/datum/playingcard/C = hand.cards[1] - visible_message("[C] lands atop [src]!") + visible_message(SPAN_WARNING("[C] lands atop [src]!")) cards = hand.cards + cards update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_OVERLAYS) @@ -619,8 +619,8 @@ return ..() M.visible_message( - "[M] catches [hand] and adds it to [M.p_their()] hand!", - "You catch [hand] and add it to your existing hand!" + SPAN_WARNING("[M] catches [hand] and adds it to [M.p_their()] hand!"), + SPAN_DANGER("You catch [hand] and add it to your existing hand!") ) add_cardhand_to_self(hand) @@ -680,7 +680,7 @@ if(length(cards) == 1 && is_pen(O)) var/datum/playingcard/P = cards[1] if(P.name != "Blank Card") - to_chat(user,"You cannot write on this card.") + to_chat(user,SPAN_NOTICE("You cannot write on this card.")) return var/card_text = rename_interactive(user, O, use_prefix = FALSE, actually_rename = FALSE) if(card_text && P.name == "Blank Card") @@ -699,14 +699,14 @@ if(QDELETED(chosen)) return user.visible_message( - "[user] adds [concealed ? "a card" : chosen.name] to [user.p_their()] hand.", + SPAN_NOTICE("[user] adds [concealed ? "a card" : chosen.name] to [user.p_their()] hand."), "You add [chosen.name] to your deck.", - "You hear cards being shuffled together." + SPAN_NOTICE("You hear cards being shuffled together.") ) H.transfer_card_to_self(src, chosen) return else - to_chat(user, "You cannot mix cards from other decks!") + to_chat(user, SPAN_NOTICE("You cannot mix cards from other decks!")) return return ..() @@ -743,7 +743,7 @@ return if(active_hand.parent_deck_id != parent_deck_id) - to_chat(user, "These cards don't all come from the same deck!") + to_chat(user, SPAN_WARNING("These cards don't all come from the same deck!")) return @@ -753,9 +753,9 @@ transfer_card_to_self(active_hand, card_to_insert) user.visible_message( - "[user] moves [concealed ? "a card" : "[card_to_insert]"] to the other hand.", - "You move [concealed ? "a card" : "[card_to_insert]"] to the other hand.", - "You hear a card being drawn, followed by a card being added to a hand." + SPAN_NOTICE("[user] moves [concealed ? "a card" : "[card_to_insert]"] to the other hand."), + SPAN_NOTICE("You move [concealed ? "a card" : "[card_to_insert]"] to the other hand."), + SPAN_NOTICE("You hear a card being drawn, followed by a card being added to a hand.") ) @@ -771,9 +771,9 @@ update_appearance(UPDATE_DESC|UPDATE_OVERLAYS) playsound(user, 'sound/items/cardshuffle.ogg', 30, TRUE) user.visible_message( - "[user] shuffles [user.p_their()] hand.", - "You shuffle your hand.", - "You hear cards shuffling." + SPAN_NOTICE("[user] shuffles [user.p_their()] hand."), + SPAN_NOTICE("You shuffle your hand."), + SPAN_NOTICE("You hear cards shuffling.") ) /// Dragging a card to your hand will let you draw from it without picking it up. @@ -785,7 +785,7 @@ if(over != usr || !Adjacent(usr)) return ..() - to_chat(usr, "Select a card to draw from the hand.") + to_chat(usr, SPAN_NOTICE("Select a card to draw from the hand.")) var/datum/playingcard/card_chosen = select_card_radial(usr) if(QDELETED(card_chosen)) return @@ -800,7 +800,7 @@ return var/obj/item/cardhand/other_hand = I if(other_hand.parent_deck_id != parent_deck_id) - to_chat(user, "These cards don't all come from the same deck!") + to_chat(user, SPAN_WARNING("These cards don't all come from the same deck!")) return if(length(other_hand.cards) > 1) var/response = tgui_alert(user, "Are you sure you want to merge [length(other_hand.cards)] cards into your currently held hand?", "Merge cards", list("Yes", "No")) @@ -830,9 +830,9 @@ concealed = !concealed update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_OVERLAYS) user.visible_message( - "[user] [concealed ? "conceals" : "reveals"] [user.p_their()] hand.", - "You [concealed ? "conceal" : "reveal"] your hand.", - "You hear a hand of cards being flipped over." + SPAN_NOTICE("[user] [concealed ? "conceals" : "reveals"] [user.p_their()] hand."), + SPAN_NOTICE("You [concealed ? "conceal" : "reveal"] your hand."), + SPAN_NOTICE("You hear a hand of cards being flipped over.") ) /obj/item/cardhand/interact(mob/user) @@ -960,18 +960,18 @@ if(user.l_hand == src || user.r_hand == src) // if you're drawing a card from your left hand, you probably want it in your right. user.visible_message( - "[user] draws [concealed ? "a card" : "[picked_card]"] from [user.p_their()] hand.", - "You take \the [picked_card] from your hand.", - "You hear a card being drawn." + SPAN_NOTICE("[user] draws [concealed ? "a card" : "[picked_card]"] from [user.p_their()] hand."), + SPAN_NOTICE("You take \the [picked_card] from your hand."), + SPAN_NOTICE("You hear a card being drawn.") ) else if(istype(active_hand)) // you're drawing from a hand the user isn't holding to one that the user is. // try to put that card into our currently held hand. active_hand.transfer_card_to_self(src, picked_card) user.visible_message( - "[user] draws [concealed ? "a card" : "[picked_card]"] to [user.p_their()].", - "You draw \the [picked_card] to your hand.", - "You hear a card being drawn." + SPAN_NOTICE("[user] draws [concealed ? "a card" : "[picked_card]"] to [user.p_their()]."), + SPAN_NOTICE("You draw \the [picked_card] to your hand."), + SPAN_NOTICE("You hear a card being drawn.") ) return @@ -1019,9 +1019,9 @@ update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_OVERLAYS) if(length(new_hand.cards)) user.visible_message( - "[user] plays \the [selected].", - "You play \the [selected].", - "You hear a card being played." + SPAN_NOTICE("[user] plays \the [selected]."), + SPAN_NOTICE("You play \the [selected]."), + SPAN_NOTICE("You hear a card being played.") ) user.drop_item_to_ground(new_hand) var/atom/drop_location = get_step(user, user.dir) diff --git a/code/modules/games/tarot.dm b/code/modules/games/tarot.dm index b8e3c32d267..3c52ac110a8 100644 --- a/code/modules/games/tarot.dm +++ b/code/modules/games/tarot.dm @@ -27,9 +27,9 @@ cards = newcards playsound(user, 'sound/items/cardshuffle.ogg', 50, TRUE) user.visible_message( - "[user] shuffles [src].", - "You shuffle [src].", - "You hear cards being shuffled." + SPAN_NOTICE("[user] shuffles [src]."), + SPAN_NOTICE("You shuffle [src]."), + SPAN_NOTICE("You hear cards being shuffled.") ) shuffle_cooldown = world.time diff --git a/code/modules/games/unum.dm b/code/modules/games/unum.dm index 09e4e5f2096..cd0ee581ebd 100644 --- a/code/modules/games/unum.dm +++ b/code/modules/games/unum.dm @@ -9,13 +9,13 @@ /obj/item/deck/unum/examine(mob/user) . = ..() - . += "When held in hand, Alt-Shift-Click to flip [src]." + . += SPAN_NOTICE("When held in hand, Alt-Shift-Click to flip [src].") /obj/item/deck/unum/AltShiftClick(mob/user) if(!Adjacent(user) || (user.get_active_hand() != src) && (user.get_inactive_hand() != src)) return show_front = !show_front - visible_message("[user] flips over [src].") + visible_message(SPAN_NOTICE("[user] flips over [src].")) update_appearance(UPDATE_ICON_STATE|UPDATE_OVERLAYS) /obj/item/deck/unum/build_deck() diff --git a/code/modules/hallucinations/effects/blind_rush_hallucination.dm b/code/modules/hallucinations/effects/blind_rush_hallucination.dm index ab19d0a12da..d682c7145aa 100644 --- a/code/modules/hallucinations/effects/blind_rush_hallucination.dm +++ b/code/modules/hallucinations/effects/blind_rush_hallucination.dm @@ -14,12 +14,12 @@ /datum/hallucination_manager/blind_rush/on_spawn() owner.playsound_local(get_turf(src), 'sound/spookoween/ghost_whisper.ogg', 30, TRUE) owner.become_blind("hallucination") - to_chat(owner, "Who turned off the light?", MESSAGE_TYPE_INFO) + to_chat(owner, SPAN_WHISPER("Who turned off the light?"), MESSAGE_TYPE_INFO) /datum/hallucination_manager/blind_rush/on_trigger() var/turf/spawn_location = get_spawn_location() //we need a new spawn location incase the player moved hallucination_list += new /obj/effect/hallucination/no_delete/blind_rusher(spawn_location, owner) - to_chat(owner, "They're here.", MESSAGE_TYPE_INFO) + to_chat(owner, SPAN_DANGER("They're here."), MESSAGE_TYPE_INFO) trigger_timer = addtimer(CALLBACK(src, PROC_REF(on_second_trigger)), trigger_time, TIMER_DELETE_ME) /datum/hallucination_manager/blind_rush/proc/on_second_trigger() @@ -27,7 +27,7 @@ hallucination_list += new /obj/effect/hallucination/no_delete/blind_rusher(spawn_location, owner) owner.Confused(9 SECONDS) owner.Jitter(9 SECONDS) - to_chat(owner, "Run!", MESSAGE_TYPE_INFO) + to_chat(owner, SPAN_USERDANGER("Run!"), MESSAGE_TYPE_INFO) trigger_timer = addtimer(CALLBACK(src, PROC_REF(on_last_trigger)), trigger_time, TIMER_DELETE_ME) /datum/hallucination_manager/blind_rush/proc/on_last_trigger() diff --git a/code/modules/hallucinations/effects/common.dm b/code/modules/hallucinations/effects/common.dm index 88ae786f30f..3c7a4dfb035 100644 --- a/code/modules/hallucinations/effects/common.dm +++ b/code/modules/hallucinations/effects/common.dm @@ -121,11 +121,11 @@ /obj/effect/hallucination/chaser/attacker/proc/attack_effects() do_attack_animation(target, ATTACK_EFFECT_PUNCH) target.playsound_local(get_turf(src), get_sfx("punch"), 25, TRUE) - to_chat(target, "[name] has punched [target]!") + to_chat(target, SPAN_USERDANGER("[name] has punched [target]!")) /** * Called when one of our attacks put the target in stamina crit. */ /obj/effect/hallucination/chaser/attacker/proc/on_knockdown() - target.visible_message("[target] recoils as if hit by something, before suddenly collapsing!", - "[src]'s blow was too much for you, causing you to collapse!") + target.visible_message(SPAN_WARNING("[target] recoils as if hit by something, before suddenly collapsing!"), + SPAN_USERDANGER("[src]'s blow was too much for you, causing you to collapse!")) diff --git a/code/modules/hallucinations/effects/grenades.dm b/code/modules/hallucinations/effects/grenades.dm index e95a20bb151..cd8bc2b98cc 100644 --- a/code/modules/hallucinations/effects/grenades.dm +++ b/code/modules/hallucinations/effects/grenades.dm @@ -73,7 +73,7 @@ if(!.) return target.playsound_local(grenade_turf, 'sound/effects/bang.ogg', 60, TRUE) - target.show_message("BANG", 2) + target.show_message(SPAN_WARNING("BANG"), 2) var/weaken_time = 6 SECONDS if(target.flash_eyes(visual = TRUE)) weaken_time /= 2 @@ -83,11 +83,11 @@ return switch(rand(1, 5)) if(1, 2) - to_chat(target, "Your ears start to ring!") + to_chat(target, SPAN_WARNING("Your ears start to ring!")) if(3, 4) - to_chat(target, "Your ears start to ring badly!") + to_chat(target, SPAN_WARNING("Your ears start to ring badly!")) if(5) - to_chat(target, "You can't hear anything!") + to_chat(target, SPAN_WARNING("You can't hear anything!")) target.Deaf(2 SECONDS) /** @@ -119,7 +119,7 @@ /obj/effect/hallucination/chaser/attacker/space_carp/attack_effects() do_attack_animation(target, ATTACK_EFFECT_BITE) target.playsound_local(get_turf(src), 'sound/weapons/bite.ogg', 50, TRUE) - to_chat(target, "[name] bites you!") + to_chat(target, SPAN_USERDANGER("[name] bites you!")) /obj/effect/hallucination/chaser/attacker/space_carp/on_knockdown() - target.visible_message("[target] recoils as if hit by something, before suddenly collapsing!", "[name] bites you!") + target.visible_message(SPAN_WARNING("[target] recoils as if hit by something, before suddenly collapsing!"), SPAN_USERDANGER("[name] bites you!")) diff --git a/code/modules/hallucinations/effects/major.dm b/code/modules/hallucinations/effects/major.dm index 1fcf559b0fe..40a55f3fc87 100644 --- a/code/modules/hallucinations/effects/major.dm +++ b/code/modules/hallucinations/effects/major.dm @@ -38,11 +38,11 @@ /obj/effect/hallucination/chaser/attacker/terror_spider/attack_effects() do_attack_animation(target, ATTACK_EFFECT_BITE) target.playsound_local(get_turf(src), 'sound/weapons/bite.ogg', 50, TRUE) - to_chat(target, "[name] bites you!") + to_chat(target, SPAN_USERDANGER("[name] bites you!")) /obj/effect/hallucination/chaser/attacker/terror_spider/on_knockdown() - target.visible_message("[target] recoils as if hit by something, before suddenly collapsing!", - "[name] bites you!") + target.visible_message(SPAN_WARNING("[target] recoils as if hit by something, before suddenly collapsing!"), + SPAN_USERDANGER("[name] bites you!")) /** * # Hallucination - Spider Web @@ -64,16 +64,16 @@ . = ..() /obj/effect/hallucination/tripper/spider_web/on_crossed() - target.visible_message("[target] trips over nothing.", - "You get stuck in [src]!") + target.visible_message(SPAN_WARNING("[target] trips over nothing."), + SPAN_USERDANGER("You get stuck in [src]!")) /obj/effect/hallucination/tripper/spider_web/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(user != target) return ITEM_INTERACT_COMPLETE step_towards(target, get_turf(src)) target.Weaken(4 SECONDS) - target.visible_message("[target] flails [target.p_their()] [used.name] as if striking something, only to trip!", - "[src] vanishes as you strike it with [used], causing you to stumble forward!") + target.visible_message(SPAN_WARNING("[target] flails [target.p_their()] [used.name] as if striking something, only to trip!"), + SPAN_USERDANGER("[src] vanishes as you strike it with [used], causing you to stumble forward!")) qdel(src) return ITEM_INTERACT_COMPLETE @@ -181,8 +181,8 @@ target.playsound_local(get_turf(src), 'sound/weapons/egloves.ogg', 50, TRUE) /obj/effect/hallucination/chaser/attacker/abductor/on_knockdown() - target.visible_message("[target] recoils as if hit by something, before suddenly collapsing!", - "[name] has stunned you with the advanced baton!") + target.visible_message(SPAN_WARNING("[target] recoils as if hit by something, before suddenly collapsing!"), + SPAN_USERDANGER("[name] has stunned you with the advanced baton!")) if(!QDELETED(owning_hallucination)) owning_hallucination.spawn_scientist() else @@ -322,11 +322,11 @@ /obj/effect/hallucination/chaser/attacker/assaulter/attack_effects() do_attack_animation(target) target.playsound_local(get_turf(src), istext(attack_sound) ? get_sfx(attack_sound) : attack_sound, 25, TRUE) - to_chat(target, "[name] has [attack_verb] [target]!") + to_chat(target, SPAN_USERDANGER("[name] has [attack_verb] [target]!")) /obj/effect/hallucination/chaser/attacker/assaulter/on_knockdown() - target.visible_message("[target] recoils as if hit by something, before suddenly collapsing!", - "[name] has [attack_verb] [target]!") + target.visible_message(SPAN_WARNING("[target] recoils as if hit by something, before suddenly collapsing!"), + SPAN_USERDANGER("[name] has [attack_verb] [target]!")) QDEL_IN(src, 3 SECONDS) /obj/effect/hallucination/blob @@ -449,12 +449,12 @@ /obj/effect/hallucination/chaser/attacker/blob_zombie/attack_effects() do_attack_animation(target) target.playsound_local(get_turf(src), 'sound/weapons/genhit1.ogg', 50, TRUE) - to_chat(target, "[name] has hit [target]!") + to_chat(target, SPAN_USERDANGER("[name] has hit [target]!")) /obj/effect/hallucination/chaser/attacker/blob_zombie/on_knockdown() if(!QDELETED(owning_hallucination)) - target.visible_message("[target] recoils as if hit by something, before suddenly collapsing!", - "The corpse of [target.name] suddenly rises!") + target.visible_message(SPAN_WARNING("[target] recoils as if hit by something, before suddenly collapsing!"), + SPAN_WARNING("The corpse of [target.name] suddenly rises!")) owning_hallucination.zombify(target) has_zombified = TRUE else @@ -558,7 +558,7 @@ hit_target.apply_damage(60, STAMINA, def_zone) hit_target.KnockDown(2 SECONDS) new /obj/effect/hallucination/sniper_bloodsplatter(get_turf(src), hit_target) - to_chat(hit_target, "You're shot by \a [src][organ_hit_text]!") + to_chat(hit_target, SPAN_USERDANGER("You're shot by \a [src][organ_hit_text]!")) /obj/projectile/bullet/sniper/penetrator/hallucination/Bump(atom/A, yes) if(!yes) // prevents double bumps. diff --git a/code/modules/hallucinations/effects/minor.dm b/code/modules/hallucinations/effects/minor.dm index f215f1407a1..d0f0b3bdd81 100644 --- a/code/modules/hallucinations/effects/minor.dm +++ b/code/modules/hallucinations/effects/minor.dm @@ -173,7 +173,7 @@ /obj/effect/hallucination/fake_danger/Initialize(mapload, mob/living/carbon/target) . = ..() - to_chat(target, "[pick(messages)]") + to_chat(target, SPAN_USERDANGER("[pick(messages)]")) /** * # Hallucination - Fake Health diff --git a/code/modules/hallucinations/effects/moderate.dm b/code/modules/hallucinations/effects/moderate.dm index 5692d61bf12..92ca8193884 100644 --- a/code/modules/hallucinations/effects/moderate.dm +++ b/code/modules/hallucinations/effects/moderate.dm @@ -97,15 +97,15 @@ if(user.hand) temp = H.bodyparts_by_name["l_hand"] if(!temp) - to_chat(user, "You try to use your hand, but it's missing!") + to_chat(user, SPAN_WARNING("You try to use your hand, but it's missing!")) return if(!temp.is_usable()) - to_chat(user, "You try to move your [temp.name], but cannot!") + to_chat(user, SPAN_WARNING("You try to move your [temp.name], but cannot!")) return user.Weaken(4 SECONDS) - user.visible_message("[user] does a grabbing motion towards [get_turf(src)] but [user.p_they()] stumble[user.p_s()] - nothing is there!", - "[src] vanishes as you try grabbing it, causing you to stumble!") + user.visible_message(SPAN_WARNING("[user] does a grabbing motion towards [get_turf(src)] but [user.p_they()] stumble[user.p_s()] - nothing is there!"), + SPAN_USERDANGER("[src] vanishes as you try grabbing it, causing you to stumble!")) qdel(src) /** @@ -220,8 +220,8 @@ weaken = 8 SECONDS /obj/effect/hallucination/tripper/chasm/on_crossed() - target.visible_message("[target] trips over nothing and flails on [get_turf(target)] as if they were falling!", - "You stumble and stare into an abyss before you. It stares back, and you fall into the enveloping dark!") + target.visible_message(SPAN_WARNING("[target] trips over nothing and flails on [get_turf(target)] as if they were falling!"), + SPAN_USERDANGER("You stumble and stare into an abyss before you. It stares back, and you fall into the enveloping dark!")) /** * # Hallucination - Delamination Alarm @@ -439,7 +439,7 @@ I.override = TRUE add_icon(I) - to_chat(target, "...wabbajack...wabbajack...") + to_chat(target, SPAN_ITALICS("...wabbajack...wabbajack...")) target.playsound_local(get_turf(target), 'sound/magic/staff_change.ogg', 50, TRUE, -1) /** diff --git a/code/modules/hallucinations/effects/xeno_pounce.dm b/code/modules/hallucinations/effects/xeno_pounce.dm index d1da9609533..b26d1f8557a 100644 --- a/code/modules/hallucinations/effects/xeno_pounce.dm +++ b/code/modules/hallucinations/effects/xeno_pounce.dm @@ -62,10 +62,10 @@ if(A == target) forceMove(get_turf(target)) target.Weaken(10 SECONDS) - target.visible_message("[target] recoils backwards and falls flat!", - "[name] pounces on you!") + target.visible_message(SPAN_DANGER("[target] recoils backwards and falls flat!"), + SPAN_USERDANGER("[name] pounces on you!")) - to_chat(target, "[name] begins climbing into the ventilation system...") + to_chat(target, SPAN_NOTICE("[name] begins climbing into the ventilation system...")) QDEL_IN(src, 2 SECONDS) /** diff --git a/code/modules/hallucinations/hallucinations.dm b/code/modules/hallucinations/hallucinations.dm index a8551be17ea..8498463ad43 100644 --- a/code/modules/hallucinations/hallucinations.dm +++ b/code/modules/hallucinations/hallucinations.dm @@ -95,7 +95,7 @@ GLOBAL_LIST_INIT(hallucinations, alist( // Overriding to not include call to [/proc/bicon] as it lags the client due to invalid image. . = list( "That's \a [name].", - "Something seems odd about this..." + SPAN_WHISPER("Something seems odd about this...") ) /obj/effect/hallucination/singularity_pull() diff --git a/code/modules/holiday/christmas.dm b/code/modules/holiday/christmas.dm index 0baafb4b23f..00a5c06b3e7 100644 --- a/code/modules/holiday/christmas.dm +++ b/code/modules/holiday/christmas.dm @@ -37,7 +37,7 @@ if(..()) return FINISH_ATTACK if(!cracked && ishuman(target) && (target.stat == CONSCIOUS) && !target.get_active_hand()) - target.visible_message("[user] and [target] pop \an [src]! *pop*", "You pull \an [src] with [target]! *pop*", "You hear a *pop*.") + target.visible_message(SPAN_NOTICE("[user] and [target] pop \an [src]! *pop*"), SPAN_NOTICE("You pull \an [src] with [target]! *pop*"), SPAN_NOTICE("You hear a *pop*.")) var/obj/item/paper/Joke = new /obj/item/paper(user.loc) Joke.name = "[pick("awful","terrible","unfunny")] joke" Joke.info = pick("What did one snowman say to the other?\n\n'Is it me or can you smell carrots?'", diff --git a/code/modules/holiday/holiday.dm b/code/modules/holiday/holiday.dm index 9f80635766a..0f556902708 100644 --- a/code/modules/holiday/holiday.dm +++ b/code/modules/holiday/holiday.dm @@ -349,5 +349,5 @@ USER_VERB(set_holiday, R_SERVER, "Set Holiday", \ //update our hub status world.update_status() - message_admins("ADMIN: Event: [key_name_admin(client)] force-set Holiday to \"[H]\"") + message_admins(SPAN_NOTICE("ADMIN: Event: [key_name_admin(client)] force-set Holiday to \"[H]\"")) log_admin("[key_name(client)] force-set Holiday to \"[H]\"") diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm index 2a2e943bed2..27e9e62eccc 100644 --- a/code/modules/hydroponics/beekeeping/beebox.dm +++ b/code/modules/hydroponics/beekeeping/beebox.dm @@ -128,22 +128,22 @@ . = ..() if(!queen_bee) - . += "There is no queen bee! There won't bee any honeycomb without a queen!" + . += SPAN_WARNING("There is no queen bee! There won't bee any honeycomb without a queen!") var/half_bee = get_max_bees()*0.5 if(half_bee && (length(bees) >= half_bee)) - . += "This place is a BUZZ with activity... there are lots of bees!" + . += SPAN_NOTICE("This place is a BUZZ with activity... there are lots of bees!") - . += "[bee_resources]/100 resource supply." - . += "[bee_resources]% towards a new honeycomb." - . += "[bee_resources*2]% towards a new bee." + . += SPAN_NOTICE("[bee_resources]/100 resource supply.") + . += SPAN_NOTICE("[bee_resources]% towards a new honeycomb.") + . += SPAN_NOTICE("[bee_resources*2]% towards a new bee.") if(length(honeycombs)) var/plural = length(honeycombs) > 1 - . += "There [plural? "are" : "is"] [length(honeycombs)] uncollected honeycomb[plural ? "s":""] in the apiary." + . += SPAN_NOTICE("There [plural? "are" : "is"] [length(honeycombs)] uncollected honeycomb[plural ? "s":""] in the apiary.") if(length(honeycombs) >= get_max_honeycomb()) - . += "there's no room for more honeycomb!" + . += SPAN_WARNING("there's no room for more honeycomb!") /obj/structure/beebox/item_interaction(mob/living/user, obj/item/I, list/modifiers) @@ -153,16 +153,16 @@ if(length(honey_frames) < BEEBOX_MAX_FRAMES) if(!user.unequip(HF)) return - visible_message("[user] adds a frame to the apiary.") + visible_message(SPAN_NOTICE("[user] adds a frame to the apiary.")) HF.forceMove(src) honey_frames += HF else - to_chat(user, "There's no room for anymore frames in the apiary!") + to_chat(user, SPAN_WARNING("There's no room for anymore frames in the apiary!")) return if(istype(I, /obj/item/queen_bee)) if(queen_bee) - to_chat(user, "This hive already has a queen!") + to_chat(user, SPAN_WARNING("This hive already has a queen!")) return var/obj/item/queen_bee/qb = I @@ -175,7 +175,7 @@ qb.queen = null if(queen_bee) - visible_message("[user] sets [qb] down inside the apiary, making it [qb.p_their()] new home.") + visible_message(SPAN_NOTICE("[user] sets [qb] down inside the apiary, making it [qb.p_their()] new home.")) var/relocated = 0 for(var/b in bees) var/mob/living/basic/bee/B = b @@ -186,10 +186,10 @@ B.forceMove(drop_location()) relocated++ if(relocated) - to_chat(user, "This queen has a different reagent to some of the bees who live here, those bees will not return to this apiary!") + to_chat(user, SPAN_WARNING("This queen has a different reagent to some of the bees who live here, those bees will not return to this apiary!")) else - to_chat(user, "The queen bee disappeared! bees disappearing has been in the news lately...") + to_chat(user, SPAN_WARNING("The queen bee disappeared! bees disappearing has been in the news lately...")) qdel(qb) return @@ -233,7 +233,7 @@ B.ai_controller.set_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET, user) bees = TRUE if(bees) - visible_message("[user] disturbs the bees!") + visible_message(SPAN_DANGER("[user] disturbs the bees!")) else var/option = tgui_input_list(user, "What Action do you wish to perform?", "Apiary", list("Remove a Honey Frame", "Remove the Queen Bee")) if(!Adjacent(user) || !option) @@ -241,14 +241,14 @@ switch(option) if("Remove a Honey Frame") if(!length(honey_frames)) - to_chat(user, "There are no honey frames to remove!") + to_chat(user, SPAN_WARNING("There are no honey frames to remove!")) return var/obj/item/honey_frame/HF = pick_n_take(honey_frames) if(HF) if(!user.put_in_active_hand(HF)) HF.forceMove(get_turf(src)) - visible_message("[user] removes a frame from the apiary.") + visible_message(SPAN_NOTICE("[user] removes a frame from the apiary.")) var/amtH = HF.honeycomb_capacity var/fallen = 0 @@ -260,11 +260,11 @@ fallen++ if(fallen) var/multiple = fallen > 1 - visible_message("[user] scrapes [multiple ? "[fallen]" : "a"] honeycomb[multiple ? "s" : ""] off of the frame.") + visible_message(SPAN_NOTICE("[user] scrapes [multiple ? "[fallen]" : "a"] honeycomb[multiple ? "s" : ""] off of the frame.")) if("Remove the Queen Bee") if(!queen_bee || queen_bee.loc != src) - to_chat(user, "There is no queen bee to remove!") + to_chat(user, SPAN_WARNING("There is no queen bee to remove!")) return var/obj/item/queen_bee/QB = new() queen_bee.forceMove(QB) @@ -273,7 +273,7 @@ QB.name = queen_bee.name if(!user.put_in_active_hand(QB)) QB.forceMove(get_turf(src)) - visible_message("[user] removes the queen from the apiary.") + visible_message(SPAN_NOTICE("[user] removes the queen from the apiary.")) queen_bee = null /obj/structure/beebox/deconstruct(disassembled = FALSE) diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 731ac6eeb17..4c78c1effae 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -114,16 +114,16 @@ return ..() if(processing) - to_chat(user, "[src] is currently processing.") + to_chat(user, SPAN_WARNING("[src] is currently processing.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/reagent_containers/glass)) if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_WARNING("Close the maintenance panel first.")) return ITEM_INTERACT_COMPLETE if(container) - to_chat(user, "A container is already loaded into [src].") + to_chat(user, SPAN_WARNING("A container is already loaded into [src].")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) @@ -131,14 +131,14 @@ used.forceMove(src) container = used - to_chat(user, "You add the [container] to [src].") + to_chat(user, SPAN_NOTICE("You add the [container] to [src].")) update_icon(UPDATE_ICON_STATE) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/storage/bag/plants)) if(length(stored_plants) >= max_storable_plants) - to_chat(user, "[src] can't hold any more plants!") + to_chat(user, SPAN_WARNING("[src] can't hold any more plants!")) return ITEM_INTERACT_COMPLETE var/obj/item/storage/bag/plants/PB = used @@ -150,22 +150,22 @@ stored_plants += P if(length(stored_plants) < max_storable_plants) - to_chat(user, "You empty [PB] into [src].") + to_chat(user, SPAN_NOTICE("You empty [PB] into [src].")) else - to_chat(user, "You fill [src] to its capacity.") + to_chat(user, SPAN_NOTICE("You fill [src] to its capacity.")) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE else if(is_type_in_typecache(used, acceptable_items)) if(length(stored_plants) >= max_storable_plants) - to_chat(user, "[src] can't hold any more plants!") + to_chat(user, SPAN_WARNING("[src] can't hold any more plants!")) return ITEM_INTERACT_COMPLETE if(!user.transfer_item_to(used, src)) return ITEM_INTERACT_COMPLETE stored_plants += used - to_chat(user, "You put [used] in [src].") + to_chat(user, SPAN_NOTICE("You put [used] in [src].")) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE @@ -184,7 +184,7 @@ update_ui_product_list(user) return ITEM_INTERACT_COMPLETE - to_chat(user, "You cannot put [used] in [src]!") + to_chat(user, SPAN_WARNING("You cannot put [used] in [src]!")) return ITEM_INTERACT_COMPLETE /** @@ -274,7 +274,7 @@ if(stat & (NOPOWER | BROKEN)) return if(processing) - to_chat(user, "[src] is currently processing!") + to_chat(user, SPAN_WARNING("[src] is currently processing!")) return processing = TRUE diff --git a/code/modules/hydroponics/compost_bin.dm b/code/modules/hydroponics/compost_bin.dm index afd3b2558dc..4e983b81eb5 100644 --- a/code/modules/hydroponics/compost_bin.dm +++ b/code/modules/hydroponics/compost_bin.dm @@ -46,7 +46,7 @@ /obj/machinery/compost_bin/screwdriver_act(mob/living/user, obj/item/I) // there are no screws either - to_chat(user, "[src] has no screws!") + to_chat(user, SPAN_WARNING("[src] has no screws!")) return TRUE /obj/machinery/compost_bin/crowbar_act(mob/living/user, obj/item/I) @@ -76,7 +76,7 @@ if(istype(used, /obj/item/storage/bag/plants)) if(biomass >= biomass_capacity && potassium >= potassium_capacity) - to_chat(user, "[src] can't hold any more biomass, and it's contents are saturated with potassium!") + to_chat(user, SPAN_WARNING("[src] can't hold any more biomass, and it's contents are saturated with potassium!")) return ITEM_INTERACT_COMPLETE var/obj/item/storage/bag/plants/PB = used @@ -90,14 +90,14 @@ break if(biomass >= biomass_capacity) - to_chat(user, "You fill [src] to its capacity.") + to_chat(user, SPAN_NOTICE("You fill [src] to its capacity.")) else - to_chat(user, "You empty [PB] into [src].") + to_chat(user, SPAN_NOTICE("You empty [PB] into [src].")) if(potassium == potassium_capacity) - to_chat(user, "You have saturated the contents of [src] with potassium.") + to_chat(user, SPAN_NOTICE("You have saturated the contents of [src] with potassium.")) else if(potassium >= potassium_capacity * 0.95) - to_chat(user, "You have very nearly saturated the contents of [src] with potassium.") + to_chat(user, SPAN_NOTICE("You have very nearly saturated the contents of [src] with potassium.")) SStgui.update_uis(src) update_icon(UPDATE_ICON_STATE) @@ -105,13 +105,13 @@ if(istype(used, /obj/item/food/grown)) if(biomass >= biomass_capacity && potassium >= potassium_capacity) - to_chat(user, "[src] can't hold any more biomass, and its contents are saturated with potassium!") + to_chat(user, SPAN_WARNING("[src] can't hold any more biomass, and its contents are saturated with potassium!")) return ITEM_INTERACT_COMPLETE if(!user.transfer_item_to(used, src)) return ITEM_INTERACT_COMPLETE make_biomass(used) - to_chat(user, "You put [used] in [src].") + to_chat(user, SPAN_NOTICE("You put [used] in [src].")) SStgui.update_uis(src) update_icon(UPDATE_ICON_STATE) return ITEM_INTERACT_COMPLETE @@ -119,10 +119,10 @@ var/proportion = 0 var/obj/item/reagent_containers/B = used if(B.reagents.total_volume <= 0) - to_chat(user, "[B] is empty!") + to_chat(user, SPAN_WARNING("[B] is empty!")) return ITEM_INTERACT_COMPLETE if(potassium >= potassium_capacity && potash >= potash_capacity) - to_chat(user, "The contents of [src] are saturated with potassium and it cannot hold more potash!") + to_chat(user, SPAN_WARNING("The contents of [src] are saturated with potassium and it cannot hold more potash!")) return ITEM_INTERACT_COMPLETE // Won't pour in more than the amount of potassium that can be accepted, even if the beaker is not filled with pure potassium. proportion = min(min(B.reagents.total_volume, B.amount_per_transfer_from_this), potassium_capacity - potassium) / B.reagents.total_volume @@ -143,25 +143,25 @@ B.reagents.remove_reagent(R.id, R.volume * proportion) if(proportion == 1) - to_chat(user, "You empty [B] into [src].") + to_chat(user, SPAN_NOTICE("You empty [B] into [src].")) else - to_chat(user, "You pour some of [B] into [src].") + to_chat(user, SPAN_NOTICE("You pour some of [B] into [src].")) if(potassium == potassium_capacity) - to_chat(user, "You have saturated the contents of [src] with potassium.") + to_chat(user, SPAN_NOTICE("You have saturated the contents of [src] with potassium.")) else if(potassium >= potassium_capacity * 0.95) - to_chat(user, "You have very nearly saturated the contents of [src] with potassium.") + to_chat(user, SPAN_NOTICE("You have very nearly saturated the contents of [src] with potassium.")) if(potash == potash_capacity) - to_chat(user, "[src] has been filled with potash.") + to_chat(user, SPAN_NOTICE("[src] has been filled with potash.")) else if(potash >= potash_capacity * 0.95) - to_chat(user, "[src] has been nearly filled with potash.") + to_chat(user, SPAN_NOTICE("[src] has been nearly filled with potash.")) SStgui.update_uis(src) update_icon(UPDATE_ICON_STATE) return ITEM_INTERACT_COMPLETE - to_chat(user, "You cannot put this in [src]!") + to_chat(user, SPAN_WARNING("You cannot put this in [src]!")) return ITEM_INTERACT_COMPLETE //Compost compostable material if there is any diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index 1147a39812e..3c5ccfa259a 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -17,7 +17,7 @@ /obj/structure/fermenting_barrel/examine(mob/user) . = ..() - . += "It is currently [open ? "open, letting you pour liquids in." : "closed, letting you draw liquids from the tap."]" + . += SPAN_NOTICE("It is currently [open ? "open, letting you pour liquids in." : "closed, letting you draw liquids from the tap."]") /obj/structure/fermenting_barrel/proc/makeWine(obj/item/food/grown/G) if(G.reagents) @@ -42,13 +42,13 @@ var/obj/item/food/grown/G = I if(istype(G)) if(!G.can_distill) - to_chat(user, "You can't distill this into anything...") + to_chat(user, SPAN_WARNING("You can't distill this into anything...")) return ITEM_INTERACT_COMPLETE else if(!user.drop_item()) - to_chat(user, "[G] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[G] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE G.forceMove(src) - to_chat(user, "You place [G] into [src] to start the fermentation process.") + to_chat(user, SPAN_NOTICE("You place [G] into [src] to start the fermentation process.")) addtimer(CALLBACK(src, PROC_REF(makeWine), G), rand(80, 120) * speed_multiplier) return ITEM_INTERACT_COMPLETE @@ -58,10 +58,10 @@ open = !open if(open) container_type = REFILLABLE | AMOUNT_VISIBLE - to_chat(user, "You open [src], letting you fill it.") + to_chat(user, SPAN_NOTICE("You open [src], letting you fill it.")) else container_type = DRAINABLE | AMOUNT_VISIBLE - to_chat(user, "You close [src], letting you draw from its tap.") + to_chat(user, SPAN_NOTICE("You close [src], letting you draw from its tap.")) update_icon(UPDATE_ICON_STATE) /obj/structure/fermenting_barrel/crowbar_act(mob/living/user, obj/item/I) diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index 80acbaf6c3e..401743cd440 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -139,7 +139,7 @@ return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/unsorted_seeds)) - to_chat(user, "You need to sort [used] first!") + to_chat(user, SPAN_WARNING("You need to sort [used] first!")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/seeds)) @@ -154,23 +154,23 @@ /obj/machinery/plantgenes/proc/add_seed(obj/item/seeds/new_seed, mob/user) if(seed) - to_chat(user, "A sample is already loaded into the machine!") + to_chat(user, SPAN_WARNING("A sample is already loaded into the machine!")) return if(!user.drop_item()) return insert_seed(new_seed) - to_chat(user, "You add [new_seed] to the machine.") + to_chat(user, SPAN_NOTICE("You add [new_seed] to the machine.")) ui_interact(user) /obj/machinery/plantgenes/proc/add_disk(obj/item/disk/plantgene/new_disk, mob/user) if(length(contents) - (seed ? 1 : 0) >= disk_capacity) - to_chat(user, "[src] cannot hold any more disks!") + to_chat(user, SPAN_WARNING("[src] cannot hold any more disks!")) return if(istype(new_disk, /obj/item/storage/box)) var/has_disks = FALSE for(var/obj/item/disk/plantgene/D in new_disk.contents) if(length(contents)- (seed ? 1 : 0) >= disk_capacity) - to_chat(user, "You fill [src] with disks.") + to_chat(user, SPAN_NOTICE("You fill [src] with disks.")) break has_disks = TRUE D.forceMove(src) @@ -178,9 +178,9 @@ disk = D if(has_disks) playsound(loc, 'sound/items/handling/cardboardbox_drop.ogg', 50) - to_chat(user, "You load [src] from [new_disk].") + to_chat(user, SPAN_NOTICE("You load [src] from [new_disk].")) else - to_chat(user, "[new_disk] contains no disks.") + to_chat(user, SPAN_NOTICE("[new_disk] contains no disks.")) SStgui.update_uis(src) return if(!user.drop_item()) @@ -188,7 +188,7 @@ if(!disk) disk = new_disk new_disk.forceMove(src) - to_chat(user, "You add [new_disk] to the machine.") + to_chat(user, SPAN_NOTICE("You add [new_disk] to the machine.")) ui_interact(user) /obj/machinery/plantgenes/attack_hand(mob/user) @@ -426,7 +426,7 @@ user.put_in_hands(D) update_genes() return - to_chat(user, "No Empty Disks to Eject!") + to_chat(user, SPAN_WARNING("No Empty Disks to Eject!")) if("set_read_only") var/obj/item/disk/plantgene/D = contents[text2num(params["index"])] D.read_only = !D.read_only @@ -657,11 +657,11 @@ if(HAS_TRAIT(src, TRAIT_CMAGGED)) return read_only = !read_only - to_chat(user, "You flip the write-protect tab to [read_only ? "protected" : "unprotected"].") + to_chat(user, SPAN_NOTICE("You flip the write-protect tab to [read_only ? "protected" : "unprotected"].")) /obj/item/disk/plantgene/cmag_act(mob/user) if(!HAS_TRAIT(src, TRAIT_CMAGGED)) - to_chat(user, "The bananium ooze flips a couple bits on the plant disk's display, making it look just like the..!") + to_chat(user, SPAN_WARNING("The bananium ooze flips a couple bits on the plant disk's display, making it look just like the..!")) ADD_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG) update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_ICON) playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) @@ -677,9 +677,9 @@ . += "The write-protect tab is set to [read_only ? "protected" : "unprotected"]." return if((user.mind.assigned_role == "Captain" || user.mind.special_role == SPECIAL_ROLE_NUKEOPS) && (user.Adjacent(src))) - . += "... Wait. This isn't the nuclear authentication disk! It's a clever forgery!" + . += SPAN_WARNING("... Wait. This isn't the nuclear authentication disk! It's a clever forgery!") else - . += "You should keep this safe..." + . += SPAN_WARNING("You should keep this safe...") /obj/item/disk/plantgene/examine_more(mob/user) . = ..() @@ -687,8 +687,8 @@ return if((user.mind.assigned_role == "Captain" || user.mind.special_role == SPECIAL_ROLE_NUKEOPS) && user.Adjacent(src)) - . += "Yes, even closer examination confirms it's not a trick of the light, it really is just a regular plant disk." - . += "Now stop staring at this worthless fake and FIND THE REAL ONE!" + . += SPAN_DANGER("Yes, even closer examination confirms it's not a trick of the light, it really is just a regular plant disk.") + . += SPAN_USERDANGER("Now stop staring at this worthless fake and FIND THE REAL ONE!") return . += "Nuclear fission explosives are stored on all Nanotrasen stations in the system so that they may be rapidly destroyed should the need arise." diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index e64a18418f6..15fba31e723 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -75,19 +75,19 @@ inaccurate = FALSE if(!isturf(loc) || !(locate(/obj/structure/table) in loc) && !(locate(/obj/machinery/optable) in loc) && !(locate(/obj/item/storage/bag/tray) in loc)) - to_chat(user, "You cannot slice [src] here! You need a table or at least a tray to do it.") + to_chat(user, SPAN_WARNING("You cannot slice [src] here! You need a table or at least a tray to do it.")) return ITEM_INTERACT_COMPLETE var/slices_lost = 0 if(!inaccurate) user.visible_message( - "[user] slices [src] with [used].", - "You slice [src] with [used]." + SPAN_NOTICE("[user] slices [src] with [used]."), + SPAN_NOTICE("You slice [src] with [used].") ) else user.visible_message( - "[user] crudely slices [src] with [used], destroying some in the process!", - "You crudely slice [src] with [used], destroying some in the process!" + SPAN_NOTICE("[user] crudely slices [src] with [used], destroying some in the process!"), + SPAN_NOTICE("You crudely slice [src] with [used], destroying some in the process!") ) slices_lost = rand(1, min(1, round(slices_num / 2))) @@ -141,7 +141,7 @@ if(trash) generate_trash(T) - visible_message("[src] has been squashed.","You hear a smack.") + visible_message(SPAN_WARNING("[src] has been squashed."),SPAN_ITALICS("You hear a smack.")) if(seed) for(var/datum/plant_gene/trait/trait in seed.genes) trait.on_squash(src, target) @@ -193,7 +193,7 @@ if(trash) var/obj/item/T = generate_trash() user.put_in_hands(T) - to_chat(user, "You deshell [src], revealing \a [T].") + to_chat(user, SPAN_NOTICE("You deshell [src], revealing \a [T].")) qdel(src) return ITEM_INTERACT_COMPLETE @@ -224,7 +224,7 @@ set_light(0) /obj/item/food/grown/proc/send_plant_details(mob/user) - var/msg = "This is \a [src].\n" + var/msg = "[SPAN_NOTICE("This is")][SPAN_NAME(" \a [src].")]\n" if(seed) msg += seed.get_analyzer_text() var/reag_txt = "" @@ -232,7 +232,7 @@ for(var/reagent_id in seed.reagents_add) var/datum/reagent/R = GLOB.chemical_reagents_list[reagent_id] var/amt = reagents.get_reagent_amount(reagent_id) - reag_txt += "\n- [R.name]: [amt]" + reag_txt += "\n[SPAN_NOTICE("- [R.name]: [amt]")]" if(reag_txt) msg += reag_txt diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index 24852fb9c49..79269de5529 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -30,7 +30,7 @@ ADD_TRAIT(src, TRAIT_CAN_POINT_WITH, ROUNDSTART_TRAIT) /obj/item/food/grown/banana/suicide_act(mob/user) - user.visible_message("[user] is aiming [src] at [user.p_themselves()]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is aiming [src] at [user.p_themselves()]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/items/bikehorn.ogg', 50, TRUE, -1) sleep(25) if(!user) @@ -66,7 +66,7 @@ return ..() /obj/item/grown/bananapeel/suicide_act(mob/user) - user.visible_message("[user] is deliberately slipping on [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is deliberately slipping on [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/misc/slip.ogg', 50, TRUE, -1) return BRUTELOSS diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm index 5124b2e195b..a012a0c924a 100644 --- a/code/modules/hydroponics/grown/cereals.dm +++ b/code/modules/hydroponics/grown/cereals.dm @@ -94,8 +94,8 @@ return ITEM_INTERACT_COMPLETE user.visible_message( - "[user] crushes [src] into meat.", - "You crush [src] into something that resembles meat." + SPAN_NOTICE("[user] crushes [src] into meat."), + SPAN_NOTICE("You crush [src] into something that resembles meat.") ) playsound(user, 'sound/effects/blobattack.ogg', 50, 1) var/obj/item/food/meat/meatwheat/M = new(get_turf(user)) diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm index d6064d70db9..78fca01338a 100644 --- a/code/modules/hydroponics/grown/citrus.dm +++ b/code/modules/hydroponics/grown/citrus.dm @@ -118,8 +118,8 @@ var/area/A = get_area(user) user.visible_message( - "[user] primes [src]!", - "You prime [src]!" + SPAN_WARNING("[user] primes [src]!"), + SPAN_USERDANGER("You prime [src]!") ) investigate_log("[key_name(user)] primed a combustible lemon for detonation at [A] [COORD(user)].", INVESTIGATE_BOMB) add_attack_logs(user, src, "primed a combustible lemon for detonation", ATKLOG_FEW) diff --git a/code/modules/hydroponics/grown/corn.dm b/code/modules/hydroponics/grown/corn.dm index 0f9e062d8f9..25cff6ef777 100644 --- a/code/modules/hydroponics/grown/corn.dm +++ b/code/modules/hydroponics/grown/corn.dm @@ -37,7 +37,7 @@ /obj/item/grown/corncob/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(used.sharp) - to_chat(user, "You use [used] to fashion a pipe out of the corn cob!") + to_chat(user, SPAN_NOTICE("You use [used] to fashion a pipe out of the corn cob!")) new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc) qdel(src) return ITEM_INTERACT_COMPLETE @@ -72,7 +72,7 @@ if(..()) return - to_chat(user, "You pick a snap pop from the cob.") + to_chat(user, SPAN_NOTICE("You pick a snap pop from the cob.")) var/obj/item/toy/snappop/S = new /obj/item/toy/snappop(user.loc) if(ishuman(user)) user.put_in_hands(S) diff --git a/code/modules/hydroponics/grown/cotton.dm b/code/modules/hydroponics/grown/cotton.dm index d16ae37c5ac..2e40f322ceb 100644 --- a/code/modules/hydroponics/grown/cotton.dm +++ b/code/modules/hydroponics/grown/cotton.dm @@ -31,7 +31,7 @@ if(..()) return - user.show_message("You pull some [cotton_name] out of [src]!", 1) + user.show_message(SPAN_NOTICE("You pull some [cotton_name] out of [src]!"), 1) var/seed_modifier = 0 if(seed) seed_modifier = round(seed.potency / 25) @@ -41,7 +41,7 @@ if(ST != cotton && istype(ST, cotton_type) && ST.amount < ST.max_amount) ST.attackby__legacy__attackchain(cotton, user) if(cotton.amount > old_cotton_amount) - to_chat(user, "You add the newly-formed [cotton_name] to the stack. It now contains [cotton.amount] [cotton_name].") + to_chat(user, SPAN_NOTICE("You add the newly-formed [cotton_name] to the stack. It now contains [cotton.amount] [cotton_name].")) qdel(src) //reinforced mutated variant diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm index 98b138a8a34..233620b1df4 100644 --- a/code/modules/hydroponics/grown/flowers.dm +++ b/code/modules/hydroponics/grown/flowers.dm @@ -227,7 +227,7 @@ return FINISH_ATTACK if(isliving(target)) - to_chat(target, "You are lit on fire from the intense heat of [src]!") + to_chat(target, SPAN_DANGER("You are lit on fire from the intense heat of [src]!")) target.adjust_fire_stacks(seed.potency / 20) if(target.IgniteMob()) message_admins("[key_name_admin(user)] set [key_name_admin(target)] on fire") @@ -240,11 +240,11 @@ if(force > 0) force -= rand(1, (force / 3) + 1) else - to_chat(usr, "All the petals have fallen off [src] from violent whacking!") + to_chat(usr, SPAN_WARNING("All the petals have fallen off [src] from violent whacking!")) qdel(src) /obj/item/grown/novaflower/pickup(mob/living/carbon/human/user) . = ..() if(!user.gloves) - to_chat(user, "[src] burns your bare hand!") + to_chat(user, SPAN_DANGER("[src] burns your bare hand!")) user.adjustFireLoss(rand(1, 5)) diff --git a/code/modules/hydroponics/grown/grass_carpet.dm b/code/modules/hydroponics/grown/grass_carpet.dm index 922627212c5..c3ee8ec99b6 100644 --- a/code/modules/hydroponics/grown/grass_carpet.dm +++ b/code/modules/hydroponics/grown/grass_carpet.dm @@ -34,7 +34,7 @@ if(..()) return ITEM_INTERACT_COMPLETE - to_chat(user, "You prepare the astroturf.") + to_chat(user, SPAN_NOTICE("You prepare the astroturf.")) var/grassAmt = 1 + round(seed.potency * tile_coefficient) // The grass we're holding for(var/obj/item/food/grown/grass/G in user.loc) // The grass on the floor if(G.type != type) diff --git a/code/modules/hydroponics/grown/herbals.dm b/code/modules/hydroponics/grown/herbals.dm index 65dc814c01f..9de04bab759 100644 --- a/code/modules/hydroponics/grown/herbals.dm +++ b/code/modules/hydroponics/grown/herbals.dm @@ -26,7 +26,7 @@ var/obj/item/stack/medical/bruise_pack/comfrey/C = new(get_turf(user)) C.heal_brute = seed.potency / 4 - to_chat(user, "You mash [src] into a poultice.") + to_chat(user, SPAN_NOTICE("You mash [src] into a poultice.")) user.drop_item() qdel(src) return ITEM_INTERACT_COMPLETE @@ -57,7 +57,7 @@ var/obj/item/stack/medical/ointment/aloe/A = new(get_turf(user)) A.heal_burn = seed.potency / 4 - to_chat(user, "You mash [src] into a poultice.") + to_chat(user, SPAN_NOTICE("You mash [src] into a poultice.")) user.drop_item() qdel(src) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/hydroponics/grown/kudzu.dm b/code/modules/hydroponics/grown/kudzu.dm index d21615a9176..7c0d0d786ff 100644 --- a/code/modules/hydroponics/grown/kudzu.dm +++ b/code/modules/hydroponics/grown/kudzu.dm @@ -22,7 +22,7 @@ return S /obj/item/seeds/kudzu/suicide_act(mob/user) - user.visible_message("[user] swallows the pack of kudzu seeds! It looks like [user.p_theyre()] trying to commit suicide!.") + user.visible_message(SPAN_SUICIDE("[user] swallows the pack of kudzu seeds! It looks like [user.p_theyre()] trying to commit suicide!.")) plant(user) return BRUTELOSS @@ -38,7 +38,7 @@ /obj/item/seeds/kudzu/attack_self__legacy__attackchain(mob/user) plant(user) - to_chat(user, "You plant the kudzu. You monster.") + to_chat(user, SPAN_NOTICE("You plant the kudzu. You monster.")) /obj/item/seeds/kudzu/get_analyzer_text() var/text = ..() diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm index e4bc12e46b1..3746f64f7d4 100644 --- a/code/modules/hydroponics/grown/melon.dm +++ b/code/modules/hydroponics/grown/melon.dm @@ -15,7 +15,7 @@ reagents_add = list("water" = 0.2, "vitamin" = 0.04, "plantmatter" = 0.2) /obj/item/seeds/watermelon/suicide_act(mob/user) - user.visible_message("[user] is swallowing [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is swallowing [src]! It looks like [user.p_theyre()] trying to commit suicide!")) user.gib() new product(drop_location()) qdel(src) diff --git a/code/modules/hydroponics/grown/misc_seeds.dm b/code/modules/hydroponics/grown/misc_seeds.dm index 0eba7eedf64..10a402762db 100644 --- a/code/modules/hydroponics/grown/misc_seeds.dm +++ b/code/modules/hydroponics/grown/misc_seeds.dm @@ -197,8 +197,8 @@ var/area/A = get_area(user) user.visible_message( - "[user] plucks the stem from [src]!", - "You pluck the stem from [src], which begins to hiss loudly!" + SPAN_WARNING("[user] plucks the stem from [src]!"), + SPAN_USERDANGER("You pluck the stem from [src], which begins to hiss loudly!") ) message_admins("[user] ([user.key ? user.key : "no key"]) primed a cherry bomb for detonation at [A] ([user.x], [user.y], [user.z]) (JMP)") log_game("[user] ([user.key ? user.key : "no key"]) primed a cherry bomb for detonation at [A] ([user.x],[user.y],[user.z]).") diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 0f64eaafdf0..d52a3fe06c5 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -178,7 +178,7 @@ return ITEM_INTERACT_COMPLETE if(isspaceturf(user.loc)) - to_chat(user, "You need a solid floor to plant [src] on!") + to_chat(user, SPAN_WARNING("You need a solid floor to plant [src] on!")) return ITEM_INTERACT_COMPLETE var/mob/living/simple_animal/hostile/mushroom/M = new /mob/living/simple_animal/hostile/mushroom(user.loc) @@ -188,7 +188,7 @@ M.move_to_delay -= round(seed.production / 50) M.health = M.maxHealth qdel(src) - to_chat(user, "You plant the walking mushroom.") + to_chat(user, SPAN_NOTICE("You plant the walking mushroom.")) // Chanterelle @@ -255,11 +255,11 @@ return ITEM_INTERACT_COMPLETE if(isspaceturf(user.loc)) - to_chat(user, "You need a solid floor or wall to plant [src] on!") + to_chat(user, SPAN_WARNING("You need a solid floor or wall to plant [src] on!")) return ITEM_INTERACT_COMPLETE if(!isturf(user.loc)) - to_chat(user, "You need more space to plant [src]!") + to_chat(user, SPAN_WARNING("You need more space to plant [src]!")) return ITEM_INTERACT_COMPLETE var/count = 0 @@ -271,11 +271,11 @@ for(var/obj/structure/glowshroom/G in user.loc) count++ if(count >= maxcount) - to_chat(user, "There are too many shrooms here to plant [src]!") + to_chat(user, SPAN_WARNING("There are too many shrooms here to plant [src]!")) return ITEM_INTERACT_COMPLETE new effect_path(user.loc, seed) - to_chat(user, "You plant [src].") + to_chat(user, SPAN_NOTICE("You plant [src].")) qdel(src) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm index 308a1ed9368..9ee06f502c8 100644 --- a/code/modules/hydroponics/grown/nettle.dm +++ b/code/modules/hydroponics/grown/nettle.dm @@ -46,7 +46,7 @@ attack_verb = list("stung") /obj/item/grown/nettle/suicide_act(mob/user) - user.visible_message("[user] is eating some of [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is eating some of [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS|TOXLOSS /obj/item/grown/nettle/pickup(mob/living/user) @@ -63,7 +63,7 @@ if(affecting) if(affecting.receive_damage(0, force)) H.UpdateDamageIcon() - to_chat(H, "The nettle burns your bare hand!") + to_chat(H, SPAN_USERDANGER("The nettle burns your bare hand!")) return TRUE /obj/item/grown/nettle/after_attack(atom/target, mob/user, proximity_flag, click_parameters) @@ -100,13 +100,13 @@ if(..()) if(prob(50)) user.Weaken(10 SECONDS) - to_chat(user, "You are stunned by the Deathnettle when you try picking it up!") + to_chat(user, SPAN_USERDANGER("You are stunned by the Deathnettle when you try picking it up!")) /obj/item/grown/nettle/death/attack(mob/living/target, mob/living/user, params) if(..()) return FINISH_ATTACK if(isliving(target)) - to_chat(target, "You flinch as you are struck by \the [src]!") + to_chat(target, SPAN_DANGER("You flinch as you are struck by \the [src]!")) add_attack_logs(user, target, "Hit with [src]") target.AdjustEyeBlurry(force * 2) // Maximum duration 5 seconds per hit. diff --git a/code/modules/hydroponics/grown/nymph.dm b/code/modules/hydroponics/grown/nymph.dm index 0a3fcf6ce63..12644509125 100644 --- a/code/modules/hydroponics/grown/nymph.dm +++ b/code/modules/hydroponics/grown/nymph.dm @@ -24,7 +24,7 @@ return ITEM_INTERACT_COMPLETE new /mob/living/basic/diona_nymph(get_turf(user)) - to_chat(user, "You crack open [src], letting the nymph out.") + to_chat(user, SPAN_NOTICE("You crack open [src], letting the nymph out.")) user.drop_item() qdel(src) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/hydroponics/grown/potato.dm b/code/modules/hydroponics/grown/potato.dm index 62da9fbe541..d2031a86cfd 100644 --- a/code/modules/hydroponics/grown/potato.dm +++ b/code/modules/hydroponics/grown/potato.dm @@ -39,7 +39,7 @@ if(!used.sharp) return ..() - to_chat(user, "You cut the potato into wedges with [used].") + to_chat(user, SPAN_NOTICE("You cut the potato into wedges with [used].")) var/obj/item/food/grown/potato/wedges/W = new /obj/item/food/grown/potato/wedges if(!remove_item_from_storage(user)) user.unequip(src) diff --git a/code/modules/hydroponics/grown/pumpkin.dm b/code/modules/hydroponics/grown/pumpkin.dm index d0cfa79b5a2..26d6fe88f93 100644 --- a/code/modules/hydroponics/grown/pumpkin.dm +++ b/code/modules/hydroponics/grown/pumpkin.dm @@ -32,7 +32,7 @@ if(!used.sharp) return ..() - to_chat(user, "You carve a face into [src] with [used].") + to_chat(user, SPAN_NOTICE("You carve a face into [src] with [used].")) new carved_type(user.loc) qdel(src) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/hydroponics/grown/replicapod.dm b/code/modules/hydroponics/grown/replicapod.dm index 31f80d4f50f..3566be0b0fe 100644 --- a/code/modules/hydroponics/grown/replicapod.dm +++ b/code/modules/hydroponics/grown/replicapod.dm @@ -38,12 +38,12 @@ blood_type = bloodSample.data["blood_type"] factions = bloodSample.data["factions"] W.reagents.clear_reagents() - to_chat(user, "You inject the contents of the syringe into the seeds.") + to_chat(user, SPAN_NOTICE("You inject the contents of the syringe into the seeds.")) contains_sample = 1 else - to_chat(user, "The seeds reject the sample!") + to_chat(user, SPAN_WARNING("The seeds reject the sample!")) else - to_chat(user, "The seeds already contain a genetic sample!") + to_chat(user, SPAN_WARNING("The seeds already contain a genetic sample!")) else return ..() diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm index 01e1ee00928..55c6275aaaf 100644 --- a/code/modules/hydroponics/grown/root.dm +++ b/code/modules/hydroponics/grown/root.dm @@ -33,7 +33,7 @@ if(!used.sharp) return ..() - to_chat(user, "You sharpen [src] into a shiv with [used].") + to_chat(user, SPAN_NOTICE("You sharpen [src] into a shiv with [used].")) var/obj/item/kitchen/knife/shiv/carrot/shiv = new () if(!remove_item_from_storage(user)) user.unequip(src) diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm index cce3edc5f9a..e8308ced1da 100644 --- a/code/modules/hydroponics/grown/tomato.dm +++ b/code/modules/hydroponics/grown/tomato.dm @@ -132,7 +132,7 @@ if(!awakening) return ..() - to_chat(user, "The tomato is squirming and shaking too much to do anything with it!") + to_chat(user, SPAN_WARNING("The tomato is squirming and shaking too much to do anything with it!")) return ITEM_INTERACT_COMPLETE /obj/item/food/grown/tomato/killer/activate_self(mob/user) @@ -142,7 +142,7 @@ if(awakening || isspaceturf(user.loc)) return ITEM_INTERACT_COMPLETE - to_chat(user, "You begin to awaken [src]...") + to_chat(user, SPAN_NOTICE("You begin to awaken [src]...")) awakening = 1 spawn(30) @@ -154,7 +154,7 @@ K.melee_damage_upper += round(seed.potency / 10) K.speed -= round(seed.production / 50) K.health = K.maxHealth - K.visible_message("The Killer Tomato growls as it suddenly awakens.") + K.visible_message(SPAN_NOTICE("The Killer Tomato growls as it suddenly awakens.")) if(user) user.unequip(src) message_admins("[key_name_admin(user)] released a killer tomato at [ADMIN_COORDJMP(T)]") diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index cb62c75a958..ee188580cd8 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -53,21 +53,21 @@ /obj/item/grown/log/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(used.sharp) if(in_inventory) - to_chat(user, "You need to place [src] on a flat surface to make [plank_name].") + to_chat(user, SPAN_WARNING("You need to place [src] on a flat surface to make [plank_name].")) return ITEM_INTERACT_COMPLETE - user.show_message("You make [plank_name] out of \the [src]!", 1) + user.show_message(SPAN_NOTICE("You make [plank_name] out of \the [src]!"), 1) var/seed_modifier = 0 if(seed) seed_modifier = round(seed.potency / 25) new plank_type(user.loc, 1 + seed_modifier) - to_chat(user, "You add the newly-formed [plank_name] to the stack.") + to_chat(user, SPAN_NOTICE("You add the newly-formed [plank_name] to the stack.")) qdel(src) return ITEM_INTERACT_COMPLETE if(CheckAccepted(used)) var/obj/item/food/grown/leaf = used if(leaf.dry) - user.show_message("You wrap \the [used] around the log, turning it into a torch!") + user.show_message(SPAN_NOTICE("You wrap \the [used] around the log, turning it into a torch!")) var/obj/item/flashlight/flare/torch/T = new /obj/item/flashlight/flare/torch(user.loc) user.unequip(leaf) usr.put_in_active_hand(T) @@ -158,7 +158,7 @@ if(burning) return if(!CheckOxygen()) - to_chat(user, "You can't seem to ignite [src] in this environment!") + to_chat(user, SPAN_WARNING("You can't seem to ignite [src] in this environment!")) return icon_state = "[initial(icon_state)]_burning" @@ -211,7 +211,7 @@ R.use(1) can_buckle = TRUE buckle_requires_restraints = TRUE - to_chat(user, "You add a rod to [src].") + to_chat(user, SPAN_ITALICS("You add a rod to [src].")) var/image/U = image(icon='icons/obj/hydroponics/equipment.dmi',icon_state="bonfire_rod",pixel_y=16) underlays += U return ITEM_INTERACT_COMPLETE @@ -243,7 +243,7 @@ /obj/structure/lightable/bonfire/attack_hand(mob/user) if(burning) - to_chat(user, "You need to extinguish [src] before removing the logs!") + to_chat(user, SPAN_WARNING("You need to extinguish [src] before removing the logs!")) return if(!has_buckled_mobs() && do_after(user, 50, target = src)) for(var/I in 1 to 5) diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index eb31228d21c..83e3c14f006 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -71,7 +71,7 @@ set_light(0) /obj/item/grown/proc/send_plant_details(mob/user) - var/msg = "This is \a [src]\n" + var/msg = "[SPAN_NOTICE("This is")][SPAN_NAME(" \a [src]")]\n" if(seed) msg += seed.get_analyzer_text() msg += "" diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index d88f8568ac0..cc8eb8fda4f 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -20,10 +20,10 @@ if(high_details_mode) high_details_mode = FALSE - to_chat(user, "You switch [src] into low detail mode.") + to_chat(user, SPAN_NOTICE("You switch [src] into low detail mode.")) else high_details_mode = TRUE - to_chat(user, "You switch [src] into high detail mode.") + to_chat(user, SPAN_NOTICE("You switch [src] into high detail mode.")) /obj/item/plant_analyzer/pre_attack(atom/target, mob/user, params) if(!istype(target, /obj/item)) @@ -60,7 +60,7 @@ list_reagents = list("atrazine" = 100) /obj/item/reagent_containers/spray/weedspray/suicide_act(mob/user) - user.visible_message("[user] is huffing [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is huffing [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return TOXLOSS /// -- Skie @@ -76,7 +76,7 @@ list_reagents = list("pestkiller" = 100) /obj/item/reagent_containers/spray/pestspray/suicide_act(mob/user) - user.visible_message("[user] is huffing [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is huffing [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return TOXLOSS /obj/item/cultivator @@ -126,7 +126,7 @@ sharp = TRUE /obj/item/hatchet/suicide_act(mob/user) - user.visible_message("[user] is chopping at [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is chopping at [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/weapons/bladeslice.ogg', 50, TRUE, -1) return BRUTELOSS @@ -173,7 +173,7 @@ origin_tech = "materials=1;combat=2" /obj/item/scythe/suicide_act(mob/user) - user.visible_message("[user] is beheading [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is beheading [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) if(ishuman(user)) var/mob/living/carbon/human/H = user var/obj/item/organ/external/affecting = H.get_organ("head") @@ -214,7 +214,7 @@ /obj/item/scythe/tele/attack_self__legacy__attackchain(mob/user) extend = !extend if(extend) - to_chat(user, "With a flick of your wrist, you extend the scythe. It's reaping time!") + to_chat(user, SPAN_WARNING("With a flick of your wrist, you extend the scythe. It's reaping time!")) slot_flags = ITEM_SLOT_BACK //won't fit on belt, but can be worn on belt when extended w_class = WEIGHT_CLASS_BULKY //won't fit in backpacks while extended force = 15 //slightly better than normal scythe damage @@ -223,7 +223,7 @@ //Extend sound (blade unsheath) playsound(src.loc, 'sound/weapons/blade_unsheath.ogg', 50, 1) //Sound credit to Qat of Freesound.org else - to_chat(user, "You collapse the scythe, folding it away for easy storage.") + to_chat(user, SPAN_NOTICE("You collapse the scythe, folding it away for easy storage.")) slot_flags = ITEM_SLOT_BELT //can be worn on belt again, but no longer makes sense to wear on the back w_class = WEIGHT_CLASS_SMALL force = 3 diff --git a/code/modules/hydroponics/hydroponics_tray.dm b/code/modules/hydroponics/hydroponics_tray.dm index 89553cf3949..9b725e58583 100644 --- a/code/modules/hydroponics/hydroponics_tray.dm +++ b/code/modules/hydroponics/hydroponics_tray.dm @@ -132,7 +132,7 @@ /obj/machinery/hydroponics/constructable/crowbar_act(mob/user, obj/item/I) if(using_irrigation) - to_chat(user, "Disconnect the hoses first!") + to_chat(user, SPAN_WARNING("Disconnect the hoses first!")) return TRUE if(default_deconstruction_crowbar(user, I, 1)) return TRUE @@ -165,7 +165,7 @@ return lid_closed = !lid_closed - to_chat(user, "You [lid_closed ? "close" : "open"] the tray's lid.") + to_chat(user, SPAN_NOTICE("You [lid_closed ? "close" : "open"] the tray's lid.")) update_state() @@ -377,31 +377,31 @@ . = ..() if(myseed) if(myseed.variant) - . += "It has the [myseed.variant] variant of [myseed.plantname] planted." + . += SPAN_NOTICE("It has the [SPAN_NAME("[myseed.variant]")] variant of [SPAN_NAME("[myseed.plantname]")] planted.") else - . += "It has [myseed.plantname] planted." + . += SPAN_NOTICE("It has [SPAN_NAME("[myseed.plantname]")] planted.") if(dead) - . += "It's dead!" + . += SPAN_WARNING("It's dead!") else if(harvest) - . += "It's ready to harvest." + . += SPAN_NOTICE("It's ready to harvest.") else if(plant_health <= (myseed.endurance / 2)) - . += "It looks unhealthy." + . += SPAN_WARNING("It looks unhealthy.") else - . += "[src] is empty." + . += SPAN_NOTICE("[src] is empty.") if(!self_sustaining) - . += "Water: [waterlevel]/[maxwater]" - . += "Nutrient: [nutrilevel]/[maxnutri]" + . += SPAN_NOTICE("Water: [waterlevel]/[maxwater]") + . += SPAN_NOTICE("Nutrient: [nutrilevel]/[maxnutri]") if(self_sufficiency_progress > 0) var/percent_progress = round(self_sufficiency_progress * 100 / self_sufficiency_req) - . += "Treatment for self-sustenance are [percent_progress]% complete." + . += SPAN_NOTICE("Treatment for self-sustenance are [percent_progress]% complete.") else - . += "It doesn't require any water or nutrients." + . += SPAN_NOTICE("It doesn't require any water or nutrients.") if(weedlevel >= 5) - . += "[src] is filled with weeds!" + . += SPAN_WARNING("[src] is filled with weeds!") if(pestlevel >= 5) - . += "[src] is filled with tiny worms!" + . += SPAN_WARNING("[src] is filled with tiny worms!") . += "" // Empty line for readability. @@ -448,9 +448,9 @@ plant_hud_set_health() plant_hud_set_status() if(kudzu) - visible_message("The [oldPlantName] cross-breeds with weeds and mutates into [myseed.plantname]!") + visible_message(SPAN_WARNING("The [oldPlantName] cross-breeds with weeds and mutates into [myseed.plantname]!")) else - visible_message("The [oldPlantName] is overtaken by some [myseed.plantname]!") + visible_message(SPAN_WARNING("The [oldPlantName] is overtaken by some [myseed.plantname]!")) /obj/machinery/hydroponics/proc/get_mutation_level() return nutrient.mutation_level + mutagen + (mut_beamed ? 5 : 0) @@ -477,9 +477,9 @@ sleep(5) // Wait a while update_state() - visible_message("The mutated weeds in [src] spawn some [myseed.plantname]!") + visible_message(SPAN_WARNING("The mutated weeds in [src] spawn some [myseed.plantname]!")) else - to_chat(usr, "The few weeds in [src] seem to react, but only for a moment...") + to_chat(usr, SPAN_WARNING("The few weeds in [src] seem to react, but only for a moment...")) /obj/machinery/hydroponics/proc/plantdies() // OH NOES!!!!! I put this all in one function to make things easier @@ -498,12 +498,12 @@ if(pestlevel > 5) message_admins("[ADMIN_LOOKUPFLW(user)] caused spiderling pests to spawn in a hydro tray") log_game("[key_name(user)] caused spiderling pests to spawn in a hydro tray") - visible_message("The pests seem to behave oddly...") + visible_message(SPAN_WARNING("The pests seem to behave oddly...")) for(var/i in 1 to 3) var/mob/living/basic/spiderling/S = new(get_turf(src)) S.grow_as = /mob/living/basic/giant_spider/hunter else - to_chat(user, "The pests seem to behave oddly, but quickly settle down...") + to_chat(user, SPAN_WARNING("The pests seem to behave oddly, but quickly settle down...")) /obj/machinery/hydroponics/proc/apply_chemicals(mob/user) if(myseed) @@ -515,10 +515,10 @@ mutagen += reagents.get_reagent_amount("uranium") mutagen += reagents.get_reagent_amount("radium") mutagen += reagents.get_reagent_amount("mutagen") - to_chat(user, "You think the plants in [src] will mutate more now.") + to_chat(user, SPAN_NOTICE("You think the plants in [src] will mutate more now.")) mutagen = min(max_mutagen, mutagen) if(mutagen == max_mutagen) - to_chat(user, "That seems like enough mutating chemicals.") + to_chat(user, SPAN_NOTICE("That seems like enough mutating chemicals.")) // After handling the mutating, we now handle the damage from adding crude radioactives... if(reagents.has_reagent("uranium", 1)) @@ -561,13 +561,13 @@ if(self_sufficiency_progress >= self_sufficiency_req) become_self_sufficient() else if(!self_sustaining) - to_chat(user, "[src] warms as it might on a spring day under a genuine Sun.") + to_chat(user, SPAN_NOTICE("[src] warms as it might on a spring day under a genuine Sun.")) // Antitoxin binds shit pretty well. So the tox goes significantly down if(reagents.has_reagent("charcoal", 1)) adjustToxic(-round(reagents.get_reagent_amount("charcoal") * 2)) if(doping_chem) - to_chat(user, "The charcoal soaks up and neutralizes \the [initial(doping_chem.name)].") + to_chat(user, SPAN_NOTICE("The charcoal soaks up and neutralizes \the [initial(doping_chem.name)].")) doping_chem = null // BRO, YOU JUST WENT ON FULL STUPID. @@ -735,11 +735,11 @@ // Begone, mutagen! if(reagents.has_reagent("potass_iodide", 1)) if(mutagen) - to_chat(user, "The potassium iodide neutralizes the mutating agents in [src].") + to_chat(user, SPAN_NOTICE("The potassium iodide neutralizes the mutating agents in [src].")) mutagen = 0 if(reagents.has_reagent("pen_acid", 1)) if(mutagen) - to_chat(user, "The pentetic acid neutralizes the mutating agents in [src].") + to_chat(user, SPAN_NOTICE("The pentetic acid neutralizes the mutating agents in [src].")) mutagen = 0 // The best stuff there is. For testing/debugging. @@ -753,7 +753,7 @@ /obj/machinery/hydroponics/proc/replace_doping(datum/reagent/new_chem, mob/user) if(new_chem == doping_chem) - to_chat(user, "[src] already contains [initial(new_chem.name)], adding more won't help.") + to_chat(user, SPAN_NOTICE("[src] already contains [initial(new_chem.name)], adding more won't help.")) return var/list/message = list() message += "You add [initial(new_chem.name)] to [src]" @@ -778,15 +778,15 @@ if(istype(reagent_source, /obj/item/reagent_containers/syringe)) var/obj/item/reagent_containers/syringe/syr = reagent_source if(syr.mode != SYRINGE_INJECT) - to_chat(user, "You can't get any extract out of this plant.") //That. Gives me an idea... + to_chat(user, SPAN_WARNING("You can't get any extract out of this plant.")) //That. Gives me an idea... return ITEM_INTERACT_COMPLETE if(!reagent_source.reagents.total_volume) - to_chat(user, "[reagent_source] is empty.") + to_chat(user, SPAN_NOTICE("[reagent_source] is empty.")) return ITEM_INTERACT_COMPLETE if(reagent_source.has_lid && !reagent_source.is_drainable()) //if theres a LID then cannot transfer reagents. - to_chat(user, "You need to open [used] first!") + to_chat(user, SPAN_WARNING("You need to open [used] first!")) return ITEM_INTERACT_COMPLETE var/visi_msg = "" @@ -823,7 +823,7 @@ return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/unsorted_seeds)) - to_chat(user, "You need to sort [used] first!") + to_chat(user, SPAN_WARNING("You need to sort [used] first!")) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/seeds) && !istype(used, /obj/item/seeds/sample)) @@ -831,7 +831,7 @@ if(istype(used, /obj/item/seeds/kudzu)) investigate_log("had Kudzu planted in it by [key_name(user)] at ([x],[y],[z])","kudzu") user.unequip(used) - to_chat(user, "You plant [used].") + to_chat(user, SPAN_NOTICE("You plant [used].")) dead = FALSE myseed = used age = 1 @@ -842,7 +842,7 @@ used.forceMove(src) update_state() else - to_chat(user, "[src] already has seeds in it!") + to_chat(user, SPAN_WARNING("[src] already has seeds in it!")) return ITEM_INTERACT_COMPLETE @@ -853,11 +853,11 @@ else if(istype(used, /obj/item/cultivator)) if(weedlevel > 0) - user.visible_message("[user] uproots the weeds.", "You remove the weeds from [src].") + user.visible_message("[user] uproots the weeds.", SPAN_NOTICE("You remove the weeds from [src].")) adjustWeeds(-10) update_state() else - to_chat(user, "This plot is completely devoid of weeds! It doesn't need uprooting.") + to_chat(user, SPAN_WARNING("This plot is completely devoid of weeds! It doesn't need uprooting.")) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/storage/bag/plants)) @@ -871,13 +871,13 @@ else if(istype(used, /obj/item/shovel/spade)) if(!myseed && !weedlevel) - to_chat(user, "[src] doesn't have any plants or weeds!") + to_chat(user, SPAN_WARNING("[src] doesn't have any plants or weeds!")) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] starts digging out [src]'s plants...", "You start digging out [src]'s plants...") + user.visible_message(SPAN_NOTICE("[user] starts digging out [src]'s plants..."), SPAN_NOTICE("You start digging out [src]'s plants...")) playsound(src, used.usesound, 50, 1) if(!do_after(user, 25 * used.toolspeed, target = src) || (!myseed && !weedlevel)) return ITEM_INTERACT_COMPLETE - user.visible_message("[user] digs out the plants in [src]!", "You dig out all of [src]'s plants!") + user.visible_message(SPAN_NOTICE("[user] digs out the plants in [src]!"), SPAN_NOTICE("You dig out all of [src]'s plants!")) playsound(src, used.usesound, 50, 1) if(myseed) //Could be that they're just using it as a de-weeder age = 0 @@ -905,8 +905,8 @@ return else if(wrenchable) using_irrigation = !using_irrigation - user.visible_message("[user] [using_irrigation ? "" : "dis"]connects [src]'s irrigation hoses.", \ - "You [using_irrigation ? "" : "dis"]connect [src]'s irrigation hoses.") + user.visible_message(SPAN_NOTICE("[user] [using_irrigation ? "" : "dis"]connects [src]'s irrigation hoses."), \ + SPAN_NOTICE("You [using_irrigation ? "" : "dis"]connect [src]'s irrigation hoses.")) for(var/obj/machinery/hydroponics/h in range(1,src)) h.update_state() @@ -916,7 +916,7 @@ return if(wrenchable) if(using_irrigation) - to_chat(user, "Disconnect the hoses first!") + to_chat(user, SPAN_WARNING("Disconnect the hoses first!")) return default_unfasten_wrench(user, I) @@ -924,19 +924,19 @@ if(issilicon(user)) //How does AI know what plant is? return if(lid_closed) - to_chat(user, "You can't reach the plant through the cover.") + to_chat(user, SPAN_WARNING("You can't reach the plant through the cover.")) return if(harvest) myseed.harvest(user) else if(dead) dead = FALSE - to_chat(user, "You remove the dead plant from [src].") + to_chat(user, SPAN_NOTICE("You remove the dead plant from [src].")) QDEL_NULL(myseed) update_state() plant_hud_set_status() plant_hud_set_health() else if(user.mind && HAS_TRAIT(user.mind, TRAIT_GREEN_THUMB) && weedlevel > 0) - user.visible_message("[user] uproots the weeds.", "You pluck the weeds from [src] with your hands.") + user.visible_message("[user] uproots the weeds.", SPAN_NOTICE("You pluck the weeds from [src] with your hands.")) adjustWeeds(-10) update_state() else @@ -946,11 +946,11 @@ harvest = FALSE lastproduce = age if(istype(myseed,/obj/item/seeds/replicapod)) - to_chat(user, "You harvest from the [myseed.plantname].") + to_chat(user, SPAN_NOTICE("You harvest from the [myseed.plantname].")) else if(harvested <= 0) - to_chat(user, "You fail to harvest anything useful!") + to_chat(user, SPAN_WARNING("You fail to harvest anything useful!")) else - to_chat(user, "You harvest [harvested] items from the [myseed.plantname].") + to_chat(user, SPAN_NOTICE("You harvest [harvested] items from the [myseed.plantname].")) if(!myseed.get_gene(/datum/plant_gene/trait/repeated_harvest)) QDEL_NULL(myseed) dead = FALSE @@ -996,7 +996,7 @@ C.faction = list("plants") /obj/machinery/hydroponics/proc/become_self_sufficient() // Ambrosia Gaia effect - visible_message("[src] begins to glow with a beautiful light!") + visible_message(SPAN_BOLDNOTICE("[src] begins to glow with a beautiful light!")) self_sustaining = TRUE update_state() @@ -1013,12 +1013,12 @@ user.adjust_nutrition(weedlevel * 15) adjustWeeds(-10) update_state() - visible_message("[user] begins rooting through [src], ripping out weeds and eating them noisily.","You begin rooting through [src], ripping out weeds and eating them noisily.") + visible_message(SPAN_DANGER("[user] begins rooting through [src], ripping out weeds and eating them noisily."),SPAN_DANGER("You begin rooting through [src], ripping out weeds and eating them noisily.")) else if(nutrilevel < 10) user.adjust_nutrition(-((10 - nutrilevel) * 5)) adjustNutri(10) update_state() - visible_message("[user] secretes a trickle of green liquid from its tail, refilling [src]'s nutrient tray.","You secrete a trickle of green liquid from your tail, refilling [src]'s nutrient tray.") + visible_message(SPAN_DANGER("[user] secretes a trickle of green liquid from its tail, refilling [src]'s nutrient tray."),SPAN_DANGER("You secrete a trickle of green liquid from your tail, refilling [src]'s nutrient tray.")) else return ..() @@ -1041,7 +1041,7 @@ /obj/machinery/hydroponics/soil/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/shovel) && !istype(used, /obj/item/shovel/spade)) //Doesn't include spades because of uprooting plants - to_chat(user, "You clear up [src]!") + to_chat(user, SPAN_NOTICE("You clear up [src]!")) qdel(src) return ITEM_INTERACT_COMPLETE @@ -1057,7 +1057,7 @@ visi_msg += ", setting off the irrigation system" if(visi_msg) - visible_message("[visi_msg].") + visible_message(SPAN_NOTICE("[visi_msg].")) var/split = round(transfer_amount / length(trays)) for(var/obj/machinery/hydroponics/H as anything in trays)//cause I don't want to feel like im juggling 15 tamagotchis and I can get to my real work of ripping flooring apart in hopes of validating my life choices of becoming a space-gardener @@ -1075,26 +1075,26 @@ /obj/machinery/hydroponics/proc/send_plant_details(mob/user, high_details_mode) if(myseed) to_chat(user, "*** [myseed.plantname] ***") - to_chat(user, "- Plant Age: [age]") + to_chat(user, "- Plant Age: [SPAN_NOTICE("[age]")]") var/next_harvest = (age <= myseed.maturation ? myseed.maturation : lastproduce) + myseed.production - to_chat(user, "- Next Harvest At: [next_harvest]") + to_chat(user, "- Next Harvest At: [SPAN_NOTICE("[next_harvest]")]") var/list/text_string = myseed.get_analyzer_text(TRUE, high_details_mode) if(text_string) to_chat(user, text_string) else to_chat(user, "No plant found.") if(high_details_mode) - to_chat(user, "- Weed level: [weedlevel] / 10") - to_chat(user, "- Pest level: [pestlevel] / 10") - to_chat(user, "- Toxicity level: [toxic] / 100") + to_chat(user, "- Weed level: [SPAN_NOTICE("[weedlevel] / 10")]") + to_chat(user, "- Pest level: [SPAN_NOTICE("[pestlevel] / 10")]") + to_chat(user, "- Toxicity level: [SPAN_NOTICE("[toxic] / 100")]") - to_chat(user, "- Water level: [waterlevel] / [maxwater]") - to_chat(user, "- Nutrition level: [nutrilevel] / [maxnutri]") + to_chat(user, "- Water level: [SPAN_NOTICE("[waterlevel] / [maxwater]")]") + to_chat(user, "- Nutrition level: [SPAN_NOTICE("[nutrilevel] / [maxnutri]")]") if(self_sustaining) - to_chat(user, "  Nutrient: Earthsblood
  This [src.name] has been treated with Earthsblood and constantly produces its own fertilizer. Like E-Z-Nutrient, Earthsblood fertilizer has no particular attributes, it just keeps plants fed.
") + to_chat(user, "  Nutrient: [SPAN_NOTICE("Earthsblood
  This [src.name] has been treated with Earthsblood and constantly produces its own fertilizer. Like E-Z-Nutrient, Earthsblood fertilizer has no particular attributes, it just keeps plants fed.")]") else - to_chat(user, "  Nutrient: [initial(nutrient.name)]
  [initial(nutrient.description)]
") - to_chat(user, "- [mutagen_tank_name]: [mutagen] / [max_mutagen]") + to_chat(user, "  Nutrient: [SPAN_NOTICE("[initial(nutrient.name)]
  [initial(nutrient.description)]")]") + to_chat(user, "- [mutagen_tank_name]: [SPAN_NOTICE("[mutagen] / [max_mutagen]")]") var/can_mutate_species = myseed && length(myseed.mutatelist) var/mutation_level = get_mutation_level() @@ -1107,11 +1107,11 @@ mutation_comment = " (may add traits)" else if(mutation_level > 10 && can_mutate_species) mutation_comment = " (may change species)" - to_chat(user, "- Mutation level: [get_mutation_level()][mutation_comment]") + to_chat(user, "- Mutation level: [SPAN_NOTICE("[get_mutation_level()][mutation_comment]")]") - to_chat(user, "- Doping chemical: [doping_chem ? initial(doping_chem.name) : "None"]") + to_chat(user, "- Doping chemical: [SPAN_NOTICE("[doping_chem ? initial(doping_chem.name) : "None"]")]") if(doping_chem) - to_chat(user, "  Causes mutations to be focused on [english_list(doping_effects[doping_chem])].") + to_chat(user, "  [SPAN_NOTICE("Causes mutations to be focused on [english_list(doping_effects[doping_chem])].")]") /obj/machinery/hydroponics/attack_ghost(mob/dead/observer/user) if(!istype(user)) // Make sure user is actually an observer. Revenents also use attack_ghost, but do not have the toggle plant analyzer var. diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 8c1319dbdff..447499fc643 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -244,7 +244,7 @@ // Also splashes everything in target turf with reagents and applies other trait effects (teleporting, etc) to the target by on_squash. // For code, see grown.dm name = "Liquid Contents" - examine_line = "It has a lot of liquid contents inside." + examine_line = SPAN_NOTICE("It has a lot of liquid contents inside.") origin_tech = list("biotech" = 5) dangerous = TRUE @@ -253,7 +253,7 @@ // Applies other trait effects (teleporting, etc) to the target by on_slip. name = "Slippery Skin" rate = 0.1 - examine_line = "It has a very slippery skin." + examine_line = SPAN_NOTICE("It has a very slippery skin.") dangerous = TRUE /datum/plant_gene/trait/slip/on_new(obj/item/food/grown/G) @@ -306,7 +306,7 @@ batteries_recharged = 1 if(batteries_recharged) target.reagents.add_reagent("teslium", 2) - to_chat(target, "Your batteries are recharged!") + to_chat(target, SPAN_NOTICE("Your batteries are recharged!")) @@ -315,7 +315,7 @@ // Adds 1 + potency*rate light range and potency*(rate + 0.01) light_power to products. name = "Bioluminescence" rate = 0.03 - examine_line = "It emits a soft glow." + examine_line = SPAN_NOTICE("It emits a soft glow.") trait_id = "glow" var/glow_color = "#C3E381" @@ -369,7 +369,7 @@ var/teleport_radius = max(round(G.seed.potency / 10), 1) var/turf/T = get_turf(C) if(do_teleport(C, T, teleport_radius)) - to_chat(C, "You slip through spacetime!") + to_chat(C, SPAN_WARNING("You slip through spacetime!")) if(prob(50)) do_teleport(G, T, teleport_radius) C.apply_status_effect(STATUS_EFFECT_TELEPORTSICK) @@ -377,7 +377,7 @@ new /obj/effect/decal/cleanable/molten_object(T) //Leave a pile of goo behind for dramatic effect... qdel(G) else - to_chat(C, "[src] sparks, and burns up!") + to_chat(C, SPAN_WARNING("[src] sparks, and burns up!")) new /obj/effect/decal/cleanable/molten_object(T) qdel(G) @@ -407,7 +407,7 @@ if(istype(I, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = I if(C.use(5)) - to_chat(user, "You add some cable to [G] and slide it inside the battery encasing.") + to_chat(user, SPAN_NOTICE("You add some cable to [G] and slide it inside the battery encasing.")) var/obj/item/stock_parts/cell/potato/pocell = new /obj/item/stock_parts/cell/potato(user.loc) pocell.icon_state = G.icon_state pocell.maxcharge = max(G.seed.potency * 20, 1) @@ -425,7 +425,7 @@ qdel(G) else - to_chat(user, "You need five lengths of cable to make a [G] battery!") + to_chat(user, SPAN_WARNING("You need five lengths of cable to make a [G] battery!")) return TRUE @@ -444,7 +444,7 @@ var/fraction = min(injecting_amount/G.reagents.total_volume, 1) G.reagents.reaction(L, REAGENT_INGEST, fraction) G.reagents.trans_to(L, injecting_amount) - to_chat(target, "You are pricked by [G]!") + to_chat(target, SPAN_DANGER("You are pricked by [G]!")) /datum/plant_gene/trait/smoke name = "Gaseous Decomposition" diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm index e3a76b98994..82767363281 100644 --- a/code/modules/hydroponics/seed_extractor.dm +++ b/code/modules/hydroponics/seed_extractor.dm @@ -99,7 +99,7 @@ add_seed(G, user) if(loaded) - to_chat(user, "You transfer [loaded] seeds from [used] into [src].") + to_chat(user, SPAN_NOTICE("You transfer [loaded] seeds from [used] into [src].")) SStgui.update_uis(src) else var/seedable = 0 @@ -108,10 +108,10 @@ for(var/obj/item/grown/ignored in P) seedable++ if(!seedable) - to_chat(user, "There are no seeds or plants in [used].") + to_chat(user, SPAN_NOTICE("There are no seeds or plants in [used].")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You dump the plants in [used] into [src].") + to_chat(user, SPAN_NOTICE("You dump the plants in [used] into [src].")) if(!used.use_tool(src, user, min(5, seedable/2) SECONDS)) return ITEM_INTERACT_COMPLETE @@ -120,21 +120,21 @@ return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/unsorted_seeds)) - to_chat(user, "You need to sort [used] first!") + to_chat(user, SPAN_WARNING("You need to sort [used] first!")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/seeds)) add_seed(used, user) - to_chat(user, "You add [used] to [name].") + to_chat(user, SPAN_NOTICE("You add [used] to [name].")) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE if(seedify(used,-1, src, user)) - to_chat(user, "You extract some seeds.") + to_chat(user, SPAN_NOTICE("You extract some seeds.")) return ITEM_INTERACT_COMPLETE if(user.a_intent != INTENT_HARM) - to_chat(user, "You can't extract any seeds from \the [used.name]!") + to_chat(user, SPAN_WARNING("You can't extract any seeds from \the [used.name]!")) return ITEM_INTERACT_COMPLETE return ..() @@ -225,13 +225,13 @@ if(!O || !ishuman(usr) || !Adjacent(usr)) return if(length(contents) >= max_seeds) - to_chat(user, "[src] is full.") + to_chat(user, SPAN_NOTICE("[src] is full.")) return if(ismob(O.loc)) var/mob/M = O.loc if(!M.drop_item()) - to_chat(user,"[O] appears to be stuck to your hand!") + to_chat(user,SPAN_WARNING("[O] appears to be stuck to your hand!")) return else if(isstorage(O.loc)) var/obj/item/storage/S = O.loc diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index a0e3f5a3faf..c54b0574e2e 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -361,7 +361,7 @@ if(get_gene(/datum/plant_gene/trait/plant_type/fungal_metabolism)) text += "- Plant type: Mushroom. Can grow in dry soil." if(get_gene(/datum/plant_gene/trait/plant_type/alien_properties)) - text += "- Plant type: UNKNOWN " + text += "- Plant type: [SPAN_WARNING("UNKNOWN")] " if(high_details_mode) if(potency != -1) text += "- Potency: [potency]" @@ -396,10 +396,10 @@ /obj/item/seeds/attackby__legacy__attackchain(obj/item/O, mob/user, params) if(istype(O, /obj/item/plant_analyzer)) - to_chat(user, "This is \a [src].") + to_chat(user, SPAN_NOTICE("This is \a [SPAN_NAME("[src].")]")) var/text = get_analyzer_text() if(text) - to_chat(user, "[text]") + to_chat(user, SPAN_NOTICE("[text]")) return if(is_pen(O)) @@ -421,7 +421,7 @@ if(variant == "") variant = null if(prev != variant) - to_chat(user, "You [variant ? "change" : "remove"] the [plantname]'s variant designation.") + to_chat(user, SPAN_NOTICE("You [variant ? "change" : "remove"] the [plantname]'s variant designation.")) apply_variant_name() /obj/item/seeds/proc/apply_variant_name() @@ -643,20 +643,20 @@ seed_data.transform(src, depth) /obj/item/unsorted_seeds/attack_self__legacy__attackchain(mob/user) - user.visible_message("[user] crudely sorts through [src] by hand.", "You crudely sort through [src] by hand. This would be easier and more effective with some sort of tool.") + user.visible_message(SPAN_NOTICE("[user] crudely sorts through [src] by hand."), "You crudely sort through [src] by hand. This would be easier and more effective with some sort of tool.") if(do_after(user, 3 SECONDS, TRUE, src, must_be_held = TRUE)) sort() /obj/item/unsorted_seeds/attackby__legacy__attackchain(obj/item/O, mob/user, params) if(istype(O, /obj/item/plant_analyzer)) - to_chat(user, "This is \a [src].") + to_chat(user, SPAN_NOTICE("This is \a [SPAN_NAME("[src].")]")) var/text = get_analyzer_text() if(text) - to_chat(user, "[text]") + to_chat(user, SPAN_NOTICE("[text]")) return if(is_pen(O)) - to_chat(user, "Sort it first.") + to_chat(user, SPAN_NOTICE("Sort it first.")) return ..() // Fallthrough to item/attackby() so that bags can pick seeds up @@ -665,7 +665,7 @@ output += seed_data.original_seed.get_analyzer_text(show_detail) output += "- Mutation level: [seed_data.mutation_level]" output += "- Mutation focus: [english_list(seed_data.mutation_focus, "None.")]" - output += "Data may change after sorting." + output += SPAN_NOTICE("Data may change after sorting.") return output.Join("
") /obj/item/unsorted_seeds/attack_ghost(mob/dead/observer/user) diff --git a/code/modules/input/input.dm b/code/modules/input/input.dm index 36aafd6a61b..844c06d4379 100644 --- a/code/modules/input/input.dm +++ b/code/modules/input/input.dm @@ -93,7 +93,7 @@ // Check if the key is short enough to even be a real key if(length(_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_and_message_admins("just attempted to send an invalid keypress. Keymessage was over [MAX_KEYPRESS_COMMANDLENGTH] characters, autokicking due to likely abuse.") qdel(src) return diff --git a/code/modules/instruments/objs/items/_instrument.dm b/code/modules/instruments/objs/items/_instrument.dm index 8641ff7ed98..98435283649 100644 --- a/code/modules/instruments/objs/items/_instrument.dm +++ b/code/modules/instruments/objs/items/_instrument.dm @@ -24,7 +24,7 @@ return ..() /obj/item/instrument/suicide_act(mob/user) - user.visible_message("[user] begins to play 'Gloomy Sunday'! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] begins to play 'Gloomy Sunday'! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS /obj/item/instrument/attack_self__legacy__attackchain(mob/user) diff --git a/code/modules/instruments/songs/_song.dm b/code/modules/instruments/songs/_song.dm index bf79ebcbae5..180496f8036 100644 --- a/code/modules/instruments/songs/_song.dm +++ b/code/modules/instruments/songs/_song.dm @@ -218,11 +218,11 @@ if(playing) return if(!using_instrument?.is_ready()) - to_chat(user, "An error has occurred with [src]. Please reset the instrument.") + to_chat(user, SPAN_WARNING("An error has occurred with [src]. Please reset the instrument.")) return compile_chords() if(!length(compiled_chords)) - to_chat(user, "Song is empty.") + to_chat(user, SPAN_WARNING("Song is empty.")) return playing = TRUE SStgui.update_uis(parent) diff --git a/code/modules/library/book.dm b/code/modules/library/book.dm index 6f5a7650fe3..82ee712b010 100644 --- a/code/modules/library/book.dm +++ b/code/modules/library/book.dm @@ -96,9 +96,9 @@ if(carved) //Attempt to remove inserted object, if none found, remind user that someone vandalized their book (Bastards)! if(!remove_stored_item(user, TRUE)) - to_chat(user, "The pages of [title] have been cut out!") + to_chat(user, SPAN_NOTICE("The pages of [title] have been cut out!")) return FINISH_ATTACK - 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.")) read_book(user) return ..() @@ -136,7 +136,7 @@ if(!in_range(src, user)) return FALSE if(!user.is_literate()) //this person was 2 cool 4 school and cannot READ - to_chat(user, "You attempt to the read the book but remember that you don't actually know how to read.") + to_chat(user, SPAN_WARNING("You attempt to the read the book but remember that you don't actually know how to read.")) return FALSE return TRUE @@ -147,7 +147,7 @@ */ /obj/item/book/proc/read_book(mob/user) if(!length(pages)) //You can't read a book with no pages in it - to_chat(user, "This book is completely blank!") + to_chat(user, SPAN_NOTICE("This book is completely blank!")) return if(!can_read(user)) return @@ -157,7 +157,7 @@ // Books can be read every BRAIN_DAMAGE_BOOK_TIME, and has a minumum delay of BRAIN_DAMAGE_MOB_TIME between seperate book reads. if(!L.has_status_effect(STATUS_BOOKWYRM) && COOLDOWN_FINISHED(src, brain_damage_cooldown)) if(prob(10)) - to_chat(L, "You feel a bit smarter!") + to_chat(L, SPAN_NOTICE("You feel a bit smarter!")) L.adjustBrainLoss(-1) COOLDOWN_START(src, brain_damage_cooldown, BRAIN_DAMAGE_BOOK_TIME) L.apply_status_effect(STATUS_BOOKWYRM) @@ -231,14 +231,14 @@ */ /obj/item/book/proc/edit_book(mob/user) if(protected) //we don't want people touching "special" books, especially ones that use iframes - to_chat(user, "These pages don't seem to take the ink well. Looks like you can't modify it.") + to_chat(user, SPAN_NOTICE("These pages don't seem to take the ink well. Looks like you can't modify it.")) return var/choice = tgui_input_list(user, "What would you like to edit?", "Book Edit", list("Title", "Edit Current Page", "Author", "Summary", "Add Page", "Remove Page")) switch(choice) if("Title") var/newtitle = reject_bad_text(tgui_input_text(user, "Write a new title:", "Title", title)) if(isnull(newtitle)) - to_chat(user, "You change your mind.") + to_chat(user, SPAN_NOTICE("You change your mind.")) return //Like with paper, the name (not title) of the book should indicate that THIS IS A BOOK when actions are performed with it //this is to prevent players from naming it "Nuclear Authentification Disk" or "Energy Sword" to fuck with security @@ -247,29 +247,29 @@ if("Author") var/newauthor = tgui_input_text(user, "Write the author's name:", "Author", author, MAX_NAME_LEN) if(isnull(newauthor)) - to_chat(user, "You change your mind.") + to_chat(user, SPAN_NOTICE("You change your mind.")) return author = newauthor if("Summary") var/newsummary = tgui_input_text(user, "Write the new summary:", "Summary", summary, MAX_SUMMARY_LEN, multiline = TRUE) if(isnull(newsummary)) - to_chat(user, "You change your mind.") + to_chat(user, SPAN_NOTICE("You change your mind.")) return summary = newsummary if("Edit Current Page") if(carved) - to_chat(user, "The pages of [title] have been cut out!") + to_chat(user, SPAN_NOTICE("The pages of [title] have been cut out!")) return if(!current_page) - to_chat(user, "You need to turn to a page before writing in the book.") + to_chat(user, SPAN_NOTICE("You need to turn to a page before writing in the book.")) return var/character_space_remaining = MAX_CHARACTERS_PER_BOOKPAGE - length(pages[current_page]) if(character_space_remaining <= 0) - to_chat(user, "There's not enough space left on this page to write anything!") + to_chat(user, SPAN_NOTICE("There's not enough space left on this page to write anything!")) return var/content = tgui_input_text(user, "Add Text to this page, you have [character_space_remaining] characters of space left:", "Edit Current Page", max_length = MAX_CHARACTERS_PER_BOOKPAGE, multiline = TRUE) if(isnull(content)) - to_chat(user, "You change your mind.") + to_chat(user, SPAN_NOTICE("You change your mind.")) return //check if length of current text content + what player is adding is larger than our character limit else if((length(content) + length(pages[current_page])) > MAX_CHARACTERS_PER_BOOKPAGE) @@ -279,20 +279,20 @@ pages[current_page] += content if("Add Page") if(carved) - to_chat(user, "You can't add anymore pages, the pages of [title] have been cut out and the book is ruined!") + to_chat(user, SPAN_NOTICE("You can't add anymore pages, the pages of [title] have been cut out and the book is ruined!")) return if(length(pages) >= MAX_PAGES) - to_chat(user, "You can't fit anymore pages in this book!") + to_chat(user, SPAN_NOTICE("You can't fit anymore pages in this book!")) return - to_chat(user, "You add another page to the book!") + to_chat(user, SPAN_NOTICE("You add another page to the book!")) pages += " " if("Remove Page") if(!length(pages)) - to_chat(user, "There aren't any pages in this book!") + to_chat(user, SPAN_NOTICE("There aren't any pages in this book!")) return var/page_choice = tgui_input_number(user, "There are [length(pages)] pages, which page number would you like to remove?", "Input Page Number", max_value = length(pages)) if(isnull(page_choice)) - to_chat(user, "You change your mind.") + to_chat(user, SPAN_NOTICE("You change your mind.")) return if(page_choice <= 0 || page_choice > length(pages)) to_chat(user, "That is not an acceptable value.[title] has already been carved out!") + to_chat(user, SPAN_WARNING("[title] has already been carved out!")) return if(!I.sharp) - to_chat(user, "You can't carve [title] using that!") + to_chat(user, SPAN_WARNING("You can't carve [title] using that!")) return - to_chat(user, "You begin to carve out [title].") + to_chat(user, SPAN_NOTICE("You begin to carve out [title].")) if(I.use_tool(src, user, 30, volume = I.tool_volume)) - user.visible_message("[user] appears to carve out the pages inside of [title]!",\ - "You carve out [title]!") + user.visible_message(SPAN_WARNING("[user] appears to carve out the pages inside of [title]!"),\ + SPAN_DANGER("You carve out [title]!")) carved = TRUE return TRUE @@ -339,25 +339,25 @@ if(!carved) return if(store) - to_chat(user, "There is already something in [src]!") + to_chat(user, SPAN_NOTICE("There is already something in [src]!")) return //does it exist, if so is it an abstract item? if(!istype(I) || (I.flags & ABSTRACT)) return if(I.flags & NODROP) - to_chat(user, "[I] stays stuck to your hand when you try and hide it in the book!.") + to_chat(user, SPAN_NOTICE("[I] stays stuck to your hand when you try and hide it in the book!.")) return //Checking to make sure the item we're storing isn't larger than/equal to size of the book, prevents recursive storing aswell if(I.w_class >= w_class) - to_chat(user, "[I] is to large to fit in [src].") + to_chat(user, SPAN_NOTICE("[I] is to large to fit in [src].")) return user.drop_item() I.forceMove(src) RegisterSignal(I, COMSIG_PARENT_QDELETING, PROC_REF(clear_stored_item)) //ensure proper GC'ing store = I - to_chat(user, "You hide [I] in [name].") + to_chat(user, SPAN_NOTICE("You hide [I] in [name].")) return TRUE ///needed for proper GC'ing @@ -367,10 +367,10 @@ /obj/item/book/proc/remove_stored_item(mob/user, display_message = TRUE) if(!store) if(display_message) //we don't wanna display this message in certain cases if there's not a user removing it - to_chat(user, "You search [name] but there is nothing in it!") + to_chat(user, SPAN_NOTICE("You search [name] but there is nothing in it!")) return FALSE if(display_message) - to_chat(user, "You carefully remove [store] from [name]!") + to_chat(user, SPAN_NOTICE("You carefully remove [store] from [name]!")) store.forceMove(get_turf(store.loc)) clear_stored_item() UnregisterSignal(store, COMSIG_PARENT_QDELETING) diff --git a/code/modules/library/library_computer.dm b/code/modules/library/library_computer.dm index 35301f08849..8e0063a49b0 100644 --- a/code/modules/library/library_computer.dm +++ b/code/modules/library/library_computer.dm @@ -70,9 +70,9 @@ var/obj/item/barcodescanner/B = used if(!B.connect(src)) playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE) - to_chat(user, "ERROR: No Connection Established!") + to_chat(user, SPAN_WARNING("ERROR: No Connection Established!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "Barcode Scanner Successfully Connected to Computer.") + to_chat(user, SPAN_NOTICE("Barcode Scanner Successfully Connected to Computer.")) audible_message("[src] lets out a low, short blip.", hearing_distance = 2) playsound(B, 'sound/machines/terminal_select.ogg', 10, TRUE) return ITEM_INTERACT_COMPLETE @@ -84,14 +84,14 @@ user_data.patron_name = null user_data.patron_account = null //account number should reset every scan so we don't accidently have an account number but no name playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE) - to_chat(user, "ERROR: No name detected!") + to_chat(user, SPAN_NOTICE("ERROR: No name detected!")) return ITEM_INTERACT_COMPLETE //no point in continuing if the ID card has no associated name! playsound(src, 'sound/items/scannerbeep.ogg', 15, TRUE) if(ID.associated_account_number) user_data.patron_account = ID.associated_account_number else user_data.patron_account = null - to_chat(user, "[src]'s screen flashes: 'WARNING! Patron without associated account number Selected'") + to_chat(user, SPAN_NOTICE("[src]'s screen flashes: 'WARNING! Patron without associated account number Selected'")) return ITEM_INTERACT_COMPLETE if(default_unfasten_wrench(user, used, time = 60)) @@ -574,19 +574,19 @@ if(!newbook?.id) return new /obj/item/book(loc, newbook, TRUE, FALSE) - 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?")) /obj/machinery/computer/library/proc/make_programmatic_book(datum/programmatic_book/newbook) if(!newbook?.book_type) return new newbook.book_type(loc) - 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?")) /obj/machinery/computer/library/emag_act(mob/user) if(print_cooldown <= world.time) new /obj/item/storage/bible/syndi(loc) - visible_message("[src]'s printer ominously hums as it produces a completely bound book. How did it do that?") + visible_message(SPAN_NOTICE("[src]'s printer ominously hums as it produces a completely bound book. How did it do that?")) print_cooldown = world.time + PRINTING_COOLDOWN return TRUE diff --git a/code/modules/library/library_equipment.dm b/code/modules/library/library_equipment.dm index 8a6e91ea7fc..52f88ad7b3c 100644 --- a/code/modules/library/library_equipment.dm +++ b/code/modules/library/library_equipment.dm @@ -23,9 +23,9 @@ /obj/structure/bookcase/examine(mob/user) . = ..() - . += "[src] is [anchored ? "bolted to the floor" : "unsecured"]." - . += "It can be [anchored ? "unanchored" : "anchored"] with a wrench." - . += "It can be deconstructed with a screwdriver." + . += SPAN_NOTICE("[src] is [anchored ? "bolted to the floor" : "unsecured"].") + . += SPAN_NOTICE("It can be [anchored ? "unanchored" : "anchored"] with a wrench.") + . += SPAN_NOTICE("It can be deconstructed with a screwdriver.") /obj/structure/bookcase/Initialize(mapload) . = ..() @@ -51,7 +51,7 @@ for(var/obj/item/T in B.contents) if(is_type_in_list(T, allowed_books)) B.remove_from_storage(T, src) - to_chat(user, "You empty [O] into [src].") + to_chat(user, SPAN_NOTICE("You empty [O] into [src].")) update_icon(UPDATE_OVERLAYS) return ITEM_INTERACT_COMPLETE if(is_pen(O)) @@ -292,7 +292,7 @@ if("print_book") if(!printing) printing = TRUE - visible_message("[src] begins to hum as it warms up its printing drums.") + visible_message(SPAN_NOTICE("[src] begins to hum as it warms up its printing drums.")) addtimer(CALLBACK(src, PROC_REF(print_book)), 5 SECONDS) else playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE) @@ -342,7 +342,7 @@ return FALSE /obj/machinery/bookbinder/proc/print_book() - 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.")) new /obj/item/book(loc, selected_content, FALSE, FALSE) printing = FALSE @@ -381,7 +381,7 @@ else modedesc = "ERROR" playsound(src, 'sound/machines/terminal_select.ogg', 15, TRUE) - to_chat(user, "[src] mode: [modedesc]") + to_chat(user, SPAN_NOTICE("[src] mode: [modedesc]")) /obj/item/barcodescanner/proc/connect(obj/machinery/computer/library/library_computer) if(!istype(library_computer)) @@ -408,18 +408,18 @@ computer.user_data.patron_name = null computer.user_data.patron_account = null //account number should reset every scan so we don't accidently have an account number but no name playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE) - to_chat(user, "[src]'s screen flashes: 'ERROR! No name associated with this ID Card'") + to_chat(user, SPAN_WARNING("[src]'s screen flashes: 'ERROR! No name associated with this ID Card'")) return //no point in continuing if the ID card has no associated name! computer.user_data.patron_name = ID.registered_name playsound(src, 'sound/items/scannerbeep.ogg', 15, TRUE) if(!ID.associated_account_number) computer.user_data.patron_account = null - to_chat(user, "[src]'s screen flashes: 'WARNING! Patron without associated account number Selected'") + to_chat(user, SPAN_WARNING("[src]'s screen flashes: 'WARNING! Patron without associated account number Selected'")) return computer.user_data.patron_account = ID.associated_account_number - to_chat(user, "[src]'s screen flashes: 'Patron Selected'") + to_chat(user, SPAN_NOTICE("[src]'s screen flashes: 'Patron Selected'")) /obj/item/barcodescanner/proc/scanBook(obj/item/book/B, mob/user as mob) if(!check_connection(user)) @@ -429,14 +429,14 @@ if(BARCODE_MODE_SCAN_SELECT) computer.select_book(B) playsound(src, 'sound/machines/terminal_select.ogg', 15, TRUE) - to_chat(user, "[src]'s screen flashes: 'Book selected in library computer.'") + to_chat(user, SPAN_NOTICE("[src]'s screen flashes: 'Book selected in library computer.'")) if(BARCODE_MODE_SCAN_INVENTORY) if(computer.inventoryAdd(B)) playsound(src, 'sound/items/scannerbeep.ogg', 15, TRUE) - to_chat(user, "[src]'s screen flashes: 'Title added to general inventory.'") + to_chat(user, SPAN_NOTICE("[src]'s screen flashes: 'Title added to general inventory.'")) else playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE) - to_chat(user, "[src]'s screen flashes: 'Title already in general inventory.'") + to_chat(user, SPAN_NOTICE("[src]'s screen flashes: 'Title already in general inventory.'")) if(BARCODE_MODE_CHECKOUT) var/confirm if(!computer.user_data.patron_account) @@ -448,24 +448,24 @@ return if(computer.checkout(B)) playsound(src, 'sound/items/scannerbeep.ogg', 15, TRUE) - to_chat(user, "[src]'s screen flashes: 'Title checked out to [computer.user_data.patron_name].'") + to_chat(user, SPAN_NOTICE("[src]'s screen flashes: 'Title checked out to [computer.user_data.patron_name].'")) else playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE) - to_chat(user, "[src]'s screen flashes: 'ERROR! Book Checkout Unsuccessful.'") + to_chat(user, SPAN_NOTICE("[src]'s screen flashes: 'ERROR! Book Checkout Unsuccessful.'")) if(BARCODE_MODE_CHECKIN) if(computer.checkin(B)) playsound(src, 'sound/items/scannerbeep.ogg', 15, TRUE) - to_chat(user, "[src]'s screen flashes: 'Title checked back into general inventory.'") + to_chat(user, SPAN_NOTICE("[src]'s screen flashes: 'Title checked back into general inventory.'")) else playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE) - to_chat(user, "[src]'s screen flashes: 'ERROR! Book Checkout Unsuccessful.'") + to_chat(user, SPAN_NOTICE("[src]'s screen flashes: 'ERROR! Book Checkout Unsuccessful.'")) /obj/item/barcodescanner/proc/check_connection(mob/user as mob) //fuck you null references! if(computer) return TRUE else playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE) - to_chat(user, "Please reconnect [src] to a library computer.") + to_chat(user, SPAN_NOTICE("Please reconnect [src] to a library computer.")) return FALSE #undef BARCODE_MODE_SCAN_SELECT diff --git a/code/modules/mapping/merge_conflicts.dm b/code/modules/mapping/merge_conflicts.dm index 534fe98064b..4507dfd2869 100644 --- a/code/modules/mapping/merge_conflicts.dm +++ b/code/modules/mapping/merge_conflicts.dm @@ -13,7 +13,7 @@ /proc/announce_merge_conflict_marker(atom/origin) var/msg = "HEY, LISTEN!!! Merge Conflict Marker detected at [AREACOORD(origin)]! Please manually address all potential merge conflicts!!!" warning(msg) - to_chat(world, "[msg]") + to_chat(world, SPAN_BOLDANNOUNCEOOC("[msg]")) /obj/merge_conflict_marker name = MERGE_CONFLICT_MARKER_NAME diff --git a/code/modules/martial_arts/adminfu.dm b/code/modules/martial_arts/adminfu.dm index dbda7fe3741..f177e099c85 100644 --- a/code/modules/martial_arts/adminfu.dm +++ b/code/modules/martial_arts/adminfu.dm @@ -8,8 +8,8 @@ MARTIAL_ARTS_ACT_CHECK if(!D.stat)//do not kill what is dead... A.do_attack_animation(D) - D.visible_message("[A] manifests a large glowing toolbox and shoves it in [D]'s chest!", \ - "[A] shoves a mystical toolbox in your chest!") + D.visible_message(SPAN_WARNING("[A] manifests a large glowing toolbox and shoves it in [D]'s chest!"), \ + SPAN_USERDANGER("[A] shoves a mystical toolbox in your chest!")) D.death() return TRUE @@ -29,9 +29,9 @@ return TRUE /datum/martial_art/adminfu/explaination_header(user) - to_chat(user, "Grab: Automatic Neck Grab.") - to_chat(user, "Disarm: Stun/weaken") - to_chat(user, "Harm: Death.") + to_chat(user, "[SPAN_NOTICE("Grab")]: Automatic Neck Grab.") + to_chat(user, "[SPAN_NOTICE("Disarm")]: Stun/weaken") + to_chat(user, "[SPAN_NOTICE("Harm")]: Death.") /obj/item/adminfu_scroll name = "frayed scroll" @@ -47,7 +47,7 @@ var/mob/living/carbon/human/H = user var/datum/martial_art/adminfu/F = new/datum/martial_art/adminfu(null) F.teach(H) - to_chat(H, "You have learned the ancient martial art of the Admins.") + to_chat(H, SPAN_BOLDANNOUNCEIC("You have learned the ancient martial art of the Admins.")) used = TRUE desc = "It's completely blank." name = "empty scroll" diff --git a/code/modules/martial_arts/bearserk.dm b/code/modules/martial_arts/bearserk.dm index 3c5833484ba..fa9f6cd2d71 100644 --- a/code/modules/martial_arts/bearserk.dm +++ b/code/modules/martial_arts/bearserk.dm @@ -9,7 +9,7 @@ A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) var/atk_verb = pick("punches", "claws", "hits", "mauls") playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) - D.visible_message("[A] [atk_verb] [D]!", "[A] [atk_verb] you!") + D.visible_message(SPAN_DANGER("[A] [atk_verb] [D]!"), SPAN_USERDANGER("[A] [atk_verb] you!")) D.apply_damage(10, BRUTE, A.zone_selected) if(isliving(D) && D.stat != DEAD) A.adjustStaminaLoss(-20) @@ -28,13 +28,13 @@ to_chat(H, "You feel otherworldly rage flicker briefly in your mind, before you reject such violent thoughts and calm down. \ At the very least, the weighty pelt still protects your body.") return - to_chat(H, "Like a berserker of old, you harness the Rage of the Space Bear!") + to_chat(H, SPAN_USERDANGER("Like a berserker of old, you harness the Rage of the Space Bear!")) to_chat(H, "The occultic, ursine might and anger of Foh'Sie and Smoh'Kie flows through your body, making you far more dangerous in unarmed combat. \ You can learn more about this newfound strength in the Recall Teachings verb in the martial arts tab.") /datum/martial_art/bearserk/remove(mob/living/carbon/human/H) ..() - to_chat(H, "The ancient fury of bears leaves your mind...") + to_chat(H, SPAN_SCIRADIO("The ancient fury of bears leaves your mind...")) // The Pelt diff --git a/code/modules/martial_arts/brawling.dm b/code/modules/martial_arts/brawling.dm index 006520a5d81..b7ef1a871b7 100644 --- a/code/modules/martial_arts/brawling.dm +++ b/code/modules/martial_arts/brawling.dm @@ -3,11 +3,11 @@ weight = 1 /datum/martial_art/boxing/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) - to_chat(A, "Can't disarm while boxing!") + to_chat(A, SPAN_WARNING("Can't disarm while boxing!")) return 1 /datum/martial_art/boxing/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) - to_chat(A, "Can't grab while boxing!") + to_chat(A, SPAN_WARNING("Can't grab while boxing!")) return 1 /datum/martial_art/boxing/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -19,7 +19,7 @@ var/damage = rand(5, 8) + A.dna.species.punchdamagelow if(!damage) playsound(D.loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - D.visible_message("[A] has attempted to hit [D] with a [atk_verb]!") + D.visible_message(SPAN_WARNING("[A] has attempted to hit [D] with a [atk_verb]!")) add_attack_logs(A, D, "Melee attacked with [src] (miss/block)", ATKLOG_ALL) return 0 @@ -29,16 +29,16 @@ playsound(D.loc, "boxing", 50, TRUE, -1) - D.visible_message("[A] has hit [D] with a [atk_verb]!", \ - "[A] has hit [D] with a [atk_verb]!") + D.visible_message(SPAN_DANGER("[A] has hit [D] with a [atk_verb]!"), \ + SPAN_USERDANGER("[A] has hit [D] with a [atk_verb]!")) D.apply_damage(damage, STAMINA, affecting, armor_block) add_attack_logs(A, D, "Melee attacked with [src]", ATKLOG_ALL) if(D.getStaminaLoss() > 50) var/knockout_prob = D.getStaminaLoss() + rand(-15,15) if((D.stat != DEAD) && prob(knockout_prob)) - D.visible_message("[A] has knocked [D] out with a haymaker!", \ - "[A] has knocked [D] out with a haymaker!") + D.visible_message(SPAN_DANGER("[A] has knocked [D] out with a haymaker!"), \ + SPAN_USERDANGER("[A] has knocked [D] out with a haymaker!")) D.Weaken(10 SECONDS) return 1 @@ -49,13 +49,13 @@ /datum/martial_art/drunk_brawling/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) if(prob(70)) - A.visible_message("[A] tries to grab ahold of [D], but fails!", \ - "You fail to grab ahold of [D]!") + A.visible_message(SPAN_WARNING("[A] tries to grab ahold of [D], but fails!"), \ + SPAN_WARNING("You fail to grab ahold of [D]!")) return 1 var/obj/item/grab/G = D.grabbedby(A,1) if(G) - D.visible_message("[A] grabs ahold of [D] drunkenly!", \ - "[A] grabs ahold of [D] drunkenly!") + D.visible_message(SPAN_DANGER("[A] grabs ahold of [D] drunkenly!"), \ + SPAN_USERDANGER("[A] grabs ahold of [D] drunkenly!")) return 1 /datum/martial_art/drunk_brawling/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -77,7 +77,7 @@ if(!damage) playsound(D.loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - D.visible_message("[A] has attempted to hit [D] with a [atk_verb]!") + D.visible_message(SPAN_WARNING("[A] has attempted to hit [D] with a [atk_verb]!")) return 1 //returns 1 so that they actually miss and don't switch to attackhand damage var/obj/item/organ/external/affecting = D.get_organ(ran_zone(A.zone_selected)) @@ -86,15 +86,15 @@ playsound(D.loc, 'sound/weapons/punch1.ogg', 25, TRUE, -1) - D.visible_message("[A] has hit [D] with a [atk_verb]!", \ - "[A] has hit [D] with a [atk_verb]!") + D.visible_message(SPAN_DANGER("[A] has hit [D] with a [atk_verb]!"), \ + SPAN_USERDANGER("[A] has hit [D] with a [atk_verb]!")) D.apply_damage(damage, BRUTE, null, armor_block) D.apply_effect(damage, STAMINA, armor_block) if(D.getStaminaLoss() > 50) var/knockout_prob = D.getStaminaLoss() + rand(-15,15) if((D.stat != DEAD) && prob(knockout_prob)) - D.visible_message("[A] has knocked [D] out with a haymaker!", \ - "[A] has knocked [D] out with a haymaker!") + D.visible_message(SPAN_DANGER("[A] has knocked [D] out with a haymaker!"), \ + SPAN_USERDANGER("[A] has knocked [D] out with a haymaker!")) D.Paralyse(10 SECONDS) return 1 diff --git a/code/modules/martial_arts/combos/adminfu/healing_palm.dm b/code/modules/martial_arts/combos/adminfu/healing_palm.dm index 94f50710783..abb7e59e6bb 100644 --- a/code/modules/martial_arts/combos/adminfu/healing_palm.dm +++ b/code/modules/martial_arts/combos/adminfu/healing_palm.dm @@ -6,7 +6,7 @@ /datum/martial_combo/healing_palm/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) user.do_attack_animation(target) - target.visible_message("[user] smacks [target] in the forehead!") + target.visible_message(SPAN_WARNING("[user] smacks [target] in the forehead!")) //its the staff of healing code..hush if(ismob(target)) @@ -31,8 +31,8 @@ ghost.reenter_corpse() break if(old_stat != DEAD) - to_chat(target, "You feel great!") + to_chat(target, SPAN_NOTICE("You feel great!")) else - to_chat(target, "You rise with a start, you're alive!!!") + to_chat(target, SPAN_NOTICE("You rise with a start, you're alive!!!")) return MARTIAL_COMBO_DONE return MARTIAL_COMBO_FAIL diff --git a/code/modules/martial_arts/combos/bearserk/bear_jaws.dm b/code/modules/martial_arts/combos/bearserk/bear_jaws.dm index 29ab6004625..59fdd73b361 100644 --- a/code/modules/martial_arts/combos/bearserk/bear_jaws.dm +++ b/code/modules/martial_arts/combos/bearserk/bear_jaws.dm @@ -7,8 +7,8 @@ user.do_attack_animation(target, ATTACK_EFFECT_BITE) playsound(get_turf(target), 'sound/weapons/bite.ogg', 25, vary = TRUE, extrarange = -1) if(IS_HORIZONTAL(target)) - target.visible_message("[user] leaps onto [target] and bites them!", - "[user] leaps onto you and bites you like a real savage!") + target.visible_message(SPAN_WARNING("[user] leaps onto [target] and bites them!"), + SPAN_USERDANGER("[user] leaps onto you and bites you like a real savage!")) target.apply_damage(20, BRUTE, user.zone_selected, sharp = TRUE) if(isliving(target) && target.stat != DEAD) user.adjustStaminaLoss(-60) @@ -16,8 +16,8 @@ add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Bear Jaws", ATKLOG_ALL) return MARTIAL_COMBO_DONE var/atk_verb = pick("bites", "gnaws", "tears at") - target.visible_message("[user] [atk_verb] [target]!", - "[user] [atk_verb] you!") + target.visible_message(SPAN_DANGER("[user] [atk_verb] [target]!"), + SPAN_USERDANGER("[user] [atk_verb] you!")) target.apply_damage(10, BRUTE, user.zone_selected, sharp = TRUE) if(isliving(target) && target.stat != DEAD) user.adjustStaminaLoss(-40) diff --git a/code/modules/martial_arts/combos/bearserk/paw_slam.dm b/code/modules/martial_arts/combos/bearserk/paw_slam.dm index 7205a693e0b..21d4496f676 100644 --- a/code/modules/martial_arts/combos/bearserk/paw_slam.dm +++ b/code/modules/martial_arts/combos/bearserk/paw_slam.dm @@ -6,8 +6,8 @@ /datum/martial_combo/bearserk/paw_slam/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) if(IS_HORIZONTAL(target)) user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) - target.visible_message("[user] pounds down on [target] with both fists!", \ - "[user] pounds down on you with both fists!") + target.visible_message(SPAN_WARNING("[user] pounds down on [target] with both fists!"), \ + SPAN_USERDANGER("[user] pounds down on you with both fists!")) playsound(get_turf(target), 'sound/weapons/punch1.ogg', 25, vary = TRUE, extrarange = -1) target.apply_damage(20, BRUTE, user.zone_selected) target.Slowed(2 SECONDS) @@ -17,8 +17,8 @@ add_attack_logs(user, target, "Melee attacked with martial-art [src] : Paw Slam", ATKLOG_ALL) return MARTIAL_COMBO_DONE user.do_attack_animation(target, ATTACK_EFFECT_DISARM) - target.visible_message("[user] strikes [target] to the ground with a mighty slap!", \ - "[user] slaps you so hard, you fall over!") + target.visible_message(SPAN_WARNING("[user] strikes [target] to the ground with a mighty slap!"), \ + SPAN_USERDANGER("[user] slaps you so hard, you fall over!")) playsound(get_turf(user), 'sound/weapons/slap.ogg', 25, vary = TRUE, extrarange = -1) target.apply_damage(10, BRUTE, user.zone_selected) target.KnockDown(4 SECONDS) diff --git a/code/modules/martial_arts/combos/bearserk/smokey.dm b/code/modules/martial_arts/combos/bearserk/smokey.dm index 6af677e470e..85020e9ee47 100644 --- a/code/modules/martial_arts/combos/bearserk/smokey.dm +++ b/code/modules/martial_arts/combos/bearserk/smokey.dm @@ -7,8 +7,8 @@ if(!isliving(target)) return user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) - target.visible_message("[user] sets [target] on fire with otherwordly powers!", \ - "As [user] punches you with a searing fist, these words echo in your mind; \"remember... only YOU can prevent forest fires!\"") + target.visible_message(SPAN_WARNING("[user] sets [target] on fire with otherwordly powers!"), \ + SPAN_USERDANGER("As [user] punches you with a searing fist, these words echo in your mind; \"remember... only YOU can prevent forest fires!\"")) target.apply_damage(10, BURN, user.zone_selected) playsound(get_turf(user), 'sound/weapons/punch1.ogg', 25, TRUE, -1) target.adjust_fire_stacks(1.5) diff --git a/code/modules/martial_arts/combos/cqc/consecutive.dm b/code/modules/martial_arts/combos/cqc/consecutive.dm index 4e71938cc8a..d99925a4683 100644 --- a/code/modules/martial_arts/combos/cqc/consecutive.dm +++ b/code/modules/martial_arts/combos/cqc/consecutive.dm @@ -5,8 +5,8 @@ /datum/martial_combo/cqc/consecutive/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) if(!target.stat) - target.visible_message("[user] strikes [target]'s abdomen, neck and back consecutively", \ - "[user] strikes your abdomen, neck and back consecutively!") + target.visible_message(SPAN_WARNING("[user] strikes [target]'s abdomen, neck and back consecutively"), \ + SPAN_USERDANGER("[user] strikes your abdomen, neck and back consecutively!")) playsound(get_turf(target), 'sound/weapons/cqchit2.ogg', 50, TRUE, -1) target.apply_damage(70, STAMINA) target.apply_damage(20, BRUTE) diff --git a/code/modules/martial_arts/combos/cqc/kick.dm b/code/modules/martial_arts/combos/cqc/kick.dm index 132c6cbc71e..a853c26dcda 100644 --- a/code/modules/martial_arts/combos/cqc/kick.dm +++ b/code/modules/martial_arts/combos/cqc/kick.dm @@ -6,8 +6,8 @@ /datum/martial_combo/cqc/kick/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) . = MARTIAL_COMBO_FAIL if(!IS_HORIZONTAL(target) && user != target) - target.visible_message("[user] kicks [target] back!", \ - "[user] kicks you back!") + target.visible_message(SPAN_WARNING("[user] kicks [target] back!"), \ + SPAN_USERDANGER("[user] kicks you back!")) playsound(get_turf(user), 'sound/weapons/cqchit1.ogg', 25, TRUE, -1) var/atom/throw_target = get_edge_target_turf(target, user.dir) target.throw_at(throw_target, 1, 14, user) @@ -16,8 +16,8 @@ add_attack_logs(user, target, "Melee attacked with martial-art [src] : Kick", ATKLOG_ALL) . = MARTIAL_COMBO_DONE else if(IS_HORIZONTAL(target) && user != target) - target.visible_message("[user] kicks [target]'s head, disorienting [target.p_them()]!", \ - "[user] kicks your head, disorienting you!") + target.visible_message(SPAN_WARNING("[user] kicks [target]'s head, disorienting [target.p_them()]!"), \ + SPAN_USERDANGER("[user] kicks your head, disorienting you!")) playsound(get_turf(user), 'sound/weapons/genhit1.ogg', 25, TRUE, -1) var/atom/throw_target = get_edge_target_turf(target, user.dir) target.throw_at(throw_target, 1, 8, user) diff --git a/code/modules/martial_arts/combos/cqc/pressure.dm b/code/modules/martial_arts/combos/cqc/pressure.dm index 374bd297e94..e9260ce45ff 100644 --- a/code/modules/martial_arts/combos/cqc/pressure.dm +++ b/code/modules/martial_arts/combos/cqc/pressure.dm @@ -4,7 +4,7 @@ explaination_text = "Deals stamina damage, and steals your opponent's item out of their active hand." /datum/martial_combo/cqc/pressure/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - target.visible_message("[user] forces their arm on [target]'s neck!") + target.visible_message(SPAN_WARNING("[user] forces their arm on [target]'s neck!")) var/obj/item/I = target.get_active_hand() if(I && target.drop_item()) user.put_in_hands(I) diff --git a/code/modules/martial_arts/combos/cqc/restrain.dm b/code/modules/martial_arts/combos/cqc/restrain.dm index c73603cc057..9b8fdbccda6 100644 --- a/code/modules/martial_arts/combos/cqc/restrain.dm +++ b/code/modules/martial_arts/combos/cqc/restrain.dm @@ -12,8 +12,8 @@ if(CQC.restraining) return MARTIAL_COMBO_FAIL if(!target.stat) - target.visible_message("[user] locks [target] into a restraining position!", \ - "[user] locks you into a restraining position!") + target.visible_message(SPAN_WARNING("[user] locks [target] into a restraining position!"), \ + SPAN_USERDANGER("[user] locks you into a restraining position!")) var/stam_damage = target.getStaminaLoss() switch(stam_damage) if(0 to 40) diff --git a/code/modules/martial_arts/combos/cqc/slam.dm b/code/modules/martial_arts/combos/cqc/slam.dm index 525500e16fc..81fc9a6de1d 100644 --- a/code/modules/martial_arts/combos/cqc/slam.dm +++ b/code/modules/martial_arts/combos/cqc/slam.dm @@ -7,8 +7,8 @@ /datum/martial_combo/cqc/slam/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) if(target.IsWeakened() || IS_HORIZONTAL(target)) return MARTIAL_COMBO_FAIL - target.visible_message("[user] slams [target] into the ground!", \ - "[user] slams you into the ground!") + target.visible_message(SPAN_WARNING("[user] slams [target] into the ground!"), \ + SPAN_USERDANGER("[user] slams you into the ground!")) playsound(get_turf(user), 'sound/weapons/slam.ogg', 40, TRUE, -1) target.apply_damage(50, STAMINA) target.KnockDown(7 SECONDS) diff --git a/code/modules/martial_arts/combos/judo/armbar.dm b/code/modules/martial_arts/combos/judo/armbar.dm index 41e4cf617b5..1f221f90fce 100644 --- a/code/modules/martial_arts/combos/judo/armbar.dm +++ b/code/modules/martial_arts/combos/judo/armbar.dm @@ -7,8 +7,8 @@ /datum/martial_combo/judo/armbar/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) if(!IS_HORIZONTAL(target)) return MARTIAL_COMBO_FAIL - target.visible_message("[user] puts [target] into an armbar!", \ - "[user] wrestles you into an armbar!") + target.visible_message(SPAN_WARNING("[user] puts [target] into an armbar!"), \ + SPAN_USERDANGER("[user] wrestles you into an armbar!")) playsound(get_turf(user), 'sound/weapons/slashmiss.ogg', 40, TRUE, -1) if(!IS_HORIZONTAL(user)) target.drop_l_hand() diff --git a/code/modules/martial_arts/combos/judo/discombobulate.dm b/code/modules/martial_arts/combos/judo/discombobulate.dm index 1b11efedb41..fa119a6323d 100644 --- a/code/modules/martial_arts/combos/judo/discombobulate.dm +++ b/code/modules/martial_arts/combos/judo/discombobulate.dm @@ -5,8 +5,8 @@ combo_text_override = "Disarm, Grab" /datum/martial_combo/judo/discombobulate/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - target.visible_message("[user] strikes [target] in the head with [user.p_their()] palm!", \ - "[user] strikes you with [user.p_their()] palm!") + target.visible_message(SPAN_WARNING("[user] strikes [target] in the head with [user.p_their()] palm!"), \ + SPAN_USERDANGER("[user] strikes you with [user.p_their()] palm!")) playsound(get_turf(user), 'sound/weapons/slap.ogg', 40, TRUE, -1) target.apply_damage(10, STAMINA) target.AdjustConfused(5 SECONDS) diff --git a/code/modules/martial_arts/combos/judo/eyepoke.dm b/code/modules/martial_arts/combos/judo/eyepoke.dm index d495e5af391..b37a7d129e7 100644 --- a/code/modules/martial_arts/combos/judo/eyepoke.dm +++ b/code/modules/martial_arts/combos/judo/eyepoke.dm @@ -5,8 +5,8 @@ combo_text_override = "Disarm, Harm" /datum/martial_combo/judo/eyepoke/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - target.visible_message("[user] jabs [target] in [user.p_their()] eyes!", \ - "[user] jabs you in the eyes!") + target.visible_message(SPAN_WARNING("[user] jabs [target] in [user.p_their()] eyes!"), \ + SPAN_USERDANGER("[user] jabs you in the eyes!")) playsound(get_turf(user), 'sound/weapons/whip.ogg', 40, TRUE, -1) target.apply_damage(10, BRUTE) target.AdjustEyeBlurry(50, 0, 30 SECONDS) diff --git a/code/modules/martial_arts/combos/judo/goldenblast.dm b/code/modules/martial_arts/combos/judo/goldenblast.dm index 7e46aeb4cc6..95ca54af10c 100644 --- a/code/modules/martial_arts/combos/judo/goldenblast.dm +++ b/code/modules/martial_arts/combos/judo/goldenblast.dm @@ -6,8 +6,8 @@ combo_text_override = "Help, Disarm, Help, Grab, Disarm, Disarm, Grab, Help, Disarm, Disarm, Grab, Help" /datum/martial_combo/judo/goldenblast/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - target.visible_message("[user] blasts [target] with energy, sending [target.p_them()] to the ground!", \ - "[user] makes strange hand gestures, screams wildly and prods you directly in the chest! You feel the wrath of the GOLDEN BOLT surge through your body! You've been utterly robusted!") + target.visible_message(SPAN_WARNING("[user] blasts [target] with energy, sending [target.p_them()] to the ground!"), \ + SPAN_USERDANGER("[user] makes strange hand gestures, screams wildly and prods you directly in the chest! You feel the wrath of the GOLDEN BOLT surge through your body! You've been utterly robusted!")) playsound(get_turf(target), 'sound/weapons/taser.ogg', 55, TRUE, -1) playsound(get_turf(target), 'sound/weapons/tase.ogg', 55, TRUE, -1) target.SpinAnimation(10, 1) diff --git a/code/modules/martial_arts/combos/judo/judothrow.dm b/code/modules/martial_arts/combos/judo/judothrow.dm index 4c1a5146361..bd319017950 100644 --- a/code/modules/martial_arts/combos/judo/judothrow.dm +++ b/code/modules/martial_arts/combos/judo/judothrow.dm @@ -6,8 +6,8 @@ /datum/martial_combo/judo/judothrow/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) if(IS_HORIZONTAL(user) || IS_HORIZONTAL(target)) return MARTIAL_COMBO_FAIL - target.visible_message("[user] judo throws [target] to ground!", \ - "[user] judo throws you to the ground!") + target.visible_message(SPAN_WARNING("[user] judo throws [target] to ground!"), \ + SPAN_USERDANGER("[user] judo throws you to the ground!")) playsound(get_turf(user), 'sound/weapons/slam.ogg', 40, TRUE, -1) target.apply_damage(25, STAMINA) target.KnockDown(7 SECONDS) diff --git a/code/modules/martial_arts/combos/judo/wheelthrow.dm b/code/modules/martial_arts/combos/judo/wheelthrow.dm index 5c7782d1fc9..616b49de58f 100644 --- a/code/modules/martial_arts/combos/judo/wheelthrow.dm +++ b/code/modules/martial_arts/combos/judo/wheelthrow.dm @@ -9,13 +9,13 @@ return MARTIAL_COMBO_FAIL if(!IS_HORIZONTAL(user)) - target.visible_message("[user] raises [target] over [user.p_their()] shoulder, and slams [target.p_them()] into the ground!", \ - "[user] throws you over [user.p_their()] shoulder, slamming you into the ground!") + target.visible_message(SPAN_WARNING("[user] raises [target] over [user.p_their()] shoulder, and slams [target.p_them()] into the ground!"), \ + SPAN_USERDANGER("[user] throws you over [user.p_their()] shoulder, slamming you into the ground!")) playsound(get_turf(user), 'sound/magic/tail_swing.ogg', 40, TRUE, -1) target.SpinAnimation(10, 1) else - target.visible_message("[user] manages to get a hold onto [target], and pinning [target.p_them()] to the ground!", \ - "[user] throws you over [user.p_their()] shoulder, slamming you into the ground!") + target.visible_message(SPAN_WARNING("[user] manages to get a hold onto [target], and pinning [target.p_them()] to the ground!"), \ + SPAN_USERDANGER("[user] throws you over [user.p_their()] shoulder, slamming you into the ground!")) playsound(get_turf(user), 'sound/weapons/slam.ogg', 40, TRUE, -1) target.apply_damage(120, STAMINA) target.KnockDown(15 SECONDS) diff --git a/code/modules/martial_arts/combos/krav_maga/leg_sweep.dm b/code/modules/martial_arts/combos/krav_maga/leg_sweep.dm index bce5ac7e460..58bdfbdf2ec 100644 --- a/code/modules/martial_arts/combos/krav_maga/leg_sweep.dm +++ b/code/modules/martial_arts/combos/krav_maga/leg_sweep.dm @@ -6,14 +6,14 @@ if(target.stat || target.IsWeakened() || user.a_intent == INTENT_HELP) return FALSE if(!user.get_num_legs()) - to_chat(user, "You suddenly notice you have no legs with which to sweep - how did that happen?!") + to_chat(user, SPAN_WARNING("You suddenly notice you have no legs with which to sweep - how did that happen?!")) return MARTIAL_COMBO_DONE_CLEAR_COMBOS if(!target.get_num_legs()) - to_chat(user, "[target] has no legs to sweep!") + to_chat(user, SPAN_WARNING("[target] has no legs to sweep!")) return MARTIAL_COMBO_DONE_CLEAR_COMBOS user.do_attack_animation(target, ATTACK_EFFECT_KICK) - target.visible_message("[user] leg sweeps [target]!", \ - "[user] leg sweeps you!") + target.visible_message(SPAN_WARNING("[user] leg sweeps [target]!"), \ + SPAN_USERDANGER("[user] leg sweeps you!")) playsound(get_turf(user), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) target.apply_damage(5, BRUTE) target.KnockDown(4 SECONDS) diff --git a/code/modules/martial_arts/combos/krav_maga/lung_punch.dm b/code/modules/martial_arts/combos/krav_maga/lung_punch.dm index 47d48a9a917..c9e4f959970 100644 --- a/code/modules/martial_arts/combos/krav_maga/lung_punch.dm +++ b/code/modules/martial_arts/combos/krav_maga/lung_punch.dm @@ -6,8 +6,8 @@ if(user.a_intent == INTENT_HELP) return FALSE user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) - target.visible_message("[user] pounds [target] on the chest!", \ - "[user] slams your chest! You can't breathe!") + target.visible_message(SPAN_WARNING("[user] pounds [target] on the chest!"), \ + SPAN_USERDANGER("[user] slams your chest! You can't breathe!")) playsound(get_turf(user), 'sound/effects/hit_punch.ogg', 50, TRUE, -1) target.AdjustLoseBreath(10 SECONDS) target.apply_damage(30, STAMINA) diff --git a/code/modules/martial_arts/combos/krav_maga/neck_chop.dm b/code/modules/martial_arts/combos/krav_maga/neck_chop.dm index 9d8634f889a..fae0c75e744 100644 --- a/code/modules/martial_arts/combos/krav_maga/neck_chop.dm +++ b/code/modules/martial_arts/combos/krav_maga/neck_chop.dm @@ -6,8 +6,8 @@ if(user.a_intent == INTENT_HELP) return FALSE user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) - target.visible_message("[user] karate chops [target]'s neck!", \ - "[user] karate chops your neck, rendering you unable to speak for a short time!") + target.visible_message(SPAN_WARNING("[user] karate chops [target]'s neck!"), \ + SPAN_USERDANGER("[user] karate chops your neck, rendering you unable to speak for a short time!")) playsound(get_turf(user), 'sound/effects/hit_punch.ogg', 50, TRUE, -1) target.apply_damage(5, BRUTE, BODY_ZONE_HEAD) target.AdjustSilence(20 SECONDS) diff --git a/code/modules/martial_arts/combos/martial_combo.dm b/code/modules/martial_arts/combos/martial_combo.dm index 6b4eedb97dc..2d6aebdee97 100644 --- a/code/modules/martial_arts/combos/martial_combo.dm +++ b/code/modules/martial_arts/combos/martial_combo.dm @@ -33,4 +33,4 @@ var/final_combo_text = combo_text_override if(!final_combo_text) final_combo_text = english_list(steps, and_text = " ", comma_text = " ") - to_chat(user, "[name]: [final_combo_text]. [explaination_text]") + to_chat(user, "[SPAN_NOTICE("[name]")]: [final_combo_text]. [explaination_text]") diff --git a/code/modules/martial_arts/combos/mimejutsu/mime_smokebomb.dm b/code/modules/martial_arts/combos/mimejutsu/mime_smokebomb.dm index cc67e801706..cb7a9c9a73f 100644 --- a/code/modules/martial_arts/combos/mimejutsu/mime_smokebomb.dm +++ b/code/modules/martial_arts/combos/mimejutsu/mime_smokebomb.dm @@ -4,7 +4,7 @@ explaination_text = "Drops a mime smokebomb." /datum/martial_combo/mimejutsu/smokebomb/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - target.visible_message("[user] throws an invisible smoke bomb!!") + target.visible_message(SPAN_DANGER("[user] throws an invisible smoke bomb!!")) var/datum/effect_system/smoke_spread/bad/smoke = new smoke.set_up(5, FALSE, target) diff --git a/code/modules/martial_arts/combos/mimejutsu/mimechucks.dm b/code/modules/martial_arts/combos/mimejutsu/mimechucks.dm index 5bce85ff114..0523df62e4e 100644 --- a/code/modules/martial_arts/combos/mimejutsu/mimechucks.dm +++ b/code/modules/martial_arts/combos/mimejutsu/mimechucks.dm @@ -8,15 +8,15 @@ var/damage = rand(5, 8) + user.dna.species.punchdamagelow if(!damage) playsound(target.loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - target.visible_message("[user] swings invisible nunchcuks at [target]..and misses?") + target.visible_message(SPAN_WARNING("[user] swings invisible nunchcuks at [target]..and misses?")) return MARTIAL_COMBO_DONE var/obj/item/organ/external/affecting = target.get_organ(ran_zone(user.zone_selected)) var/armor_block = target.run_armor_check(affecting, MELEE) - target.visible_message("[user] has hit [target] with invisible nunchucks!", \ - "[user] has hit [target] with a with invisible nunchuck!") + target.visible_message(SPAN_DANGER("[user] has hit [target] with invisible nunchucks!"), \ + SPAN_USERDANGER("[user] has hit [target] with a with invisible nunchuck!")) playsound(get_turf(user), 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) target.apply_damage(damage, STAMINA, affecting, armor_block) diff --git a/code/modules/martial_arts/combos/mimejutsu/silent_palm.dm b/code/modules/martial_arts/combos/mimejutsu/silent_palm.dm index edd834345dc..8c90cbd4da6 100644 --- a/code/modules/martial_arts/combos/mimejutsu/silent_palm.dm +++ b/code/modules/martial_arts/combos/mimejutsu/silent_palm.dm @@ -5,8 +5,8 @@ /datum/martial_combo/mimejutsu/silent_palm/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) if(!target.stat && !target.IsStunned() && !target.IsWeakened()) - target.visible_message("[user] has barely touched [target] with [user.p_their()] palm!", \ - "[user] hovers [user.p_their()] palm over your face!") + target.visible_message(SPAN_DANGER("[user] has barely touched [target] with [user.p_their()] palm!"), \ + SPAN_USERDANGER("[user] hovers [user.p_their()] palm over your face!")) var/atom/throw_target = get_edge_target_turf(target, get_dir(target, get_step_away(target, user))) target.throw_at(throw_target, 200, 4, user) diff --git a/code/modules/martial_arts/combos/plasma_fist/the_plasma_fist.dm b/code/modules/martial_arts/combos/plasma_fist/the_plasma_fist.dm index c5dfcec393d..49dd791591a 100644 --- a/code/modules/martial_arts/combos/plasma_fist/the_plasma_fist.dm +++ b/code/modules/martial_arts/combos/plasma_fist/the_plasma_fist.dm @@ -7,7 +7,7 @@ user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) playsound(target.loc, 'sound/weapons/punch1.ogg', 50, TRUE, -1) user.say("PLASMA FIST!") - target.visible_message("[user] has hit [target] with THE PLASMA FIST TECHNIQUE!", \ - "[user] has hit [target] with THE PLASMA FIST TECHNIQUE!") + target.visible_message(SPAN_DANGER("[user] has hit [target] with THE PLASMA FIST TECHNIQUE!"), \ + SPAN_USERDANGER("[user] has hit [target] with THE PLASMA FIST TECHNIQUE!")) target.gib() return MARTIAL_COMBO_DONE diff --git a/code/modules/martial_arts/combos/plasma_fist/throwback.dm b/code/modules/martial_arts/combos/plasma_fist/throwback.dm index 3df734457e3..b111fb242e4 100644 --- a/code/modules/martial_arts/combos/plasma_fist/throwback.dm +++ b/code/modules/martial_arts/combos/plasma_fist/throwback.dm @@ -4,8 +4,8 @@ explaination_text = "Throws the target and an item at them." /datum/martial_combo/plasma_fist/throwback/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) - target.visible_message("[user] has hit [target] with Plasma Punch!", \ - "[user] has hit [target] with Plasma Punch!") + target.visible_message(SPAN_DANGER("[user] has hit [target] with Plasma Punch!"), \ + SPAN_USERDANGER("[user] has hit [target] with Plasma Punch!")) playsound(target.loc, 'sound/weapons/punch1.ogg', 50, TRUE, -1) var/atom/throw_target = get_edge_target_turf(target, get_dir(target, get_step_away(target, user))) target.throw_at(throw_target, 200, 4, user) diff --git a/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm index ad2f48f416b..05e648b1147 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/crashing_kick.dm @@ -6,8 +6,8 @@ /datum/martial_combo/sleeping_carp/crashing_kick/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) if(target != user) // no you cannot kick yourself across rooms user.do_attack_animation(target, ATTACK_EFFECT_KICK) - target.visible_message("[user] kicks [target] square in the chest, sending them flying!", - "You are kicked square in the chest by [user], sending you flying!") + target.visible_message(SPAN_WARNING("[user] kicks [target] square in the chest, sending them flying!"), + SPAN_USERDANGER("You are kicked square in the chest by [user], sending you flying!")) playsound(target, 'sound/effects/hit_kick.ogg', 50, TRUE, -1) var/atom/throw_target = get_edge_target_turf(target, user.dir) target.throw_at(throw_target, 7, 14, user) diff --git a/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm index 398c09b01f0..2a6d6882af5 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/gnashing_teeth.dm @@ -6,8 +6,8 @@ /datum/martial_combo/sleeping_carp/gnashing_teeth/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA) user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) var/atk_verb = pick("precisely kicks", "brutally chops", "cleanly hits", "viciously slams") - target.visible_message("[user] [atk_verb] [target]!", - "[user] [atk_verb] you!") + target.visible_message(SPAN_DANGER("[user] [atk_verb] [target]!"), + SPAN_USERDANGER("[user] [atk_verb] you!")) playsound(get_turf(target), 'sound/weapons/punch1.ogg', 25, TRUE, -1) add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Gnashing Teeth", ATKLOG_ALL) target.apply_damage(20, BRUTE, user.zone_selected, sharp = TRUE) diff --git a/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm b/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm index 827d05c2b85..565c7974daf 100644 --- a/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm +++ b/code/modules/martial_arts/combos/sleeping_carp/keelhaul.dm @@ -9,14 +9,14 @@ if(!IS_HORIZONTAL(target)) target.apply_damage(10, BRUTE, BODY_ZONE_HEAD) target.KnockDown(6 SECONDS) - target.visible_message("[user] kicks [target] in the head, sending them face first into the floor!", - "You are kicked in the head by [user], sending you crashing to the floor!") + target.visible_message(SPAN_WARNING("[user] kicks [target] in the head, sending them face first into the floor!"), + SPAN_USERDANGER("You are kicked in the head by [user], sending you crashing to the floor!")) else target.apply_damage(5, BRUTE, BODY_ZONE_HEAD) target.drop_l_hand() target.drop_r_hand() - target.visible_message("[user] kicks [target] in the head, leaving them reeling in pain!", - "You are kicked in the head by [user], and you reel in pain!") + target.visible_message(SPAN_WARNING("[user] kicks [target] in the head, leaving them reeling in pain!"), + SPAN_USERDANGER("You are kicked in the head by [user], and you reel in pain!")) target.apply_damage(60, STAMINA) add_attack_logs(user, target, "Melee attacked with martial-art [MA] : Keelhaul", ATKLOG_ALL) return MARTIAL_COMBO_DONE diff --git a/code/modules/martial_arts/cqc.dm b/code/modules/martial_arts/cqc.dm index 50d4bf07a90..9b04ee43b9e 100644 --- a/code/modules/martial_arts/cqc.dm +++ b/code/modules/martial_arts/cqc.dm @@ -63,8 +63,8 @@ chokehold_active = FALSE /datum/martial_art/cqc/proc/start_chokehold(mob/living/carbon/human/A, mob/living/carbon/human/D) - D.visible_message("[A] puts [D] into a chokehold!", \ - "[A] puts you into a chokehold!") + D.visible_message(SPAN_DANGER("[A] puts [D] into a chokehold!"), \ + SPAN_USERDANGER("[A] puts you into a chokehold!")) add_attack_logs(A, D, "Put into a chokehold with martial-art [src]", ATKLOG_ALL) chokehold_active = TRUE var/damage_multiplier = 1 + D.getStaminaLoss() / 100 //The chokehold is more effective the more tired the target is. @@ -72,8 +72,8 @@ D.apply_damage(10 * damage_multiplier, OXY) D.LoseBreath(3 SECONDS) if(D.getOxyLoss() >= 50 || D.health <= 20) - D.visible_message("[A] puts [D] to sleep!", \ - "[A] knocks you out cold!") + D.visible_message(SPAN_DANGER("[A] puts [D] to sleep!"), \ + SPAN_USERDANGER("[A] knocks you out cold!")) D.SetSleeping(40 SECONDS) drop_chokehold() @@ -103,12 +103,12 @@ playsound(get_turf(D), 'sound/weapons/cqchit2.ogg', 10, TRUE, -1) else playsound(get_turf(D), 'sound/weapons/cqchit1.ogg', 10, TRUE, -1) - D.visible_message("[A] [picked_hit_type] [D]!", \ - "[A] [picked_hit_type] you!") + D.visible_message(SPAN_DANGER("[A] [picked_hit_type] [D]!"), \ + SPAN_USERDANGER("[A] [picked_hit_type] you!")) add_attack_logs(A, D, "Melee attacked with martial-art [src] : [picked_hit_type]", ATKLOG_ALL) if(IS_HORIZONTAL(A) && !IS_HORIZONTAL(D)) D.visible_message("[A] leg sweeps [D]!", \ - "[A] leg sweeps you!") + SPAN_USERDANGER("[A] leg sweeps you!")) playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 10, TRUE, -1) D.KnockDown(5 SECONDS) A.SetKnockDown(0 SECONDS) @@ -127,13 +127,13 @@ drop_restraining() if(!IS_HORIZONTAL(D) || !restraining) - D.visible_message("[A] strikes [D]'s jaw with their hand!", \ - "[A] strikes your jaw, disorienting you!") + D.visible_message(SPAN_WARNING("[A] strikes [D]'s jaw with their hand!"), \ + SPAN_USERDANGER("[A] strikes your jaw, disorienting you!")) playsound(get_turf(D), 'sound/weapons/cqchit1.ogg', 5, TRUE, -1) D.SetSlur(4 SECONDS) D.apply_damage(15, STAMINA) else - D.visible_message("[A] attempted to disarm [D]!", "[A] attempted to disarm [D]!") + D.visible_message(SPAN_DANGER("[A] attempted to disarm [D]!"), SPAN_USERDANGER("[A] attempted to disarm [D]!")) playsound(D, 'sound/weapons/punchmiss.ogg', 5, TRUE, -1) add_attack_logs(A, D, "Disarmed with martial-art [src]", ATKLOG_ALL) diff --git a/code/modules/martial_arts/grav_stomp.dm b/code/modules/martial_arts/grav_stomp.dm index b5877b231d1..de14b119710 100644 --- a/code/modules/martial_arts/grav_stomp.dm +++ b/code/modules/martial_arts/grav_stomp.dm @@ -13,6 +13,6 @@ A.do_attack_animation(D, ATTACK_EFFECT_KICK) playsound(get_turf(D), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) D.apply_damage(bonus_damage, BRUTE) - D.visible_message("[A] [picked_hit_type] [D]!", \ - "[A] [picked_hit_type] you!") + D.visible_message(SPAN_DANGER("[A] [picked_hit_type] [D]!"), \ + SPAN_USERDANGER("[A] [picked_hit_type] you!")) return TRUE diff --git a/code/modules/martial_arts/judo.dm b/code/modules/martial_arts/judo.dm index b5991b86c8e..eaadcd56d7b 100644 --- a/code/modules/martial_arts/judo.dm +++ b/code/modules/martial_arts/judo.dm @@ -4,7 +4,7 @@ no_baton = TRUE combos = list(/datum/martial_combo/judo/discombobulate, /datum/martial_combo/judo/eyepoke, /datum/martial_combo/judo/judothrow, /datum/martial_combo/judo/armbar, /datum/martial_combo/judo/wheelthrow, /datum/martial_combo/judo/goldenblast) weight = 5 //takes priority over boxing and drunkneness, less priority than krav or CQC/carp - no_baton_reason = "The baton feels off balance in your hand due to your judo training!" + no_baton_reason = SPAN_WARNING("The baton feels off balance in your hand due to your judo training!") can_horizontally_grab = FALSE //Corporate Judo Belt @@ -46,11 +46,11 @@ if(slot == ITEM_SLOT_BELT) var/mob/living/carbon/human/H = user if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(H, "The arts of Corporate Judo echo uselessly in your head, the thought of violence disgusts you!") + to_chat(H, SPAN_WARNING("The arts of Corporate Judo echo uselessly in your head, the thought of violence disgusts you!")) return style.teach(H, TRUE) - to_chat(H, "The belt's nanites infuse you with the prowess of a black belt in Corporate Judo!") - to_chat(H, "See the martial arts tab for an explanation of combos.") + to_chat(H, SPAN_USERDANGER("The belt's nanites infuse you with the prowess of a black belt in Corporate Judo!")) + to_chat(H, SPAN_DANGER("See the martial arts tab for an explanation of combos.")) return /obj/item/storage/belt/judobelt/dropped(mob/user) @@ -60,7 +60,7 @@ var/mob/living/carbon/human/H = user if(H.get_item_by_slot(ITEM_SLOT_BELT) == src) style.remove(H) - to_chat(user, "You suddenly forget the arts of Corporate Judo...") + to_chat(user, SPAN_SCIRADIO("You suddenly forget the arts of Corporate Judo...")) //Increased harm damage /datum/martial_art/judo/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -69,8 +69,8 @@ A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) D.apply_damage(7, BRUTE) playsound(get_turf(D), 'sound/effects/hit_punch.ogg', 50, TRUE, -1) - D.visible_message("[A] [picked_hit_type] [D]!", \ - "[A] [picked_hit_type] you!") + D.visible_message(SPAN_DANGER("[A] [picked_hit_type] [D]!"), \ + SPAN_USERDANGER("[A] [picked_hit_type] you!")) add_attack_logs(A, D, "Melee attacked with [src]") return TRUE diff --git a/code/modules/martial_arts/krav_maga.dm b/code/modules/martial_arts/krav_maga.dm index 6dbee9c3973..d5cee7ccdaa 100644 --- a/code/modules/martial_arts/krav_maga.dm +++ b/code/modules/martial_arts/krav_maga.dm @@ -21,7 +21,7 @@ to_chat(owner, "You cannot cancel an attack you haven't prepared!") return to_chat(owner, "You cancel your prepared attack.") - owner.visible_message("[owner] relaxes [owner.p_their()] stance.") + owner.visible_message(SPAN_DANGER("[owner] relaxes [owner.p_their()] stance.")) H.mind.martial_art.combos.Cut() H.mind.martial_art.in_stance = FALSE @@ -32,13 +32,13 @@ /datum/action/neck_chop/Trigger(left_click) var/mob/living/carbon/human/H = owner //This is a janky solution, but I want to refactor krav anyway and un-jank this (written in may 2023) if(!istype(H.mind.martial_art, /datum/martial_art/krav_maga)) - to_chat(owner, "You don't know how to do that right now.") + to_chat(owner, SPAN_WARNING("You don't know how to do that right now.")) return if(owner.incapacitated()) - to_chat(owner, "You can't use Krav Maga while you're incapacitated.") + to_chat(owner, SPAN_WARNING("You can't use Krav Maga while you're incapacitated.")) return to_chat(owner, "Your next attack will be a Neck Chop.") - owner.visible_message("[owner] assumes the Neck Chop stance!") + owner.visible_message(SPAN_DANGER("[owner] assumes the Neck Chop stance!")) H.mind.martial_art.combos.Cut() H.mind.martial_art.combos.Add(/datum/martial_combo/krav_maga/neck_chop) H.mind.martial_art.reset_combos() @@ -50,19 +50,19 @@ /datum/action/leg_sweep/Trigger(left_click) var/mob/living/carbon/human/H = owner if(!istype(H.mind.martial_art, /datum/martial_art/krav_maga)) - to_chat(owner, "You don't know how to do that right now.") + to_chat(owner, SPAN_WARNING("You don't know how to do that right now.")) return if(owner.incapacitated()) - to_chat(owner, "You can't use Krav Maga while you're incapacitated.") + to_chat(owner, SPAN_WARNING("You can't use Krav Maga while you're incapacitated.")) return if(!owner.get_num_legs()) - to_chat(owner, "You can't leg sweep someone if you have no legs.") + to_chat(owner, SPAN_WARNING("You can't leg sweep someone if you have no legs.")) return if(HAS_TRAIT(owner, TRAIT_PARAPLEGIC)) - to_chat(owner, "You can't leg sweep someone without working legs.") + to_chat(owner, SPAN_WARNING("You can't leg sweep someone without working legs.")) return to_chat(owner, "Your next attack will be a Leg Sweep.") - owner.visible_message("[owner] assumes the Leg Sweep stance!") + owner.visible_message(SPAN_DANGER("[owner] assumes the Leg Sweep stance!")) H.mind.martial_art.combos.Cut() H.mind.martial_art.combos.Add(/datum/martial_combo/krav_maga/leg_sweep) H.mind.martial_art.reset_combos() @@ -75,13 +75,13 @@ /datum/action/lung_punch/Trigger(left_click) var/mob/living/carbon/human/H = owner if(!istype(H.mind.martial_art, /datum/martial_art/krav_maga)) - to_chat(owner, "You don't know how to do that right now.") + to_chat(owner, SPAN_WARNING("You don't know how to do that right now.")) return if(owner.incapacitated()) - to_chat(owner, "You can't use Krav Maga while you're incapacitated.") + to_chat(owner, SPAN_WARNING("You can't use Krav Maga while you're incapacitated.")) return to_chat(owner, "Your next attack will be a Lung Punch.") - owner.visible_message("[owner] assumes the Lung Punch stance!") + owner.visible_message(SPAN_DANGER("[owner] assumes the Lung Punch stance!")) H.mind.martial_art.combos.Cut() H.mind.martial_art.combos.Add(/datum/martial_combo/krav_maga/lung_punch) H.mind.martial_art.reset_combos() @@ -90,7 +90,7 @@ /datum/martial_art/krav_maga/teach(mob/living/carbon/human/H, make_temporary=0) ..() if(HAS_TRAIT(H, TRAIT_PACIFISM)) - to_chat(H, "The arts of Krav Maga echo uselessly in your head, the thought of their violence repulsive to you!") + to_chat(H, SPAN_WARNING("The arts of Krav Maga echo uselessly in your head, the thought of their violence repulsive to you!")) return to_chat(H, "You know the arts of Krav Maga!") to_chat(H, "Place your cursor over a move at the top of the screen to see what it does.") @@ -121,8 +121,8 @@ else A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) playsound(get_turf(D), 'sound/effects/hit_punch.ogg', 50, TRUE, -1) - D.visible_message("[A] [picked_hit_type] [D]!", \ - "[A] [picked_hit_type] you!") + D.visible_message(SPAN_DANGER("[A] [picked_hit_type] [D]!"), \ + SPAN_USERDANGER("[A] [picked_hit_type] you!")) D.apply_damage(bonus_damage, BRUTE) return TRUE @@ -133,12 +133,12 @@ if(prob(60) && D.drop_item_to_ground(I)) if(!(QDELETED(I) || (I.flags & ABSTRACT))) A.put_in_hands(I) - D.visible_message("[A] has disarmed [D]!", \ - "[A] has disarmed [D]!") + D.visible_message(SPAN_DANGER("[A] has disarmed [D]!"), \ + SPAN_USERDANGER("[A] has disarmed [D]!")) playsound(D, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) else - D.visible_message("[A] attempted to disarm [D]!", \ - "[A] attempted to disarm [D]!") + D.visible_message(SPAN_DANGER("[A] attempted to disarm [D]!"), \ + SPAN_USERDANGER("[A] attempted to disarm [D]!")) playsound(D, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) return TRUE diff --git a/code/modules/martial_arts/martial.dm b/code/modules/martial_arts/martial.dm index fe1984d8abe..2c38feb9af9 100644 --- a/code/modules/martial_arts/martial.dm +++ b/code/modules/martial_arts/martial.dm @@ -135,23 +135,23 @@ if(!damage) playsound(D.loc, attack.miss_sound, 25, TRUE, -1) - D.visible_message("[A] has attempted to [atk_verb] [D]!") + D.visible_message(SPAN_WARNING("[A] has attempted to [atk_verb] [D]!")) return FALSE var/obj/item/organ/external/affecting = D.get_organ(ran_zone(A.zone_selected)) var/armor_block = D.run_armor_check(affecting, MELEE) playsound(D.loc, attack.attack_sound, 25, TRUE, -1) - D.visible_message("[A] has [atk_verb]ed [D]!", \ - "[A] has [atk_verb]ed [D]!") + D.visible_message(SPAN_DANGER("[A] has [atk_verb]ed [D]!"), \ + SPAN_USERDANGER("[A] has [atk_verb]ed [D]!")) D.apply_damage(damage, BRUTE, affecting, armor_block) add_attack_logs(A, D, "Melee attacked with martial-art [src]", (damage > 0) ? null : ATKLOG_ALL) if((D.stat != DEAD) && damage >= A.dna.species.punchstunthreshold) - D.visible_message("[A] has weakened [D]!!", \ - "[A] has weakened [D]!") + D.visible_message(SPAN_DANGER("[A] has weakened [D]!!"), \ + SPAN_USERDANGER("[A] has weakened [D]!")) D.apply_effect(8 SECONDS, WEAKEN, armor_block) return TRUE @@ -196,16 +196,16 @@ H.mind.martial_art.give_explaination(H) return if(isobserver(H) || iscameramob(H)) - to_chat(usr, "You shouldn't have access to this verb. Report this as a bug to the github please.") + to_chat(usr, SPAN_WARNING("You shouldn't have access to this verb. Report this as a bug to the github please.")) return if(isanimal(H)) - to_chat(usr, "Your beastial form isn't compatible with any martial arts you know.") + to_chat(usr, SPAN_NOTICE("Your beastial form isn't compatible with any martial arts you know.")) return if(issilicon(H)) - to_chat(usr, "Your malformed steel body can barely perform basic tasks, let alone complex martial arts.") + to_chat(usr, SPAN_NOTICE("Your malformed steel body can barely perform basic tasks, let alone complex martial arts.")) return if(isalien(H)) - to_chat(usr, "The hivemind's fighting style has been blessed upon you, you have no need for this useless style.") + to_chat(usr, SPAN_NOTICE("The hivemind's fighting style has been blessed upon you, you have no need for this useless style.")) return /datum/martial_art/proc/give_explaination(user = usr) @@ -250,16 +250,16 @@ var/mob/living/carbon/human/H = owner var/datum/martial_art/MA = H.mind.martial_art //This should never be available to non-martial-arts users anyway if(!MA.can_parry) - to_chat(H, "You can't parry right now.") + to_chat(H, SPAN_WARNING("You can't parry right now.")) return if(H.incapacitated()) - to_chat(H, "You can't defend yourself while you're incapacitated.") + to_chat(H, SPAN_WARNING("You can't defend yourself while you're incapacitated.")) return var/obj/item/slapper/parry/slap = new(H) if(H.put_in_hands(slap)) - H.visible_message("[H] assumes a defensive stance!", "You drop back into a defensive stance.") + H.visible_message(SPAN_DANGER("[H] assumes a defensive stance!"), "You drop back into a defensive stance.") else - to_chat(H, "Your hands are full.") + to_chat(H, SPAN_WARNING("Your hands are full.")) /obj/item/storage/belt/champion/wrestling name = "Wrestling Belt" @@ -276,10 +276,10 @@ if(slot == ITEM_SLOT_BELT) var/mob/living/carbon/human/H = user if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "In spite of the grandiosity of the belt, you don't feel like getting into any fights.") + to_chat(user, SPAN_WARNING("In spite of the grandiosity of the belt, you don't feel like getting into any fights.")) return style.teach(H, TRUE) - to_chat(user, "You have an urge to flex your muscles and get into a fight. You have the knowledge of a thousand wrestlers before you. You can remember more by using the verb in the martial arts tab.") + to_chat(user, SPAN_SCIRADIO("You have an urge to flex your muscles and get into a fight. You have the knowledge of a thousand wrestlers before you. You can remember more by using the verb in the martial arts tab.")) return /obj/item/storage/belt/champion/wrestling/dropped(mob/user) @@ -289,7 +289,7 @@ var/mob/living/carbon/human/H = user if(H.get_item_by_slot(ITEM_SLOT_BELT) == src) style.remove(H) - to_chat(user, "You no longer have an urge to flex your muscles.") + to_chat(user, SPAN_SCIRADIO("You no longer have an urge to flex your muscles.")) /obj/item/plasma_fist_scroll name = "frayed scroll" @@ -306,7 +306,7 @@ var/mob/living/carbon/human/H = user var/datum/martial_art/plasma_fist/F = new/datum/martial_art/plasma_fist(null) F.teach(H) - to_chat(H, "You have learned the ancient martial art of Plasma Fist.") + to_chat(H, SPAN_BOLDANNOUNCEIC("You have learned the ancient martial art of Plasma Fist.")) used = TRUE desc = "It's completely blank." name = "empty scroll" @@ -332,7 +332,7 @@ var/datum/martial_art/the_sleeping_carp/theSleepingCarp = new(null) theSleepingCarp.teach(user) user.drop_item() - visible_message("[src] lights up in fire and quickly burns to ash.") + visible_message(SPAN_WARNING("[src] lights up in fire and quickly burns to ash.")) new /obj/effect/decal/cleanable/ash(get_turf(src)) qdel(src) @@ -347,20 +347,20 @@ return if(user.mind) //Prevents changelings and vampires from being able to learn it if(IS_CHANGELING(user) || IS_MINDFLAYER(user)) - to_chat(user, "We try multiple times, but we simply cannot grasp the basics of CQC!") + to_chat(user, SPAN_WARNING("We try multiple times, but we simply cannot grasp the basics of CQC!")) return else if(user.mind.has_antag_datum(/datum/antagonist/vampire)) //Vampires - to_chat(user, "Your blood lust distracts you from the basics of CQC!") + to_chat(user, SPAN_WARNING("Your blood lust distracts you from the basics of CQC!")) return else if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "The mere thought of combat, let alone CQC, makes your head spin!") + to_chat(user, SPAN_WARNING("The mere thought of combat, let alone CQC, makes your head spin!")) return - to_chat(user, "You remember the basics of CQC.") + to_chat(user, SPAN_BOLDANNOUNCEIC("You remember the basics of CQC.")) var/datum/martial_art/cqc/CQC = new(null) CQC.teach(user) user.drop_item() - visible_message("[src] beeps ominously, and a moment later it bursts up in flames.") + visible_message(SPAN_WARNING("[src] beeps ominously, and a moment later it bursts up in flames.")) new /obj/effect/decal/cleanable/ash(get_turf(src)) qdel(src) @@ -403,10 +403,10 @@ return ..() var/mob/living/carbon/C = target if(C.stat) - to_chat(user, "It would be dishonorable to attack a foe while [C.p_they()] cannot retaliate.") + to_chat(user, SPAN_WARNING("It would be dishonorable to attack a foe while [C.p_they()] cannot retaliate.")) return if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You feel violence is not the answer.") + to_chat(user, SPAN_WARNING("You feel violence is not the answer.")) return switch(user.a_intent) if(INTENT_DISARM) @@ -422,19 +422,19 @@ "[user] smashes [H]'s head with [src]!", \ "[user] beats [H] with front of [src]!", \ "[user] twirls and slams [H] with [src]!") - H.visible_message("[pick(fluffmessages)]", \ - "[pick(fluffmessages)]") + H.visible_message(SPAN_WARNING("[pick(fluffmessages)]"), \ + SPAN_USERDANGER("[pick(fluffmessages)]")) playsound(get_turf(user), 'sound/effects/woodhit.ogg', 75, TRUE, -1) H.apply_damage(rand(13,20), STAMINA) if(prob(10)) - H.visible_message("[H] collapses!", \ - "Your legs give out!") + H.visible_message(SPAN_WARNING("[H] collapses!"), \ + SPAN_USERDANGER("Your legs give out!")) H.Weaken(8 SECONDS) if(H.getStaminaLoss() && !H.IsSleeping()) var/total_health = (H.health - H.getStaminaLoss()) if(total_health <= HEALTH_THRESHOLD_CRIT && !H.stat) - H.visible_message("[user] delivers a heavy hit to [H]'s head, knocking [H.p_them()] out cold!", \ - "[user] knocks you unconscious!") + H.visible_message(SPAN_WARNING("[user] delivers a heavy hit to [H]'s head, knocking [H.p_them()] out cold!"), \ + SPAN_USERDANGER("[user] knocks you unconscious!")) H.SetSleeping(60 SECONDS) H.adjustBrainLoss(25) return diff --git a/code/modules/martial_arts/mimejutsu.dm b/code/modules/martial_arts/mimejutsu.dm index 8a1f1e693fb..1e78d1a4f06 100644 --- a/code/modules/martial_arts/mimejutsu.dm +++ b/code/modules/martial_arts/mimejutsu.dm @@ -27,7 +27,7 @@ var/mob/living/carbon/human/H = user var/datum/martial_art/mimejutsu/F = new/datum/martial_art/mimejutsu(null) F.teach(H) - to_chat(H, "You have learned the ancient martial art of mimes.") + to_chat(H, SPAN_BOLDANNOUNCEIC("You have learned the ancient martial art of mimes.")) used = TRUE desc = "It used to have something stapled to it..the staple is still there." name = "beret with staple" diff --git a/code/modules/martial_arts/muscle_implant.dm b/code/modules/martial_arts/muscle_implant.dm index bae6f2d6609..7f2a04dcfb0 100644 --- a/code/modules/martial_arts/muscle_implant.dm +++ b/code/modules/martial_arts/muscle_implant.dm @@ -10,7 +10,7 @@ MARTIAL_ARTS_ACT_CHECK if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to hurt [target]!") + to_chat(user, SPAN_WARNING("You don't want to hurt [target]!")) return FALSE var/picked_hit_type = pick("punch", "smash") if(ishuman(target) && target.check_shields(user, punch_damage, "[user]'s' [picked_hit_type]")) @@ -37,21 +37,21 @@ var/picked_hit_type = pick("punch", "smash", "kick") punchee.visible_message( - "[puncher] [picked_hit_type]ed [punchee]!", - "You're [picked_hit_type]ed by [puncher]!", - "You hear a sickening sound of flesh hitting flesh!" + SPAN_DANGER("[puncher] [picked_hit_type]ed [punchee]!"), + SPAN_DANGER("You're [picked_hit_type]ed by [puncher]!"), + SPAN_DANGER("You hear a sickening sound of flesh hitting flesh!") ) if(puncher == punchee) - to_chat(puncher, "You [picked_hit_type] yourself!") + to_chat(puncher, SPAN_DANGER("You [picked_hit_type] yourself!")) else - to_chat(puncher, "You [picked_hit_type] [punchee]!") + to_chat(puncher, SPAN_DANGER("You [picked_hit_type] [punchee]!")) /datum/martial_art/muscle_implant/proc/emp_act(severity, mob/owner) is_emped = TRUE - to_chat(owner, "Your arms spasm wildly!") + to_chat(owner, SPAN_DANGER("Your arms spasm wildly!")) addtimer(CALLBACK(src, PROC_REF(reboot), owner), (18 / severity) SECONDS) /datum/martial_art/muscle_implant/proc/reboot(mob/owner) is_emped = FALSE - to_chat(owner, "Your arms stop spasming.") + to_chat(owner, SPAN_DANGER("Your arms stop spasming.")) diff --git a/code/modules/martial_arts/sleeping_carp.dm b/code/modules/martial_arts/sleeping_carp.dm index d3af7191459..acbff34bc34 100644 --- a/code/modules/martial_arts/sleeping_carp.dm +++ b/code/modules/martial_arts/sleeping_carp.dm @@ -13,8 +13,8 @@ MARTIAL_ARTS_ACT_CHECK A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) var/atk_verb = pick("punches", "kicks", "chops", "hits", "slams") - D.visible_message("[A] [atk_verb] [D]!", - "[A] [atk_verb] you!") + D.visible_message(SPAN_DANGER("[A] [atk_verb] [D]!"), + SPAN_USERDANGER("[A] [atk_verb] you!")) D.apply_damage(rand(10, 15), BRUTE, A.zone_selected) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) add_attack_logs(A, D, "Melee attacked with martial-art [src] : Punched", ATKLOG_ALL) diff --git a/code/modules/martial_arts/torque_enhancer.dm b/code/modules/martial_arts/torque_enhancer.dm index 05deda917b5..ebdda643d6e 100644 --- a/code/modules/martial_arts/torque_enhancer.dm +++ b/code/modules/martial_arts/torque_enhancer.dm @@ -34,7 +34,7 @@ if(attack_sound) playsound(get_turf(D), attack_sound, 50, TRUE, -1) - D.visible_message("[A] [picked_hit_type] [D]!", \ - "[A] [picked_hit_type] you!") + D.visible_message(SPAN_DANGER("[A] [picked_hit_type] [D]!"), \ + SPAN_USERDANGER("[A] [picked_hit_type] you!")) add_attack_logs(A, D, "Melee attacked with [src]") return TRUE diff --git a/code/modules/martial_arts/wrestling.dm b/code/modules/martial_arts/wrestling.dm index 9b551e762b1..0b60fd2a283 100644 --- a/code/modules/martial_arts/wrestling.dm +++ b/code/modules/martial_arts/wrestling.dm @@ -13,18 +13,18 @@ var/obj/item/grab/G = A.get_active_hand() if(G && prob(50)) G.state = GRAB_AGGRESSIVE - D.visible_message("[A] has [D] in a clinch!", \ - "[A] has [D] in a clinch!") + D.visible_message(SPAN_DANGER("[A] has [D] in a clinch!"), \ + SPAN_USERDANGER("[A] has [D] in a clinch!")) else - D.visible_message("[A] fails to get [D] in a clinch!", \ - "[A] fails to get [D] in a clinch!") + D.visible_message(SPAN_DANGER("[A] fails to get [D] in a clinch!"), \ + SPAN_USERDANGER("[A] fails to get [D] in a clinch!")) return 1 /datum/martial_art/wrestling/proc/Suplex(mob/living/carbon/human/A, mob/living/carbon/human/D) - D.visible_message("[A] suplexes [D]!", \ - "[A] suplexes [D]!") + D.visible_message(SPAN_DANGER("[A] suplexes [D]!"), \ + SPAN_USERDANGER("[A] suplexes [D]!")) D.forceMove(A.loc) var/armor_block = D.run_armor_check(armor_type = MELEE) D.apply_damage(30, BRUTE, null, armor_block) @@ -50,8 +50,8 @@ /datum/martial_art/wrestling/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) D.grabbedby(A,1) - D.visible_message("[A] holds [D] down!", \ - "[A] holds [D] down!") + D.visible_message(SPAN_DANGER("[A] holds [D] down!"), \ + SPAN_USERDANGER("[A] holds [D] down!")) var/obj/item/organ/external/affecting = D.get_organ(ran_zone(A.zone_selected)) var/armor_block = D.run_armor_check(affecting, MELEE) D.apply_damage(10, STAMINA, affecting, armor_block) @@ -63,6 +63,6 @@ /datum/martial_art/wrestling/explaination_combos(user) . = ..() - to_chat(user, "Clinch: Grab. Passively gives you a chance to immediately aggressively grab someone. Not always successful.") - to_chat(user, "Suplex: Disarm someone you are grabbing. Suplexes your target to the floor. Greatly injures them and leaves both you and your target on the floor.") - to_chat(user, "Advanced grab: Grab. Passively causes stamina damage when grabbing someone.") + to_chat(user, "[SPAN_NOTICE("Clinch")]: Grab. Passively gives you a chance to immediately aggressively grab someone. Not always successful.") + to_chat(user, "[SPAN_NOTICE("Suplex")]: Disarm someone you are grabbing. Suplexes your target to the floor. Greatly injures them and leaves both you and your target on the floor.") + to_chat(user, "[SPAN_NOTICE("Advanced grab")]: Grab. Passively causes stamina damage when grabbing someone.") diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm index e5a505da8e0..d9a66159a8d 100644 --- a/code/modules/mining/abandonedcrates.dm +++ b/code/modules/mining/abandonedcrates.dm @@ -20,18 +20,18 @@ /obj/structure/closet/crate/secure/loot/attack_hand(mob/user) 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 = clean_input("Enter [codelen] digits.", "Deca-Code Lock", "") if(in_range(src, user)) if(input == code) - to_chat(user, "The crate unlocks!") + to_chat(user, SPAN_NOTICE("The crate unlocks!")) locked = FALSE overlays.Cut() overlays += "securecrateg" else if(input == null || length(input) != 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) @@ -45,11 +45,11 @@ boom(user) return ITEM_INTERACT_COMPLETE if(istype(W, /obj/item/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 var/cows = 0 @@ -66,7 +66,7 @@ else ++cows - to_chat(user, "Last code attempt had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.") + to_chat(user, SPAN_NOTICE("Last code attempt had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.")) return ITEM_INTERACT_COMPLETE return ..() diff --git a/code/modules/mining/bridge_capsule.dm b/code/modules/mining/bridge_capsule.dm index 454bc862b8d..6e37e31a19b 100644 --- a/code/modules/mining/bridge_capsule.dm +++ b/code/modules/mining/bridge_capsule.dm @@ -11,20 +11,20 @@ /obj/item/bridge_capsule/examine(mob/user) . = ..() - . += "To use, activate it in-hand and throw it between the middle of the two areas you are trying to bridge." - . += "For best results, ensure the land on both sides of the span are smooth." + . += SPAN_NOTICE("To use, activate it in-hand and throw it between the middle of the two areas you are trying to bridge.") + . += SPAN_NOTICE("For best results, ensure the land on both sides of the span are smooth.") /obj/item/bridge_capsule/throw_at(atom/target, range, speed, mob/thrower, spin, diagonals_first, datum/callback/callback, force, dodgeable) . = ..() if(used) ADD_TRAIT(src, TRAIT_FLYING, "[UID()]") thrown_dir = get_dir(thrower, target) - to_chat(thrower, "[src] hovers above the ground as it prepares to deploy...") + to_chat(thrower, SPAN_NOTICE("[src] hovers above the ground as it prepares to deploy...")) /obj/item/bridge_capsule/activate_self(mob/user) . = ..() if(!used) - loc.visible_message("[src] begins to shake. Stand back!") + loc.visible_message(SPAN_WARNING("[src] begins to shake. Stand back!")) used = TRUE addtimer(CALLBACK(src, PROC_REF(deploy)), 5 SECONDS) @@ -34,12 +34,12 @@ /obj/item/bridge_capsule/proc/deploy() if(ismob(loc)) - to_chat(loc, "[src] stops shaking. Looks like it needs to be thrown to deploy.") + to_chat(loc, SPAN_NOTICE("[src] stops shaking. Looks like it needs to be thrown to deploy.")) used = FALSE return if(istype(loc, SSmapping.lavaland_theme?.primary_turf_type)) - loc.visible_message("[src] suddenly bursts!") + loc.visible_message(SPAN_WARNING("[src] suddenly bursts!")) var/obj/effect/spawner/dynamic_bridge/capsule/spawner = new(loc, thrown_dir) var/result = spawner.attempt_bridge() var/fail_message = "[src] buzzes loudly and falls to the ground!" @@ -47,20 +47,20 @@ if(BRIDGE_SPAWN_SUCCESS) qdel(src) if(BRIDGE_SPAWN_BAD_TERRAIN) - loc.visible_message("[fail_message] It looks like the terrain here is too uneven for a bridge.") + loc.visible_message(SPAN_WARNING("[fail_message] It looks like the terrain here is too uneven for a bridge.")) stop_flying() if(BRIDGE_SPAWN_TOO_NARROW) - loc.visible_message("[fail_message] It looks like the span here is too narrow.") + loc.visible_message(SPAN_WARNING("[fail_message] It looks like the span here is too narrow.")) stop_flying() if(BRIDGE_SPAWN_TOO_WIDE) - loc.visible_message("[fail_message] It looks like the span here is too wide.") + loc.visible_message(SPAN_WARNING("[fail_message] It looks like the span here is too wide.")) stop_flying() qdel(spawner) return stop_flying() - to_chat(loc, "[src] flutters to the ground, refusing to deploy. Maybe you can't do that here?") + to_chat(loc, SPAN_NOTICE("[src] flutters to the ground, refusing to deploy. Maybe you can't do that here?")) /obj/item/bridge_capsule/proc/stop_flying() REMOVE_TRAIT(src, TRAIT_FLYING, "[UID()]") diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 9a3fc0c344d..58326b63ac5 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -73,9 +73,9 @@ var/mob/living/carbon/C = loc if(istype(C) && prob(2)) //cursed by bubblegum if(prob(15)) - 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/hardmode_grenade.dm b/code/modules/mining/equipment/hardmode_grenade.dm index ffa082a1470..5945e33c5ca 100644 --- a/code/modules/mining/equipment/hardmode_grenade.dm +++ b/code/modules/mining/equipment/hardmode_grenade.dm @@ -8,7 +8,7 @@ playsound(loc, 'sound/effects/empulse.ogg', 50, TRUE) for(var/mob/living/simple_animal/hostile/megafauna/M in range(7, src)) M.enrage() - visible_message("[M] begins to wake up as the nanomachines enter them, it looks pissed!") + visible_message(SPAN_USERDANGER("[M] begins to wake up as the nanomachines enter them, it looks pissed!")) qdel(src) /obj/item/paper/hardmode diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 7620fee18d1..3a9af793b4a 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -48,13 +48,13 @@ /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].") if(length(trophies)) - . += "You can use a crowbar on it to remove its attached trophies." + . += SPAN_NOTICE("You can use a crowbar on it to remove its attached trophies.") 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__legacy__attackchain(obj/item/I, mob/living/user) if(istype(I, /obj/item/crusher_trophy)) @@ -68,16 +68,16 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(LAZYLEN(trophies)) - to_chat(user, "You remove [src]'s trophies.") + to_chat(user, SPAN_NOTICE("You remove [src]'s trophies.")) 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].")) /obj/item/kinetic_crusher/attack__legacy__attackchain(mob/living/target, mob/living/carbon/user) if(!HAS_TRAIT(src, TRAIT_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_r_hand() user.drop_l_hand() return @@ -113,9 +113,9 @@ if(user.has_status_effect(STATUS_EFFECT_DASH) && user.a_intent == INTENT_HELP) if(user.throw_at(target, range = 3, speed = 3, spin = FALSE, diagonals_first = TRUE)) playsound(src, 'sound/effects/stealthoff.ogg', 50, TRUE, 1) - user.visible_message("[user] dashes!") + user.visible_message(SPAN_WARNING("[user] dashes!")) else - to_chat(user, "Something prevents you from dashing!") + to_chat(user, SPAN_WARNING("Something prevents you from dashing!")) user.remove_status_effect(STATUS_EFFECT_DASH) return if(!proximity_flag && charged)//Mark a target, or mine a tile. @@ -189,7 +189,7 @@ /obj/item/kinetic_crusher/extinguish_light() if(light_on) toggle_light() - visible_message("[src]'s light fades and turns off.") + visible_message(SPAN_DANGER("[src]'s light fades and turns off.")) /obj/item/kinetic_crusher/update_icon_state() inhand_icon_state = "[icon_state][HAS_TRAIT(src, TRAIT_WIELDED)]" @@ -229,7 +229,7 @@ var/target_turf = get_turf(target) if(ismineralturf(target_turf)) if(is_ancient_rock(target_turf)) - visible_message("This rock appears to be resistant to all mining tools except pickaxes!") + visible_message(SPAN_NOTICE("This rock appears to be resistant to all mining tools except pickaxes!")) else var/turf/simulated/mineral/M = target_turf new /obj/effect/temp_visual/kinetic_blast(M) @@ -247,7 +247,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" @@ -262,13 +262,13 @@ 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.unequip(src)) return forceMove(H) 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 6b3dad0aaf5..36619631580 100644 --- a/code/modules/mining/equipment/lazarus_injector.dm +++ b/code/modules/mining/equipment/lazarus_injector.dm @@ -20,15 +20,15 @@ if(isliving(target)) var/mob/living/L = target if(L.stat != DEAD) - to_chat(user, "[src] is only effective on the dead.") + to_chat(user, SPAN_NOTICE("[src] is only effective on the dead.")) return ITEM_INTERACT_COMPLETE if(!isanimal_or_basicmob(target)) - to_chat(user, "[src] is only effective on lesser beings.") + to_chat(user, SPAN_NOTICE("[src] is only effective on lesser beings.")) return ITEM_INTERACT_COMPLETE 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_NOTICE("[src] does not work on this sort of creature.")) return ITEM_INTERACT_COMPLETE M.lazarus_revive(user, malfunctioning) if(ishostile(target)) // Handling for simple mobs to make them not angry anymore @@ -46,11 +46,11 @@ if(isbasicmob(target)) var/mob/living/basic/M = target if(M.sentience_type != revive_type) - to_chat(user, "[src] does not work on this sort of creature.") + to_chat(user, SPAN_NOTICE("[src] does not work on this sort of creature.")) return ITEM_INTERACT_COMPLETE M.lazarus_revive(user, malfunctioning) loaded = 0 - user.visible_message("[user] injects [target] with [src], reviving it.") + user.visible_message(SPAN_NOTICE("[user] injects [target] with [src], reviving it.")) playsound(src,'sound/effects/refill.ogg', 50, TRUE) icon_state = "lazarus_empty" return ITEM_INTERACT_COMPLETE @@ -58,7 +58,7 @@ /obj/item/lazarus_injector/emag_act(mob/user) if(!malfunctioning) malfunctioning = 1 - to_chat(user, "You override [src]'s safety protocols.") + to_chat(user, SPAN_NOTICE("You override [src]'s safety protocols.")) return TRUE /obj/item/lazarus_injector/emp_act() @@ -68,9 +68,9 @@ /obj/item/lazarus_injector/examine(mob/user) . = ..() if(!loaded) - . += "[src] is empty." + . += SPAN_NOTICE("[src] is empty.") if(malfunctioning) - . += "The display on [src] seems to be flickering." + . += SPAN_NOTICE("The display on [src] seems to be flickering.") /*********************Mob Capsule*************************/ @@ -107,7 +107,7 @@ /obj/item/mobcapsule/proc/capture(mob/living/animal, mob/living/user) if(captured) - to_chat(user, "Capture failed!: The capsule already has a mob registered to it!") + to_chat(user, "[SPAN_NOTICE("Capture failed!")]: The capsule already has a mob registered to it!") else if("neutral" in animal.faction) animal.forceMove(src) @@ -118,7 +118,7 @@ animal.name = "[user.name]'s [initial(animal.name)]" name = "Lazarus Capsule: [initial(animal.name)]" animal.cancel_camera() - to_chat(user, "You placed a [animal.name] inside the Lazarus Capsule!") + to_chat(user, SPAN_NOTICE("You placed a [animal.name] inside the Lazarus Capsule!")) captured = animal else to_chat(user, "You can't capture that mob!") diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index c59b1a44e68..cc4928ae79b 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -41,21 +41,21 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list( /obj/item/stack/marker_beacon/examine(mob/user) . = ..() - . += "Use in-hand to place a [singular_name]." - . += "Alt-click to select a color. Current color is [picked_color]." + . += SPAN_NOTICE("Use in-hand to place a [singular_name].") + . += SPAN_NOTICE("Alt-click to select a color. Current color is [picked_color].") /obj/item/stack/marker_beacon/update_icon_state() icon_state = "[base_icon_state][lowertext(picked_color)]" /obj/item/stack/marker_beacon/attack_self__legacy__attackchain(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, 1) var/obj/structure/marker_beacon/M = new(user.loc, picked_color) transfer_fingerprints_to(M) @@ -100,7 +100,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list( /obj/structure/marker_beacon/examine(mob/user) . = ..() if(picked_color) - . += "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_icon_state() while(!picked_color || !GLOB.marker_beacon_colors[picked_color]) @@ -113,9 +113,9 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list( if(.) return if(user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return - 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 @@ -128,7 +128,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list( /obj/structure/marker_beacon/item_interaction(mob/living/user, obj/item/I, list/modifiers) 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, 1) diff --git a/code/modules/mining/equipment/mining_charges.dm b/code/modules/mining/equipment/mining_charges.dm index 53704160d5d..30b61febfc6 100644 --- a/code/modules/mining/equipment/mining_charges.dm +++ b/code/modules/mining/equipment/mining_charges.dm @@ -22,9 +22,9 @@ /obj/item/grenade/plastic/miningcharge/examine(mob/user) . = ..() if(hacked) - . += "Its wiring is haphazardly changed." + . += SPAN_WARNING("Its wiring is haphazardly changed.") if(timer_off) - . += "The mining charge is connected to a detonator." + . += SPAN_NOTICE("The mining charge is connected to a detonator.") /obj/item/grenade/plastic/miningcharge/attack_self__legacy__attackchain(mob/user) if(nadeassembly) @@ -34,7 +34,7 @@ if(!ismineralturf(AM) && !hacked) return if(is_ancient_rock(AM) && !hacked) - to_chat(user, "This rock appears to be resistant to all mining tools except pickaxes!") + to_chat(user, SPAN_NOTICE("This rock appears to be resistant to all mining tools except pickaxes!")) return if(!timer_off) //override original proc for plastic explosions return ..() @@ -42,7 +42,7 @@ return if(iscarbon(AM)) return - to_chat(user, "You start planting [src].") + to_chat(user, SPAN_NOTICE("You start planting [src].")) if(!do_after(user, (2.5 SECONDS) * toolspeed, target = AM)) return if(!user.unequip(src)) @@ -60,11 +60,11 @@ return var/obj/item/detonator/detonator = I if((src in detonator.bombs) || timer_off) - to_chat(user, "[src] was already synchronized to a existing detonator!") + to_chat(user, SPAN_WARNING("[src] was already synchronized to a existing detonator!")) return detonator.bombs += src timer_off = TRUE - to_chat(user, "You synchronize [src] to [I].") + to_chat(user, SPAN_NOTICE("You synchronize [src] to [I].")) playsound(src, 'sound/machines/twobeep.ogg', 50) detonator.update_icon() @@ -94,7 +94,7 @@ var/obj/item/organ/internal/ears/ears = C.get_int_organ(/obj/item/organ/internal/ears) if(istype(ears) && C.check_ear_prot() < HEARING_PROTECTION_MINOR) //headsets should be enough to avoid taking damage ears.receive_damage((boom_sizes[3] - distance) * 2) //something like that i guess. Mega charge makes 12 damage to ears if nearby - to_chat(C, "You are knocked down by the power of the mining charge!") + to_chat(C, SPAN_USERDANGER("You are knocked down by the power of the mining charge!")) qdel(src) /obj/item/grenade/plastic/miningcharge/proc/explode() @@ -155,24 +155,24 @@ /obj/item/t_scanner/adv_mining_scanner/syndicate/examine(mob/user) . = ..() - . += "This scanner has an extra port for overriding mining charge safeties." + . += SPAN_NOTICE("This scanner has an extra port for overriding mining charge safeties.") /obj/item/t_scanner/adv_mining_scanner/syndicate/afterattack__legacy__attackchain(atom/target, mob/user, proximity_flag, click_parameters) if(!istype(target, /obj/item/grenade/plastic/miningcharge)) return var/obj/item/grenade/plastic/miningcharge/charge = target if(charge.hacked) - to_chat(user, "[src] is already overridden!") + to_chat(user, SPAN_NOTICE("[src] is already overridden!")) return if(charges <= 0) - to_chat(user, "Its overriding function is depleted.") + to_chat(user, SPAN_NOTICE("Its overriding function is depleted.")) return charge.override_safety() - visible_message("Sparks fly out of [src]!") + visible_message(SPAN_WARNING("Sparks fly out of [src]!")) playsound(src, "sparks", 50, TRUE) charges-- if(charges <= 0) - to_chat(user, "[src]'s internal battery for overriding mining charges has run dry!") + to_chat(user, SPAN_WARNING("[src]'s internal battery for overriding mining charges has run dry!")) // MINING CHARGES DETONATOR @@ -189,9 +189,9 @@ /obj/item/detonator/examine(mob/user) . = ..() if(length(bombs)) - . += "List of synched bombs:" + . += SPAN_NOTICE("List of synched bombs:") for(var/obj/item/grenade/plastic/miningcharge/charge in bombs) - . += "[bicon(charge)] [charge]. Current status: [charge.installed ? "ready to detonate" : "ready to deploy"]." + . += SPAN_NOTICE("[bicon(charge)] [charge]. Current status: [charge.installed ? "ready to detonate" : "ready to deploy"].") /obj/item/detonator/update_icon() . = ..() @@ -203,7 +203,7 @@ /obj/item/detonator/attack_self__legacy__attackchain(mob/user) playsound(src, 'sound/items/detonator.ogg', 40) if(length(bombs)) - to_chat(user, "Activating explosives...") + to_chat(user, SPAN_NOTICE("Activating explosives...")) for(var/obj/item/grenade/plastic/miningcharge/charge in bombs) if(QDELETED(charge)) bombs -= charge @@ -214,5 +214,5 @@ charge.detonate() update_icon() else - to_chat(user, "There are no charges linked to a detonator!") + to_chat(user, SPAN_WARNING("There are no charges linked to a detonator!")) return ..() diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index c8c778ce896..ea8b93e260d 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -11,11 +11,11 @@ . = ..() var/obj/item/organ/internal/regenerative_core/C = M if(!istype(C, /obj/item/organ/internal/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 [M] with the stabilizer. It will no longer go inert.") + to_chat(user, SPAN_NOTICE("You inject [M] with the stabilizer. It will no longer go inert.")) qdel(src) /************************Hivelord core*******************/ @@ -59,7 +59,7 @@ /obj/item/organ/internal/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() 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()]!") 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, core_type) user.drop_item() @@ -102,11 +102,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/internal/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 2a9b09f797b..46e6d1618f3 100644 --- a/code/modules/mining/equipment/resonator.dm +++ b/code/modules/mining/equipment/resonator.dm @@ -21,10 +21,10 @@ /obj/item/resonator/attack_self__legacy__attackchain(mob/user) if(mode == RESONATOR_MODE_AUTO) - to_chat(user, "You set the [name]'s fields to detonate only after you hit it with [src].") + to_chat(user, SPAN_NOTICE("You set the [name]'s fields to detonate only after you hit it with [src].")) mode = RESONATOR_MODE_MANUAL else - to_chat(user, "You set [src]'s fields to detonate after 2 seconds.") + to_chat(user, SPAN_NOTICE("You set [src]'s fields to detonate after 2 seconds.")) mode = RESONATOR_MODE_AUTO /obj/item/resonator/upgraded @@ -37,13 +37,13 @@ /obj/item/resonator/upgraded/attack_self__legacy__attackchain(mob/user) if(mode == RESONATOR_MODE_AUTO) - to_chat(user, "You set [src]'s fields to detonate only after being attacked by [src].") + to_chat(user, SPAN_NOTICE("You set [src]'s fields to detonate only after being attacked by [src].")) mode = RESONATOR_MODE_MANUAL else if(mode == RESONATOR_MODE_MANUAL) - to_chat(user, "You set [src]'s fields to work as matrix traps.") + to_chat(user, SPAN_NOTICE("You set [src]'s fields to work as matrix traps.")) mode = RESONATOR_MODE_MATRIX else - to_chat(user, "You set [src]'s fields to detonate automatically after 2 seconds.") + to_chat(user, SPAN_NOTICE("You set [src]'s fields to detonate automatically after 2 seconds.")) mode = RESONATOR_MODE_AUTO /obj/item/resonator/proc/create_resonance(target, mob/user) @@ -137,7 +137,7 @@ var/turf/simulated/mineral/mineral_turf = src_turf if(is_ancient_rock(mineral_turf)) failure_prob = 100 // rock too strong for resonance field - visible_message("This rock appears to be resistant to all mining tools except pickaxes!") + visible_message(SPAN_NOTICE("This rock appears to be resistant to all mining tools except pickaxes!")) else mineral_turf.gets_drilled(creator) check_pressure(src_turf) @@ -145,7 +145,7 @@ for(var/mob/living/attacked_living in src_turf) if(creator) log_attack(creator, attacked_living, "used a resonator field on", "resonator") - to_chat(attacked_living, "[src] ruptured with you in it!") + to_chat(attacked_living, SPAN_DANGER("[src] ruptured with you in it!")) attacked_living.apply_damage(resonance_damage, BRUTE) for(var/obj/effect/temp_visual/resonance/field in orange(1, src)) if(field.rupturing) diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index 7076fe25fd9..ff510592c2f 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -19,10 +19,10 @@ /obj/item/survivalcapsule/emag_act() if(!emagged) - to_chat(usr, "You short out the safeties, allowing it to be placed in the station sector.") + to_chat(usr, SPAN_WARNING("You short out the safeties, allowing it to be placed in the station sector.")) emagged = TRUE return TRUE - to_chat(usr, "The safeties are already shorted out!") + to_chat(usr, SPAN_WARNING("The safeties are already shorted out!")) /obj/item/survivalcapsule/proc/get_template() if(template) @@ -45,24 +45,24 @@ // Can't grab when capsule is New() because templates aren't loaded then get_template() if(!used) - loc.visible_message("[src] begins to shake. Stand back!") + loc.visible_message(SPAN_WARNING("[src] begins to shake. Stand back!")) used = TRUE sleep(50) var/turf/deploy_location = get_turf(src) var/status = template.check_deploy(deploy_location) var/turf/UT = get_turf(usr) if((UT.z == level_name_to_num(MAIN_STATION)) && !emagged) - to_chat(usr, "Error. Deployment was attempted on the station sector. Deployment aborted.") + to_chat(usr, SPAN_NOTICE("Error. Deployment was attempted on the station sector. Deployment aborted.")) playsound(usr, 'sound/machines/terminal_error.ogg', 15, TRUE) used = FALSE return switch(status) if(SHELTER_DEPLOY_BAD_AREA) - loc.visible_message("[src] will not function in this area.") + loc.visible_message(SPAN_WARNING("[src] will not function in this area.")) if(SHELTER_DEPLOY_BAD_TURFS, SHELTER_DEPLOY_ANCHORED_OBJECTS) var/width = template.width var/height = template.height - loc.visible_message("[src] doesn't have room to deploy! You need to clear a [width]x[height] area!") + loc.visible_message(SPAN_WARNING("[src] doesn't have room to deploy! You need to clear a [width]x[height] area!")) if(status != SHELTER_DEPLOY_ALLOWED) used = FALSE @@ -240,12 +240,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/vending/wallmed/survival_pod, /obj/item/gps/computer/wrench_act(mob/living/user, obj/item/I) . = TRUE - user.visible_message("[user] starts to disassemble [src].", \ - "You start to disassemble [src]...", "You hear clanking and banging noises.") + user.visible_message(SPAN_WARNING("[user] starts to disassemble [src]."), \ + SPAN_NOTICE("You start to disassemble [src]..."), "You hear clanking and banging noises.") if(!I.use_tool(src, user, 2 SECONDS, 0, 50)) return - user.visible_message("[user] disassembles [src].", \ - "You disassemble [src].", "You hear clanking and banging noises.") + user.visible_message(SPAN_WARNING("[user] disassembles [src]."), \ + SPAN_NOTICE("You disassemble [src]."), "You hear clanking and banging noises.") new /obj/item/gps(loc) qdel(src) @@ -336,12 +336,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/vending/wallmed/survival_pod, /obj/structure/fans/wrench_act(mob/living/user, obj/item/I) . = TRUE - user.visible_message("[user] starts to disassemble [src].", \ - "You start to disassemble [src]...", "You hear clanking and banging noises.") + user.visible_message(SPAN_WARNING("[user] starts to disassemble [src]."), \ + SPAN_NOTICE("You start to disassemble [src]..."), "You hear clanking and banging noises.") if(!I.use_tool(src, user, 2 SECONDS, volume = 50)) return - user.visible_message("[user] disassembles [src].", \ - "You disassemble [src].", "You hear something fall on the floor.") + user.visible_message(SPAN_WARNING("[user] disassembles [src]."), \ + SPAN_NOTICE("You disassemble [src]."), "You hear something fall on the floor.") deconstruct() /obj/structure/fans/tiny @@ -382,8 +382,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/vending/wallmed/survival_pod, /obj/structure/tubes/wrench_act(mob/living/user, obj/item/W) . = 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]..."), "You hear clanking and banging noises.") if(!W.use_tool(src, user, 2 SECONDS, volume = 50)) return new /obj/item/stack/rods(loc) diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm index 9ac3ce4c647..b0970a6abd8 100644 --- a/code/modules/mining/equipment/wormhole_jaunter.dm +++ b/code/modules/mining/equipment/wormhole_jaunter.dm @@ -16,14 +16,14 @@ GLOBAL_LIST_EMPTY(wormhole_effect) slot_flags = ITEM_SLOT_BELT /obj/item/wormhole_jaunter/attack_self__legacy__attackchain(mob/user) - user.visible_message("[user.name] activates the [name]!") + user.visible_message(SPAN_NOTICE("[user.name] activates the [name]!")) activate(user, TRUE) /obj/item/wormhole_jaunter/proc/turf_check(mob/user) var/turf/device_turf = get_turf(user) var/area/our_area = get_area(device_turf) if(!device_turf || !is_teleport_allowed(device_turf.z) || our_area.tele_proof) - to_chat(user, "You're having difficulties getting the [name] to work.") + to_chat(user, SPAN_NOTICE("You're having difficulties getting the [name] to work.")) return FALSE return TRUE @@ -43,7 +43,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect) var/list/L = get_destinations(user) if(!length(L)) - to_chat(user, "[src] found no beacons in the world to anchor a wormhole to.") + to_chat(user, SPAN_NOTICE("[src] 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), chosen_beacon, src, 100, user) @@ -65,7 +65,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect) /obj/item/wormhole_jaunter/emag_act(mob/user) if(!emagged) emagged = TRUE - to_chat(user, "You emag [src].") + to_chat(user, SPAN_NOTICE("You emag [src].")) var/turf/T = get_turf(src) do_sparks(5, FALSE, T) playsound(T, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) @@ -104,7 +104,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect) /obj/item/wormhole_jaunter/contractor/examine(mob/user) . = ..() - . += "You can Alt-Click [src] to change its destination!" + . += SPAN_NOTICE("You can Alt-Click [src] to change its destination!") /obj/item/wormhole_jaunter/contractor/AltClick(mob/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) @@ -138,17 +138,17 @@ GLOBAL_LIST_EMPTY(wormhole_effect) if(!turf_check(user)) return if(istype(get_area(src), /area/ruin/space/telecomms)) //It should work in the depot, because it's syndicate, but I don't want someone lighting the flare in the middle of telecomms and calling it a day. - to_chat(user, "Error! Unknown jamming system blocking teleportation in this area!") + to_chat(user, SPAN_WARNING("Error! Unknown jamming system blocking teleportation in this area!")) return if(!destination) var/list/L = get_destinations(user) if(!length(L)) - to_chat(user, "[src] found no beacons in the sector to target.") + to_chat(user, SPAN_WARNING("[src] found no beacons in the sector to target.")) return destination = pick(L) var/obj/effect/temp_visual/getaway_flare/F = new(get_turf(src)) - user.visible_message("[user] pulls out a black and gold flare and lights it.",\ - "You light an emergency extraction flare, initiating the extraction process.") + user.visible_message(SPAN_NOTICE("[user] pulls out a black and gold flare and lights it."),\ + SPAN_NOTICE("You light an emergency extraction flare, initiating the extraction process.")) user.drop_item() forceMove(F) addtimer(CALLBACK(src, PROC_REF(create_portal), destination), 5 SECONDS) @@ -159,7 +159,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect) qdel(src) /obj/item/wormhole_jaunter/contractor/emag_act(mob/user) - to_chat(user, "Emagging [src] has no effect.") + to_chat(user, SPAN_WARNING("Emagging [src] has no effect.")) /obj/item/wormhole_jaunter/contractor/chasm_react(mob/user) return //This is not an instant getaway portal like the jaunter @@ -267,7 +267,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect) if(!emp_inflicted) playsound(loc, 'sound/machines/shut_down.ogg', 50, TRUE) - visible_message("A malfunction detected in the weaver's subsystems. Initiating safety protocols.") + visible_message(SPAN_WARNING("A malfunction detected in the weaver's subsystems. Initiating safety protocols.")) emp_inflicted = TRUE inactive = TRUE icon_state = icon_state_inactive @@ -276,13 +276,13 @@ GLOBAL_LIST_EMPTY(wormhole_effect) for(var/obj/effect/temp_visual/thunderbolt_targeting/wormhole_weaver/E in GLOB.wormhole_effect) if(E) qdel(E) - visible_message("Wormhole marker disappears!") + visible_message(SPAN_WARNING("Wormhole marker disappears!")) do_sparks(5, FALSE, wormhole_loc) /obj/item/wormhole_jaunter/wormhole_weaver/proc/prepare_foractivation(mob/user) if(do_after(user, 3 SECONDS, target = src)) playsound(loc, 'sound/machines/twobeep.ogg', 50, TRUE) - to_chat(user, "The weaver is now ready for use.") + to_chat(user, SPAN_NOTICE("The weaver is now ready for use.")) inactive = FALSE emp_inflicted = FALSE currently_reactivating = FALSE @@ -301,12 +301,12 @@ GLOBAL_LIST_EMPTY(wormhole_effect) /obj/item/wormhole_jaunter/wormhole_weaver/activate(mob/user) if(wcell.charge < chargecost) - to_chat(user, "Device isn't charged enough to be used at this time.") + to_chat(user, SPAN_WARNING("Device isn't charged enough to be used at this time.")) return if(inactive || emp_inflicted) if(currently_reactivating) - to_chat(user, "You are already reactivating the device!") + to_chat(user, SPAN_WARNING("You are already reactivating the device!")) return currently_reactivating = TRUE prepare_foractivation(user) @@ -314,7 +314,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect) var/list/C = get_destinations(user) if(!length(C)) - to_chat(user, "[src] found no beacons in the world to anchor a wormhole to.") + to_chat(user, SPAN_NOTICE("[src] found no beacons in the world to anchor a wormhole to.")) return if(menu_open) @@ -350,8 +350,8 @@ GLOBAL_LIST_EMPTY(wormhole_effect) new /obj/effect/temp_visual/thunderbolt_targeting/wormhole_weaver(wormhole_loc) destination = L[desc] user.visible_message( - "[user] pulls out a black colored device and points it to the floor.", - "You activate the wormhole weaver, it will take some time until device assembles a wormhole link." + SPAN_NOTICE("[user] pulls out a black colored device and points it to the floor."), + SPAN_NOTICE("You activate the wormhole weaver, it will take some time until device assembles a wormhole link.") ) wcell.use(chargecost) icon_state = icon_state_inactive @@ -375,7 +375,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect) return /obj/item/wormhole_jaunter/wormhole_weaver/emag_act(mob/user) - to_chat(user, "Emagging [src] has no effect.") + to_chat(user, SPAN_WARNING("Emagging [src] has no effect.")) /obj/effect/temp_visual/thunderbolt_targeting/wormhole_weaver duration = 5 SECONDS @@ -400,7 +400,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect) /obj/item/wormhole_jaunter/wormhole_weaver/examine(mob/user) . = ..() - . += "Device currently has [chargecost > wcell.charge ? "insufficient" : "sufficient"] power. You can recharge it with a recharger." + . += SPAN_NOTICE("Device currently has [chargecost > wcell.charge ? "insufficient" : "sufficient"] power. You can recharge it with a recharger.") /obj/item/wormhole_jaunter/wormhole_weaver/Destroy() QDEL_NULL(wcell) diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm index e0b0d3e106e..d4804e2db1b 100644 --- a/code/modules/mining/fulton.dm +++ b/code/modules/mining/fulton.dm @@ -52,32 +52,32 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) user.do_attack_animation(A) user.changeNext_move(CLICK_CD_MELEE) 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 ITEM_INTERACT_COMPLETE 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 ITEM_INTERACT_COMPLETE if(area.tele_proof || !is_teleport_allowed(A.z)) - to_chat(user, "Bluespace distortions prevent the fulton from inflating!") + to_chat(user, SPAN_WARNING("Bluespace distortions prevent the fulton from inflating!")) return ITEM_INTERACT_COMPLETE if(!istype(A)) return ITEM_INTERACT_COMPLETE 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 ITEM_INTERACT_COMPLETE if(!isturf(A.loc)) // no extracting stuff inside other stuff return ITEM_INTERACT_COMPLETE if(A.anchored || (A.move_resist > max_force_fulton)) return ITEM_INTERACT_COMPLETE if(ismegafauna(A)) - to_chat(user, "[src] is too heavy to retrieve!") + to_chat(user, SPAN_WARNING("[src] is too heavy to retrieve!")) return ITEM_INTERACT_COMPLETE - 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.")) user.equip_to_slot_if_possible(src, ITEM_SLOT_IN_BACKPACK, FALSE, TRUE) uses_left-- if(uses_left <= 0) @@ -131,7 +131,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) continue flooring_near_beacon += floor if(!length(flooring_near_beacon)) - to_chat(user, "Your fulton pack slowly brings you back down, it seems that the linked beacon has stopped functioning!") + to_chat(user, SPAN_NOTICE("Your fulton pack slowly brings you back down, it seems that the linked beacon has stopped functioning!")) flooring_near_beacon = get_turf(user) holder_obj.forceMove(pick(flooring_near_beacon)) animate(holder_obj, pixel_z = 10, time = 50) diff --git a/code/modules/mining/gravestones.dm b/code/modules/mining/gravestones.dm index 8427318f41d..df0bb80b492 100644 --- a/code/modules/mining/gravestones.dm +++ b/code/modules/mining/gravestones.dm @@ -19,7 +19,7 @@ return var/obj/item/stack/ore/glass/sand_pile = new /obj/item/stack/ore/glass(get_turf(src)) sand_pile.amount = 5 - visible_message("With nowhere to dig, [src] falls apart.") + visible_message(SPAN_DANGER("With nowhere to dig, [src] falls apart.")) // In case somehow something is buried here already dig_up() return INITIALIZE_HINT_QDEL @@ -29,10 +29,10 @@ if(buried && ismob(buried)) . += "Here lies [buried], [headstone_message]." if(buried) - . += "You can dig up [src] with a shovel or other digging tool." + . += SPAN_NOTICE("You can dig up [src] with a shovel or other digging tool.") else - . += "You can bury an object here by clicking on [src] with the object." - . += "You can bury a mob or person here by clicking on [src] with the mob or person strongly grabbed." + . += SPAN_NOTICE("You can bury an object here by clicking on [src] with the object.") + . += SPAN_NOTICE("You can bury a mob or person here by clicking on [src] with the mob or person strongly grabbed.") /obj/structure/grave/update_icon_state() . = ..() @@ -61,34 +61,34 @@ return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/shovel) || istype(used, /obj/item/pickaxe)) - to_chat(user, "You begin to dig up [src] with [used].") + to_chat(user, SPAN_NOTICE("You begin to dig up [src] with [used].")) playsound(loc, 'sound/effects/shovel_dig.ogg', 50, TRUE) if(do_after(user, 10 SECONDS, target = src)) dig_up() return ITEM_INTERACT_COMPLETE if(buried) - to_chat(user, "The grave is already full.") + to_chat(user, SPAN_WARNING("The grave is already full.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/grab)) // Burying Mobs var/obj/item/grab/G = used if(G.state < GRAB_AGGRESSIVE) - to_chat(user, "You need a stronger grip on [G.affecting] to bury [G.affecting.p_them()]!") + to_chat(user, SPAN_DANGER("You need a stronger grip on [G.affecting] to bury [G.affecting.p_them()]!")) return ITEM_INTERACT_COMPLETE if(HAS_TRAIT(user, TRAIT_PACIFISM) && G.affecting.stat != DEAD) - to_chat(user, "Burying [G.affecting] in [src] might hurt [G.affecting.p_them()]!") + to_chat(user, SPAN_DANGER("Burying [G.affecting] in [src] might hurt [G.affecting.p_them()]!")) return ITEM_INTERACT_COMPLETE - visible_message("[user] starts to bury [G.affecting] in [src]!", \ - "[user] starts to bury [G.affecting]!") - to_chat(G.affecting, "[user] is burying you alive!") + visible_message(SPAN_DANGER("[user] starts to bury [G.affecting] in [src]!"), \ + SPAN_USERDANGER("[user] starts to bury [G.affecting]!")) + to_chat(G.affecting, SPAN_USERDANGER("[user] is burying you alive!")) log_admin("[user] started to bury [G.affecting] in [src]") if(do_after(user, 10 SECONDS, target = G.affecting)) log_attack(user, G.affecting, "buried [G.affecting] in [src].") bury(user, G.affecting) else // Burying Objects - visible_message("[user] starts to bury [used] in [src]!", \ - "[user] starts to bury [used]!") + visible_message(SPAN_DANGER("[user] starts to bury [used] in [src]!"), \ + SPAN_USERDANGER("[user] starts to bury [used]!")) if(do_after(user, 10 SECONDS, target = used)) bury(user, used) playsound(loc, 'sound/effects/shovel_dig.ogg', 50, TRUE) @@ -100,7 +100,7 @@ return vacuum /obj/structure/grave/container_resist(mob/living) - to_chat(living, "You begin to dig out of [src]! This will take about 30 seconds.") + to_chat(living, SPAN_DANGER("You begin to dig out of [src]! This will take about 30 seconds.")) if(do_after(living, 30 SECONDS, target = src)) dig_up() @@ -108,7 +108,7 @@ if(isobj(thing_to_bury)) var/obj/bury_me = thing_to_bury if(bury_me.flags & NODROP || !user.transfer_item_to(bury_me, src)) - to_chat(user, "[bury_me] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[bury_me] is stuck to your hand!")) return bury_me.forceMove(src) if(ismob(thing_to_bury)) diff --git a/code/modules/mining/laborcamp/laborshuttle.dm b/code/modules/mining/laborcamp/laborshuttle.dm index d5fda607a6a..c8ccd0a1a5f 100644 --- a/code/modules/mining/laborcamp/laborshuttle.dm +++ b/code/modules/mining/laborcamp/laborshuttle.dm @@ -49,7 +49,7 @@ /obj/machinery/mineral/labor_prisoner_shuttle_console/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/card/id/prisoner)) if(inserted_id_uid) - to_chat(user, "There's an ID inserted already.") + to_chat(user, SPAN_NOTICE("There's an ID inserted already.")) return ITEM_INTERACT_COMPLETE if(!user.drop_item_to_ground(used)) @@ -57,7 +57,7 @@ used.forceMove(src) inserted_id_uid = used.UID() - to_chat(user, "You insert [used].") + to_chat(user, SPAN_NOTICE("You insert [used].")) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE @@ -116,22 +116,22 @@ if("move_shuttle") if(!alone_in_area(get_area(src), ui.user)) - to_chat(ui.user, "Prisoners are only allowed to be released while alone.") + to_chat(ui.user, SPAN_WARNING("Prisoners are only allowed to be released while alone.")) return TRUE switch(SSshuttle.moveShuttle("laborcamp", "laborcamp_home", TRUE, ui.user)) if(1) - to_chat(ui.user, "Shuttle not found.") + to_chat(ui.user, SPAN_NOTICE("Shuttle not found.")) if(2) - to_chat(ui.user, "Shuttle already at station.") + to_chat(ui.user, SPAN_NOTICE("Shuttle already at station.")) if(3) - to_chat(ui.user, "No permission to dock could be granted.") + to_chat(ui.user, SPAN_NOTICE("No permission to dock could be granted.")) else if(!emagged) var/message = "[inserted_id.registered_name] has returned to the station. Minerals and Prisoner ID card ready for retrieval." announcer.autosay(message, "Labor Camp Controller", "Security") sec_record_release(ui.user) - to_chat(ui.user, "Shuttle received message and will be sent shortly.") + to_chat(ui.user, SPAN_NOTICE("Shuttle received message and will be sent shortly.")) ui.user.create_log(MISC_LOG, "used [src] to call the laborcamp shuttle") return TRUE @@ -156,7 +156,7 @@ /obj/machinery/mineral/labor_prisoner_shuttle_console/emag_act(mob/user) if(!emagged) emagged = TRUE - to_chat(user, "PZZTTPFFFT") + to_chat(user, SPAN_WARNING("PZZTTPFFFT")) return TRUE /**********************Point Lookup Console**************************/ @@ -177,15 +177,15 @@ if(istype(used, /obj/item/card/id/prisoner)) var/obj/item/card/id/prisoner/prisoner_id = used if(!prisoner_id.goal) - to_chat(user, "Error: No point quota assigned by security, exiting.") + to_chat(user, SPAN_WARNING("Error: No point quota assigned by security, exiting.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "ID: [prisoner_id.registered_name]") - to_chat(user, "Points Collected:[prisoner_id.mining_points]") - to_chat(user, "Point Quota: [prisoner_id.goal]") - to_chat(user, "Collect points by bringing ore to the labor camp ore redemption 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.mining_points]")) + to_chat(user, SPAN_NOTICE("Point Quota: [prisoner_id.goal]")) + to_chat(user, SPAN_NOTICE("Collect points by bringing ore to the labor camp ore redemption machine. Reach your quota to earn your release.")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/card/id)) - to_chat(user, "Error: Invalid ID") + to_chat(user, SPAN_WARNING("Error: Invalid ID")) return ITEM_INTERACT_COMPLETE return ..() diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 6d9d74797bd..1632cc5dccb 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -40,7 +40,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)) @@ -62,7 +62,7 @@ /obj/structure/flora/ash/item_interaction(mob/living/user, obj/item/W, list/modifiers) if(!harvested && needs_sharp_harvest && W.sharp) - 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) @@ -72,7 +72,7 @@ /obj/structure/flora/ash/attack_hand(mob/user) 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) else diff --git a/code/modules/mining/lavaland/loot/ashdragon_loot.dm b/code/modules/mining/lavaland/loot/ashdragon_loot.dm index 827b505187f..82a4212ed2e 100644 --- a/code/modules/mining/lavaland/loot/ashdragon_loot.dm +++ b/code/modules/mining/lavaland/loot/ashdragon_loot.dm @@ -153,7 +153,7 @@ var/ghost_counter = length(orbs) force = clamp((ghost_counter * 3), 0, 50) - user.visible_message("[user] strikes with the force of [ghost_counter] vengeful spirit\s!") + user.visible_message(SPAN_DANGER("[user] strikes with the force of [ghost_counter] vengeful spirit\s!")) ..() /obj/effect/wisp/ghost @@ -190,7 +190,7 @@ switch(random) if(1) - 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(2) to_chat(user, "Power courses through you! You can now shift your form at will.") @@ -198,7 +198,7 @@ var/datum/spell/shapeshift/dragon/D = new user.mind.AddSpell(D) if(3) - 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.")) H.weather_immunities |= "lava" playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1) @@ -213,9 +213,9 @@ stage_prob = 20 stage1 = list("Your bones ache.") stage2 = list("Your skin feels scaley.") - stage3 = list("You have an overwhelming urge to terrorize some peasants.", "Your teeth feel sharper.") - stage4 = list("Your blood burns.") - stage5 = list("You're a fucking dragon. However, any previous allegiances you held still apply. It'd be incredibly rude to eat your still human friends for no reason.") + stage3 = list(SPAN_DANGER("You have an overwhelming urge to terrorize some peasants."), SPAN_DANGER("Your teeth feel sharper.")) + stage4 = list(SPAN_DANGER("Your blood burns.")) + stage5 = list(SPAN_DANGER("You're a fucking dragon. However, any previous allegiances you held still apply. It'd be incredibly rude to eat your still human friends for no reason.")) new_form = /mob/living/simple_animal/hostile/megafauna/dragon/lesser //Lava Staff @@ -259,13 +259,13 @@ if(target == user) user.visible_message( - "[user] holds the tip of [src] near [user.p_their()] [cig.name] until it is suddenly set alight.", - "You hold the tip of [src] near [cig] until it is suddenly set alight.", + SPAN_NOTICE("[user] holds the tip of [src] near [user.p_their()] [cig.name] until it is suddenly set alight."), + SPAN_NOTICE("You hold the tip of [src] near [cig] until it is suddenly set alight."), ) else user.visible_message( - "[user] points [src] at [target] until [target.p_their()] [cig.name] is suddenly set alight.", - "You point [src] at [target] until [target.p_their()] [cig] is suddenly set alight.", + SPAN_NOTICE("[user] points [src] at [target] until [target.p_their()] [cig.name] is suddenly set alight."), + SPAN_NOTICE("You point [src] at [target] until [target.p_their()] [cig] is suddenly set alight."), ) cig.light(user, target) return TRUE @@ -280,7 +280,7 @@ if(!is_mining_level(user.z) && !iswizard(user)) //Will only spawn a few sparks if not on mining z level, unless a wizard uses it. timer = world.time + create_delay + 1 - user.visible_message("[user]'s [src] malfunctions!") + user.visible_message(SPAN_DANGER("[user]'s [src] malfunctions!")) do_sparks(5, FALSE, user) return @@ -293,10 +293,10 @@ 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)) - user.visible_message("[user] turns \the [T] into [transform_string]!") + user.visible_message(SPAN_DANGER("[user] turns \the [T] into [transform_string]!")) message_admins("[key_name_admin(user)] fired the lava staff at [get_area(target)] (JMP).") log_game("[key_name(user)] fired the lava staff at [get_area(target)] ([T.x], [T.y], [T.z]).") T.TerraformTurf(turf_type, keep_icon = FALSE) @@ -307,7 +307,7 @@ qdel(L) return else - user.visible_message("[user] turns \the [T] into [reset_string]!") + user.visible_message(SPAN_DANGER("[user] turns \the [T] into [reset_string]!")) T.TerraformTurf(reset_turf_type, keep_icon = FALSE) timer = world.time + reset_cooldown playsound(T,'sound/magic/fireball.ogg', 200, 1) diff --git a/code/modules/mining/lavaland/loot/bubblegum_loot.dm b/code/modules/mining/lavaland/loot/bubblegum_loot.dm index 11fc3286d47..f08c029043d 100644 --- a/code/modules/mining/lavaland/loot/bubblegum_loot.dm +++ b/code/modules/mining/lavaland/loot/bubblegum_loot.dm @@ -18,7 +18,7 @@ for(var/mob/living/M in targets_to_fuck_up) var/turf/T = get_turf(M) M.Immobilize(1 SECONDS) - to_chat(M, "NO! I REFUSE TO LET YOU THINK YOU HAVE WON. I SHALL END YOUR INSIGNIFICANT LIFE!") + to_chat(M, SPAN_COLOSSUS("NO! I REFUSE TO LET YOU THINK YOU HAVE WON. I SHALL END YOUR INSIGNIFICANT LIFE!")) new /obj/effect/temp_visual/bubblegum_hands/leftpaw(T) new /obj/effect/temp_visual/bubblegum_hands/leftthumb(T) sleep(8) @@ -45,7 +45,7 @@ for(var/mob/living/M in probably_bubblearena) var/turf/T = get_turf(M) M.Immobilize(1 SECONDS) - to_chat(M, "Now... get out of my home.") + to_chat(M, SPAN_COLOSSUS("Now... get out of my home.")) new /obj/effect/temp_visual/bubblegum_hands/leftpaw(T) new /obj/effect/temp_visual/bubblegum_hands/leftthumb(T) sleep(8) @@ -75,7 +75,7 @@ spawn() var/obj/effect/mine/pickup/bloodbath/B = new(H) B.mineEffect(H) - to_chat(user, "You shatter the bottle!") + to_chat(user, SPAN_NOTICE("You shatter the bottle!")) playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, 1) qdel(src) @@ -114,7 +114,7 @@ log_admin("[key_name(L)] has been marked for death by [key_name(user)].") L.mind.add_mind_objective(/datum/objective/survive) - to_chat(L, "You've been marked for death! Don't let the demons get you!") + to_chat(L, SPAN_USERDANGER("You've been marked for death! Don't let the demons get you!")) L.color = "#FF0000" spawn() var/obj/effect/mine/pickup/bloodbath/B = new(L) @@ -123,7 +123,7 @@ for(var/mob/living/carbon/human/H in GLOB.player_list) if(H.stat == DEAD || H == L) continue - to_chat(H, "You have an overwhelming desire to kill [L]. [L.p_they(TRUE)] [L.p_have()] been marked red! Go kill [L.p_them()]!") + to_chat(H, SPAN_USERDANGER("You have an overwhelming desire to kill [L]. [L.p_they(TRUE)] [L.p_have()] been marked red! Go kill [L.p_them()]!")) H.put_in_hands(new /obj/item/kitchen/knife/butcher(H)) qdel(src) diff --git a/code/modules/mining/lavaland/loot/colossus_loot.dm b/code/modules/mining/lavaland/loot/colossus_loot.dm index 7974445f834..5a337b8c4a3 100644 --- a/code/modules/mining/lavaland/loot/colossus_loot.dm +++ b/code/modules/mining/lavaland/loot/colossus_loot.dm @@ -200,14 +200,14 @@ if(!istype(user)) // No revs allowed return if(!user.check_ahud_rejoin_eligibility()) - to_chat(user, "Upon using the antagHUD you forfeited the ability to join the round.") + to_chat(user, SPAN_WARNING("Upon using the antagHUD you forfeited the ability to join the round.")) return var/be_helper = tgui_alert(user, "Become a Lightgeist? (Warning, You can no longer be cloned!)", "Respawn", list("Yes","No")) if(be_helper != "Yes") return if(!loc || QDELETED(src) || QDELETED(user)) if(user) - to_chat(user, "[src] is no longer usable!") + to_chat(user, SPAN_WARNING("[src] is no longer usable!")) return var/mob/living/basic/lightgeist/W = new /mob/living/basic/lightgeist(get_turf(loc)) W.key = user.key diff --git a/code/modules/mining/lavaland/loot/hierophant_loot.dm b/code/modules/mining/lavaland/loot/hierophant_loot.dm index bc73ecca569..9a3cd317f10 100644 --- a/code/modules/mining/lavaland/loot/hierophant_loot.dm +++ b/code/modules/mining/lavaland/loot/hierophant_loot.dm @@ -28,14 +28,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) atom_say("Xverwpsgexmrk...") - 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/airlock_open.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.drop_item_to_ground(I) @@ -53,12 +53,12 @@ return if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "You don't want to harm other living beings!") + to_chat(user, SPAN_WARNING("You don't want to harm other living beings!")) return if((!is_mining_level(user.z) && !iswizard(user) && !istype(get_area(user), /area/ruin/space/bubblegum_arena))) //Will only spawn a few sparks if not on mining z level, unless a wizard uses it. timer = world.time + cooldown_time - user.visible_message("[user]'s hierophant club malfunctions!") + user.visible_message(SPAN_DANGER("[user]'s hierophant club malfunctions!")) do_sparks(5, FALSE, user) return @@ -95,7 +95,7 @@ else add_attack_logs(user, target, "Fired cardinal blast at [src]", ATKLOG_ALL) else - to_chat(user, "That target is out of range!" ) + to_chat(user, SPAN_WARNING("That target is out of range!") ) timer = world.time INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) @@ -128,20 +128,20 @@ /obj/item/hierophant_club/ui_action_click(mob/user, actiontype) if(actiontype == /datum/action/item_action/toggle_unfriendly_fire) //toggle friendly fire... friendly_fire_check = !friendly_fire_check - to_chat(user, "You toggle friendly fire [friendly_fire_check ? "off":"on"]!") + to_chat(user, SPAN_WARNING("You toggle friendly fire [friendly_fire_check ? "off":"on"]!")) return if(timer > world.time) return if(user.is_in_active_hand(src) && user.is_in_inactive_hand(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(is_in_teleport_proof_area(user)) - to_chat(user, "[src] sparks and fizzles.") + to_chat(user, SPAN_WARNING("[src] sparks and fizzles.")) 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...")) timer = world.time + 51 INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) if(do_after(user, 50, target = user) && !beacon) @@ -150,31 +150,31 @@ 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 of your allies to it at any time! Beware! The Horrors of Lavaland can still be teleported with you.\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 of your allies to it at any time! Beware! The Horrors of Lavaland can still be teleported with you.")]\n\ + [SPAN_NOTICE("You can remove the beacon to place it again by striking it with the club.")]") else timer = world.time INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) 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 if(is_in_teleport_proof_area(beacon)) - to_chat(user, "[src] sparks and fizzles.") + to_chat(user, SPAN_WARNING("[src] sparks and fizzles.")) return var/turf/beacon_turf = get_turf(beacon) if(beacon_turf.is_blocked_turf(exclude_mobs = 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...")) timer = world.time + 50 INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) beacon.icon_state = "hierophant_tele_on" @@ -185,7 +185,7 @@ var/turf/source = get_turf(user) if(T.is_blocked_turf(exclude_mobs = 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() timer = world.time INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) @@ -206,7 +206,7 @@ return if(T.is_blocked_turf(exclude_mobs = 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() timer = world.time INVOKE_ASYNC(src, PROC_REF(prepare_icon_update)) @@ -252,7 +252,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 @@ -269,7 +269,7 @@ sleep(1) if(!M) return - M.visible_message("[M] fades in!") + M.visible_message(SPAN_HIEROPHANT_WARNING("[M] fades in!")) if(user != M) add_attack_logs(user, M, "Teleported from ([source.x],[source.y],[source.z])") diff --git a/code/modules/mining/lavaland/loot/legion_loot.dm b/code/modules/mining/lavaland/loot/legion_loot.dm index 4e3214934cf..93557d90ac3 100644 --- a/code/modules/mining/lavaland/loot/legion_loot.dm +++ b/code/modules/mining/lavaland/loot/legion_loot.dm @@ -24,10 +24,10 @@ /obj/item/storm_staff/examine(mob/user) . = ..() - . += "It has [thunder_charges] charges remaining." - . += "Use it in hand to dispel storms." - . += "Use it on targets to summon thunderbolts from the sky." - . += "The thunderbolts are boosted if in an area with weather effects." + . += SPAN_NOTICE("It has [thunder_charges] charges remaining.") + . += SPAN_NOTICE("Use it in hand to dispel storms.") + . += SPAN_NOTICE("Use it on targets to summon thunderbolts from the sky.") + . += SPAN_NOTICE("The thunderbolts are boosted if in an area with weather effects.") /obj/item/storm_staff/attack__legacy__attackchain(mob/living/target, mob/living/user) if(cigarette_lighter_act(user, target)) @@ -41,20 +41,20 @@ return !isnull(cig) if(!thunder_charges) - to_chat(user, "[src] needs to recharge!") + to_chat(user, SPAN_WARNING("[src] needs to recharge!")) return TRUE if(target == user) user.visible_message( - "[user] holds [src] up to [user.p_their()] [cig.name] and shoots a tiny bolt of lightning that sets it alight!", - "You hold [src] up to [cig] and shoot a tiny bolt of lightning that sets it alight!", - "A thundercrack fills the air!" + SPAN_WARNING("[user] holds [src] up to [user.p_their()] [cig.name] and shoots a tiny bolt of lightning that sets it alight!"), + SPAN_WARNING("You hold [src] up to [cig] and shoot a tiny bolt of lightning that sets it alight!"), + SPAN_DANGER("A thundercrack fills the air!") ) else user.visible_message( - "[user] points [src] at [target] and shoots a tiny bolt of lightning that sets [target.p_their()] [cig.name] alight!", - "You point [src] at [target] and shoot a tiny bolt of lightning that sets [target.p_their()] [cig.name] alight!", - "A thundercrack fills the air!" + SPAN_WARNING("[user] points [src] at [target] and shoots a tiny bolt of lightning that sets [target.p_their()] [cig.name] alight!"), + SPAN_WARNING("You point [src] at [target] and shoot a tiny bolt of lightning that sets [target.p_their()] [cig.name] alight!"), + SPAN_DANGER("A thundercrack fills the air!") ) cig.light(user, target) playsound(target, 'sound/magic/lightningbolt.ogg', 50, TRUE) @@ -65,7 +65,7 @@ var/area/user_area = get_area(user) var/turf/user_turf = get_turf(user) if(!user_area || !user_turf) - 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) @@ -77,11 +77,11 @@ if(A) if(A.stage != WEATHER_END_STAGE) if(A.stage == WEATHER_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!" + 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() @@ -101,26 +101,26 @@ . = ..() if(!thunder_charges) - to_chat(user, "The staff needs to recharge.") + to_chat(user, SPAN_WARNING("The staff needs to recharge.")) return var/turf/target_turf = get_turf(target) var/area/target_area = get_area(target) var/area/user_area = get_area(user) if(!target_turf || !target_area || (is_type_in_list(target_area, excluded_areas)) || !user_area || (is_type_in_list(user_area, excluded_areas))) - to_chat(user, "The staff will not work here.") + to_chat(user, SPAN_WARNING("The staff will not work here.")) return if(target_turf in targeted_turfs) - to_chat(user, "That SPOT is already being shocked!") + to_chat(user, SPAN_WARNING("That SPOT is already being shocked!")) return 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 var/power_boosted = FALSE if(iswizard(user) || is_mining_level(user.z) || istype(get_area(user), /area/ruin/space/bubblegum_arena)) power_boosted = TRUE playsound(src, 'sound/magic/lightningshock.ogg', 10, TRUE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_distance = 0) targeted_turfs += target_turf - to_chat(user, "You aim at [target_turf]!") + to_chat(user, SPAN_WARNING("You aim at [target_turf]!")) new /obj/effect/temp_visual/thunderbolt_targeting(target_turf) addtimer(CALLBACK(src, PROC_REF(throw_thunderbolt), target_turf, power_boosted, user), 1 SECONDS) thunder_charges-- @@ -143,7 +143,7 @@ for(var/turf/T as anything in affected_turfs) new /obj/effect/temp_visual/electricity(T) for(var/mob/living/hit_mob in T) - to_chat(hit_mob, "You've been struck by lightning!") + to_chat(hit_mob, SPAN_USERDANGER("You've been struck by lightning!")) hit_mob.electrocute_act(15 * (isanimal_or_basicmob(hit_mob) ? 3 : 1) * (T == target ? 2 : 1) * (boosted ? 2 : 1), src, flags = SHOCK_TESLA|SHOCK_NOSTUN) if(ishostile(hit_mob)) var/mob/living/simple_animal/hostile/H = hit_mob //mobs find and damage you... @@ -158,8 +158,8 @@ hit_thing.take_damage(20, BURN, ENERGY, FALSE) playsound(target, 'sound/magic/lightningbolt.ogg', 100, TRUE) target.visible_message( - "A thunderbolt strikes [target]!", - "A thundercrack fills the air!" + SPAN_DANGER("A thunderbolt strikes [target]!"), + SPAN_DANGER("A thundercrack fills the air!") ) explosion(target, -1, -1, light_impact_range = (boosted ? 1 : 0), flame_range = (boosted ? 2 : 1), silent = TRUE, cause = name) diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm index 933780e329f..8dc011c9381 100644 --- a/code/modules/mining/lavaland/loot/tendril_loot.dm +++ b/code/modules/mining/lavaland/loot/tendril_loot.dm @@ -134,7 +134,7 @@ ..() else if(last_message_time + 1 SECONDS < world.time) - to_chat(user, "Boats don't go on land!") + to_chat(user, SPAN_WARNING("Boats don't go on land!")) last_message_time = world.time return FALSE @@ -211,32 +211,32 @@ /obj/item/wisp_lantern/attack_self__legacy__attackchain(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) RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(update_user_sight)) - 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, lock_in_orbit = TRUE) set_light(0) user.update_sight() - to_chat(user, "The wisp enhances your vision.") + to_chat(user, SPAN_NOTICE("The wisp enhances your vision.")) SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Freed") // freed else UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT) - to_chat(user, "You return the wisp to the lantern.") + to_chat(user, SPAN_NOTICE("You return the wisp to the lantern.")) wisp.stop_orbit() wisp.forceMove(src) set_light(initial(light_range)) user.update_sight() - to_chat(user, "Your vision returns to normal.") + to_chat(user, SPAN_NOTICE("Your vision returns to normal.")) icon_state = "lantern-blue" SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned") // returned @@ -250,7 +250,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/item/wisp_lantern/proc/update_user_sight(mob/user) @@ -287,18 +287,18 @@ return if(is_in_teleport_proof_area(user) || is_in_teleport_proof_area(linked)) - to_chat(user, "[src] sparks and fizzles.") + to_chat(user, SPAN_WARNING("[src] sparks and fizzles.")) return if(cooldown) - to_chat(user, "[src] sparks and fizzles.") + to_chat(user, SPAN_WARNING("[src] sparks and fizzles.")) return if(SEND_SIGNAL(user, COMSIG_MOVABLE_TELEPORTING, get_turf(linked)) & COMPONENT_BLOCK_TELEPORT) return FALSE if(is_station_level(user.z) && !iswizard(user)) // specifically not station (instead of lavaland) so it works for explorers potentially - user.visible_message("[user] begins to channel [src]!", "You begin channeling [src], cutting through the interference of the station!") + user.visible_message(SPAN_WARNING("[user] begins to channel [src]!"), SPAN_WARNING("You begin channeling [src], cutting through the interference of the station!")) if(!do_after_once(user, 4 SECONDS, TRUE, src, allow_moving = TRUE, must_be_held = TRUE)) return - user.visible_message("[user] disappears in a puff of smoke!") + user.visible_message(SPAN_WARNING("[user] disappears in a puff of smoke!")) var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(1, FALSE, user) @@ -376,7 +376,7 @@ if(isliving(target)) var/mob/living/L = target if(!L.anchored) - L.visible_message("[L] is snagged by [firer]'s hook!") + L.visible_message(SPAN_DANGER("[L] is snagged by [firer]'s hook!")) var/old_density = L.density L.density = FALSE // Ensures the hook does not hit the target multiple times L.forceMove(get_turf(firer)) @@ -426,7 +426,7 @@ if(cooldown < world.time) SSblackbox.record_feedback("amount", "immortality_talisman_uses", 1) // usage cooldown = world.time + 600 - user.visible_message("[user] vanishes from reality, leaving a hole in [user.p_their()] place!") + user.visible_message(SPAN_DANGER("[user] vanishes from reality, leaving a hole in [user.p_their()] place!")) var/obj/effect/immortality_talisman/Z = new(get_turf(src.loc)) Z.name = "hole in reality" Z.desc = "It's shaped an awful lot like [user.name]." @@ -438,11 +438,11 @@ user.status_flags &= ~GODMODE user.notransform = FALSE user.forceMove(get_turf(Z)) - user.visible_message("[user] pops back into reality!") + user.visible_message(SPAN_DANGER("[user] pops back into reality!")) Z.can_destroy = TRUE qdel(Z) else - to_chat(user, "[src] is still recharging.") + to_chat(user, SPAN_WARNING("[src] is still recharging.")) /obj/effect/immortality_talisman icon_state = "blank" diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 5a230dfe38e..ed9388fcf1a 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -221,7 +221,7 @@ /obj/item/clothing/head/hooded/berserker/examine() . = ..() - . += "Berserk mode is [berserk_charge]% charged." + . += SPAN_NOTICE("Berserk mode is [berserk_charge]% charged.") /obj/item/clothing/head/hooded/berserker/process() if(berserk_active) @@ -251,11 +251,11 @@ berserk_value *= PROJECTILE_HIT_MULTIPLIER berserk_charge = clamp(round(berserk_charge + berserk_value), 0, MAX_BERSERK_CHARGE) if(berserk_charge >= MAX_BERSERK_CHARGE) - to_chat(owner, "Berserk mode is fully charged!") + to_chat(owner, SPAN_BOLDNOTICE("Berserk mode is fully charged!")) /// Starts berserk, giving the wearer 40% brute / burn resist, doubled attacking speed, NOGUNS trait, and colours them blood red. /obj/item/clothing/head/hooded/berserker/proc/berserk_mode(mob/living/carbon/human/user) - to_chat(user, "You enter berserk mode.") + to_chat(user, SPAN_WARNING("You enter berserk mode.")) playsound(user, 'sound/magic/staff_healing.ogg', 50) set_light(3) user.physiology.burn_mod *= BERSERK_DAMAGE_REDUCTION @@ -275,7 +275,7 @@ berserk_active = FALSE if(QDELETED(user)) return - to_chat(user, "You exit berserk mode.") + to_chat(user, SPAN_WARNING("You exit berserk mode.")) playsound(user, 'sound/magic/summonitems_generic.ogg', 50) set_light(0) user.physiology.burn_mod /= BERSERK_DAMAGE_REDUCTION @@ -295,10 +295,10 @@ if(istype(target, /obj/item/clothing/head/hooded/berserker)) var/obj/item/clothing/head/hooded/berserker/berzerk = target if(berzerk.berserk_active) - to_chat(owner, "You are already berserk!") + to_chat(owner, SPAN_WARNING("You are already berserk!")) return if(berzerk.berserk_charge < 100) - to_chat(owner, "You don't have a full charge.") + to_chat(owner, SPAN_WARNING("You don't have a full charge.")) return berzerk.berserk_mode(owner) return @@ -332,7 +332,7 @@ 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 if(itemUser.l_hand == src) @@ -340,10 +340,10 @@ if(itemUser.r_hand == src) usedHand = RIGHT_HAND 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_once(itemUser, 40, target = itemUser)) itemUser.say("I swear to fulfill, to the best of my ability and judgment, this covenant:") else @@ -364,7 +364,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...")) activated(itemUser) @@ -411,10 +411,10 @@ H.put_in_r_hand(src, TRUE) if(!limb_regrown) - to_chat(H, "The Rod of Asclepius suddenly grows back out of your arm!") + to_chat(H, SPAN_NOTICE("The Rod of Asclepius suddenly grows back out of your arm!")) else H.update_body() // Update the limb sprites - to_chat(H, "Your arm suddenly grows back with the Rod of Asclepius still attached!") + to_chat(H, SPAN_NOTICE("Your arm suddenly grows back with the Rod of Asclepius still attached!")) /obj/item/rod_of_asclepius/proc/activated(mob/living/carbon/new_owner) owner = new_owner @@ -453,7 +453,7 @@ /obj/item/organ/internal/cyberimp/arm/katana/attack_self__legacy__attackchain(mob/living/carbon/user, modifiers) . = ..() - to_chat(user,"The mass goes up your arm and inside it!") + to_chat(user,SPAN_USERDANGER("The mass goes up your arm and inside it!")) playsound(user, 'sound/misc/demon_consume.ogg', 50, TRUE) RegisterSignal(user, COMSIG_MOB_DEATH, PROC_REF(user_death)) @@ -468,7 +468,7 @@ if(!katana) return FALSE if(!katana.drew_blood) - to_chat(owner, "[katana] lashes out at you in hunger!") + to_chat(owner, SPAN_USERDANGER("[katana] lashes out at you in hunger!")) playsound(owner, 'sound/misc/demon_attack1.ogg', 50, TRUE) if(parent_organ) owner.apply_damage(25, BRUTE, parent_organ, TRUE) @@ -483,8 +483,8 @@ /obj/item/organ/internal/cyberimp/arm/katana/proc/user_death_async(mob/user) Retract() - user.visible_message("[user] begins to turn to dust, his soul being contained within [src]!", - "You feel your body begin to turn to dust, your soul being drawn into [src]!") + user.visible_message(SPAN_WARNING("[user] begins to turn to dust, his soul being contained within [src]!"), + SPAN_USERDANGER("You feel your body begin to turn to dust, your soul being drawn into [src]!")) forceMove(get_turf(owner)) remove(user) addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, dust)), 1 SECONDS) @@ -541,11 +541,11 @@ for(var/combo in combo_list) var/list/combo_specifics = combo_list[combo] var/step_string = english_list(combo_specifics[COMBO_STEPS]) - combo_strings += ("[combo] - [step_string]") + combo_strings += (SPAN_NOTICE("[combo] - [step_string]")) /obj/item/cursed_katana/examine(mob/user) . = ..() - . += drew_blood ? ("It's sated... for now.") : ("It will not be sated until it tastes blood.") + . += drew_blood ? (SPAN_NOTICE("It's sated... for now.")) : (SPAN_DANGER("It will not be sated until it tastes blood.")) . += combo_strings /obj/item/cursed_katana/dropped(mob/user) @@ -560,7 +560,7 @@ if(target.stat == DEAD || target == user) //No, you can not stab yourself to cloak / not take the penalty for not drawing blood return ..() 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 TRUE drew_blood = TRUE if(user.a_intent == INTENT_DISARM) @@ -598,20 +598,20 @@ /obj/item/cursed_katana/proc/reset_inputs(mob/user, deltimer) input_list.Cut() if(user) - to_chat(user, "You return to neutral stance.") + to_chat(user, SPAN_NOTICE("You return to neutral stance.")) if(deltimer && timerid) deltimer(timerid) /obj/item/cursed_katana/proc/strike(mob/living/target, mob/user) - user.visible_message("[user] strikes [target] with [src]'s hilt!", - "You hilt strike [target]!") - to_chat(target, "You've been struck by [user]!") + user.visible_message(SPAN_WARNING("[user] strikes [target] with [src]'s hilt!"), + SPAN_NOTICE("You hilt strike [target]!")) + to_chat(target, SPAN_USERDANGER("You've been struck by [user]!")) playsound(src, 'sound/weapons/genhit3.ogg', 50, TRUE) RegisterSignal(target, COMSIG_MOVABLE_IMPACT, PROC_REF(strike_throw_impact)) var/atom/throw_target = get_edge_target_turf(target, user.dir) target.throw_at(throw_target, 5, 3, user, FALSE, callback = CALLBACK(target, TYPE_PROC_REF(/datum, UnregisterSignal), target, COMSIG_MOVABLE_IMPACT)) target.apply_damage(17, BRUTE, BODY_ZONE_CHEST) - to_chat(target, "You've been struck by [user]!") + to_chat(target, SPAN_USERDANGER("You've been struck by [user]!")) user.do_attack_animation(target, ATTACK_EFFECT_PUNCH) /obj/item/cursed_katana/proc/strike_throw_impact(mob/living/source, atom/hit_atom, datum/thrownthing/thrownthing) @@ -628,15 +628,15 @@ return NONE /obj/item/cursed_katana/proc/heal(mob/living/target, mob/living/user) - user.visible_message("[user] lets [src] feast on [target]'s blood!", - "You let [src] feast on [target], and it heals you, at a price!") + user.visible_message(SPAN_WARNING("[user] lets [src] feast on [target]'s blood!"), + SPAN_WARNING("You let [src] feast on [target], and it heals you, at a price!")) target.apply_damage(15, BRUTE, BODY_ZONE_CHEST, TRUE) user.apply_status_effect(STATUS_EFFECT_SHADOW_MEND) /obj/item/cursed_katana/proc/cut(mob/living/target, mob/user) - user.visible_message("[user] cuts [target]'s tendons!", - "You tendon cut [target]!") - to_chat(target, "Your tendons have been cut by [user]!") + user.visible_message(SPAN_WARNING("[user] cuts [target]'s tendons!"), + SPAN_NOTICE("You tendon cut [target]!")) + to_chat(target, SPAN_USERDANGER("Your tendons have been cut by [user]!")) target.apply_damage(15, BRUTE, BODY_ZONE_CHEST, TRUE) user.do_attack_animation(target, ATTACK_EFFECT_DISARM) playsound(src, 'sound/weapons/rapierhit.ogg', 50, TRUE) @@ -650,11 +650,11 @@ var/turf/dash_target = get_turf(target) var/turf/user_turf = get_turf(user) if(!is_teleport_allowed(dash_target.z)) //No teleporting at CC - to_chat(user, ("You can not dash here!")) + to_chat(user, (SPAN_USERDANGER("You can not dash here!"))) return - user.visible_message("[user] dashes through [target]!", - "You dash through [target]!") - to_chat(target, ("[user] dashes through you!")) + user.visible_message(SPAN_WARNING("[user] dashes through [target]!"), + SPAN_NOTICE("You dash through [target]!")) + to_chat(target, (SPAN_USERDANGER("[user] dashes through you!"))) playsound(src, 'sound/magic/blink.ogg', 50, TRUE) for(var/mob/living/legion_killer in orange(1, user)) // We have replaced the AOE slash move, we want to be able to deal with legion skulls however legion_killer.adjustBruteLoss(5) @@ -668,7 +668,7 @@ break for(var/mob/living/additional_target in dash_target) //Slash through every mob you cut through additional_target.apply_damage(15, BRUTE, BODY_ZONE_CHEST, TRUE) - to_chat(additional_target, "You've been sliced by [user]!") + to_chat(additional_target, SPAN_USERDANGER("You've been sliced by [user]!")) user_turf.Beam(dash_target, icon_state = "warp_beam", time = 0.3 SECONDS, maxdistance = INFINITY) user.forceMove(dash_target) diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 0ba95ffb4e0..3ee03305a55 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -175,16 +175,16 @@ if(istype(used, /obj/item/card/id)) var/obj/item/card/id/ID = used if(!points) - to_chat(usr, "There are no points to claim."); + to_chat(usr, SPAN_WARNING("There are no points to claim.")); return ITEM_INTERACT_COMPLETE if(anyone_claim || (req_access_claim in ID.access)) ID.mining_points += points ID.total_mining_points += points - to_chat(usr, "[points] Mining Points claimed. You have earned a total of [ID.total_mining_points] Mining Points this Shift!") + to_chat(usr, SPAN_NOTICE("[points] Mining Points claimed. You have earned a total of [ID.total_mining_points] Mining Points this Shift!")) points = 0 SStgui.update_uis(src) else - to_chat(usr, "Required access not found.") + to_chat(usr, SPAN_WARNING("Required access not found.")) add_fingerprint(usr) return ITEM_INTERACT_COMPLETE @@ -196,14 +196,14 @@ SStgui.update_uis(src) interact(user) user.visible_message( - "[user] inserts [used] into [src].", - "You insert [used] into [src]." + SPAN_NOTICE("[user] inserts [used] into [src]."), + SPAN_NOTICE("You insert [used] into [src].") ) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/gripper)) if(!try_refill_storage(user)) - to_chat(user, "You fail to retrieve any sheets from [src].") + to_chat(user, SPAN_NOTICE("You fail to retrieve any sheets from [src].")) return ITEM_INTERACT_COMPLETE return ..() @@ -222,7 +222,7 @@ return 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)].")) /obj/machinery/mineral/ore_redemption/screwdriver_act(mob/user, obj/item/I) if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", I)) @@ -295,7 +295,7 @@ switch(action) if("sheet", "alloy") if(!allowed(usr)) - to_chat(usr, "Required access not found.") + to_chat(usr, SPAN_WARNING("Required access not found.")) return FALSE var/id = params["id"] var/amount = round(text2num(params["amount"])) @@ -332,8 +332,8 @@ return FALSE if(ishuman(usr)) usr.put_in_hands(inserted_disk) - usr.visible_message("[usr] retrieves [inserted_disk] from [src].", \ - "You retrieve [inserted_disk] from [src].") + usr.visible_message(SPAN_NOTICE("[usr] retrieves [inserted_disk] from [src]."), \ + SPAN_NOTICE("You retrieve [inserted_disk] from [src].")) else inserted_disk.forceMove(get_turf(src)) inserted_disk = null @@ -467,7 +467,7 @@ for(var/datum/robot_storage/material/mat_store in robot.module.material_storages) if(mat_store.amount == mat_store.max_amount) // Already full, no need to run a check - to_chat(robot, "[mat_store] could not be filled due to it already being full.") + to_chat(robot, SPAN_NOTICE("[mat_store] could not be filled due to it already being full.")) continue var/datum/component/material_container/container_component = GetComponent(/datum/component/material_container) for(var/mat_id in container_component.materials) @@ -478,10 +478,10 @@ var/total_stacks = stack.amount / MINERAL_MATERIAL_AMOUNT // To account for 1 sheet being 2000 units of metal if(total_stacks >= (mat_store.max_amount - mat_store.amount)) amount_to_add = round(mat_store.max_amount - mat_store.amount) - to_chat(robot, "You refill [mat_store] to full.") + to_chat(robot, SPAN_NOTICE("You refill [mat_store] to full.")) else amount_to_add = round(total_stacks) // In case we have half a sheet stored - to_chat(robot, "You refill [amount_to_add] sheets to [mat_store].") + to_chat(robot, SPAN_NOTICE("You refill [amount_to_add] sheets to [mat_store].")) mat_store.amount += amount_to_add remove_from_storage(stack, amount_to_add) . = TRUE diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 7905cff1885..e393f9e9c7a 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -118,7 +118,7 @@ . = ..() update_icon(UPDATE_ICON_STATE) if(. && inserted_id && (stat & NOPOWER)) - visible_message("The ID slot indicator light flickers on [src] as it spits out a card before powering down.") + visible_message(SPAN_NOTICE("The ID slot indicator light flickers on [src] as it spits out a card before powering down.")) remove_id() /obj/machinery/mineral/equipment_vendor/update_icon_state() @@ -217,7 +217,7 @@ return var/datum/data/mining_equipment/prize = prize_list[category][name] if(prize.cost > inserted_id.mining_points) // shouldn't be able to access this since the button is greyed out, but.. - to_chat(usr, "You have insufficient points.") + to_chat(usr, SPAN_DANGER("You have insufficient points.")) return inserted_id.mining_points -= prize.cost @@ -489,10 +489,10 @@ if(points) var/obj/item/card/id/C = used C.mining_points += points - to_chat(user, "You transfer [points] points to [C].") + to_chat(user, SPAN_NOTICE("You transfer [points] points to [C].")) points = 0 else - to_chat(user, "There's no points left on [src].") + to_chat(user, SPAN_NOTICE("There's no points left on [src].")) return ITEM_INTERACT_COMPLETE /obj/item/card/mining_point_card/examine(mob/user) diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index b9953b6d639..00eec5e598d 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -113,7 +113,7 @@ if("ejectMat") var/datum/material/material = materials.materials[chosen_material] if(material.amount < MINERAL_MATERIAL_AMOUNT) - to_chat(usr, "Not enough [material.name] to eject!") + to_chat(usr, SPAN_WARNING("Not enough [material.name] to eject!")) return var/num_sheets = tgui_input_number(usr, "How many sheets do you want to eject?", "Ejecting [material.name]", max_value = round(material.amount / MINERAL_MATERIAL_AMOUNT), min_value = 1) if(isnull(num_sheets)) @@ -125,11 +125,11 @@ /obj/machinery/mineral/mint/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/storage/bag/money)) if(money_bag) - to_chat(user, "There is already a [money_bag.name] inside!") + to_chat(user, SPAN_NOTICE("There is already a [money_bag.name] inside!")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) return ITEM_INTERACT_COMPLETE - to_chat(user, "You put a [used.name] into a [src].") + to_chat(user, SPAN_NOTICE("You put a [used.name] into a [src].")) used.forceMove(src) money_bag = used SStgui.update_uis(src) @@ -143,7 +143,7 @@ return if(length(money_bag.contents) >= money_bag.storage_slots) active = FALSE - visible_message("[src] stops printing to prevent an overflow.") + visible_message(SPAN_NOTICE("[src] stops printing to prevent an overflow.")) update_icon(UPDATE_ICON_STATE) SStgui.update_uis(src) return @@ -152,7 +152,7 @@ var/datum/material/material = materials.materials[chosen_material] if(!materials.can_use_amount(COIN_COST, chosen_material)) active = FALSE - visible_message("[src] ceased production due to a lack of material.") + visible_message(SPAN_NOTICE("[src] ceased production due to a lack of material.")) update_icon(UPDATE_ICON_STATE) SStgui.update_uis(src) return @@ -165,13 +165,13 @@ /obj/machinery/mineral/mint/proc/try_make_coins(mob/user) var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) if(!money_bag) - visible_message("[src] cannot work without a money bag!") + visible_message(SPAN_WARNING("[src] cannot work without a money bag!")) return if(length(money_bag.contents) == money_bag.storage_slots) - visible_message("[money_bag.name] is full!") + visible_message(SPAN_WARNING("[money_bag.name] is full!")) return if(!materials.can_use_amount(COIN_COST, chosen_material)) - visible_message("Lack of selected material for production!") + visible_message(SPAN_WARNING("Lack of selected material for production!")) return active = TRUE @@ -181,7 +181,7 @@ if(active) active = FALSE if(user.put_in_hands(money_bag)) - to_chat(user, "You take a [money_bag.name] out of [src].") + to_chat(user, SPAN_NOTICE("You take a [money_bag.name] out of [src].")) else var/turf/T = get_step(src, output_dir) money_bag.forceMove(T) diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index a6a84193957..1a978d8b48c 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -27,12 +27,12 @@ /obj/item/stack/ore/welder_act(mob/user, obj/item/I) . = TRUE if(!refined_type) - to_chat(user, "You can't smelt [src] into anything useful!") + to_chat(user, SPAN_NOTICE("You can't smelt [src] into anything useful!")) return if(!I.use_tool(src, user, 0, 15, volume = I.tool_volume)) return new refined_type(drop_location(), amount) - to_chat(user, "You smelt [src] into its refined form!") + to_chat(user, SPAN_NOTICE("You smelt [src] into its refined form!")) qdel(src) /obj/item/stack/ore/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) @@ -59,7 +59,7 @@ /obj/item/stack/ore/glass/examine(mob/user) . = ..() - . += "You can throw this into people's eyes!" + . += SPAN_NOTICE("You can throw this into people's eyes!") GLOBAL_LIST_INIT(sand_recipes, list(\ new /datum/stack_recipe("sandstone", /obj/item/stack/sheet/mineral/sandstone, 1, 1, 50), @@ -75,18 +75,18 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ return var/mob/living/carbon/human/C = hit_atom if(C.head && C.head.flags_cover & HEADCOVERSEYES) - visible_message("[C]'s headgear blocks the sand!") + visible_message(SPAN_DANGER("[C]'s headgear blocks the sand!")) return if(C.wear_mask && C.wear_mask.flags_cover & MASKCOVERSEYES) - visible_message("[C]'s mask blocks the sand!") + visible_message(SPAN_DANGER("[C]'s mask blocks the sand!")) return if(C.glasses && C.glasses.flags_cover & GLASSESCOVERSEYES) - visible_message("[C]'s glasses block the sand!") + visible_message(SPAN_DANGER("[C]'s glasses block the sand!")) return C.EyeBlurry(12 SECONDS) C.apply_damage(15, STAMINA)//the pain from your eyes burning does stamina damage C.AdjustConfused(10 SECONDS) - to_chat(C, "[src] gets into your eyes! The pain, it burns!") + to_chat(C, SPAN_USERDANGER("[src] gets into your eyes! The pain, it burns!")) qdel(src) /obj/item/stack/ore/glass/ex_act(severity) @@ -102,7 +102,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/stack/ore/glass/basalt/examine(mob/user) . = ..() - . += "You could add some to a girder to make a false rock wall." + . += SPAN_NOTICE("You could add some to a girder to make a false rock wall.") /obj/item/stack/ore/glass/basalt/ancient name = "ancient sand" @@ -262,8 +262,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/gibtonite/examine(mob/user) . = ..() - . += "You can use a mining scanner to stop an activated gibtonite crystal from detonating." - . += "In addition to simply hitting it, you can add a remote signaller to the gibtonite and trigger it to make the crystal begin to detonate!" + . += SPAN_NOTICE("You can use a mining scanner to stop an activated gibtonite crystal from detonating.") + . += SPAN_NOTICE("In addition to simply hitting it, you can add a remote signaller to the gibtonite and trigger it to make the crystal begin to detonate!") /obj/item/gibtonite/Initialize(mapload) . = ..() @@ -277,7 +277,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/gibtonite/attackby__legacy__attackchain(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("[user] attaches [I] to [src].", SPAN_NOTICE("You attach [I] to [src].")) wires = new(src) attacher = key_name(user) qdel(I) @@ -295,7 +295,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ if(primed) if(istype(I, /obj/item/mining_scanner) || istype(I, /obj/item/t_scanner/adv_mining_scanner) || istype(I, /obj/item/multitool)) primed = 0 - user.visible_message("The chain reaction was stopped! ...The ore's quality looks diminished.", "You stopped the chain reaction. ...The ore's quality looks diminished.") + user.visible_message("The chain reaction was 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 @@ -340,7 +340,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ else if(triggered_by == 2) log_game("A signal has primed a [name] for detonation at [AREACOORD(bombturf)]). Igniter attacher: [key_name(attacher)].") 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_game("[key_name(user)] has primed a [name] for detonation at [AREACOORD(bombturf)])") spawn(det_time) if(primed) @@ -500,15 +500,15 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ 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_NOTICE("There already is a string attached to this coin.")) return if(CC.use(1)) overlays += image('icons/obj/economy.dmi',"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 if(istype(W,/obj/item/wirecutters)) @@ -521,7 +521,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ CC.update_icon() 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.")) else ..() /obj/item/coin/wirecutter_act(mob/user, obj/item/I) @@ -537,7 +537,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ "uranium" = /obj/item/clothing/gloves/ring/uranium) var/typekey = typelist[cmineral] if(ispath(typekey)) - to_chat(user, "You carefully cut a hole into [src] turning it into a ring.") + to_chat(user, SPAN_NOTICE("You carefully cut a hole into [src] turning it into a ring.")) var/obj/item/clothing/gloves/ring/ring = new typekey() qdel(src) user.put_in_hands(ring) @@ -552,10 +552,10 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ var/blind_sound if(cmineral != "tranquillite") playsound(user.loc, 'sound/items/coinflip.ogg', 50, TRUE) - blind_sound = "You hear the clattering of loose change." + blind_sound = SPAN_NOTICE("You hear the clattering of loose change.") if(do_after(user, 15, target = src)) - user.visible_message("[user] has flipped [src]. It lands on [coinflip].", \ - "You flip [src]. It lands on [coinflip].", \ + user.visible_message(SPAN_NOTICE("[user] has flipped [src]. It lands on [coinflip]."), \ + SPAN_NOTICE("You flip [src]. It lands on [coinflip]."), \ blind_sound) #undef GIBTONITE_QUALITY_LOW diff --git a/code/modules/mining/salvage_redemption.dm b/code/modules/mining/salvage_redemption.dm index 24b9b66a9d8..a318fb73f78 100644 --- a/code/modules/mining/salvage_redemption.dm +++ b/code/modules/mining/salvage_redemption.dm @@ -32,7 +32,7 @@ /obj/machinery/salvage_redemption/examine(mob/user) . = ..() - . += "There are currently [points] claimable points. [points ? "Swipe your ID to claim them." : ""]" + . += SPAN_NOTICE("There are currently [points] claimable points. [points ? "Swipe your ID to claim them." : ""]") /obj/machinery/salvage_redemption/update_icon_state() . = ..() @@ -62,32 +62,32 @@ return ..() if(animating) - to_chat(user, "The machine is currently processing salvage at the moment."); + to_chat(user, SPAN_WARNING("The machine is currently processing salvage at the moment.")); return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/card/id)) var/obj/item/card/id/ID = used if(!points) - to_chat(user, "There are no points to claim."); + to_chat(user, SPAN_WARNING("There are no points to claim.")); return ITEM_INTERACT_COMPLETE var/claimed = FALSE for(var/access in req_access_claim) if(anyone_claim || (access in ID.access)) ID.mining_points += points ID.total_mining_points += points - to_chat(user, "[points] Salvage Points claimed. You have earned a total of [ID.total_mining_points] Salvage Points this Shift!") + to_chat(user, SPAN_NOTICE("[points] Salvage Points claimed. You have earned a total of [ID.total_mining_points] Salvage Points this Shift!")) points = 0 claimed = TRUE break if(!claimed) - to_chat(user, "Required access not found.") + to_chat(user, SPAN_WARNING("Required access not found.")) add_fingerprint(user) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/storage/bag/expedition)) var/obj/item/storage/bag/expedition/bag = used if(!length(bag.contents)) - to_chat(user, "You have no salvage to redeem."); + to_chat(user, SPAN_WARNING("You have no salvage to redeem.")); return ITEM_INTERACT_COMPLETE for(var/obj/item/salvage/loot in bag.contents) salvage_buffer |= loot @@ -97,7 +97,7 @@ if(istype(used, /obj/item/salvage)) if(used.flags & NODROP || !user.drop_item() || !used.forceMove(src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE var/obj/item/salvage/loot = used salvage_buffer |= loot diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index b4ca1a1e92b..f21670d5679 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -20,7 +20,7 @@ if(length(S.contents)) for(var/obj/item/stack/ore/O in S.contents) S.remove_from_storage(O, src) //This will move the item to this item's contents - to_chat(user, "You empty the satchel into the box.") + to_chat(user, SPAN_NOTICE("You empty the satchel into the box.")) return ITEM_INTERACT_COMPLETE else return ..() @@ -29,7 +29,7 @@ . = TRUE if(!I.use_tool(src, user, 5 SECONDS, volume = I.tool_volume)) return - user.visible_message("[user] pries [src] apart.", "You pry apart [src].", "You hear splitting wood.") + user.visible_message(SPAN_NOTICE("[user] pries [src] apart."), SPAN_NOTICE("You pry apart [src]."), SPAN_ITALICS("You hear splitting wood.")) deconstruct(TRUE, user) /obj/structure/ore_box/attack_hand(mob/user) @@ -61,7 +61,7 @@ add_fingerprint(usr) if(href_list["removeall"]) dump_box_contents() - to_chat(usr, "You empty the box.") + to_chat(usr, SPAN_NOTICE("You empty the box.")) updateUsrDialog() /obj/structure/ore_box/deconstruct(disassembled = TRUE, mob/user) @@ -83,7 +83,7 @@ /obj/structure/ore_box/examine(mob/user) . = ..() if(Adjacent(user)) - . += "You can Alt-Shift-Click to empty the ore box." + . += SPAN_NOTICE("You can Alt-Shift-Click to empty the ore box.") /obj/structure/ore_box/on_changed_z_level(turf/old_turf, turf/new_turf, notify_contents = FALSE) return ..() @@ -96,8 +96,8 @@ add_fingerprint(user) if(length(contents) < 1) - to_chat(user, "The ore box is empty.") + to_chat(user, SPAN_WARNING("The ore box is empty.")) return dump_box_contents() - to_chat(user, "You empty the ore box.") + to_chat(user, SPAN_NOTICE("You empty the ore box.")) diff --git a/code/modules/mob/camera/eye.dm b/code/modules/mob/camera/eye.dm index d1558a9aba6..bdaac0d70ed 100644 --- a/code/modules/mob/camera/eye.dm +++ b/code/modules/mob/camera/eye.dm @@ -69,7 +69,7 @@ /mob/camera/eye/proc/validate_active_cameranet(strict = 0) var/camera = first_active_camera() if(strict && !camera) - to_chat(user, "ERROR: No linked and active camera network found.") + to_chat(user, SPAN_WARNING("ERROR: No linked and active camera network found.")) return FALSE return TRUE diff --git a/code/modules/mob/dead/observer/observer_admin_actions.dm b/code/modules/mob/dead/observer/observer_admin_actions.dm index 751e0a5dfa5..cf617ff35a5 100644 --- a/code/modules/mob/dead/observer/observer_admin_actions.dm +++ b/code/modules/mob/dead/observer/observer_admin_actions.dm @@ -63,7 +63,7 @@ button_text.appearance_flags = RESET_COLOR | RESET_ALPHA button_text.plane = FLOAT_PLANE + 1 button_text.maptext_x = 2 - button_text.maptext = ticket_amt > 0 ? "[ticket_amt]" : "" + button_text.maptext = ticket_amt > 0 ? SPAN_MAPTEXT("[ticket_amt]") : "" button.add_overlay(button_text) /datum/action/innate/admin/ticket/mentor diff --git a/code/modules/mob/dead/observer/observer_base.dm b/code/modules/mob/dead/observer/observer_base.dm index d40ef61a12f..480777aeb52 100644 --- a/code/modules/mob/dead/observer/observer_base.dm +++ b/code/modules/mob/dead/observer/observer_base.dm @@ -180,7 +180,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/obj/machinery/cryopod/P = istype(loc, /obj/machinery/cryopod) && loc if(frozen) - to_chat(src, "You cannot do this while admin frozen.", MESSAGE_TYPE_WARNING) + to_chat(src, SPAN_WARNING("You cannot do this while admin frozen."), MESSAGE_TYPE_WARNING) message_admins("[key_name_admin(src)] tried to ghost while admin frozen") return @@ -287,13 +287,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(!(ghost_flags & GHOST_CAN_REENTER)) - 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 && copytext(mind.current.key, 1, 2) != "@") // 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 mind.current.key = key @@ -305,7 +305,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/proc/notify_cloning(message, sound, atom/source) if(message) - to_chat(src, "[message]") + to_chat(src, SPAN_GHOSTALERT("[message]")) if(source) var/atom/movable/screen/alert/A = throw_alert("[source.UID()]_notify_cloning", /atom/movable/screen/alert/notify_cloning) if(A) @@ -319,7 +319,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)) @@ -349,20 +349,20 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/mob/dead/observer/O = usr if(!isobserver(O)) - to_chat(O, "You are not dead!") + to_chat(O, SPAN_WARNING("You are not dead!")) return if(!SSticker || SSticker.current_state < GAME_STATE_PLAYING) - to_chat(O, "You can't respawn before the game starts!") + to_chat(O, SPAN_WARNING("You can't respawn before the game starts!")) return if(GAMEMODE_IS_WIZARD || GAMEMODE_IS_NUCLEAR || GAMEMODE_IS_RAGIN_MAGES) - to_chat(O, "You can't respawn for this gamemode.") + to_chat(O, SPAN_WARNING("You can't respawn for this gamemode.")) return var/death_time = world.time - O.timeofdeath if(!HAS_TRAIT(O, TRAIT_RESPAWNABLE) && !check_rights(R_ADMIN, FALSE)) - to_chat(O, "You don't have respawnability!") + to_chat(O, SPAN_WARNING("You don't have respawnability!")) return var/death_time_minutes = round(death_time / 600) @@ -376,12 +376,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/death_time_seconds = round((death_time - death_time_minutes * 600) / 10, 1) if(death_time_minutes < GLOB.configuration.general.respawn_delay / 600 && !check_rights(R_ADMIN, FALSE)) - to_chat(O, "You have been dead for [plural_check] [death_time_seconds] second\s.") - to_chat(O, "You must wait [GLOB.configuration.general.respawn_delay / 600] minute\s before you can respawn.") + to_chat(O, SPAN_NOTICE("You have been dead for [plural_check] [death_time_seconds] second\s.")) + to_chat(O, SPAN_WARNING("You must wait [GLOB.configuration.general.respawn_delay / 600] minute\s before you can respawn.")) return if(!O.check_ahud_rejoin_eligibility()) - to_chat(O, "Upon using the antagHUD you forfeited the ability to join the round.") + to_chat(O, SPAN_WARNING("Upon using the antagHUD you forfeited the ability to join the round.")) return FALSE if(tgui_alert(O, "Are you sure you want to respawn?\n(If you do this, you won't be able to be cloned!)", "Respawn?", list("Yes", "No")) != "Yes") return @@ -389,9 +389,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp log_and_message_admins("[key_name(O)][O.mind?.current? (O.mind.current.mind.special_role? " ([O.mind.current.mind.special_role])" : "") : ""] has chosen to respawn as a new character.") var/list/warning = list() - warning.Add("You have chosen to respawn as a new character!") + warning.Add(SPAN_BIG("You have chosen to respawn as a new character!")) warning.Add("You will not remember anything from your previous life or time as a ghost.") - warning.Add("You MUST choose a different character slot to respawn as!") + warning.Add(SPAN_BOLDWARNING("You MUST choose a different character slot to respawn as!")) to_chat(O, chat_box_notice(warning.Join("
"))) if(!O.client) @@ -459,17 +459,17 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(!isobserver(src)) // Somehow return if(!(ghost_flags & GHOST_CAN_REENTER)) - to_chat(src, "You are already set to DNR!") + to_chat(src, SPAN_WARNING("You are already set to DNR!")) return if(!mind || QDELETED(mind.current)) - to_chat(src, "You have no body.") + to_chat(src, SPAN_WARNING("You have no body.")) return if(mind.current.stat != DEAD) - to_chat(src, "Your body is still alive!") + to_chat(src, SPAN_WARNING("Your body is still alive!")) return if(tgui_alert(src, "If you enable this, your body will be unrevivable for the remainder of the round.", "Do Not Revive!", list("Yes", "No")) == "Yes") - to_chat(src, "Do Not Revive state enabled.") + to_chat(src, SPAN_BOLDNOTICE("Do Not Revive state enabled.")) create_log(MISC_LOG, "DNR Enabled") ghost_flags &= ~GHOST_CAN_REENTER if(!QDELETED(mind.current)) // Could change while they're choosing @@ -521,8 +521,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp update_parallax_contents() var/list/messages = list( - "Jumped to [landmark.ruin_template.name]:", - "[landmark.ruin_template.description]" + SPAN_NOTICE("Jumped to [landmark.ruin_template.name]:"), + SPAN_NOTICE("[landmark.ruin_template.description]") ) to_chat(usr, chat_box_examine(messages.Join("
"))) @@ -535,7 +535,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp turfs += T if(!length(turfs)) - to_chat(src, "Nowhere to jump to!") + to_chat(src, SPAN_WARNING("Nowhere to jump to!")) return abstract_move(pick(turfs)) update_parallax_contents() @@ -611,7 +611,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp else // Circular rot_seg = 36 // 360/10 bby, smooth enough aproximation of a circle - to_chat(src, "Now following [target].") + to_chat(src, SPAN_NOTICE("Now following [target].")) orbit(A = target, radius = orbitsize, rotation_segments = rot_seg) /mob/dead/observer/orbit(atom/A, radius = 10, clockwise = FALSE, rotation_speed = 20, rotation_segments = 36, pre_rotation = TRUE, lock_in_orbit = FALSE, force_move = FALSE, orbit_layer = GHOST_LAYER) @@ -620,11 +620,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_WARNING("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_WARNING("You are dead! You have no mind to store memory!")) /mob/dead/observer/verb/toggle_health_scan() set name = "Toggle Health Scan" @@ -632,7 +632,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = "Ghost" ghost_flags ^= GHOST_HEALTH_SCAN - to_chat(src, "Health scan [ghost_flags & GHOST_HEALTH_SCAN ? "en" : "dis"]abled.") + to_chat(src, SPAN_NOTICE("Health scan [ghost_flags & GHOST_HEALTH_SCAN ? "en" : "dis"]abled.")) /mob/dead/observer/verb/toggle_gas_scan() set name = "Toggle Gas Scan" @@ -640,7 +640,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = "Ghost" ghost_flags ^= GHOST_GAS_SCAN - to_chat(src, "Gas scan [ghost_flags & GHOST_GAS_SCAN ? "en" : "dis"]abled.") + to_chat(src, SPAN_NOTICE("Gas scan [ghost_flags & GHOST_GAS_SCAN ? "en" : "dis"]abled.")) /mob/dead/observer/verb/toggle_plant_anaylzer() set name = "Toggle Plant Analyzer" @@ -648,7 +648,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = "Ghost" ghost_flags ^= GHOST_PLANT_ANALYZER - to_chat(src, "Plant Analyzer [ghost_flags & GHOST_PLANT_ANALYZER ? "en" : "dis"]abled.") + to_chat(src, SPAN_NOTICE("Plant Analyzer [ghost_flags & GHOST_PLANT_ANALYZER ? "en" : "dis"]abled.")) /mob/dead/observer/verb/view_manifest() set name = "View Crew Manifest" @@ -721,7 +721,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp ghost_flags ^= GHOST_VISION update_sight() - to_chat(src, "Ghost vision [ghost_flags & GHOST_VISION ? "en" : "dis"]abled.") + to_chat(src, SPAN_NOTICE("Ghost vision [ghost_flags & GHOST_VISION ? "en" : "dis"]abled.")) /mob/dead/observer/verb/pick_darkness() set name = "Pick Darkness" @@ -790,7 +790,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/follow_link if(invisibility) // Only show the button if the ghost is not visible to the living follow_link = " ([ghost_follow_link(A, M)])" // Ghost needs to be link clicker, otherwise it breaks - M.show_message("[src] points to [A][follow_link].", EMOTE_VISIBLE) + M.show_message(SPAN_DEADSAY("[src] points to [A][follow_link]."), EMOTE_VISIBLE) return TRUE @@ -870,7 +870,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp possible_targets.Add(L) if(!length(possible_targets)) - to_chat(src, "There's nobody for you to observe!") + to_chat(src, SPAN_WARNING("There's nobody for you to observe!")) return var/mob/target = tgui_input_list(usr, "Please, select a player!", "Observe", possible_targets) @@ -884,19 +884,19 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = null if(isnewplayer(mob_eye)) - to_chat(src, "You can't observe someone in the lobby.") + to_chat(src, SPAN_WARNING("You can't observe someone in the lobby.")) return if(isobserver(mob_eye)) - to_chat(src, "You can't observe a ghost.") + to_chat(src, SPAN_WARNING("You can't observe a ghost.")) return if(!mob_eye.mind) - to_chat(src, "You can only observe mobs that have been or are being inhabited by a player!") + to_chat(src, SPAN_NOTICE("You can only observe mobs that have been or are being inhabited by a player!")) return if(mob_eye == src) - to_chat(src, "You can't observe yourself!") + to_chat(src, SPAN_WARNING("You can't observe yourself!")) return if(mob_observed) diff --git a/code/modules/mob/dead/observer/observer_spells.dm b/code/modules/mob/dead/observer/observer_spells.dm index a2469d81c39..417077e41a1 100644 --- a/code/modules/mob/dead/observer/observer_spells.dm +++ b/code/modules/mob/dead/observer/observer_spells.dm @@ -12,8 +12,8 @@ GLOBAL_LIST_INIT(boo_phrases, list( /datum/spell/boo name = "Boo!" desc = "Fuck with the living." - selection_deactivated_message = "Your presence will not be known. For now." - selection_activated_message = "You prepare to reach across the veil. Left-click to influence a target!" + selection_deactivated_message = SPAN_NOTICE("Your presence will not be known. For now.") + selection_activated_message = SPAN_NOTICE("You prepare to reach across the veil. Left-click to influence a target!") ghost = TRUE @@ -40,7 +40,7 @@ GLOBAL_LIST_INIT(boo_phrases, list( if(target.get_spooked()) var/area/spook_zone = get_area(target) if(spook_zone.is_haunted) - to_chat(usr, "The veil is weak in [spook_zone], it took less effort to influence [target].") + to_chat(usr, SPAN_NOTICE("The veil is weak in [spook_zone], it took less effort to influence [target].")) cooldown_handler.start_recharge(cooldown_handler.recharge_duration / 2) return diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index 9233e26cb36..8508d98319e 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -46,7 +46,7 @@ piece = stars(piece) if(always_stars) piece = stars(piece) - piece = "[piece]" + piece = SPAN_MESSAGE(SPAN_BODY("[piece]") ) msg += (piece + " ") if(msg == "") // There is literally no content left in this message, we need to shut this shit down @@ -131,11 +131,11 @@ // INNATE is the flag for audible-emote-language, so we don't want to show an "x talks but you cannot hear them" message if it's set // if(!language || !(language.flags & INNATE)) if(speaker == src) - to_chat(src, "You cannot hear yourself speak!") + to_chat(src, SPAN_WARNING("You cannot hear yourself speak!")) else - to_chat(src, "[speaker.name] talks but you cannot hear [speaker.p_them()].") + to_chat(src, "[SPAN_NAME("[speaker.name]")] talks but you cannot hear [speaker.p_them()].") else - to_chat(src, "[speaker_name][speaker.GetAltName()] [track][verb], \"[message]\"") + to_chat(src, "[SPAN_NAME("[speaker_name]")][speaker.GetAltName()] [track][verb], \"[message]\"") // Create map text message if(client?.prefs.toggles2 & PREFTOGGLE_2_RUNECHAT) // can_hear is checked up there on L99 @@ -167,7 +167,7 @@ if(!can_hear()) if(prob(20)) - to_chat(src, "You feel your headset vibrate but can hear nothing from it!") + to_chat(src, SPAN_WARNING("You feel your headset vibrate but can hear nothing from it!")) else if(track) to_chat(src, "[part_a][track][part_b][message]
") else @@ -229,5 +229,5 @@ if((client?.prefs.toggles2 & PREFTOGGLE_2_RUNECHAT) && can_hear()) create_chat_message(H, message_unverbed) - var/rendered = "[name] [message]" + var/rendered = "[SPAN_NAME("[name]")] [message]" to_chat(src, rendered) diff --git a/code/modules/mob/inventory_procs.dm b/code/modules/mob/inventory_procs.dm index 6f886977818..21be8839b99 100644 --- a/code/modules/mob/inventory_procs.dm +++ b/code/modules/mob/inventory_procs.dm @@ -310,11 +310,11 @@ /obj/item/proc/equip_to_best_slot(mob/M) if(src != M.get_active_hand()) - to_chat(M, "You are not holding anything to equip!") + to_chat(M, SPAN_WARNING("You are not holding anything to equip!")) return FALSE if(flags & NODROP) - to_chat(M, "You are unable to equip that!") + to_chat(M, SPAN_WARNING("You are unable to equip that!")) return FALSE if(M.equip_to_appropriate_slot(src)) @@ -357,7 +357,7 @@ playsound(loc, "rustle", 50, TRUE, -5) return TRUE - to_chat(M, "You are unable to equip that!") + to_chat(M, SPAN_WARNING("You are unable to equip that!")) return FALSE /mob/proc/get_all_slots() diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm index 94378f48a35..a8301c84029 100644 --- a/code/modules/mob/language.dm +++ b/code/modules/mob/language.dm @@ -89,7 +89,7 @@ return scrambled_text /datum/language/proc/format_message(message) - return "[message]" + return SPAN_MESSAGE("[message]") /datum/language/proc/format_message_radio(message) return "[message]" @@ -108,11 +108,11 @@ if(!speaker_mask) speaker_mask = speaker.name - var/msg = "[name], [speaker_mask] [get_spoken_verb(message)], [format_message(message)]" + var/msg = "[name], [SPAN_NAME("[speaker_mask]")] [get_spoken_verb(message)], [format_message(message)]" for(var/mob/player in GLOB.player_list) if(istype(player, /mob/dead) && follow) - var/msg_dead = "[name], [speaker_mask] ([ghost_follow_link(speaker, ghost=player)]) [get_spoken_verb(message)], [format_message(message)]" + var/msg_dead = "[name], [SPAN_NAME("[speaker_mask]")] ([ghost_follow_link(speaker, ghost=player)]) [get_spoken_verb(message)], [format_message(message)]" to_chat(player, msg_dead) continue @@ -143,7 +143,7 @@ flags = RESTRICTED|NONGLOBAL|INNATE|NO_TALK_MSG|NO_STUTTER /datum/language/noise/format_message(message) - return "[message]" + return SPAN_MESSAGE("[message]") /datum/language/noise/format_message_radio(message) return "[message]" @@ -350,20 +350,20 @@ /datum/language/grey/check_can_speak(mob/living/speaker) if(speaker.mind?.miming) // Because its a hivemind, mimes would be able to speak otherwise - to_chat(speaker,"You can't communicate without breaking your vow of silence.") + to_chat(speaker,SPAN_WARNING("You can't communicate without breaking your vow of silence.")) return FALSE if(ishuman(speaker)) var/mob/living/carbon/human/S = speaker var/obj/item/organ/external/rhand = S.get_organ("r_hand") var/obj/item/organ/external/lhand = S.get_organ("l_hand") if((!rhand || !rhand.is_usable()) && (!lhand || !lhand.is_usable())) - to_chat(speaker,"You can't communicate without the ability to use your hands!") + to_chat(speaker,SPAN_WARNING("You can't communicate without the ability to use your hands!")) return FALSE if(HAS_TRAIT(speaker, TRAIT_HANDS_BLOCKED)) - to_chat(speaker,"You can't communicate while unable to move your hands to your head!") + to_chat(speaker,SPAN_WARNING("You can't communicate while unable to move your hands to your head!")) return FALSE - speaker.visible_message("[speaker] touches [speaker.p_their()] fingers to [speaker.p_their()] temple.") //If placed in grey/broadcast, it will happen regardless of the success of the action. + speaker.visible_message(SPAN_NOTICE("[speaker] touches [speaker.p_their()] fingers to [speaker.p_their()] temple.")) //If placed in grey/broadcast, it will happen regardless of the success of the action. return TRUE @@ -607,12 +607,12 @@ log_say(log_message, speaker) speaker.create_log(SAY_LOG, log_message) - var/list/message_start = list("[name], [speaker.name]") //Strings as lists lets you add blocks of text much easier - var/list/message_body = list("[speaker.say_quote(message)],\"[message]\"
") + var/list/message_start = list("[name], [SPAN_NAME("[speaker.name]")]") //Strings as lists lets you add blocks of text much easier + var/list/message_body = list(SPAN_MESSAGE("[speaker.say_quote(message)],[SPAN_ROBOT("\"[message]\"")]
")) for(var/mob/M in GLOB.dead_mob_list) if(!isnewplayer(M) && !isbrain(M)) - var/list/message_start_dead = list("[name], [speaker.name] ([ghost_follow_link(speaker, ghost=M)])") + var/list/message_start_dead = list("[name], [SPAN_NAME("[speaker.name] ([ghost_follow_link(speaker, ghost=M)])")]") var/list/dead_message = message_start_dead + message_body M.show_message(dead_message.Join(" "), 2) @@ -622,7 +622,7 @@ else if(drone_only && !isdrone(S)) continue else if(is_ai(S)) - message_start = list("[name], [speaker.name]") + message_start = list("[name], [SPAN_NAME("[speaker.name]")]") else if(isrobot(S)) var/mob/living/silicon/robot/borg = S if(borg.connected_ai?.name == speaker.name) @@ -639,7 +639,7 @@ for(var/mob/living/M in listening) if(issilicon(M) || M.binarycheck()) continue - M.show_message("synthesised voice beeps, \"beep beep beep\"",2) + M.show_message("[SPAN_NAME("synthesised voice")] [SPAN_MESSAGE("beeps, \"beep beep beep\"")]",2) /datum/language/binary/drone name = "Drone Talk" diff --git a/code/modules/mob/living/basic/basic_mob.dm b/code/modules/mob/living/basic/basic_mob.dm index a066d136a86..c2f85a7f75b 100644 --- a/code/modules/mob/living/basic/basic_mob.dm +++ b/code/modules/mob/living/basic/basic_mob.dm @@ -270,12 +270,12 @@ RESTRICT_TYPE(/mob/living/basic) if(..()) // if harm or disarm intent. if(M.a_intent == INTENT_DISARM) playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1) - visible_message("[M] [response_disarm_continuous] [name]!", "[M] [response_disarm_continuous] you!") + visible_message(SPAN_DANGER("[M] [response_disarm_continuous] [name]!"), SPAN_USERDANGER("[M] [response_disarm_continuous] you!")) add_attack_logs(M, src, "Alien disarmed") else var/damage = rand(15, 30) - visible_message("[M] has slashed at [src]!", \ - "[M] has slashed at [src]!") + visible_message(SPAN_DANGER("[M] has slashed at [src]!"), \ + SPAN_USERDANGER("[M] has slashed at [src]!")) playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1) add_attack_logs(M, src, "Alien attacked") attack_threshold_check(damage) @@ -324,9 +324,9 @@ RESTRICT_TYPE(/mob/living/basic) if(death_sound) playsound(get_turf(src), death_sound, 200, 1) if(death_message) - visible_message("\The [src] [death_message]") + visible_message(SPAN_DANGER("\The [src] [death_message]")) else if(!(basic_mob_flags & DEL_ON_DEATH)) - visible_message("\The [src] stops moving...") + visible_message(SPAN_DANGER("\The [src] stops moving...")) if(HAS_TRAIT(src, TRAIT_XENOBIO_SPAWNED)) SSmobs.xenobiology_mobs-- if(basic_mob_flags & DEL_ON_DEATH) @@ -352,8 +352,8 @@ RESTRICT_TYPE(/mob/living/basic) if(INTENT_HELP) if(health > 0) visible_message( - "[M] [response_help_continuous] [src].", - "[M] [response_help_continuous] you." + SPAN_NOTICE("[M] [response_help_continuous] [src]."), + SPAN_NOTICE("[M] [response_help_continuous] you.") ) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) @@ -362,12 +362,12 @@ RESTRICT_TYPE(/mob/living/basic) if(INTENT_HARM, INTENT_DISARM) if(HAS_TRAIT(M, TRAIT_PACIFISM)) - to_chat(M, "You don't want to hurt [src]!") + to_chat(M, SPAN_WARNING("You don't want to hurt [src]!")) return M.do_attack_animation(src, ATTACK_EFFECT_PUNCH) visible_message( - "[M] [response_harm_continuous] [src]!", - "[M] [response_harm_continuous] you!" + SPAN_DANGER("[M] [response_harm_continuous] [src]!"), + SPAN_USERDANGER("[M] [response_harm_continuous] you!") ) playsound(loc, attacked_sound, 25, TRUE, -1) attack_threshold_check(harm_intent_damage) @@ -385,7 +385,7 @@ RESTRICT_TYPE(/mob/living/basic) 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 apply_damage(damage, damagetype, null, getarmor(armor_type = armorcheck)) diff --git a/code/modules/mob/living/basic/farm_animals/chicken.dm b/code/modules/mob/living/basic/farm_animals/chicken.dm index 3a5017e5ad6..37603f2e37c 100644 --- a/code/modules/mob/living/basic/farm_animals/chicken.dm +++ b/code/modules/mob/living/basic/farm_animals/chicken.dm @@ -164,7 +164,7 @@ GLOBAL_VAR_INIT(chicken_count, 0) if(stat == CONSCIOUS && eggsleft < 8) eggsleft += rand(1, 4) else - to_chat(feeder, "[src] doesn't seem hungry!") + to_chat(feeder, SPAN_WARNING("[src] doesn't seem hungry!")) return COMSIG_MOB_CANCEL_EAT /mob/living/basic/chicken/attack_hand(mob/living/carbon/human/M) diff --git a/code/modules/mob/living/basic/farm_animals/goat.dm b/code/modules/mob/living/basic/farm_animals/goat.dm index 39664321e2a..f05227feecd 100644 --- a/code/modules/mob/living/basic/farm_animals/goat.dm +++ b/code/modules/mob/living/basic/farm_animals/goat.dm @@ -55,7 +55,7 @@ if(. && isdiona(target)) var/mob/living/carbon/human/H = target var/obj/item/organ/external/NB = pick(H.bodyparts) - H.visible_message("[src] takes a big chomp out of [H]!", "[src] takes a big chomp out of your [NB.name]!") + H.visible_message(SPAN_WARNING("[src] takes a big chomp out of [H]!"), SPAN_USERDANGER("[src] takes a big chomp out of your [NB.name]!")) NB.droplimb() /mob/living/basic/goat/proc/on_pre_attack(datum/source, atom/target) diff --git a/code/modules/mob/living/basic/farm_animals/udders.dm b/code/modules/mob/living/basic/farm_animals/udders.dm index 83e472b2597..5fcc155f620 100644 --- a/code/modules/mob/living/basic/farm_animals/udders.dm +++ b/code/modules/mob/living/basic/farm_animals/udders.dm @@ -12,13 +12,13 @@ /obj/item/udder/proc/milkAnimal(obj/O, mob/user) var/obj/item/reagent_containers/glass/G = O if(G.reagents.total_volume >= G.volume) - to_chat(user, "[O] is full.") + to_chat(user, SPAN_DANGER("[O] is full.")) return var/transfered = reagents.trans_to(O, rand(5,10)) if(transfered) - user.visible_message("[user] milks [src] using \the [O].", "You milk [src] using \the [O].") + user.visible_message("[user] milks [src] using \the [O].", SPAN_NOTICE("You milk [src] using \the [O].")) else - to_chat(user, "The udder is dry. Wait a bit longer...") + to_chat(user, SPAN_DANGER("The udder is dry. Wait a bit longer...")) /obj/item/udder/cow diff --git a/code/modules/mob/living/basic/friendly/basic_pet.dm b/code/modules/mob/living/basic/friendly/basic_pet.dm index 524d318a10a..f1d112b7dae 100644 --- a/code/modules/mob/living/basic/friendly/basic_pet.dm +++ b/code/modules/mob/living/basic/friendly/basic_pet.dm @@ -12,6 +12,6 @@ var/obj/item/newspaper/paper = O if(stat != CONSCIOUS || !paper.rolled) return ..() - 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].")) INVOKE_ASYNC(src, PROC_REF(spin), 7 DECISECONDS, 1) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/mob/living/basic/friendly/cockroach.dm b/code/modules/mob/living/basic/friendly/cockroach.dm index fde2a467c9a..9ebf6f22a09 100644 --- a/code/modules/mob/living/basic/friendly/cockroach.dm +++ b/code/modules/mob/living/basic/friendly/cockroach.dm @@ -40,12 +40,12 @@ var/mob/living/A = entered if(A.mob_size > MOB_SIZE_SMALL) if(prob(squish_chance)) - A.visible_message("\The [A] squashed \the [name].", "You squashed \the [name].") + A.visible_message(SPAN_NOTICE("\The [A] squashed \the [name]."), SPAN_NOTICE("You squashed \the [name].")) death() else - visible_message("\The [name] avoids getting crushed.") + visible_message(SPAN_NOTICE("\The [name] avoids getting crushed.")) else if(isstructure(entered)) - visible_message("As \the [entered] moved over \the [name], it was crushed.") + visible_message(SPAN_NOTICE("As \the [entered] moved over \the [name], it was crushed.")) death() /mob/living/basic/cockroach/ex_act() // Explosions are a terrible way to handle a cockroach. diff --git a/code/modules/mob/living/basic/friendly/diona_nymph.dm b/code/modules/mob/living/basic/friendly/diona_nymph.dm index 973ff3bc7db..cde0d403365 100644 --- a/code/modules/mob/living/basic/friendly/diona_nymph.dm +++ b/code/modules/mob/living/basic/friendly/diona_nymph.dm @@ -127,7 +127,7 @@ M.throw_alert(NYMPH_ALERT, /atom/movable/screen/alert/gestalt, new_master = src) forceMove(M) else if(isrobot(M)) - M.visible_message("[M] playfully boops [src] on the head!", "You playfully boop [src] on the head!") + M.visible_message(SPAN_NOTICE("[M] playfully boops [src] on the head!"), SPAN_NOTICE("You playfully boop [src] on the head!")) else get_scooped(M) else @@ -144,7 +144,7 @@ choices += H if(!length(choices)) - to_chat(src, "No suitable diona nearby.") + to_chat(src, SPAN_WARNING("No suitable diona nearby.")) return FALSE var/mob/living/M = tgui_input_list(src, "Who do you wish to merge with?", "Nymph Merging", choices) @@ -192,20 +192,20 @@ return FALSE if(length(donors) < evolve_donors) - to_chat(src, "You need more blood in order to ascend to a new state of consciousness...") + to_chat(src, SPAN_WARNING("You need more blood in order to ascend to a new state of consciousness...")) return FALSE if(nutrition < nutrition_need) - to_chat(src, "You need to binge on weeds in order to have the energy to grow...") + to_chat(src, SPAN_WARNING("You need to binge on weeds in order to have the energy to grow...")) return FALSE if(isdiona(loc) && !split()) // if it's merged with diona, needs to able to split before evolving return FALSE - visible_message("[src] begins to shift and quiver, and erupts in a shower of shed bark as it splits into a tangle of nearly a dozen new dionaea.","You begin to shift and quiver, feeling your awareness splinter. All at once, we consume our stored nutrients to surge with growth, splitting into a tangle of at least a dozen new dionaea. We have attained our gestalt form.") + visible_message(SPAN_DANGER("[src] begins to shift and quiver, and erupts in a shower of shed bark as it splits into a tangle of nearly a dozen new dionaea."),SPAN_DANGER("You begin to shift and quiver, feeling your awareness splinter. All at once, we consume our stored nutrients to surge with growth, splitting into a tangle of at least a dozen new dionaea. We have attained our gestalt form.")) if(master_commander) - to_chat(src, "As you evolve, your mind grows out of it's restraints. You are no longer loyal to [master_commander]!") + to_chat(src, SPAN_USERDANGER("As you evolve, your mind grows out of it's restraints. You are no longer loyal to [master_commander]!")) var/mob/living/carbon/human/diona/adult = new(get_turf(loc)) adult.set_species(/datum/species/diona) @@ -235,7 +235,7 @@ /mob/living/basic/diona_nymph/proc/check_full(datum/source, obj/item/potential_food) SIGNAL_HANDLER // COMSIG_MOB_PRE_EAT if(nutrition >= nutrition_need) // Prevents griefing by overeating food items without evolving. - to_chat(src, "You're too full to consume this! Perhaps it's time to grow bigger...") + to_chat(src, SPAN_WARNING("You're too full to consume this! Perhaps it's time to grow bigger...")) return COMSIG_MOB_TERMINATE_EAT // Consumes plant matter other than weeds to evolve @@ -256,7 +256,7 @@ choices += H if(!length(choices)) - to_chat(src, "No suitable blood donors nearby.") + to_chat(src, SPAN_WARNING("No suitable blood donors nearby.")) return FALSE var/mob/living/carbon/human/M = tgui_input_list(src, "Who do you wish to take a sample from?", "Blood Sampling", choices) @@ -265,14 +265,14 @@ return FALSE if(!M.dna || (NO_BLOOD in M.dna.species.species_traits)) - to_chat(src, "That donor has no blood to take.") + to_chat(src, SPAN_WARNING("That donor has no blood to take.")) return FALSE if(donors.Find(M.real_name)) - to_chat(src, "That donor offers you nothing new.") + to_chat(src, SPAN_WARNING("That donor offers you nothing new.")) return FALSE - visible_message("[src] flicks out a feeler and neatly steals a sample of [M]'s blood.","You flick out a feeler and neatly steal a sample of [M]'s blood.") + visible_message(SPAN_DANGER("[src] flicks out a feeler and neatly steals a sample of [M]'s blood."),SPAN_DANGER("You flick out a feeler and neatly steal a sample of [M]'s blood.")) donors += M.real_name for(var/datum/language/L in M.languages) if(!(L.flags & HIVEMIND)) @@ -286,12 +286,12 @@ return FALSE if(length(donors) == evolve_donors) - to_chat(src, "You feel ready to move on to your next stage of growth.") + to_chat(src, SPAN_NOTICEALIEN("You feel ready to move on to your next stage of growth.")) else if(length(donors) == awareness_donors) universal_understand = TRUE - to_chat(src, "You feel your awareness expand, and realize you know how to understand the creatures around you.") + to_chat(src, SPAN_NOTICEALIEN("You feel your awareness expand, and realize you know how to understand the creatures around you.")) else - to_chat(src, "The blood seeps into your small form, and you draw out the echoes of memories and personality from it, working them into your budding mind.") + to_chat(src, SPAN_NOTICEALIEN("The blood seeps into your small form, and you draw out the echoes of memories and personality from it, working them into your budding mind.")) /mob/living/basic/diona_nymph/put_in_hands(obj/item/W) @@ -301,7 +301,7 @@ W.dropped() /mob/living/basic/diona_nymph/put_in_active_hand(obj/item/W) - to_chat(src, "You don't have any hands!") + to_chat(src, SPAN_WARNING("You don't have any hands!")) return /mob/living/basic/diona_nymph/valid_respawn_target_for(mob/user) diff --git a/code/modules/mob/living/basic/friendly/lizard.dm b/code/modules/mob/living/basic/friendly/lizard.dm index ea0b446a489..1ca22acae5b 100644 --- a/code/modules/mob/living/basic/friendly/lizard.dm +++ b/code/modules/mob/living/basic/friendly/lizard.dm @@ -70,11 +70,11 @@ if(stat != CONSCIOUS) return if(!has_tail) - to_chat(usr, "You have no tail to shed!") + to_chat(usr, SPAN_WARNING("You have no tail to shed!")) return for(var/obj/item/grab/G in usr.grabbed_by) var/mob/living/carbon/M = G.assailant - usr.visible_message("[usr] suddenly sheds their tail and slips out of [M]'s grasp!") + usr.visible_message(SPAN_WARNING("[usr] suddenly sheds their tail and slips out of [M]'s grasp!")) M.KnockDown(3 SECONDS) // FUCK I TRIPPED playsound(usr.loc, "sound/misc/slip.ogg", 75, 1) has_tail = FALSE @@ -82,12 +82,12 @@ /mob/living/basic/lizard/proc/new_tail() has_tail = TRUE - to_chat(src, "You regrow your tail!") + to_chat(src, SPAN_NOTICE("You regrow your tail!")) /mob/living/basic/lizard/decompile_act(obj/item/matter_decompiler/C, mob/user) if(!isdrone(user)) - user.visible_message("[user] sucks [src] into its decompiler. There's a horrible crunching noise.", \ - "It's a bit of a struggle, but you manage to suck [src] into your decompiler. It makes a series of visceral crunching noises.") + user.visible_message(SPAN_NOTICE("[user] sucks [src] into its decompiler. There's a horrible crunching noise."), \ + SPAN_WARNING("It's a bit of a struggle, but you manage to suck [src] into your decompiler. It makes a series of visceral crunching noises.")) new/obj/effect/decal/cleanable/blood/splatter(get_turf(src)) C.stored_comms["metal"] += 2 // having more metal than glass because blood has iron in it C.stored_comms["glass"] += 1 diff --git a/code/modules/mob/living/basic/friendly/mouse.dm b/code/modules/mob/living/basic/friendly/mouse.dm index 92ff554f786..88cdf41c63c 100644 --- a/code/modules/mob/living/basic/friendly/mouse.dm +++ b/code/modules/mob/living/basic/friendly/mouse.dm @@ -86,7 +86,7 @@ SIGNAL_HANDLER // COMSIG_ATOM_ENTERED if(ishuman(entered) && stat == CONSCIOUS) - to_chat(entered, "Squeak!") + to_chat(entered, SPAN_NOTICE("Squeak!")) /// Called when a mouse is hand-fed some cheese, it will stop being afraid of humans /mob/living/basic/mouse/tamed(mob/living/tamer, obj/item/food/sliced/cheesewedge/cheese) @@ -98,14 +98,14 @@ /mob/living/basic/mouse/proc/try_consume_cheese(obj/item/food/sliced/cheesewedge/cheese) if(prob(90) || health < maxHealth) visible_message( - "[src] nibbles [cheese].", - "You nibble [cheese][health < maxHealth ? ", restoring your health" : ""]." + SPAN_NOTICE("[src] nibbles [cheese]."), + SPAN_NOTICE("You nibble [cheese][health < maxHealth ? ", restoring your health" : ""].") ) adjustHealth(-maxHealth) else visible_message( - "[src] nibbles through [cheese], attracting another mouse!", - "You nibble through [cheese], attracting another mouse!" + SPAN_NOTICE("[src] nibbles through [cheese], attracting another mouse!"), + SPAN_NOTICE("You nibble through [cheese], attracting another mouse!") ) new /mob/living/basic/mouse(loc) qdel(cheese) @@ -116,11 +116,11 @@ return var/turf/simulated/floor/F = get_turf(cable) if(cable.get_available_power() && !HAS_TRAIT(src, TRAIT_SHOCKIMMUNE)) - visible_message("[src] chews through [cable]. It's toast!") + visible_message(SPAN_WARNING("[src] chews through [cable]. It's toast!")) playsound(src, 'sound/effects/sparks2.ogg', 100, 1) toast() // mmmm toasty. else - visible_message("[src] chews through [cable].") + visible_message(SPAN_WARNING("[src] chews through [cable].")) investigate_log("was chewed through by a mouse in [get_area(F)]([F.x], [F.y], [F.z] - [ADMIN_JMP(F)])",INVESTIGATE_WIRES) cable.deconstruct() @@ -128,14 +128,14 @@ if(istype(AM, /obj/item/food/sliced/cheesewedge)) return ..() // Get dem if(show_message) - to_chat(src, "You are too small to pull anything except cheese.") + to_chat(src, SPAN_WARNING("You are too small to pull anything except cheese.")) return /mob/living/basic/mouse/proc/on_atom_entered(datum/source, atom/movable/entered) if(ishuman(entered)) if(stat == CONSCIOUS) var/mob/M = entered - to_chat(M, "[bicon(src)] Squeek!") + to_chat(M, SPAN_NOTICE("[bicon(src)] Squeek!")) /mob/living/basic/mouse/proc/toast() add_atom_colour("#3A3A3A", FIXED_COLOUR_PRIORITY) @@ -232,7 +232,7 @@ bursted = TRUE var/turf/T = get_turf(src) if(!is_station_level(T.z) || isspaceturf(T)) - to_chat(src, "You feel ready to burst, but this isn't an appropriate place! You must return to the station!") + to_chat(src, SPAN_USERDANGER("You feel ready to burst, but this isn't an appropriate place! You must return to the station!")) apply_status_effect(STATUS_EFFECT_BLOB_BURST, 5 SECONDS, CALLBACK(src, PROC_REF(burst), FALSE)) return FALSE var/datum/mind/blobmind = mind @@ -257,13 +257,13 @@ SSticker.record_biohazard_start(BIOHAZARD_BLOB) /mob/living/basic/mouse/blobinfected/get_scooped(mob/living/carbon/grabber) - to_chat(grabber, "You try to pick up [src], but they slip out of your grasp!") - to_chat(src, "[src] tries to pick you up, but you wriggle free of their grasp!") + to_chat(grabber, SPAN_WARNING("You try to pick up [src], but they slip out of your grasp!")) + to_chat(src, SPAN_WARNING("[src] tries to pick you up, but you wriggle free of their grasp!")) /mob/living/basic/mouse/decompile_act(obj/item/matter_decompiler/C, mob/user) if(!isdrone(user)) - user.visible_message("[user] sucks [src] into its decompiler. There's a horrible crunching noise.", \ - "It's a bit of a struggle, but you manage to suck [src] into your decompiler. It makes a series of visceral crunching noises.") + user.visible_message(SPAN_NOTICE("[user] sucks [src] into its decompiler. There's a horrible crunching noise."), \ + SPAN_WARNING("It's a bit of a struggle, but you manage to suck [src] into your decompiler. It makes a series of visceral crunching noises.")) new/obj/effect/decal/cleanable/blood/splatter(get_turf(src)) C.stored_comms["metal"] += 2 C.stored_comms["glass"] += 1 diff --git a/code/modules/mob/living/basic/friendly/nian_caterpillar.dm b/code/modules/mob/living/basic/friendly/nian_caterpillar.dm index 36a951002ec..ed96989c45c 100644 --- a/code/modules/mob/living/basic/friendly/nian_caterpillar.dm +++ b/code/modules/mob/living/basic/friendly/nian_caterpillar.dm @@ -78,11 +78,11 @@ // A changeling caterpillar shouldn't be restricted from evolving. // A caterpillar needs to consume food-- similar to a dioan nymph --to evolve. if((nutrition < nutrition_need) && !IS_CHANGELING(M)) - to_chat(src, "You need to binge on food in order to have the energy to evolve...") + to_chat(src, SPAN_WARNING("You need to binge on food in order to have the energy to evolve...")) return if(master_commander) - to_chat(src, "As you evolve, your mind grows out of it's restraints. You are no longer loyal to [master_commander]!") + to_chat(src, SPAN_USERDANGER("As you evolve, your mind grows out of it's restraints. You are no longer loyal to [master_commander]!")) // Worme is the lesser form of nian. The caterpillar evolves into this lesser form. var/mob/living/carbon/human/nian_worme/adult = new(get_turf(loc)) @@ -125,7 +125,7 @@ /mob/living/basic/nian_caterpillar/proc/check_full(datum/source, obj/item/potential_food) SIGNAL_HANDLER // COMSIG_MOB_PRE_EAT if(nutrition >= nutrition_need) // Prevents griefing by overeating food items without evolving. - to_chat(src, "You're too full to consume this! Perhaps it's time to grow bigger...") + to_chat(src, SPAN_WARNING("You're too full to consume this! Perhaps it's time to grow bigger...")) return COMSIG_MOB_TERMINATE_EAT @@ -141,7 +141,7 @@ if(M.a_intent != INTENT_HELP) return ..() if(isrobot(M)) - M.visible_message("[M] playfully boops [src] on the head!", "You playfully boop [src] on the head!") + M.visible_message(SPAN_NOTICE("[M] playfully boops [src] on the head!"), SPAN_NOTICE("You playfully boop [src] on the head!")) else get_scooped(M) @@ -171,7 +171,7 @@ /datum/action/innate/nian_caterpillar_emerge/Activate() var/mob/living/basic/nian_caterpillar/user = owner - user.visible_message("[user] begins to hold still and concentrate on weaving a cocoon...", "You begin to focus on weaving a cocoon... (This will take [COCOON_WEAVE_DELAY / 10] seconds, and you must hold still.)") + user.visible_message(SPAN_NOTICE("[user] begins to hold still and concentrate on weaving a cocoon..."), SPAN_NOTICE("You begin to focus on weaving a cocoon... (This will take [COCOON_WEAVE_DELAY / 10] seconds, and you must hold still.)")) if(do_after(user, COCOON_WEAVE_DELAY, FALSE, user)) var/obj/structure/moth_cocoon/C = new(get_turf(user)) var/datum/mind/H = user.mind @@ -190,13 +190,13 @@ /datum/action/cooldown/mob_cooldown/spin_mothsilk/Activate(atom/target) if(owner.nutrition < 425) - to_chat(owner, "You don't have enough nutrition to spin silk!") + to_chat(owner, SPAN_WARNING("You don't have enough nutrition to spin silk!")) return FALSE if(!do_after(owner, 3 SECONDS)) return FALSE new /obj/item/stack/sheet/mothsilk(get_turf(owner)) owner.nutrition -= 15 - owner.visible_message("[owner] spins some mothsilk!") + owner.visible_message(SPAN_NOTICE("[owner] spins some mothsilk!")) StartCooldown() return TRUE diff --git a/code/modules/mob/living/basic/friendly/spiderbot.dm b/code/modules/mob/living/basic/friendly/spiderbot.dm index 7e3fcc68aec..d36009e958a 100644 --- a/code/modules/mob/living/basic/friendly/spiderbot.dm +++ b/code/modules/mob/living/basic/friendly/spiderbot.dm @@ -57,10 +57,10 @@ if(istype(O, /obj/item/mmi)) var/obj/item/mmi/B = O if(mmi) // There's already a brain in it. - to_chat(user, "There's already a brain in [src]!") + to_chat(user, SPAN_WARNING("There's already a brain in [src]!")) return ITEM_INTERACT_COMPLETE if(!B.brainmob) - to_chat(user, "Sticking an empty MMI into the frame would sort of defeat the purpose.") + to_chat(user, SPAN_WARNING("Sticking an empty MMI into the frame would sort of defeat the purpose.")) return ITEM_INTERACT_COMPLETE if(!B.brainmob.key) var/ghost_can_reenter = 0 @@ -74,18 +74,18 @@ ghost_can_reenter = 1 break if(!ghost_can_reenter) - to_chat(user, "[B] is completely unresponsive; there's no point.") + to_chat(user, SPAN_NOTICE("[B] is completely unresponsive; there's no point.")) return ITEM_INTERACT_COMPLETE if(B.brainmob.stat == DEAD) - to_chat(user, "[B] is dead. Sticking it into the frame would sort of defeat the purpose.") + to_chat(user, SPAN_WARNING("[B] is dead. Sticking it into the frame would sort of defeat the purpose.")) return ITEM_INTERACT_COMPLETE if(jobban_isbanned(B.brainmob, "Cyborg") || jobban_isbanned(B.brainmob, "nonhumandept")) - to_chat(user, "[B] does not seem to fit.") + to_chat(user, SPAN_WARNING("[B] does not seem to fit.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You install [B] in [src]!") + to_chat(user, SPAN_NOTICE("You install [B] in [src]!")) user.drop_item() B.forceMove(src) @@ -97,11 +97,11 @@ else if(istype(O, /obj/item/card/id) || istype(O, /obj/item/pda)) if(!mmi) - to_chat(user, "There's no reason to swipe your ID - the spiderbot has no brain to remove.") + to_chat(user, SPAN_WARNING("There's no reason to swipe your ID - the spiderbot has no brain to remove.")) return ITEM_INTERACT_COMPLETE if(emagged) - to_chat(user, "[src] doesn't seem to respond.") + to_chat(user, SPAN_WARNING("[src] doesn't seem to respond.")) return ITEM_INTERACT_COMPLETE var/obj/item/card/id/id_card @@ -113,11 +113,11 @@ id_card = pda.id if(ACCESS_ROBOTICS in id_card.access) - to_chat(user, "You swipe your access card and pop the brain out of [src].") + to_chat(user, SPAN_NOTICE("You swipe your access card and pop the brain out of [src].")) eject_brain() return ITEM_INTERACT_COMPLETE else - to_chat(user, "You swipe your card, with no effect.") + to_chat(user, SPAN_WARNING("You swipe your card, with no effect.")) return ITEM_INTERACT_COMPLETE /mob/living/basic/spiderbot/welder_act(mob/user, obj/item/I) @@ -126,23 +126,23 @@ if(user == src) // No self-repair dummy return if(health >= maxHealth) - to_chat(user, "[src] does not need repairing!") + to_chat(user, SPAN_WARNING("[src] does not need repairing!")) return . = TRUE if(!I.use_tool(src, user, volume = I.tool_volume)) return adjustHealth(-5) add_fingerprint(user) - user.visible_message("[user] repairs [src]!","You repair [src].") + user.visible_message("[user] repairs [src]!",SPAN_NOTICE("You repair [src].")) /mob/living/basic/spiderbot/emag_act(mob/living/user) if(emagged) - to_chat(user, "[src] doesn't seem to respond.") + to_chat(user, SPAN_WARNING("[src] doesn't seem to respond.")) return 0 else emagged = TRUE - to_chat(user, "You short out the security protocols and rewrite [src]'s internal memory.") - to_chat(src, "You have been emagged; you are now completely loyal to [user] and [user.p_their()] every order!") + to_chat(user, SPAN_NOTICE("You short out the security protocols and rewrite [src]'s internal memory.")) + to_chat(src, SPAN_USERDANGER("You have been emagged; you are now completely loyal to [user] and [user.p_their()] every order!")) emagged_master = user add_attack_logs(user, src, "Emagged") maxHealth = 60 @@ -158,7 +158,7 @@ ckey = M.brainmob.ckey name = "Spider-bot ([M.brainmob.name])" if(emagged) - to_chat(src, "You have been emagged; you are now completely loyal to [emagged_master] and [emagged_master.p_their()] every order!") + to_chat(src, SPAN_USERDANGER("You have been emagged; you are now completely loyal to [emagged_master] and [emagged_master.p_their()] every order!")) /mob/living/basic/spiderbot/update_icon_state() if(mmi) diff --git a/code/modules/mob/living/basic/hostile/alien/alien_mob_hunter.dm b/code/modules/mob/living/basic/hostile/alien/alien_mob_hunter.dm index bbaceff36e1..55ef6f45152 100644 --- a/code/modules/mob/living/basic/hostile/alien/alien_mob_hunter.dm +++ b/code/modules/mob/living/basic/hostile/alien/alien_mob_hunter.dm @@ -57,7 +57,7 @@ return if(locate(/obj/structure/alien/weeds/node) in get_turf(src)) return - visible_message("[src] has planted some alien weeds!") + visible_message(SPAN_ALERTALIEN("[src] has planted some alien weeds!")) new /obj/structure/alien/weeds/node(loc) /mob/living/basic/alien/proc/lay_eggs() @@ -65,7 +65,7 @@ return if(locate(/obj/structure/alien/egg) in get_turf(src)) return - visible_message("[src] has laid an egg!") + visible_message(SPAN_ALERTALIEN("[src] has laid an egg!")) new /obj/structure/alien/egg(loc) /mob/living/basic/alien/lavaland diff --git a/code/modules/mob/living/basic/hostile/alien/alien_mob_maid.dm b/code/modules/mob/living/basic/hostile/alien/alien_mob_maid.dm index a476d5f5b94..aac9c8fcf14 100644 --- a/code/modules/mob/living/basic/hostile/alien/alien_mob_maid.dm +++ b/code/modules/mob/living/basic/hostile/alien/alien_mob_maid.dm @@ -32,7 +32,7 @@ if(ishuman(target)) var/atom/movable/H = target H.clean_blood() - visible_message("\The [src] polishes \the [target].") + visible_message(SPAN_NOTICE("\The [src] polishes \the [target].")) return FALSE target.cleaning_act(src, src, cleanspeed, text_description = ".") // LXM is both the user and the cleaning implement itself. Wow! diff --git a/code/modules/mob/living/basic/hostile/bats.dm b/code/modules/mob/living/basic/hostile/bats.dm index e2520eed6a0..df6cc13dbf8 100644 --- a/code/modules/mob/living/basic/hostile/bats.dm +++ b/code/modules/mob/living/basic/hostile/bats.dm @@ -47,7 +47,7 @@ if(istype(L)) if(prob(15)) L.Stun(2 SECONDS) - L.visible_message("\the [src] scares \the [L]!") + L.visible_message(SPAN_DANGER("\the [src] scares \the [L]!")) // This mob is for the admin-only ancient vampire, DO NOT USE ELSEWHERE diff --git a/code/modules/mob/living/basic/hostile/bees/bees.dm b/code/modules/mob/living/basic/hostile/bees/bees.dm index 2f6cb6760df..280c1a8e1b7 100644 --- a/code/modules/mob/living/basic/hostile/bees/bees.dm +++ b/code/modules/mob/living/basic/hostile/bees/bees.dm @@ -68,7 +68,7 @@ /mob/living/basic/bee/examine(mob/user) . = ..() if(!bee_syndicate && !beehome) - . += "This bee is homeless!" + . += SPAN_WARNING("This bee is homeless!") /mob/living/basic/bee/Destroy() if(beehome) @@ -222,7 +222,7 @@ var/obj/item/reagent_containers/syringe/S = I if(S.reagents.has_reagent("royal_bee_jelly")) // We check it twice because if we use an if/else statement, it won't catch the check for blacklisted chemicals below if(!S.reagents.has_reagent("royal_bee_jelly", 5)) - 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!")) return S.reagents.remove_reagent("royal_bee_jelly", 5) var/obj/item/queen_bee/qb = new(user.drop_location()) @@ -230,20 +230,20 @@ 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!")) return var/datum/reagent/R = GLOB.chemical_reagents_list[S.reagents.get_master_reagent_id()] if(R && S.reagents.has_reagent(R.id, 5)) S.reagents.remove_reagent(R.id, 5) // Whether or not the chemical is blocked, we want it gone just because you tried to if(R.id in GLOB.blocked_chems) - to_chat(user, "The [src]'s immune system rejects [R.name]!") + to_chat(user, SPAN_WARNING("The [src]'s immune system rejects [R.name]!")) return 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!")) /obj/item/queen_bee/bought/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/hostile/demons/demon_loot.dm b/code/modules/mob/living/basic/hostile/demons/demon_loot.dm index dc94d550397..cae6c6f9302 100644 --- a/code/modules/mob/living/basic/hostile/demons/demon_loot.dm +++ b/code/modules/mob/living/basic/hostile/demons/demon_loot.dm @@ -13,8 +13,8 @@ return // Just so people don't accidentally waste it /obj/item/organ/internal/heart/demon/attack_self__legacy__attackchain(mob/living/user) - user.visible_message("[user] raises [src] to [user.p_their()] mouth and tears into it with [user.p_their()] teeth!", \ - "An unnatural hunger consumes you. You raise [src] to your mouth and devour it!") + user.visible_message(SPAN_WARNING("[user] raises [src] to [user.p_their()] mouth and tears into it with [user.p_their()] teeth!"), \ + SPAN_DANGER("An unnatural hunger consumes you. You raise [src] to your mouth and devour it!")) playsound(user, 'sound/misc/demon_consume.ogg', 50, 1) /// SLAUGHTER DEMON HEART @@ -24,8 +24,8 @@ // Eating the heart for the first time. Gives basic bloodcrawling. This is the only time we need to insert the heart. if(!HAS_TRAIT(user, TRAIT_BLOODCRAWL)) - user.visible_message("[user]'s eyes flare a deep crimson!", \ - "You feel a strange power seep into your body... you have absorbed the demon's blood-travelling powers!") + user.visible_message(SPAN_WARNING("[user]'s eyes flare a deep crimson!"), \ + SPAN_USERDANGER("You feel a strange power seep into your body... you have absorbed the demon's blood-travelling powers!")) ADD_TRAIT(user, TRAIT_BLOODCRAWL, "bloodcrawl") user.drop_item() insert(user) //Consuming the heart literally replaces your heart with a demon heart. H A R D C O R E. @@ -33,13 +33,13 @@ // Eating a 2nd heart. Gives the ability to drag people into blood and eat them. if(HAS_TRAIT(user, TRAIT_BLOODCRAWL)) - to_chat(user, "You feel differ- CONSUME THEM!") + to_chat(user, "You feel differ-[SPAN_DANGER(" CONSUME THEM!")]") ADD_TRAIT(user, TRAIT_BLOODCRAWL_EAT, "bloodcrawl_eat") qdel(src) // Replacing their demon heart with another demon heart is pointless, just delete this one and return. return TRUE // Eating any more than 2 demon hearts does nothing. - to_chat(user, "...and you don't feel any different.") + to_chat(user, SPAN_WARNING("...and you don't feel any different.")) qdel(src) /obj/item/organ/internal/heart/demon/slaughter/insert(mob/living/carbon/M, special = 0) diff --git a/code/modules/mob/living/basic/hostile/demons/demon_powers.dm b/code/modules/mob/living/basic/hostile/demons/demon_powers.dm index cb4da56daa9..3f837b737f0 100644 --- a/code/modules/mob/living/basic/hostile/demons/demon_powers.dm +++ b/code/modules/mob/living/basic/hostile/demons/demon_powers.dm @@ -16,7 +16,7 @@ validtargets += M if(!length(validtargets)) - to_chat(usr, "There are no valid targets!") + to_chat(usr, SPAN_WARNING("There are no valid targets!")) return var/mob/living/target = tgui_input_list(user, "Choose the target to talk to", "Targeting", validtargets) @@ -31,8 +31,8 @@ if(!msg) return log_say("(SLAUGHTER to [key_name(choice)]) [msg]", usr) - to_chat(usr, "You whisper to [choice]: [msg]") - to_chat(choice, "Suddenly a strange, demonic voice resonates in your head... [msg]") + to_chat(usr, SPAN_NOTICE("You whisper to [choice]: [msg]")) + to_chat(choice, "[SPAN_DEADSAY("Suddenly a strange, demonic voice resonates in your head... ")][SPAN_DANGER(" [msg]")]") for(var/mob/dead/observer/G in GLOB.player_list) G.show_message("Demonic message from [usr] ([ghost_follow_link(usr, ghost=G)]) to [choice] ([ghost_follow_link(choice, ghost=G)]): [msg]") @@ -56,13 +56,13 @@ /datum/spell/sense_victims/cast(list/targets, mob/user) var/mob/living/victim = targets[1] - to_chat(victim, "You feel an awful sense of being watched...") + to_chat(victim, SPAN_USERDANGER("You feel an awful sense of being watched...")) victim.Stun(6 SECONDS) //HUE var/area/A = get_area(victim) if(!A) - to_chat(user, "You could not locate any sapient heretics for the Slaughter.") + to_chat(user, SPAN_WARNING("You could not locate any sapient heretics for the Slaughter.")) return 0 - to_chat(user, "You sense a terrified soul at [A]. Show [A.p_them()] the error of [A.p_their()] ways.") + to_chat(user, SPAN_DANGER("You sense a terrified soul at [A]. Show [A.p_them()] the error of [A.p_their()] ways.")) ////////////////////////////// // MARK: SHADOW DEMON @@ -73,8 +73,8 @@ base_cooldown = 10 SECONDS fireball_type = /obj/projectile/magic/shadow_hand - selection_activated_message = "You raise your hand, full of demonic energy! Left-click to cast at a target!" - selection_deactivated_message = "You re-absorb the energy...for now." + selection_activated_message = SPAN_NOTICE("You raise your hand, full of demonic energy! Left-click to cast at a target!") + selection_deactivated_message = SPAN_NOTICE("You re-absorb the energy...for now.") action_background_icon_state = "shadow_demon_bg" action_icon_state = "shadow_grapple" @@ -189,17 +189,17 @@ return FALSE if(locked) if(show_message) - to_chat(user, "This ability is locked! Alt-click the button to purchase this ability.") - to_chat(user, "It costs [format_si_suffix(unlock_cost)] APC\s to unlock.") + to_chat(user, SPAN_WARNING("This ability is locked! Alt-click the button to purchase this ability.")) + to_chat(user, SPAN_NOTICE("It costs [format_si_suffix(unlock_cost)] APC\s to unlock.")) return FALSE if(user.charge < cast_cost) if(show_message) - to_chat(user, "You do not have enough charge to use this ability!") - to_chat(user, "It costs [format_si_suffix(cast_cost)]W to use.") + to_chat(user, SPAN_WARNING("You do not have enough charge to use this ability!")) + to_chat(user, SPAN_NOTICE("It costs [format_si_suffix(cast_cost)]W to use.")) return FALSE if(requires_area && !user.controlling_area) if(show_message) - to_chat(user, "You need to be controlling an area to use this ability!") + to_chat(user, SPAN_WARNING("You need to be controlling an area to use this ability!")) return FALSE return TRUE @@ -209,7 +209,7 @@ if(requires_area && !user.controlling_area) return FALSE if(requires_area && user.controlling_area != get_area(targets[1])) - to_chat(user, "You can only use this ability in your controlled area!") + to_chat(user, SPAN_WARNING("You can only use this ability in your controlled area!")) return FALSE if(try_cast_action(user, targets[1])) user.adjust_charge(-cast_cost) @@ -241,36 +241,36 @@ if(user.apcs_remaining >= unlock_cost) user.apcs_remaining -= unlock_cost locked = FALSE - to_chat(user, "You have unlocked [initial(name)]!") + to_chat(user, SPAN_NOTICE("You have unlocked [initial(name)]!")) if(cast_cost > 0) - to_chat(user, "It costs [format_si_suffix(cast_cost)]W to use once.") + to_chat(user, SPAN_NOTICE("It costs [format_si_suffix(cast_cost)]W to use once.")) if(level_max > 0 && spell_level < level_max) - to_chat(user, "It will cost [format_si_suffix(upgrade_cost)] APC\s to upgrade.") + to_chat(user, SPAN_NOTICE("It will cost [format_si_suffix(upgrade_cost)] APC\s to upgrade.")) update_info() else - to_chat(user, "You cannot afford this ability! It costs [format_si_suffix(unlock_cost)] APC\s to unlock.") + to_chat(user, SPAN_WARNING("You cannot afford this ability! It costs [format_si_suffix(unlock_cost)] APC\s to unlock.")) else if(spell_level >= level_max) - to_chat(user, "You have already fully upgraded this ability!") + to_chat(user, SPAN_WARNING("You have already fully upgraded this ability!")) else if(user.apcs_remaining >= upgrade_cost) user.apcs_remaining -= upgrade_cost spell_level = min(spell_level + 1, level_max) do_upgrade(user) if(spell_level == level_max) - to_chat(user, "You have fully upgraded [initial(name)]!") + to_chat(user, SPAN_NOTICE("You have fully upgraded [initial(name)]!")) else - to_chat(user, "The next upgrade will cost [format_si_suffix(upgrade_cost)] APC\s to unlock.") + to_chat(user, SPAN_NOTICE("The next upgrade will cost [format_si_suffix(upgrade_cost)] APC\s to unlock.")) update_info() else - to_chat(user, "You cannot afford to upgrade this ability! It costs [format_si_suffix(upgrade_cost)] APC\s to upgrade.") + to_chat(user, SPAN_WARNING("You cannot afford to upgrade this ability! It costs [format_si_suffix(upgrade_cost)] APC\s to upgrade.")) /datum/spell/pulse_demon/proc/do_upgrade(mob/living/basic/demon/pulse_demon/user) cooldown_handler.recharge_duration = round(base_cooldown / (1.5 ** spell_level)) - to_chat(user, "You have upgraded [initial(name)] to level [spell_level + 1], it now takes [cooldown_handler.recharge_duration / 10] seconds to recharge.") + to_chat(user, SPAN_NOTICE("You have upgraded [initial(name)] to level [spell_level + 1], it now takes [cooldown_handler.recharge_duration / 10] seconds to recharge.")) /datum/spell/pulse_demon/cablehop name = "Cable Hop" @@ -287,10 +287,10 @@ var/turf/T = get_turf(target) var/obj/structure/cable/C = locate(/obj/structure/cable) in T if(!istype(C)) - to_chat(user, "No cable found!") + to_chat(user, SPAN_WARNING("No cable found!")) return FALSE if(get_dist(O, T) > 15) //Some extra range to account for them possessing machines away from their APC, but blocking demons from using a camera console to zap across the station. - to_chat(user, "That cable is too far away!") + to_chat(user, SPAN_WARNING("That cable is too far away!")) return FALSE playsound(T, 'sound/magic/lightningshock.ogg', 50, TRUE) O.Beam(target, icon_state = "lightning[rand(1, 12)]", icon = 'icons/effects/effects.dmi', time = 1 SECONDS) @@ -314,7 +314,7 @@ revealing = TRUE /datum/spell/pulse_demon/emagtamper/try_cast_action(mob/living/basic/demon/pulse_demon/user, atom/target) - to_chat(user, "You attempt to tamper with [target]!") + to_chat(user, SPAN_WARNING("You attempt to tamper with [target]!")) target.emag_act(user) return TRUE @@ -329,7 +329,7 @@ revealing = TRUE /datum/spell/pulse_demon/emp/try_cast_action(mob/living/basic/demon/pulse_demon/user, atom/target) - to_chat(user, "You attempt to EMP [target]!") + to_chat(user, SPAN_WARNING("You attempt to EMP [target]!")) empulse(get_turf(target), 1, 1) return TRUE @@ -348,12 +348,12 @@ /datum/spell/pulse_demon/overload/try_cast_action(mob/living/basic/demon/pulse_demon/user, atom/target) var/obj/machinery/M = target if(!istype(M)) - to_chat(user, "That is not a machine.") + to_chat(user, SPAN_WARNING("That is not a machine.")) return FALSE if(target.flags_2 & NO_MALF_EFFECT_2) - to_chat(user, "That machine cannot be overloaded.") + to_chat(user, SPAN_WARNING("That machine cannot be overloaded.")) return FALSE - target.audible_message("You hear a loud electrical buzzing sound coming from [target]!") + target.audible_message(SPAN_ITALICS("You hear a loud electrical buzzing sound coming from [target]!")) addtimer(CALLBACK(src, PROC_REF(detonate), user, M), 5 SECONDS) return TRUE @@ -378,10 +378,10 @@ /datum/spell/pulse_demon/remotehijack/try_cast_action(mob/living/basic/demon/pulse_demon/user, atom/target) var/obj/machinery/power/apc/A = target if(!istype(A)) - to_chat(user, "That is not an APC.") + to_chat(user, SPAN_WARNING("That is not an APC.")) return FALSE if(!user.try_hijack_apc(A, TRUE)) - to_chat(user, "You cannot hijack that APC right now!") + to_chat(user, SPAN_WARNING("You cannot hijack that APC right now!")) return TRUE /datum/spell/pulse_demon/remotedrain @@ -396,14 +396,14 @@ if(isapc(target)) var/drained = user.drain_APC(target, PULSEDEMON_REMOTE_DRAIN_MULTIPLIER) if(drained == PULSEDEMON_SOURCE_DRAIN_INVALID) - to_chat(user, "This APC is being hijacked, you cannot drain from it right now.") + to_chat(user, SPAN_WARNING("This APC is being hijacked, you cannot drain from it right now.")) else - to_chat(user, "You drain [format_si_suffix(drained)]W from [target].") + to_chat(user, SPAN_NOTICE("You drain [format_si_suffix(drained)]W from [target].")) else if(istype(target, /obj/machinery/power/smes)) var/drained = user.drain_SMES(target, PULSEDEMON_REMOTE_DRAIN_MULTIPLIER) - to_chat(user, "You drain [format_si_suffix(drained)]W from [target].") + to_chat(user, SPAN_NOTICE("You drain [format_si_suffix(drained)]W from [target].")) else - to_chat(user, "That is not a valid source.") + to_chat(user, SPAN_WARNING("That is not a valid source.")) return FALSE return TRUE @@ -425,7 +425,7 @@ action.background_icon_state = varstate ? action_background_icon_state : "[action_background_icon_state]_disabled" action.build_all_button_icons() if(user) - to_chat(user, "You will [varstate ? "now" : "no longer"] [base_message]") + to_chat(user, SPAN_NOTICE("You will [varstate ? "now" : "no longer"] [base_message]")) return varstate /datum/spell/pulse_demon/toggle/do_drain @@ -446,13 +446,13 @@ var/amount = text2num(input(user, "Input a value between 1 and [user.max_drain_rate]. 0 will reset it to the maximum.", "Drain Speed Setting")) if(amount == null || amount < 0) - to_chat(user, "Invalid input. Drain speed has not been modified.") + to_chat(user, SPAN_WARNING("Invalid input. Drain speed has not been modified.")) return if(amount == 0) amount = user.max_drain_rate user.power_drain_rate = amount - to_chat(user, "Drain speed has been set to [format_si_suffix(user.power_drain_rate)]W per second.") + to_chat(user, SPAN_NOTICE("Drain speed has been set to [format_si_suffix(user.power_drain_rate)]W per second.")) /datum/spell/pulse_demon/toggle/can_exit_cable name = "Toggle Self-Sustaining" @@ -465,14 +465,14 @@ /datum/spell/pulse_demon/toggle/can_exit_cable/try_cast_action(mob/living/basic/demon/pulse_demon/user, atom/target) if(user.can_exit_cable && !(user.current_cable || user.current_power)) - to_chat(user, "Enter a cable or power source first!") + to_chat(user, SPAN_WARNING("Enter a cable or power source first!")) return FALSE user.can_exit_cable = do_toggle(!user.can_exit_cable, user) return TRUE /datum/spell/pulse_demon/toggle/can_exit_cable/do_upgrade(mob/living/basic/demon/pulse_demon/user) user.outside_cable_speed = max(initial(user.outside_cable_speed) - spell_level, 1) - to_chat(user, "You have upgraded [initial(name)] to level [spell_level + 1], you will now move faster outside of cables.") + to_chat(user, SPAN_NOTICE("You have upgraded [initial(name)] to level [spell_level + 1], you will now move faster outside of cables.")) /datum/spell/pulse_demon/cycle_camera name = "Cycle Camera View" @@ -626,7 +626,7 @@ /datum/spell/pulse_demon/open_upgrades/try_cast_action(mob/living/basic/demon/pulse_demon/user, atom/target) var/upgrades = get_upgrades(user) if(!length(upgrades)) - to_chat(user, "You have already fully upgraded everything available!") + to_chat(user, SPAN_WARNING("You have already fully upgraded everything available!")) return FALSE var/raw_choice = show_radial_menu(user, user, upgrades, radius = 48) @@ -638,39 +638,39 @@ if(cost == -1) return FALSE if(user.apcs_remaining < cost) - to_chat(user, "You do not have enough unused APCs to purchase this upgrade!") + to_chat(user, SPAN_WARNING("You do not have enough unused APCs to purchase this upgrade!")) return FALSE user.apcs_remaining -= cost switch(choice) if(PD_UPGRADE_HIJACK_SPEED) user.hijack_time = max(round(user.hijack_time - 3 SECONDS), 6 SECONDS) - to_chat(user, "You have upgraded your [choice], it now takes [user.hijack_time / (1 SECONDS)] second\s to hijack APCs.") + to_chat(user, SPAN_NOTICE("You have upgraded your [choice], it now takes [user.hijack_time / (1 SECONDS)] second\s to hijack APCs.")) if(PD_UPGRADE_DRAIN_SPEED) var/old = user.max_drain_rate user.max_drain_rate = user.max_drain_rate + 20 KJ if(user.power_drain_rate == old) user.power_drain_rate = user.max_drain_rate - to_chat(user, "You have upgraded your [choice], you can now drain [format_si_suffix(user.max_drain_rate)]W.") + to_chat(user, SPAN_NOTICE("You have upgraded your [choice], you can now drain [format_si_suffix(user.max_drain_rate)]W.")) if(PD_UPGRADE_MAX_HEALTH) user.maxHealth = min(round(user.maxHealth * 1.5), 200) - to_chat(user, "You have upgraded your [choice], your max health is now [user.maxHealth].") + to_chat(user, SPAN_NOTICE("You have upgraded your [choice], your max health is now [user.maxHealth].")) if(PD_UPGRADE_HEALTH_REGEN) user.health_regen_rate = min(round(user.health_regen_rate + 2), 10) - to_chat(user, "You have upgraded your [choice], you will now regenerate [user.health_regen_rate] health per cycle when powered.") + to_chat(user, SPAN_NOTICE("You have upgraded your [choice], you will now regenerate [user.health_regen_rate] health per cycle when powered.")) if(PD_UPGRADE_HEALTH_LOSS) user.health_loss_rate = max(round(user.health_loss_rate - 1), 0) if(user.health_loss_rate == 0) - to_chat(user, "You have upgraded your [choice], You will no longer lose health when on an unpowered cable.") + to_chat(user, SPAN_NOTICE("You have upgraded your [choice], You will no longer lose health when on an unpowered cable.")) else - to_chat(user, "You have upgraded your [choice], you will now lose [user.health_loss_rate] health per cycle when unpowered.") + to_chat(user, SPAN_NOTICE("You have upgraded your [choice], you will now lose [user.health_loss_rate] health per cycle when unpowered.")) if(PD_UPGRADE_HEALTH_COST) user.power_per_regen = max(round(user.power_per_regen / 1.5), 1) - to_chat(user, "You have upgraded your [choice], it now takes [format_si_suffix(user.power_per_regen)]W of power to regenerate health.") - to_chat(user, "Additionally, if you enable draining while on a cable, any excess power that would've been used regenerating will be added to your charge.") + to_chat(user, SPAN_NOTICE("You have upgraded your [choice], it now takes [format_si_suffix(user.power_per_regen)]W of power to regenerate health.")) + to_chat(user, SPAN_NOTICE("Additionally, if you enable draining while on a cable, any excess power that would've been used regenerating will be added to your charge.")) if(PD_UPGRADE_MAX_CHARGE) user.maxcharge = user.maxcharge + 50 KJ - to_chat(user, "You have upgraded your [choice], you can now store [format_si_suffix(user.maxcharge)]J of energy.") + to_chat(user, SPAN_NOTICE("You have upgraded your [choice], you can now store [format_si_suffix(user.maxcharge)]J of energy.")) else return FALSE return TRUE diff --git a/code/modules/mob/living/basic/hostile/demons/pulse_demon.dm b/code/modules/mob/living/basic/hostile/demons/pulse_demon.dm index 4ae2c524d92..008196555fa 100644 --- a/code/modules/mob/living/basic/hostile/demons/pulse_demon.dm +++ b/code/modules/mob/living/basic/hostile/demons/pulse_demon.dm @@ -262,12 +262,12 @@ return mind.wipe_memory() var/list/greeting = list() - greeting.Add("You are a pulse demon.") + greeting.Add(SPAN_WARNING("You are a pulse demon.")) greeting.Add("A being made of pure electrical energy, you travel through the station's wires and infest machinery.") greeting.Add("Navigate the station's power cables to find power sources to steal from to power your abilities.") greeting.Add("Hijack APCs by entering them to unlock more powerful abilities, gain more maximum charge, and gain access to connected machines.") greeting.Add("If the wire or power source you're connected to runs out of power you'll start losing health and eventually die, but you are otherwise resistant to damage.") - greeting.Add("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Pulse_Demon)") + greeting.Add(SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Pulse_Demon)")) for(var/datum/objective/new_obj in list(/datum/objective/pulse_demon/infest, /datum/objective/pulse_demon/drain, /datum/objective/pulse_demon/tamper)) mind.add_mind_objective(new_obj) greeting.Add(mind.prepare_announce_objectives(FALSE)) @@ -327,7 +327,7 @@ if(!S.locked && !can_exit_cable) can_exit_cable = TRUE S.do_toggle(can_exit_cable) - to_chat(src, "Your self-sustaining ability has automatically enabled itself to prevent death from having no connection!") + to_chat(src, SPAN_DANGER("Your self-sustaining ability has automatically enabled itself to prevent death from having no connection!")) /mob/living/basic/demon/pulse_demon/proc/update_controlling_area(reset = FALSE) var/area/prev = controlling_area @@ -539,7 +539,7 @@ /mob/living/basic/demon/pulse_demon/say(message, verb, sanitize = TRUE, ignore_speech_problems = FALSE, ignore_atmospherics = FALSE, ignore_languages = FALSE) if(client && check_mute(client.ckey, 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(sanitize) @@ -554,7 +554,7 @@ var/turf/T = get_turf(src) log_say("[key_name_admin(src)] (@[T.x], [T.y], [T.z]) made [current_robot]([key_name_admin(current_robot)]) say: [message]") log_admin("[key_name_admin(src)] made [key_name_admin(current_robot)] say: [message]") - message_admins("[key_name_admin(src)] made [key_name_admin(current_robot)] say: [message]") + message_admins(SPAN_NOTICE("[key_name_admin(src)] made [key_name_admin(current_robot)] say: [message]")) // don't sanitize again current_robot.say(message, null, FALSE, ignore_speech_problems, ignore_atmospherics, ignore_languages) return TRUE @@ -628,7 +628,7 @@ if(!is_valid_apc(A) || (A in hijacked_apcs) || apc_being_hijacked || A.being_hijacked) return FALSE - to_chat(src, "You are now attempting to hijack [A], this will take approximately [hijack_time / 10] seconds.") + to_chat(src, SPAN_NOTICE("You are now attempting to hijack [A], this will take approximately [hijack_time / 10] seconds.")) apc_being_hijacked = A A.being_hijacked = TRUE A.update_icon() @@ -636,7 +636,7 @@ if(is_valid_apc(A)) finish_hijack_apc(A, remote) else - to_chat(src, "Failed to hijack [src].") + to_chat(src, SPAN_WARNING("Failed to hijack [src].")) apc_being_hijacked = null A.being_hijacked = FALSE A.update_icon() @@ -660,7 +660,7 @@ if(!remote) update_controlling_area() maxcharge = calc_maxcharge(length(hijacked_apcs)) + (maxcharge - calc_maxcharge(length(hijacked_apcs) - 1)) - to_chat(src, "Hijacking complete! You now control [length(hijacked_apcs)] APCs and have [apcs_remaining] left to spend.") + to_chat(src, SPAN_NOTICE("Hijacking complete! You now control [length(hijacked_apcs)] APCs and have [apcs_remaining] left to spend.")) var/turf/T = get_turf(A) var/distance = 0 strengthen_cables(T, distance) @@ -763,7 +763,7 @@ SIGNAL_HANDLER if(emp_debounce) return - visible_message("[src] [pick("fizzles", "wails", "flails")] in anguish!") + visible_message(SPAN_DANGER("[src] [pick("fizzles", "wails", "flails")] in anguish!")) playsound(get_turf(src), pick(hurt_sounds), 30, TRUE) throw_alert(ALERT_CATEGORY_NOREGEN, /atom/movable/screen/alert/pulse_noregen) switch(severity) @@ -790,19 +790,19 @@ if(C?.charge) C.use(min(C.charge, power_drain_rate)) adjust_charge(min(C.charge, power_drain_rate)) - visible_message("[src] touches [O] and drains its power!", "You touch [O] and drain it's power!") + visible_message(SPAN_NOTICE("[src] touches [O] and drains its power!"), SPAN_NOTICE("You touch [O] and drain it's power!")) /mob/living/basic/demon/pulse_demon/attack_hand(mob/living/carbon/human/M) if(is_under_tile()) - to_chat(M, "You can't interact with something that's under the floor!") + to_chat(M, SPAN_DANGER("You can't interact with something that's under the floor!")) return switch(M.intent) if(INTENT_HELP) - visible_message("[M] [response_help_continuous] [src].") + visible_message(SPAN_NOTICE("[M] [response_help_continuous] [src].")) if(INTENT_DISARM, INTENT_GRAB) - visible_message("[M] [response_disarm_continuous] [src].") + visible_message(SPAN_NOTICE("[M] [response_disarm_continuous] [src].")) if(INTENT_HELP) - visible_message("[M] [response_harm_continuous] [src].") + visible_message(SPAN_WARNING("[M] [response_harm_continuous] [src].")) try_attack_mob(M) /mob/living/basic/demon/pulse_demon/attack_by(obj/item/O, mob/living/user, params) @@ -810,16 +810,16 @@ return FINISH_ATTACK if(is_under_tile()) - to_chat(user, "You can't interact with something that's under the floor!") + to_chat(user, SPAN_DANGER("You can't interact with something that's under the floor!")) return FINISH_ATTACK var/obj/item/stock_parts/cell/C = O.get_cell() if(C && C.charge) C.use(min(C.charge, power_drain_rate)) adjust_charge(min(C.charge, power_drain_rate)) - to_chat(user, "You touch [src] with [O] and [src] drains it!") - to_chat(src, "[user] touches you with [O] and you drain its power!") - visible_message("[O] goes right through [src].") + to_chat(user, SPAN_WARNING("You touch [src] with [O] and [src] drains it!")) + to_chat(src, SPAN_NOTICE("[user] touches you with [O] and you drain its power!")) + visible_message(SPAN_NOTICE("[O] goes right through [src].")) try_shock_mob(user, O.siemens_coefficient) return FINISH_ATTACK @@ -836,7 +836,7 @@ regen_lock = max(regen_lock, 1) return ..() else - visible_message("[proj] goes right through [src]!") + visible_message(SPAN_WARNING("[proj] goes right through [src]!")) /mob/living/basic/demon/pulse_demon/electrocute_act(shock_damage, source, siemens_coeff, flags) return diff --git a/code/modules/mob/living/basic/hostile/demons/pulse_demon_interactions.dm b/code/modules/mob/living/basic/hostile/demons/pulse_demon_interactions.dm index a43c39c4fbd..ddcd0257266 100644 --- a/code/modules/mob/living/basic/hostile/demons/pulse_demon_interactions.dm +++ b/code/modules/mob/living/basic/hostile/demons/pulse_demon_interactions.dm @@ -18,12 +18,12 @@ // we probably shouldn't be firing from inside a recharger or someone's bag if(iscarbon(G.loc) || isturf(G.loc)) G.process_fire(A, src, FALSE) - visible_message("[G] fires itself at [A]!", "You force [G] to fire at [A]!", "You hear \a [G.fire_sound_text]!") + visible_message(SPAN_DANGER("[G] fires itself at [A]!"), SPAN_DANGER("You force [G] to fire at [A]!"), SPAN_ITALICS("You hear \a [G.fire_sound_text]!")) changeNext_click(CLICK_CD_RANGE) // I can't actually find what the default gun fire cooldown is, so it's 1 second until someone enlightens me return else if(current_robot) log_admin("[key_name_admin(src)] made [key_name_admin(current_robot)] attack [A]") - message_admins("[key_name_admin(src)] made [key_name_admin(current_robot)] attack [A]") + message_admins(SPAN_NOTICE("[key_name_admin(src)] made [key_name_admin(current_robot)] attack [A]")) current_robot.ClickOn(A, params) changeNext_click(0.5 SECONDS) @@ -109,8 +109,8 @@ /mob/living/simple_animal/bot/attack_pulsedemon(mob/living/basic/demon/pulse_demon/user) if(user.loc == src) return - to_chat(user, "You are now inside [src]. If it is destroyed, you will be dropped onto the ground, and may die if there is no cable under you.") - to_chat(user, "Leave it by jumping to a hijacked APC.") + to_chat(user, SPAN_WARNING("You are now inside [src]. If it is destroyed, you will be dropped onto the ground, and may die if there is no cable under you.")) + to_chat(user, SPAN_NOTICE("Leave it by jumping to a hijacked APC.")) ejectpai(user) user.forceMove(src) user.current_bot = src @@ -129,77 +129,77 @@ /obj/machinery/recharger/attack_pulsedemon(mob/living/basic/demon/pulse_demon/user) user.forceMove(src) if(!charging) - to_chat(user, "There is no weapon charging. Click again to retry.") + to_chat(user, SPAN_WARNING("There is no weapon charging. Click again to retry.")) return - to_chat(user, "You are now attempting to hijack [src], this will take approximately [user.hijack_time / 10] seconds.") + to_chat(user, SPAN_NOTICE("You are now attempting to hijack [src], this will take approximately [user.hijack_time / 10] seconds.")) if(!do_after(user, user.hijack_time, FALSE, src)) return if(!charging) - to_chat(src, "Failed to hijack [src]") + to_chat(src, SPAN_WARNING("Failed to hijack [src]")) return - to_chat(user, "You are now inside [charging]. Click on a hijacked APC to return.") + to_chat(user, SPAN_NOTICE("You are now inside [charging]. Click on a hijacked APC to return.")) user.forceMove(charging) user.current_weapon = charging /obj/machinery/cell_charger/attack_pulsedemon(mob/living/basic/demon/pulse_demon/user) user.forceMove(src) if(!charging) - to_chat(user, "There is no cell charging. Click again to retry.") + to_chat(user, SPAN_WARNING("There is no cell charging. Click again to retry.")) return - to_chat(user, "You are now attempting to hijack [src], this will take approximately [user.hijack_time / 10] seconds.") + to_chat(user, SPAN_NOTICE("You are now attempting to hijack [src], this will take approximately [user.hijack_time / 10] seconds.")) if(charging.rigged) - to_chat(user, "You are now inside [charging]. Click on a hijacked APC to return.") + to_chat(user, SPAN_NOTICE("You are now inside [charging]. Click on a hijacked APC to return.")) user.forceMove(charging) return if(!do_after(user, user.hijack_time, FALSE, src)) return if(!charging) - to_chat(src, "Failed to hijack [src].") + to_chat(src, SPAN_WARNING("Failed to hijack [src].")) return - to_chat(user, "You are now inside [charging]. Click on a hijacked APC to return.") + to_chat(user, SPAN_NOTICE("You are now inside [charging]. Click on a hijacked APC to return.")) user.forceMove(charging) /obj/machinery/recharge_station/attack_pulsedemon(mob/living/basic/demon/pulse_demon/user) user.forceMove(src) if(!isrobot(occupant)) - to_chat(user, "There is no silicon-based occupant inside. Click again to retry.") + to_chat(user, SPAN_WARNING("There is no silicon-based occupant inside. Click again to retry.")) return - to_chat(user, "You are now attempting to hijack [occupant], this will take approximately [user.hijack_time / 10] seconds.") + to_chat(user, SPAN_NOTICE("You are now attempting to hijack [occupant], this will take approximately [user.hijack_time / 10] seconds.")) var/mob/living/silicon/robot/R = occupant if(R in user.hijacked_robots) user.do_hijack_robot(occupant) return - to_chat(R, "ALERT: ELECTRICAL MALEVOLENCE DETECTED, TARGETING SYSTEMS HIJACK IN PROGRESS") + to_chat(R, SPAN_USERDANGER("ALERT: ELECTRICAL MALEVOLENCE DETECTED, TARGETING SYSTEMS HIJACK IN PROGRESS")) if(!do_after(user, user.hijack_time, FALSE, src)) return if(isrobot(occupant)) user.do_hijack_robot(occupant) return - to_chat(src, "Failed to hijack [src].") + to_chat(src, SPAN_WARNING("Failed to hijack [src].")) /mob/living/basic/demon/pulse_demon/proc/do_hijack_robot(mob/living/silicon/robot/R) - to_chat(src, "You are now inside [R]. Click on a hijacked APC to return.") + to_chat(src, SPAN_NOTICE("You are now inside [R]. Click on a hijacked APC to return.")) forceMove(R) current_robot = R if(!(R in hijacked_robots)) hijacked_robots += R - to_chat(R, "TARGETING SYSTEMS HIJACKED, REPORT ALL UNWANTED ACTIVITY") + to_chat(R, SPAN_USERDANGER("TARGETING SYSTEMS HIJACKED, REPORT ALL UNWANTED ACTIVITY")) /obj/machinery/camera/attack_pulsedemon(mob/living/basic/demon/pulse_demon/user) if(user.loc != src) user.forceMove(src) - to_chat(user, "You jump towards [src]. Click on a hijacked APC to return.") + to_chat(user, SPAN_NOTICE("You jump towards [src]. Click on a hijacked APC to return.")) // see pulse_demon/say /obj/machinery/hologram/holopad/attack_pulsedemon(mob/living/basic/demon/pulse_demon/user) if(user.loc != src) user.forceMove(src) - to_chat(user, "You jump towards [src]. You can now communicate via the holopad's speaker. Click on a hijacked APC to return.") + to_chat(user, SPAN_NOTICE("You jump towards [src]. You can now communicate via the holopad's speaker. Click on a hijacked APC to return.")) /obj/item/radio/attack_pulsedemon(mob/living/basic/demon/pulse_demon/user) if(user.loc != src) user.forceMove(src) - to_chat(user, "You jump towards [src]. You can now communicate via radio. Click on a hijacked APC to return.") + to_chat(user, SPAN_NOTICE("You jump towards [src]. You can now communicate via radio. Click on a hijacked APC to return.")) else attack_ai(user) @@ -228,7 +228,7 @@ var/turf/simulated/floor/F = A // there was originally a 1% chance to break to lattice, but that doesn't help a pulse demon, so I don't see the point F.break_tile_to_plating() - audible_message("[src] makes an excited booping sound.") + audible_message(SPAN_DANGER("[src] makes an excited booping sound.")) /mob/living/simple_animal/bot/cleanbot/attack_integrated_pulsedemon(mob/living/basic/demon/pulse_demon/user, atom/A) if(!on) @@ -238,7 +238,7 @@ if(prob(50)) F.MakeSlippery(TURF_WET_WATER) if(prob(50)) - visible_message("Something flies out of [src]! It seems to be acting oddly.") + visible_message(SPAN_WARNING("Something flies out of [src]! It seems to be acting oddly.")) if(!(locate(/obj/effect/decal/cleanable/blood/gibs) in F)) new /obj/effect/decal/cleanable/blood/gibs(F) playsound(F, 'sound/effects/blobattack.ogg', 40, TRUE) diff --git a/code/modules/mob/living/basic/hostile/demons/shadow_demon.dm b/code/modules/mob/living/basic/hostile/demons/shadow_demon.dm index 494d138ea79..374c33a3d56 100644 --- a/code/modules/mob/living/basic/hostile/demons/shadow_demon.dm +++ b/code/modules/mob/living/basic/hostile/demons/shadow_demon.dm @@ -20,13 +20,13 @@ /mob/living/basic/demon/shadow/Login() ..() var/list/L = list( - "You are a shadow demon!", + SPAN_DEADSAY("You are a shadow demon!"), "You are a lethal ambush predator who thrives in the darkness, calling upon the shadows to heal your injured form and increase your speed.", "Light is however your worst enemy and being exposed for too long will be fatal.", "Striking your victims with your shadow grapple extinguishes any light sources around them. Striking items silences any light within them.", "You can wrap your dead victims into a shadow cocoon which provides a shroud of darkness which tears away any light near it.", "You do not remember anything of your past lives, nor will you remember anything about this one after your death.", - "
For more information, check the wiki page: [wiki_link("Shadow_Demon")]" + "
[SPAN_MOTD("For more information, check the wiki page: [wiki_link("Shadow_Demon")]")]" ) to_chat(src, chat_box_red(L.Join("
"))) @@ -37,7 +37,7 @@ if(lum_count > 0.2) adjustBruteLoss(40 * damage_mod) // 10 seconds in light SEND_SOUND(src, sound('sound/weapons/sear.ogg')) - to_chat(src, "The light scalds you!") + to_chat(src, SPAN_BIGGERDANGER("The light scalds you!")) else adjustBruteLoss(-20) @@ -56,16 +56,16 @@ return if(wrapping) - to_chat(src, "We are already wrapping something.") + to_chat(src, SPAN_NOTICE("We are already wrapping something.")) return - visible_message("[src] begins wrapping [target] in shadowy threads.") + visible_message(SPAN_DANGER("[src] begins wrapping [target] in shadowy threads.")) wrapping = TRUE if(!do_after(src, 4 SECONDS, FALSE, target = target)) wrapping = FALSE return - target.visible_message("[src] envelops [target] into an ethereal cocoon, and darkness begins to creep from it.") + target.visible_message(SPAN_WARNING("[src] envelops [target] into an ethereal cocoon, and darkness begins to creep from it.")) var/obj/structure/shadowcocoon/C = new(get_turf(target)) target.extinguish_light() // may as well be safe target.forceMove(C) @@ -83,7 +83,7 @@ /mob/living/basic/demon/shadow/proc/check_block_shadow_crawl(block_time) if(block_time == last_block_shadow_crawl) /// it means 10 seconds passed from last shadow grapple shot and it didnt unset block_shadow_crawl - to_chat(src, "You feel good enough to use Shadow Crawl again.") + to_chat(src, SPAN_WARNING("You feel good enough to use Shadow Crawl again.")) unblock_shadow_crawl() /obj/structure/shadowcocoon @@ -110,8 +110,8 @@ /obj/structure/shadowcocoon/examine(mob/user) . = ..() if(istype(user, /mob/living/basic/demon/shadow)) - . += silent ? "The tendrils are idle and will not produce noise." : "The tendrils are agitated and will occasionally produce noise to lure in more prey." - . += "Alt+Click to toggle whether [src] should produce noise to lure in victims." + . += silent ? SPAN_NOTICE("The tendrils are idle and will not produce noise.") : SPAN_NOTICE("The tendrils are agitated and will occasionally produce noise to lure in more prey.") + . += SPAN_NOTICE("Alt+Click to toggle whether [src] should produce noise to lure in victims.") /obj/structure/shadowcocoon/process() time_since_last_hallucination++ @@ -121,7 +121,7 @@ if(iswelder(to_darken) && length(to_darken.light_sources)) var/obj/item/weldingtool/welder_to_darken = to_darken welder_to_darken.remove_fuel(welder_to_darken.reagents.get_reagent_amount("fuel")) - welder_to_darken.visible_message("The shadows swarm around and overwhelm the flame of [welder_to_darken].") + welder_to_darken.visible_message(SPAN_NOTICE("The shadows swarm around and overwhelm the flame of [welder_to_darken].")) return if(istype(to_darken, /obj/item/flashlight/flare)) var/obj/item/flashlight/flare/flare_to_darken = to_darken @@ -129,7 +129,7 @@ continue flare_to_darken.turn_off() flare_to_darken.fuel = 0 - flare_to_darken.visible_message("[flare_to_darken] suddenly dims.") + flare_to_darken.visible_message(SPAN_NOTICE("[flare_to_darken] suddenly dims.")) to_darken.extinguish_light() if(!silent && time_since_last_hallucination >= rand(8, 12)) playsound(src, pick('sound/shadowdemon/shadowhalluc1.ogg', 'sound/shadowdemon/shadowhalluc2.ogg', 'sound/machines/airlock_open.ogg', 'sound/machines/airlock_close.ogg', 'sound/machines/boltsup.ogg', 'sound/shadowdemon/shadowhalluc3.ogg', get_sfx("bodyfall"), 'sound/weapons/egloves.ogg'), 50) @@ -141,10 +141,10 @@ if(!isdemon(user)) return ..() if(silent) - to_chat(user, "You twist and change your trapped victim in [src] to lure in more prey.") + to_chat(user, SPAN_NOTICE("You twist and change your trapped victim in [src] to lure in more prey.")) silent = FALSE return - to_chat(user, "The tendrils from [src] snap back to their orignal form.") + to_chat(user, SPAN_NOTICE("The tendrils from [src] snap back to their orignal form.")) silent = TRUE /obj/structure/shadowcocoon/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) @@ -153,7 +153,7 @@ playsound(loc, 'sound/items/welder.ogg', 100, TRUE) /obj/structure/shadowcocoon/obj_destruction() - visible_message("[src] splits open, and the shadows dancing around it fade.") + visible_message(SPAN_DANGER("[src] splits open, and the shadows dancing around it fade.")) return ..() /obj/structure/shadowcocoon/Destroy() diff --git a/code/modules/mob/living/basic/hostile/demons/slaughter_demon.dm b/code/modules/mob/living/basic/hostile/demons/slaughter_demon.dm index 71bb4706047..23e966041fd 100644 --- a/code/modules/mob/living/basic/hostile/demons/slaughter_demon.dm +++ b/code/modules/mob/living/basic/hostile/demons/slaughter_demon.dm @@ -54,7 +54,7 @@ mind.add_mind_objective(/datum/objective/demon_fluff) messages.Add(mind.prepare_announce_objectives(FALSE)) - messages.Add("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Slaughter_Demon)") + messages.Add(SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Slaughter_Demon)")) to_chat(src, chat_box_red(messages.Join("
"))) /obj/effect/decal/cleanable/blood/innards @@ -104,7 +104,7 @@ spawn(5) var/list/demon_candidates = SSghost_spawns.poll_candidates("Do you want to play as a slaughter demon?", ROLE_DEMON, TRUE, 10 SECONDS, source = /mob/living/basic/demon/slaughter/cult) if(!length(demon_candidates)) - visible_message("[src] disappears in a flash of red light!") + visible_message(SPAN_WARNING("[src] disappears in a flash of red light!")) qdel(src) return if(QDELETED(src)) // Just in case @@ -112,7 +112,7 @@ var/mob/M = pick(demon_candidates) var/mob/living/basic/demon/slaughter/cult/S = src if(!M || !M.client) - visible_message("[src] disappears in a flash of red light!") + visible_message(SPAN_WARNING("[src] disappears in a flash of red light!")) qdel(src) return var/client/C = M.client @@ -164,5 +164,5 @@ if(M.revive()) M.grab_ghost(force = TRUE) playsound(get_turf(src), feast_sound, 50, TRUE, -1) - to_chat(M, "You leave [src]'s warm embrace, and feel ready to take on the world.") + to_chat(M, SPAN_CLOWN("You leave [src]'s warm embrace, and feel ready to take on the world.")) ..(M) diff --git a/code/modules/mob/living/basic/hostile/giant_spider/giant_spider.dm b/code/modules/mob/living/basic/hostile/giant_spider/giant_spider.dm index 58c7122c79e..cfc3421aed7 100644 --- a/code/modules/mob/living/basic/hostile/giant_spider/giant_spider.dm +++ b/code/modules/mob/living/basic/hostile/giant_spider/giant_spider.dm @@ -65,7 +65,7 @@ /mob/living/basic/giant_spider/proc/create_web() var/T = loc - visible_message("[src] begins to secrete a sticky substance.") + visible_message(SPAN_NOTICE("[src] begins to secrete a sticky substance.")) if(!do_after_once(src, 4 SECONDS, target = loc, attempt_cancel_message = "You stop spinning a web.", interaction_key = "spider_web_create")) return new /obj/structure/spider/stickyweb(T) @@ -121,7 +121,7 @@ return if(cocoon_target) - visible_message("[src] begins to secrete a sticky substance around [cocoon_target].") + visible_message(SPAN_NOTICE("[src] begins to secrete a sticky substance around [cocoon_target].")) if(!do_after_once(src, 5 SECONDS, target = cocoon_target, attempt_cancel_message = "You stop wrapping [cocoon_target].", interaction_key = "spider_web_wrap")) return if(cocoon_target && isturf(cocoon_target.loc) && get_dist(src, cocoon_target) <= 1) @@ -149,7 +149,7 @@ C.pixel_x = L.pixel_x C.pixel_y = L.pixel_y fed++ - visible_message("[src] sticks a proboscis into [L] and sucks a viscous substance out.") + visible_message(SPAN_DANGER("[src] sticks a proboscis into [L] and sucks a viscous substance out.")) break if(large_cocoon) @@ -158,12 +158,12 @@ /mob/living/basic/giant_spider/nurse/proc/lay_spider_eggs() var/obj/structure/spider/eggcluster/E = locate() in get_turf(src) if(E) - to_chat(src, "There is already a cluster of eggs here!") + to_chat(src, SPAN_NOTICE("There is already a cluster of eggs here!")) return if(!fed) - to_chat(src, "You are too hungry to do this!") + to_chat(src, SPAN_WARNING("You are too hungry to do this!")) return - visible_message("[src] begins to lay a cluster of eggs.") + visible_message(SPAN_NOTICE("[src] begins to lay a cluster of eggs.")) if(!do_after_once(src, 4 SECONDS, target = loc, attempt_cancel_message = "You stop laying eggs.", interaction_key = "spider_egg_lay")) return var/obj/structure/spider/eggcluster/C = new /obj/structure/spider/eggcluster(loc) diff --git a/code/modules/mob/living/basic/hostile/gorilla/gorilla.dm b/code/modules/mob/living/basic/hostile/gorilla/gorilla.dm index 4711075dc74..c790f67d701 100644 --- a/code/modules/mob/living/basic/hostile/gorilla/gorilla.dm +++ b/code/modules/mob/living/basic/hostile/gorilla/gorilla.dm @@ -69,13 +69,13 @@ var/mob/living/basic/gorilla/cargo_domestic/domesticated = gorilla if(istype(domesticated) && LAZYLEN(domesticated.crates_in_hand)) - to_chat(domesticated, "You can't get on all fours while carrying something!") + to_chat(domesticated, SPAN_WARNING("You can't get on all fours while carrying something!")) return gorilla.is_bipedal = !gorilla.is_bipedal // Toggle - gorilla.visible_message("[gorilla] [gorilla.is_bipedal ? "stands up menacingly." : "drops back to all fours."]", - "You [gorilla.is_bipedal ? "stand up" : "get down on all fours."]", - "You hear the sound of a gorilla rustling.") + gorilla.visible_message(SPAN_NOTICE("[gorilla] [gorilla.is_bipedal ? "stands up menacingly." : "drops back to all fours."]"), + SPAN_NOTICE("You [gorilla.is_bipedal ? "stand up" : "get down on all fours."]"), + SPAN_NOTICE("You hear the sound of a gorilla rustling.")) gorilla.update_icon(UPDATE_ICON_STATE) @@ -103,13 +103,13 @@ if(is_type_in_typecache(attacked_target, carriable_cache)) var/atom/movable/movable_target = attacked_target if(LAZYLEN(crates_in_hand) >= crate_limit) - to_chat(src, "You are carrying too many crates!") + to_chat(src, SPAN_WARNING("You are carrying too many crates!")) return COMPONENT_CANCEL_ATTACK_CHAIN for(var/mob/living/inside_mob in movable_target.contents) if(inside_mob.mob_size < MOB_SIZE_HUMAN) continue - to_chat(src, "This crate is too heavy!") + to_chat(src, SPAN_WARNING("This crate is too heavy!")) return COMPONENT_CANCEL_ATTACK_CHAIN LAZYADD(crates_in_hand, attacked_target) @@ -143,7 +143,7 @@ return living_target.apply_damage(stamina_damage, STAMINA) - visible_message("[src] knocks [living_target] down!") + visible_message(SPAN_WARNING("[src] knocks [living_target] down!")) /mob/living/basic/gorilla/update_icon_state() . = ..() @@ -216,8 +216,8 @@ /mob/living/basic/gorilla/cargo_domestic/Login() . = ..() // Github copilot wrote the below fluff IDK - to_chat(src, "You are [name]. You are a domesticated gorilla, and you are Cargo's pet. You are a loyal and hardworking gorilla, and you love your job. You are a good gorilla, and Cargo loves you.") - to_chat(src, "You can pick up crates by clicking them, and drop them by clicking on an open floor. You can carry [crate_limit] crates at a time.") + to_chat(src, SPAN_BOLDNOTICE("You are [name]. You are a domesticated gorilla, and you are Cargo's pet. You are a loyal and hardworking gorilla, and you love your job. You are a good gorilla, and Cargo loves you.")) + to_chat(src, SPAN_BOLDNOTICE("You can pick up crates by clicking them, and drop them by clicking on an open floor. You can carry [crate_limit] crates at a time.")) /mob/living/basic/gorilla/cargo_domestic/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/hostile/hivebot.dm b/code/modules/mob/living/basic/hostile/hivebot.dm index d1d06974cec..8d35c1345fc 100644 --- a/code/modules/mob/living/basic/hostile/hivebot.dm +++ b/code/modules/mob/living/basic/hostile/hivebot.dm @@ -74,12 +74,12 @@ var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(5, FALSE, loc) smoke.start() - visible_message("[src] warps in!") + visible_message(SPAN_DANGER("[src] warps in!")) playsound(src.loc, 'sound/effects/empulse.ogg', 25, 1) /mob/living/basic/hivebot/tele/proc/warpbots() icon_state = "def_radar" - visible_message("[src] turns on!") + visible_message(SPAN_WARNING("[src] turns on!")) while(bot_amt > 0) bot_amt-- if(bot_amt > 3) diff --git a/code/modules/mob/living/basic/hostile/nether_mobs/hellhound.dm b/code/modules/mob/living/basic/hostile/nether_mobs/hellhound.dm index 8ad0e7e1306..209116d69c1 100644 --- a/code/modules/mob/living/basic/hostile/nether_mobs/hellhound.dm +++ b/code/modules/mob/living/basic/hostile/nether_mobs/hellhound.dm @@ -58,20 +58,20 @@ if(stat != DEAD) var/list/msgs = list() if(key) - msgs += "Its eyes have the spark of intelligence." + msgs += SPAN_WARNING("Its eyes have the spark of intelligence.") if(health > (maxHealth*0.95)) - msgs += "It appears to be in excellent health." + msgs += SPAN_NOTICE("It appears to be in excellent health.") else if(health > (maxHealth*0.75)) - msgs += "It has a few injuries." + msgs += SPAN_NOTICE("It has a few injuries.") else if(health > (maxHealth*0.55)) - msgs += "It has many injuries." + msgs += SPAN_WARNING("It has many injuries.") else if(health > (maxHealth*0.25)) - msgs += "It is covered in wounds!" + msgs += SPAN_WARNING("It is covered in wounds!") if(IS_HORIZONTAL(src)) if(getBruteLoss() || getFireLoss()) - msgs += "It is currently licking its wounds, regenerating the damage to its body!" + msgs += SPAN_WARNING("It is currently licking its wounds, regenerating the damage to its body!") else - msgs += "It is currently resting." + msgs += SPAN_NOTICE("It is currently resting.") . += msgs.Join("
") /mob/living/basic/hellhound/Move(atom/newloc, direct, glide_size_override, update_dir) @@ -85,7 +85,7 @@ if(IS_HORIZONTAL(src)) if(life_regen_cycles >= life_regen_cycle_trigger) life_regen_cycles = 0 - to_chat(src, "You lick your wounds, helping them close.") + to_chat(src, SPAN_NOTICE("You lick your wounds, helping them close.")) adjustBruteLoss(life_regen_amount) adjustFireLoss(life_regen_amount) else diff --git a/code/modules/mob/living/basic/hostile/nether_mobs/skeleton_mob.dm b/code/modules/mob/living/basic/hostile/nether_mobs/skeleton_mob.dm index e0fb09e2ff0..1ada8560fcc 100644 --- a/code/modules/mob/living/basic/hostile/nether_mobs/skeleton_mob.dm +++ b/code/modules/mob/living/basic/hostile/nether_mobs/skeleton_mob.dm @@ -191,7 +191,7 @@ // First, see if we can get the OG player. If not, choose from Dchat var/mob/dead/observer/original_ghost = target.get_ghost() if(original_ghost) - to_chat(original_ghost, "You are being revived by otherworldly forces! Return to your body if you want to be revived! (Verbs -> Ghost -> Re-enter corpse)") + to_chat(original_ghost, "[SPAN_GHOSTALERT("You are being revived by otherworldly forces! Return to your body if you want to be revived!")] (Verbs -> Ghost -> Re-enter corpse)") window_flash(original_ghost.client) SEND_SOUND(original_ghost, sound('sound/effects/genetics.ogg')) if(do_after_once(src, 2 SECONDS, target = target, attempt_cancel_message = "You stop reanimating a corpse.", interaction_key = "reanimator_revive")) @@ -199,12 +199,12 @@ reanimate(target) /mob/living/basic/skeleton/incursion/reanimator/proc/reanimate(mob/living/carbon/human/H) - visible_message("[name] releases dark tendrils into the flesh of [H], morphing their corpse into a grotesque creature!") + visible_message(SPAN_WARNING("[name] releases dark tendrils into the flesh of [H], morphing their corpse into a grotesque creature!")) var/mob/living/basic/netherworld/blankbody/blank = new(H.loc) blank.name = "[H]" blank.desc = "It's [H], but [H.p_their()] flesh has an ashy texture, and [H.p_their()] face is featureless save an eerie smile." blank.faction = faction.Copy() - visible_message("[blank] staggers to [H.p_their()] feet!") + visible_message(SPAN_WARNING("[blank] staggers to [H.p_their()] feet!")) blank.held_body = H H.forceMove(blank) var/mob/dead/observer/ghost = H.get_ghost(TRUE) @@ -222,7 +222,7 @@ blank.key = chosen_ghost.key blank.cancel_camera() dust_if_respawnable(chosen_ghost) - to_chat(blank, "You have been raised by the dead to serve as a footsoldier in the incursion. Strike down your foes!") + to_chat(blank, SPAN_USERDANGER("You have been raised by the dead to serve as a footsoldier in the incursion. Strike down your foes!")) /obj/projectile/magic/necrotic_bolt name = "necrotic bolt" @@ -244,7 +244,7 @@ /datum/action/cooldown/mob_cooldown/summon_skulls/Activate(atom/target) var/mob/living/summoner = target if(!istype(summoner)) - to_chat(target, "You are unable to summon skulls!") + to_chat(target, SPAN_WARNING("You are unable to summon skulls!")) return for(var/i in 1 to 2) diff --git a/code/modules/mob/living/basic/hostile/revenant/revenant.dm b/code/modules/mob/living/basic/hostile/revenant/revenant.dm index f0b63859e50..2e8203e765e 100644 --- a/code/modules/mob/living/basic/hostile/revenant/revenant.dm +++ b/code/modules/mob/living/basic/hostile/revenant/revenant.dm @@ -122,7 +122,7 @@ return essence = max(0, essence-amount) if(!essence) - to_chat(src, "You feel your essence fraying!") + to_chat(src, SPAN_REVENDANGER("You feel your essence fraying!")) /mob/living/basic/revenant/say(message) if(!message) @@ -176,13 +176,13 @@ mind.wipe_memory() // someone kill this and give revenants their own minds please SEND_SOUND(src, sound('sound/effects/ghost.ogg')) var/list/messages = list() - messages.Add("You are a revenant.") + messages.Add(SPAN_DEADSAY("You are a revenant.")) messages.Add("Your formerly mundane spirit has been infused with alien energies and empowered into a revenant.") messages.Add("You are not dead, not alive, but somewhere in between. You are capable of limited interaction with both worlds.") messages.Add("You are invincible and invisible to everyone but other ghosts. Most abilities will reveal you, rendering you vulnerable.") messages.Add("To function, you are to drain the life essence from humans. This essence is a resource, as well as your health, and will power all of your abilities.") messages.Add("You do not remember anything of your past lives, nor will you remember anything about this one after your death.") - messages.Add("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Revenant)") + messages.Add(SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Revenant)")) SSticker.mode.traitors |= mind //Necessary for announcing mind.add_mind_objective(/datum/objective/revenant) @@ -214,15 +214,15 @@ if(!.) return FALSE - to_chat(src, "NO! No... it's too late, you can feel your essence breaking apart...") + to_chat(src, SPAN_REVENDANGER("NO! No... it's too late, you can feel your essence breaking apart...")) notransform = TRUE revealed = TRUE invisibility = 0 playsound(src, 'sound/effects/screech.ogg', 100, TRUE) - visible_message("[src] lets out a waning screech as violet mist swirls around its dissolving body!") + visible_message(SPAN_WARNING("[src] lets out a waning screech as violet mist swirls around its dissolving body!")) icon_state = "revenant_draining" animate(src, alpha = 0, time = 3 SECONDS) - visible_message("[src]'s body breaks apart into a fine pile of blue dust.") + visible_message(SPAN_DANGER("[src]'s body breaks apart into a fine pile of blue dust.")) ghostize(GHOST_FLAGS_OBSERVE_ONLY) name = "ectoplasm" desc = "A pile of clumpy dust from a restless spirit" @@ -236,8 +236,8 @@ return FINISH_ATTACK if(istype(W, /obj/item/nullrod)) - visible_message("[src] violently flinches!", \ - "As \the [W] passes through you, you feel your essence draining away!") + visible_message(SPAN_WARNING("[src] violently flinches!"), \ + SPAN_REVENDANGER("As \the [W] passes through you, you feel your essence draining away!")) adjustBruteLoss(25) //hella effective inhibited = TRUE spawn(30) @@ -250,13 +250,13 @@ return var/turf/T = get_turf(src) if(iswallturf(T)) - to_chat(src, "You cannot use abilities from inside of a wall.") + to_chat(src, SPAN_REVENWARNING("You cannot use abilities from inside of a wall.")) return FALSE if(inhibited) - to_chat(src, "Your powers have been suppressed by nulling energy!") + to_chat(src, SPAN_REVENWARNING("Your powers have been suppressed by nulling energy!")) return FALSE if(!change_essence_amount(essence_cost, 1)) - to_chat(src, "You lack the essence to use that ability.") + to_chat(src, SPAN_REVENWARNING("You lack the essence to use that ability.")) return FALSE return TRUE @@ -268,9 +268,9 @@ essence_accumulated = max(0, essence_accumulated + essence_amt) if(!silent) if(essence_amt > 0) - to_chat(src, "Gained [essence_amt]E from [source].") + to_chat(src, SPAN_REVENNOTICE("Gained [essence_amt]E from [source].")) else - to_chat(src, "Lost [essence_amt]E from [source].") + to_chat(src, SPAN_REVENMINOR("Lost [essence_amt]E from [source].")) return TRUE /mob/living/basic/revenant/proc/reveal(time) @@ -280,10 +280,10 @@ invisibility = 0 incorporeal_move = NO_INCORPOREAL_MOVE if(!unreveal_time) - to_chat(src, "You have been revealed!") + to_chat(src, SPAN_REVENDANGER("You have been revealed!")) unreveal_time = world.time + time else - to_chat(src, "You have been revealed!") + to_chat(src, SPAN_REVENWARNING("You have been revealed!")) unreveal_time = unreveal_time + time update_spooky_icon() @@ -292,10 +292,10 @@ return notransform = TRUE if(!unstun_time) - to_chat(src, "You cannot move!") + to_chat(src, SPAN_REVENDANGER("You cannot move!")) unstun_time = world.time + time else - to_chat(src, "You cannot move!") + to_chat(src, SPAN_REVENWARNING("You cannot move!")) unstun_time = unstun_time + time update_spooky_icon() @@ -373,7 +373,7 @@ /obj/item/ectoplasm/examine(mob/user) . = ..() - . += "Lifeless ectoplasm, still faintly glimmering in the light. From what was once a spirit seeking revenge on the station." + . += SPAN_REVENNOTICE("Lifeless ectoplasm, still faintly glimmering in the light. From what was once a spirit seeking revenge on the station.") #undef INVISIBILITY_REVENANT #undef REVENANT_NAME_FILE diff --git a/code/modules/mob/living/basic/hostile/revenant/revenant_abilities.dm b/code/modules/mob/living/basic/hostile/revenant/revenant_abilities.dm index 1a14109410b..3167201c6b3 100644 --- a/code/modules/mob/living/basic/hostile/revenant/revenant_abilities.dm +++ b/code/modules/mob/living/basic/hostile/revenant/revenant_abilities.dm @@ -43,52 +43,52 @@ if(!castcheck(0)) return if(draining) - to_chat(src, "You are already siphoning the essence of a soul!") + to_chat(src, SPAN_REVENWARNING("You are already siphoning the essence of a soul!")) return var/mob_UID = target.UID() if(mob_UID in drained_mobs) - to_chat(src, "[target]'s soul is dead and empty.") + to_chat(src, SPAN_REVENWARNING("[target]'s soul is dead and empty.")) return if(!target.stat) - to_chat(src, "This being's soul is too strong to harvest.") + to_chat(src, SPAN_REVENNOTICE("This being's soul is too strong to harvest.")) if(prob(10)) to_chat(target, "You feel as if you are being watched.") return draining = TRUE essence_drained = rand(15, 20) - to_chat(src, "You search for the soul of [target].") + to_chat(src, SPAN_REVENNOTICE("You search for the soul of [target].")) if(do_after(src, 10, 0, target = target)) //did they get deleted in that second? if(target.ckey) - to_chat(src, "Their soul burns with intelligence.") + to_chat(src, SPAN_REVENNOTICE("Their soul burns with intelligence.")) essence_drained += rand(20, 30) if(target.stat != DEAD) - to_chat(src, "Their soul blazes with life!") + to_chat(src, SPAN_REVENNOTICE("Their soul blazes with life!")) essence_drained += rand(40, 50) else - to_chat(src, "Their soul is weak and faltering.") + to_chat(src, SPAN_REVENNOTICE("Their soul is weak and faltering.")) if(do_after(src, 20, 0, target = target)) //did they get deleted NOW? switch(essence_drained) if(1 to 30) - to_chat(src, "[target] will not yield much essence. Still, every bit counts.") + to_chat(src, SPAN_REVENNOTICE("[target] will not yield much essence. Still, every bit counts.")) if(30 to 70) - to_chat(src, "[target] will yield an average amount of essence.") + to_chat(src, SPAN_REVENNOTICE("[target] will yield an average amount of essence.")) if(70 to 90) to_chat(src, "Such a feast! [target] will yield much essence to you.") if(90 to INFINITY) - to_chat(src, "Ah, the perfect soul. [target] will yield massive amounts of essence to you.") + to_chat(src, SPAN_REVENBIGNOTICE("Ah, the perfect soul. [target] will yield massive amounts of essence to you.")) if(do_after(src, 20, 0, target = target)) //how about now if(!target.stat) - to_chat(src, "They are now powerful enough to fight off your draining.") - to_chat(target, "You feel something tugging across your body before subsiding.") + to_chat(src, SPAN_REVENWARNING("They are now powerful enough to fight off your draining.")) + to_chat(target, SPAN_BOLDANNOUNCEIC("You feel something tugging across your body before subsiding.")) draining = FALSE return //hey, wait a minute... - to_chat(src, "You begin siphoning essence from [target]'s soul.") + to_chat(src, SPAN_REVENMINOR("You begin siphoning essence from [target]'s soul.")) if(target.stat != DEAD) - to_chat(target, "You feel a horribly unpleasant draining sensation as your grip on life weakens...") + to_chat(target, SPAN_WARNING("You feel a horribly unpleasant draining sensation as your grip on life weakens...")) icon_state = "revenant_draining" reveal(27) stun(27) - target.visible_message("[target] suddenly rises slightly into the air, [target.p_their()] skin turning an ashy gray.") + target.visible_message(SPAN_WARNING("[target] suddenly rises slightly into the air, [target.p_their()] skin turning an ashy gray.")) target.Beam(src,icon_state="drain_life",icon='icons/effects/effects.dmi',time=26) if(do_after(src, 30, 0, target)) //As one cannot prove the existance of ghosts, ghosts cannot prove the existance of the target they were draining. change_essence_amount(essence_drained, 0, target) @@ -96,22 +96,22 @@ essence_regen_cap += 25 perfectsouls += 1 to_chat(src, "The perfection of [target]'s soul has increased your maximum essence level. Your new maximum essence is [essence_regen_cap].") - to_chat(src, "[target]'s soul has been considerably weakened and will yield no more essence for the time being.") - target.visible_message("[target] slumps onto the ground.", \ - "Violets lights, dancing in your vision, getting clo--") + to_chat(src, SPAN_REVENNOTICE("[target]'s soul has been considerably weakened and will yield no more essence for the time being.")) + target.visible_message(SPAN_WARNING("[target] slumps onto the ground."), \ + SPAN_REVENWARNING("Violets lights, dancing in your vision, getting clo--")) drained_mobs.Add(mob_UID) add_attack_logs(src, target, "revenant harvested soul") target.death() else - to_chat(src, "[target ? "[target] has":"They have"] been drawn out of your grasp. The link has been broken.") + to_chat(src, SPAN_REVENWARNING("[target ? "[target] has":"They have"] been drawn out of your grasp. The link has been broken.")) draining = 0 essence_drained = 0 if(target) //Wait, target is WHERE NOW? - target.visible_message("[target] slumps onto the ground.", \ - "Violets lights, dancing in your vision, receding--") + target.visible_message(SPAN_WARNING("[target] slumps onto the ground."), \ + SPAN_REVENWARNING("Violets lights, dancing in your vision, receding--")) return else - to_chat(src, "You are not close enough to siphon [target ? "[target]'s":"their"] soul. The link has been broken.") + to_chat(src, SPAN_REVENWARNING("You are not close enough to siphon [target ? "[target]'s":"their"] soul. The link has been broken.")) draining = FALSE essence_drained = 0 return @@ -122,7 +122,7 @@ //Toggle night vision: lets the revenant toggle its night vision /datum/spell/night_vision/revenant base_cooldown = 0 - message = "You toggle your night vision." + message = SPAN_REVENNOTICE("You toggle your night vision.") action_icon_state = "r_nightvision" action_background_icon_state = "bg_revenant" @@ -149,8 +149,8 @@ cooldown_handler.revert_cast() return log_say("(REVENANT to [key_name(M)]) [msg]", user) - to_chat(user, "You transmit to [M]: [msg]") - to_chat(M, "An alien voice resonates from all around... [msg]") + to_chat(user, SPAN_REVENNOTICE("You transmit to [M]: [msg]")) + to_chat(M, "[SPAN_REVENNOTICE("An alien voice resonates from all around...")] [msg]") /datum/spell/aoe/revenant clothes_req = FALSE @@ -179,7 +179,7 @@ /datum/spell/aoe/revenant/revert_cast(mob/user) . = ..() - to_chat(user, "Your ability wavers and fails!") + to_chat(user, SPAN_REVENNOTICE("Your ability wavers and fails!")) var/mob/living/basic/revenant/R = user R?.essence += cast_amount //refund the spell and reset @@ -201,7 +201,7 @@ cooldown_handler.revert_cast() return FALSE name = "[initial(name)] ([cast_amount]E)" - to_chat(user, "You have unlocked [initial(name)]!") + to_chat(user, SPAN_REVENNOTICE("You have unlocked [initial(name)]!")) locked = FALSE cooldown_handler.revert_cast() return FALSE @@ -241,7 +241,7 @@ /datum/spell/aoe/revenant/overload/proc/shock_lights(obj/machinery/light/L, mob/living/basic/revenant/user) if(!L.on) return - L.visible_message("\The [L] suddenly flares brightly and begins to spark!") + L.visible_message(SPAN_WARNING("\The [L] suddenly flares brightly and begins to spark!")) do_sparks(4, 0, L) new /obj/effect/temp_visual/revenant(L.loc) sleep(2 SECONDS) @@ -428,7 +428,7 @@ return /mob/living/carbon/human/rev_malfunction(cause_emp = TRUE) - to_chat(src, "You feel [pick("your sense of direction flicker out", "a stabbing pain in your head", "your mind fill with static")].") + to_chat(src, SPAN_WARNING("You feel [pick("your sense of direction flicker out", "a stabbing pain in your head", "your mind fill with static")].")) new /obj/effect/temp_visual/revenant(loc) if(cause_emp) emp_act(EMP_HEAVY) @@ -488,7 +488,7 @@ magic_rust_turf() /mob/living/carbon/human/defile() - to_chat(src, "You suddenly feel [pick("sick and tired", "tired and confused", "nauseated", "dizzy")].") + to_chat(src, SPAN_WARNING("You suddenly feel [pick("sick and tired", "tired and confused", "nauseated", "dizzy")].")) apply_damage(60, STAMINA) adjustToxLoss(5) AdjustConfused(40 SECONDS, bound_lower = 0, bound_upper = 60 SECONDS) diff --git a/code/modules/mob/living/basic/hostile/spiderlings.dm b/code/modules/mob/living/basic/hostile/spiderlings.dm index 002c104edc6..e9a8362a91b 100644 --- a/code/modules/mob/living/basic/hostile/spiderlings.dm +++ b/code/modules/mob/living/basic/hostile/spiderlings.dm @@ -72,7 +72,7 @@ S.key = C.key dust_if_respawnable(C) if(S.master_commander) - to_chat(S, "You are a spider who is loyal to [S.master_commander], obey [S.master_commander]'s every order and assist [S.master_commander.p_them()] in completing [S.master_commander.p_their()] goals at any cost.") + to_chat(S, SPAN_BIGGERDANGER("You are a spider who is loyal to [S.master_commander], obey [S.master_commander]'s every order and assist [S.master_commander.p_them()] in completing [S.master_commander.p_their()] goals at any cost.")) qdel(src) /mob/living/basic/spiderling/death(gibbed) @@ -83,8 +83,8 @@ /mob/living/basic/spiderling/decompile_act(obj/item/matter_decompiler/C, mob/user) if(isdrone(user)) return ..() - user.visible_message("[user] sucks [src] into its decompiler. There's a horrible crunching noise.", \ - "It's a bit of a struggle, but you manage to suck [src] into your decompiler. It makes a series of visceral crunching noises.") + user.visible_message(SPAN_NOTICE("[user] sucks [src] into its decompiler. There's a horrible crunching noise."), \ + SPAN_WARNING("It's a bit of a struggle, but you manage to suck [src] into your decompiler. It makes a series of visceral crunching noises.")) C.stored_comms["metal"] += 2 C.stored_comms["glass"] += 1 playsound(src, 'sound/misc/demon_consume.ogg', 10, TRUE, SOUND_RANGE_SET(4)) diff --git a/code/modules/mob/living/basic/hostile/swarmers/swarmer.dm b/code/modules/mob/living/basic/hostile/swarmers/swarmer.dm index 4cd901b7cd0..19f2a5315b7 100644 --- a/code/modules/mob/living/basic/hostile/swarmers/swarmer.dm +++ b/code/modules/mob/living/basic/hostile/swarmers/swarmer.dm @@ -118,11 +118,11 @@ /mob/living/basic/swarmer/melee_attack(atom/target, list/modifiers, ignore_cooldown) face_atom(target) if(is_type_in_list(target, GLOB.swarmer_blacklist)) - to_chat(src, "Our sensors have designated this object important to station functionality or to our mission. Aborting.") + to_chat(src, SPAN_WARNING("Our sensors have designated this object important to station functionality or to our mission. Aborting.")) ai_controller.clear_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET) return FALSE if(HAS_TRAIT(target, TRAIT_SWARMER_DISINTEGRATING)) - to_chat(src, "This asset is already being converted into useable resources. Aborting.") + to_chat(src, SPAN_WARNING("This asset is already being converted into useable resources. Aborting.")) ai_controller.clear_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET) return FALSE if(iswallturf(target)) @@ -141,7 +141,7 @@ return ..() var/mob/living/L = target if(istype(L, /mob/living/basic/swarmer)) - to_chat(src, "We do not wish to harm one of our own. Aborting.") + to_chat(src, SPAN_WARNING("We do not wish to harm one of our own. Aborting.")) ai_controller.clear_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET) return FALSE if(L.stat == DEAD) @@ -242,7 +242,7 @@ /mob/living/basic/swarmer/proc/disappear_mob(mob/target) if(!is_station_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 var/turf/simulated/floor/F = find_safe_turf(zlevels = z) @@ -262,10 +262,10 @@ var/pressure_dangerlevel = cur_tlv.get_danger_level(environment_pressure) var/area/A = get_area(T) if(isspaceturf(T) || istype(A, /area/shuttle) || istype(A, /area/space) || pressure_dangerlevel) - to_chat(src, "Destroying this object has the potential to cause a hull breach. Aborting.") + to_chat(src, SPAN_WARNING("Destroying this object has the potential to cause a hull breach. Aborting.")) return TRUE else if(istype(A, /area/station/engineering/engine/supermatter)) - to_chat(src, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.") + to_chat(src, SPAN_WARNING("Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.")) return TRUE return FALSE diff --git a/code/modules/mob/living/basic/hostile/swarmers/swarmer_actions.dm b/code/modules/mob/living/basic/hostile/swarmers/swarmer_actions.dm index 2efedd2717a..50efc801d7b 100644 --- a/code/modules/mob/living/basic/hostile/swarmers/swarmer_actions.dm +++ b/code/modules/mob/living/basic/hostile/swarmers/swarmer_actions.dm @@ -11,18 +11,18 @@ /datum/action/cooldown/mob_cooldown/swarmer_trap/Activate(atom/target) var/mob/living/basic/swarmer/user = target if(!istype(user)) - to_chat(target, "Incompatible hardware detected. Aborting.") + to_chat(target, SPAN_WARNING("Incompatible hardware detected. Aborting.")) return var/turf/T = get_turf(user) for(var/turf/turf_in_view in view(1, T)) if(locate(/obj/structure/swarmer) in turf_in_view) - to_chat(user, "Location too close to existing hardware. Aborting.") + to_chat(user, SPAN_WARNING("Location too close to existing hardware. Aborting.")) return if(user.resources < 25) - to_chat(user, "Insufficient resources. Aborting.") + to_chat(user, SPAN_WARNING("Insufficient resources. Aborting.")) return user.resources -= 25 - user.visible_message("[user] manufactures a sparking pylon.") + user.visible_message(SPAN_WARNING("[user] manufactures a sparking pylon.")) playsound(get_turf(user), 'sound/machines/click.ogg', 50, TRUE) new /obj/structure/swarmer/trap(T) StartCooldown() @@ -40,29 +40,29 @@ /datum/action/cooldown/mob_cooldown/swarmer_barrier/Activate(atom/target) var/mob/living/basic/swarmer/user = target if(!istype(user)) - to_chat(target, "Incompatible hardware detected. Aborting.") + to_chat(target, SPAN_WARNING("Incompatible hardware detected. Aborting.")) return if(user.resources < 25) - to_chat(user, "Insufficient resources. Aborting.") + to_chat(user, SPAN_WARNING("Insufficient resources. Aborting.")) return var/turf/T = get_turf(user) for(var/turf/turf_in_view in view(1, T)) if(locate(/obj/structure/swarmer) in turf_in_view) - to_chat(user, "Location too close to existing hardware. Aborting.") + to_chat(user, SPAN_WARNING("Location too close to existing hardware. Aborting.")) return if(!do_after_once(user, 2 SECONDS, target = T, attempt_cancel_message = "You stop building a barricade.", interaction_key = "swarmer_barricade_create")) return // Check again to make sure they still have the requirements if(user.resources < 25) - to_chat(user, "Insufficient resources. Aborting.") + to_chat(user, SPAN_WARNING("Insufficient resources. Aborting.")) return T = get_turf(user) for(var/turf/turf_in_view in view(1, T)) if(locate(/obj/structure/swarmer) in turf_in_view) - to_chat(user, "Location too close to existing hardware. Aborting.") + to_chat(user, SPAN_WARNING("Location too close to existing hardware. Aborting.")) return user.resources -= 25 - user.visible_message("[user] manufactures a holographic shield.") + user.visible_message(SPAN_WARNING("[user] manufactures a holographic shield.")) playsound(get_turf(user), 'sound/machines/click.ogg', 50, TRUE) new /obj/structure/swarmer/barricade(T) StartCooldown() @@ -80,20 +80,20 @@ /datum/action/cooldown/mob_cooldown/swarmer_replicate/Activate(atom/target) var/mob/living/basic/swarmer/user = target if(!istype(user)) - to_chat(target, "Incompatible hardware detected. Aborting.") + to_chat(target, SPAN_WARNING("Incompatible hardware detected. Aborting.")) return if(user.resources < 50) - to_chat(user, "Insufficient resources. Aborting.") + to_chat(user, SPAN_WARNING("Insufficient resources. Aborting.")) return if(!do_after_once(user, 4 SECONDS, target = user, attempt_cancel_message = "You stop building a new swarmer.", interaction_key = "swarmer_replicate_create")) return // Check again after the do-after. if(user.resources < 50) - to_chat(user, "Insufficient resources. Aborting.") + to_chat(user, SPAN_WARNING("Insufficient resources. Aborting.")) return var/turf/T = get_turf(user) user.resources -= 50 - user.visible_message("[user] manufactures a new swarmer.") + user.visible_message(SPAN_WARNING("[user] manufactures a new swarmer.")) playsound(get_turf(user), 'sound/items/rped.ogg', 50, TRUE) new /mob/living/basic/swarmer/lesser(T) StartCooldown() diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath_actions.dm b/code/modules/mob/living/basic/lavaland/goliath/goliath_actions.dm index 83ea6f7c9ca..0ec9299f230 100644 --- a/code/modules/mob/living/basic/lavaland/goliath/goliath_actions.dm +++ b/code/modules/mob/living/basic/lavaland/goliath/goliath_actions.dm @@ -27,6 +27,6 @@ new /obj/effect/temp_visual/goliath_tentacle(adjacent_target) if(isliving(target)) - owner.visible_message("[owner] digs its tentacles under [target]!") + owner.visible_message(SPAN_WARNING("[owner] digs its tentacles under [target]!")) StartCooldown() return TRUE diff --git a/code/modules/mob/living/basic/lavaland/goliath/tentacle.dm b/code/modules/mob/living/basic/lavaland/goliath/tentacle.dm index 69026831e83..e510dfac3ed 100644 --- a/code/modules/mob/living/basic/lavaland/goliath/tentacle.dm +++ b/code/modules/mob/living/basic/lavaland/goliath/tentacle.dm @@ -37,7 +37,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 SECONDS) L.adjustBruteLoss(rand(10,15)) latched = TRUE @@ -84,7 +84,7 @@ /datum/status_effect/incapacitating/stun/goliath_tentacled/proc/on_helped(mob/source, mob/helping) SIGNAL_HANDLER // COMSIG_CARBON_PRE_MISC_HELP release() - source.visible_message("[helping] rips [source] from the tentacle's grasp!") + source.visible_message(SPAN_NOTICE("[helping] rips [source] from the tentacle's grasp!")) return COMPONENT_BLOCK_MISC_HELP /// Something happened to make the tentacle let go diff --git a/code/modules/mob/living/basic/minebots/minebot.dm b/code/modules/mob/living/basic/minebots/minebot.dm index dfefd41084c..a9acdd5d05f 100644 --- a/code/modules/mob/living/basic/minebots/minebot.dm +++ b/code/modules/mob/living/basic/minebots/minebot.dm @@ -63,8 +63,8 @@ /mob/living/basic/mining_drone/emp_act(severity) adjustHealth(100 / severity) - to_chat(src, "NOTICE: EMP detected, systems damaged!") - visible_message("[src] crackles and buzzes violently!") + to_chat(src, SPAN_USERDANGER("NOTICE: EMP detected, systems damaged!")) + visible_message(SPAN_WARNING("[src] crackles and buzzes violently!")) /mob/living/basic/mining_drone/examine(mob/user) . = ..() @@ -72,24 +72,24 @@ 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!") var/ore_count = 0 for(var/obj/item/stack/ore/ore_stack in contents) ore_count += ore_stack.amount - . += "[t_He] is currently storing [ore_count] ore." + . += SPAN_NOTICE("[t_He] is currently storing [ore_count] ore.") if(stored_gun && stored_gun.max_mod_capacity) - . += "[stored_gun.get_remaining_mod_capacity()]% mod capacity remaining." + . += SPAN_NOTICE("[stored_gun.get_remaining_mod_capacity()]% mod capacity remaining.") for(var/A in stored_gun.get_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.") /mob/living/basic/mining_drone/item_interaction(mob/living/user, obj/item/I, list/modifiers) if(istype(I, /obj/item/mining_scanner) || istype(I, /obj/item/t_scanner/adv_mining_scanner)) - to_chat(user, "You instruct [src] to drop any collected ore.") + to_chat(user, SPAN_NOTICE("You instruct [src] to drop any collected ore.")) drop_ore() return ITEM_INTERACT_COMPLETE if(istype(I, /obj/item/borg/upgrade/modkit)) @@ -111,7 +111,7 @@ return . = TRUE if(health == maxHealth) - to_chat(user, "[src] doesn't need repairing!") + to_chat(user, SPAN_NOTICE("[src] doesn't need repairing!")) return if(!I.tool_use_check(user, 1)) return @@ -159,10 +159,10 @@ /mob/living/basic/mining_drone/proc/drop_ore(message = TRUE) if(!length(contents)) 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()) @@ -177,8 +177,8 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/mining_drone_cube/attack_self__legacy__attackchain(mob/user) - user.visible_message("\The [src] suddenly expands into a fully functional mining drone!", \ - "You press center button on [src]. The device suddenly expands into a fully functional mining drone!") + user.visible_message(SPAN_WARNING("\The [src] suddenly expands into a fully functional mining drone!"), \ + SPAN_WARNING("You press center button on [src]. The device suddenly expands into a fully functional mining drone!")) var/mob/living/basic/mining_drone/drone = new(get_turf(src)) drone.befriend(user) qdel(src) diff --git a/code/modules/mob/living/basic/minebots/minebot_abilities.dm b/code/modules/mob/living/basic/minebots/minebot_abilities.dm index bc4920bf238..7a8f3179367 100644 --- a/code/modules/mob/living/basic/minebots/minebot_abilities.dm +++ b/code/modules/mob/living/basic/minebots/minebot_abilities.dm @@ -14,7 +14,7 @@ else user.set_light(6) user.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_meson_vision name = "Toggle Meson Vision" @@ -30,7 +30,7 @@ ADD_TRAIT(user, TRAIT_MESON_VISION, "minebot") update_user_sight(user) - to_chat(user, "You toggle your meson vision [!active ? "on" : "off"].") + to_chat(user, SPAN_NOTICE("You toggle your meson vision [!active ? "on" : "off"].")) /datum/action/innate/minedrone/toggle_meson_vision/proc/update_user_sight(mob/living/user) user.sight = initial(user.sight) diff --git a/code/modules/mob/living/basic/minebots/minebot_upgrades.dm b/code/modules/mob/living/basic/minebots/minebot_upgrades.dm index 6fb3e2c3564..4cc2d2f9e57 100644 --- a/code/modules/mob/living/basic/minebots/minebot_upgrades.dm +++ b/code/modules/mob/living/basic/minebots/minebot_upgrades.dm @@ -16,11 +16,11 @@ /obj/item/mine_bot_upgrade/proc/upgrade_bot(mob/living/basic/mining_drone/M, mob/user) if(M.melee_damage_upper != initial(M.melee_damage_upper)) - to_chat(user, "[M] already has a combat upgrade installed!") + to_chat(user, SPAN_WARNING("[M] already has a combat upgrade installed!")) return M.melee_damage_lower += 7 M.melee_damage_upper += 7 - to_chat(user, "You upgrade [M]'s combat module.") + to_chat(user, SPAN_NOTICE("You upgrade [M]'s combat module.")) qdel(src) /// Minebot Health Upgrade @@ -29,11 +29,11 @@ /obj/item/mine_bot_upgrade/health/upgrade_bot(mob/living/basic/mining_drone/M, mob/user) if(M.maxHealth != initial(M.maxHealth)) - to_chat(user, "[M] already has a reinforced chassis!") + to_chat(user, SPAN_WARNING("[M] already has a reinforced chassis!")) return M.maxHealth += 45 M.updatehealth() - to_chat(user, "You upgrade [M]'s chassis.") + to_chat(user, SPAN_NOTICE("You upgrade [M]'s chassis.")) qdel(src) /// Minebot AI upgrade/sentience potion diff --git a/code/modules/mob/living/basic/mining/goldgrub/goldgrub.dm b/code/modules/mob/living/basic/mining/goldgrub/goldgrub.dm index a95254d08d6..06245db8ddf 100644 --- a/code/modules/mob/living/basic/mining/goldgrub/goldgrub.dm +++ b/code/modules/mob/living/basic/mining/goldgrub/goldgrub.dm @@ -51,4 +51,4 @@ /mob/living/basic/mining/goldgrub/bullet_act(obj/projectile/P) if(P.armor_penetration_flat + P.armor_penetration_percentage >= 100) return ..() - visible_message("[P.name] was repelled by [name]'s girth!") + visible_message(SPAN_DANGER("[P.name] was repelled by [name]'s girth!")) diff --git a/code/modules/mob/living/basic/mining/goldgrub/goldgrub_ai.dm b/code/modules/mob/living/basic/mining/goldgrub/goldgrub_ai.dm index 804e9d0e5a4..984eecc699f 100644 --- a/code/modules/mob/living/basic/mining/goldgrub/goldgrub_ai.dm +++ b/code/modules/mob/living/basic/mining/goldgrub/goldgrub_ai.dm @@ -40,5 +40,5 @@ /// Begin the chase to kill the mob in time /datum/ai_behavior/burrow_away/proc/burrow(mob/living/pawn) if(pawn.stat == CONSCIOUS) - pawn.visible_message("[pawn] buries into the ground, vanishing from sight!") + pawn.visible_message(SPAN_DANGER("[pawn] buries into the ground, vanishing from sight!")) qdel(pawn) diff --git a/code/modules/mob/living/basic/mining/gutlunch.dm b/code/modules/mob/living/basic/mining/gutlunch.dm index 58bda0013a1..f7b4cd8d6c1 100644 --- a/code/modules/mob/living/basic/mining/gutlunch.dm +++ b/code/modules/mob/living/basic/mining/gutlunch.dm @@ -141,5 +141,5 @@ mind?.transfer_to(L) L.faction = faction.Copy() L.setDir(dir) - 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/basic/mining/hivelord.dm b/code/modules/mob/living/basic/mining/hivelord.dm index 38e0d6b96c4..d7697f7502f 100644 --- a/code/modules/mob/living/basic/mining/hivelord.dm +++ b/code/modules/mob/living/basic/mining/hivelord.dm @@ -149,8 +149,8 @@ return ..() /mob/living/basic/mining/hivelordbrood/blood/proc/reabsorb_host(mob/living/carbon/C) - C.visible_message("[src] is reabsorbed by [C]'s body.", \ - "[src] is reabsorbed by your body.") + C.visible_message(SPAN_NOTICE("[src] is reabsorbed by [C]'s body."), \ + SPAN_NOTICE("[src] is reabsorbed by your body.")) transfer_reagents(C) death() @@ -212,7 +212,7 @@ dwarf_mob = TRUE /mob/living/basic/mining/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) @@ -254,13 +254,13 @@ /mob/living/basic/mining/hivelordbrood/legion/proc/infest(mob/living/carbon/human/H) if(H?.dna?.species && !H.dna.species.can_be_legion_infested()) return - visible_message("[name] burrows into the flesh of [H]!") + visible_message(SPAN_WARNING("[name] burrows into the flesh of [H]!")) var/mob/living/basic/mining/hivelord/legion/L if(HAS_TRAIT(H, TRAIT_DWARF)) // dwarf legions aren't just fluff! L = new /mob/living/basic/mining/hivelord/legion/dwarf(H.loc) else L = new(H.loc) - 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 @@ -322,9 +322,9 @@ if(faction_check(faction, L.faction, FALSE)) continue - L.visible_message("[L] was thrown by [src]!", - "You feel a strong force throwing you!", - "You hear a thud.") + L.visible_message(SPAN_DANGER("[L] was thrown by [src]!"), + SPAN_USERDANGER("You feel a strong force throwing you!"), + SPAN_DANGER("You hear a thud.")) var/atom/throw_target = get_edge_target_turf(L, get_dir(src, get_step_away(L, src))) L.throw_at(throw_target, 4, 4) var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) diff --git a/code/modules/mob/living/basic/mining/mining_mobs.dm b/code/modules/mob/living/basic/mining/mining_mobs.dm index 4bc709c10f9..a379a45861d 100644 --- a/code/modules/mob/living/basic/mining/mining_mobs.dm +++ b/code/modules/mob/living/basic/mining/mining_mobs.dm @@ -30,14 +30,14 @@ /mob/living/basic/mining/bullet_act(obj/projectile/P) // Reduces damage from most projectiles to curb off-screen kills if(P.damage < 30 && P.damage_type != BRUTE && has_laser_resist) 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/basic/mining/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) // No floor tiling them to death, wiseguy if(isitem(AM)) var/obj/item/T = AM if(T.throwforce <= 20) - visible_message("[T] [throw_blocked_message] [src.name]!") + visible_message(SPAN_NOTICE("[T] [throw_blocked_message] [src.name]!")) return ..() diff --git a/code/modules/mob/living/basic/posessed_object.dm b/code/modules/mob/living/basic/posessed_object.dm index 1912ed548fd..73ba67d8358 100644 --- a/code/modules/mob/living/basic/posessed_object.dm +++ b/code/modules/mob/living/basic/posessed_object.dm @@ -24,9 +24,9 @@ /mob/living/basic/possessed_object/examine(mob/user) . = possessed_item.examine(user) if(health > (maxHealth / 30)) - . += "[src] appears to be floating without any support!" + . += SPAN_WARNING("[src] appears to be floating without any support!") else - . += "[src] appears to be having trouble staying afloat!" + . += SPAN_WARNING("[src] appears to be having trouble staying afloat!") /mob/living/basic/possessed_object/do_attack_animation(atom/A, visual_effect_icon, used_item, no_effect) @@ -36,7 +36,7 @@ /mob/living/basic/possessed_object/start_pulling(atom/movable/AM, state, force = pull_force, show_message = FALSE) // Silly motherfuckers think they can pull things. if(show_message) - to_chat(src, "You are unable to pull [AM]!") + to_chat(src, SPAN_WARNING("You are unable to pull [AM]!")) /mob/living/basic/possessed_object/ghost() // Ghosting will return the object to normal, and will not disqualify the ghoster from various mid-round antag positions. @@ -79,27 +79,27 @@ drop_r_hand() if(!isturf(loc) && prob(escape_chance)) //someone has stuffed us in their bag, or picked us up? Time to escape - visible_message("[src] refuses to be contained!") + visible_message(SPAN_NOTICE("[src] refuses to be contained!")) forceMove(get_turf(src)) if(possessed_item.loc != src) //safety so the item doesn't somehow become detatched from us while doing this possessed_item.forceMove(src) /mob/living/basic/possessed_object/Login() ..() - to_chat(src, "Your spirit has entered [src] and possessed it.
You are able to do most things a humanoid would be able to do with a [src] in their hands.
If you want to end your ghostly possession, use the 'ghost' verb, it won't penalize your ability to respawn.
") + to_chat(src, SPAN_NOTICE("Your spirit has entered [src] and possessed it.
You are able to do most things a humanoid would be able to do with a [src] in their hands.
If you want to end your ghostly possession, use the 'ghost' verb, it won't penalize your ability to respawn.")) /mob/living/basic/possessed_object/Initialize(mapload) . = ..() if(!isitem(loc)) // Some silly motherfucker spawned us directly via the game panel. - message_admins("Possessed object improperly spawned, deleting.") // So silly admins with debug off will see the message too and not spam these things. + message_admins(SPAN_ADMINNOTICE("Possessed object improperly spawned, deleting.")) // So silly admins with debug off will see the message too and not spam these things. stack_trace("[src] spawned manually, no object to assign attributes to.") qdel(src) var/turf/possessed_loc = get_turf(loc) if(!istype(possessed_loc)) // Will this ever happen? Who goddamn knows. - message_admins("Possessed object could not find turf, deleting.") // So silly admins with debug off will see the message too and not spam these things. + message_admins(SPAN_ADMINNOTICE("Possessed object could not find turf, deleting.")) // So silly admins with debug off will see the message too and not spam these things. stack_trace("[src] attempted to find a turf to spawn on, and could not.") qdel(src) @@ -115,7 +115,7 @@ melee_damage_lower = max(0, possessed_item.force - 5) melee_damage_upper = possessed_item.force + 5 - visible_message("[src] rises into the air and begins to float!") // Inform those around us that shit's gettin' spooky. + visible_message(SPAN_NOTICE("[src] rises into the air and begins to float!")) // Inform those around us that shit's gettin' spooky. animate_ghostly_presence(src, -1, 20, 1) diff --git a/code/modules/mob/living/basic/retaliate/combat_drone.dm b/code/modules/mob/living/basic/retaliate/combat_drone.dm index 21d1c33583c..f36438b4cbd 100644 --- a/code/modules/mob/living/basic/retaliate/combat_drone.dm +++ b/code/modules/mob/living/basic/retaliate/combat_drone.dm @@ -78,11 +78,11 @@ passive = !passive ai_controller.set_blackboard_key(BB_MALF_DRONE_PASSIVE, passive) if(passive) - visible_message("[src] retracts several targetting vanes.") + visible_message(SPAN_NOTICE("[src] retracts several targetting vanes.")) advanced_bullet_dodge_chance = 0 ai_controller.set_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET, null) else - visible_message("[src] suddenly lights up, and additional targetting vanes slide into place.") + visible_message(SPAN_WARNING("[src] suddenly lights up, and additional targetting vanes slide into place.")) advanced_bullet_dodge_chance = 25 ai_controller.cancel_actions() update_icons() @@ -97,8 +97,8 @@ return NONE source.visible_message( - "[source]'s jets [pick("boosts", "propels", "pulses", "flares up and moves", "shudders and pushes")] it out of '[hitting_projectile]'s way!", - "You evade [hitting_projectile]!", + SPAN_DANGER("[source]'s jets [pick("boosts", "propels", "pulses", "flares up and moves", "shudders and pushes")] it out of '[hitting_projectile]'s way!"), + SPAN_USERDANGER("You evade [hitting_projectile]!"), ) playsound(source, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg', 'sound/effects/refill.ogg'), 75, TRUE) if(prob(50)) diff --git a/code/modules/mob/living/basic/retaliate/kangaroo.dm b/code/modules/mob/living/basic/retaliate/kangaroo.dm index 8687c0a4661..5fe5e96bde5 100644 --- a/code/modules/mob/living/basic/retaliate/kangaroo.dm +++ b/code/modules/mob/living/basic/retaliate/kangaroo.dm @@ -59,7 +59,7 @@ var/rookick_dir = get_dir(src, L) var/turf/general_direction = get_edge_target_turf(L, rookick_dir) - L.visible_message("[L] is kicked hard!", "The kangaroo kick sends you flying mate!") + L.visible_message(SPAN_DANGER("[L] is kicked hard!"), SPAN_USERDANGER("The kangaroo kick sends you flying mate!")) L.throw_at(general_direction, 10, 2) attack_verb_simple = initial(attack_verb_simple) diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index 532e0353ceb..3653056fdf1 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -39,20 +39,20 @@ /obj/item/mmi/attackby__legacy__attackchain(obj/item/O as obj, mob/user as mob, params) if(istype(O, /obj/item/organ/internal/brain/golem)) - to_chat(user, "You can't find a way to plug [O] into [src].") + to_chat(user, SPAN_WARNING("You can't find a way to plug [O] into [src].")) return if(istype(O,/obj/item/organ/internal/brain) && !brainmob) //Time to stick a brain in it --NEO var/obj/item/organ/internal/brain/B = O if(!B.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(held_brain) - to_chat(user, "Somehow, this MMI still has a brain in it. Report this to the bug tracker.") + to_chat(user, SPAN_USERDANGER("Somehow, this MMI still has a brain in it. Report this to the bug tracker.")) CRASH("[user] tried to stick a [O] into [src] in [get_area(src)], but the held brain variable wasn't cleared") if(user.drop_item()) B.forceMove(src) if(!syndiemmi) - visible_message("[user] sticks \a [O] into \the [src].") + visible_message(SPAN_NOTICE("[user] sticks \a [O] into \the [src].")) brainmob = B.brainmob B.brainmob = null brainmob.container = src @@ -82,26 +82,26 @@ radio_action.build_all_button_icons() SSblackbox.record_feedback("amount", "mmis_filled", 1) else - to_chat(user, "You can't drop [B]!") + to_chat(user, SPAN_WARNING("You can't drop [B]!")) return if(istype(O, /obj/item/mmi_radio_upgrade)) if(radio) - to_chat(user, "[src] already has a radio installed.") + to_chat(user, SPAN_WARNING("[src] already has a radio installed.")) else - user.visible_message("[user] begins to install [O] into [src]...", \ - "You start to install [O] into [src]...") + user.visible_message(SPAN_NOTICE("[user] begins to install [O] into [src]..."), \ + SPAN_NOTICE("You start to install [O] into [src]...")) if(do_after(user, 20, target=src)) if(user.drop_item()) - user.visible_message("[user] installs [O] in [src].", \ - "You install [O] in [src].") + user.visible_message(SPAN_NOTICE("[user] installs [O] in [src]."), \ + SPAN_NOTICE("You install [O] in [src].")) if(brainmob) - to_chat(brainmob, "MMI radio capability installed.") + to_chat(brainmob, SPAN_NOTICE("MMI radio capability installed.")) install_radio() qdel(O) else - to_chat(user, "You can't drop [O]!") + to_chat(user, SPAN_WARNING("You can't drop [O]!")) return // Maybe later add encryption key support, but that's a pain in the neck atm @@ -113,23 +113,23 @@ if(!I.tool_use_check(user, 0)) return if(!radio) - to_chat(user, "There is no radio in [src]!") + to_chat(user, SPAN_WARNING("There is no radio in [src]!")) return - user.visible_message("[user] begins to uninstall the radio from [src]...", \ - "You start to uninstall the radio from [src]...") + user.visible_message(SPAN_WARNING("[user] begins to uninstall the radio from [src]..."), \ + SPAN_NOTICE("You start to uninstall the radio from [src]...")) if(!I.use_tool(src, user, 40, volume = I.tool_volume) || !radio) return uninstall_radio() new /obj/item/mmi_radio_upgrade(get_turf(src)) - user.visible_message("[user] uninstalls the radio from [src].", \ - "You uninstall the radio from [src].") + user.visible_message(SPAN_WARNING("[user] uninstalls the radio from [src]."), \ + SPAN_NOTICE("You uninstall the radio from [src].")) /obj/item/mmi/attack_self__legacy__attackchain(mob/user as mob) if(!brainmob) - to_chat(user, "You upend the MMI, but there's nothing in it.") + to_chat(user, SPAN_WARNING("You upend the MMI, but there's nothing in it.")) else - to_chat(user, "You unlock and upend the MMI, spilling the brain onto the floor.") + to_chat(user, SPAN_NOTICE("You unlock and upend the MMI, spilling the brain onto the floor.")) dropbrain(get_turf(user)) icon = 'icons/obj/assemblies.dmi' icon_state = "mmi_empty" @@ -160,7 +160,7 @@ /obj/item/mmi/proc/dropbrain(turf/dropspot) if(isnull(held_brain)) stack_trace("[src] at [loc] attempted to drop brain without a contained brain in [get_area(src)].") - to_chat(brainmob, "Your MMI did not contain a brain! We'll make a new one for you, but you'd best report this to the bugtracker!") + to_chat(brainmob, SPAN_USERDANGER("Your MMI did not contain a brain! We'll make a new one for you, but you'd best report this to the bugtracker!")) held_brain = new(dropspot) // Let's not ruin someone's round because of something dumb -- Crazylemon held_brain.dna = brainmob.dna.Clone() held_brain.name = "\the [brainmob.name]'s [initial(held_brain.name)]" @@ -183,7 +183,7 @@ /obj/item/mmi/examine(mob/user) . = ..() if(radio) - . += "A radio is installed on [src]." + . += SPAN_NOTICE("A radio is installed on [src].") /obj/item/mmi/proc/install_radio() radio = new(src) @@ -312,7 +312,7 @@ /obj/item/mmi/syndie/attackby__legacy__attackchain(obj/item/O, mob/user, params) if(!master_uid && ishuman(user) && user.mind && istype(O,/obj/item/organ/internal/brain)) - to_chat(user, "You press your thumb on [src] and imprint your user information.") + to_chat(user, SPAN_NOTICE("You press your thumb on [src] and imprint your user information.")) master_uid = user.mind.UID() if(!user.mind.has_antag_datum(/datum/antagonist/traitor)) message_admins("[user] has mindslaved [O] using a Syndicate MMI, but they are not a traitor!") @@ -326,16 +326,16 @@ var/datum/mind/master = locateUID(master_uid) if(master) - to_chat(brainmob, "You feel the MMI overriding your free will!") + to_chat(brainmob, SPAN_USERDANGER("You feel the MMI overriding your free will!")) brainmob.mind.add_antag_datum(new /datum/antagonist/mindslave(master)) return //Edgecase handling, shouldn't get here - to_chat(brainmob, "You feel the MMI overriding your free will. You are now loyal to the Syndicate! Assist Syndicate Agents to the best of your abilities.") + to_chat(brainmob, SPAN_USERDANGER("You feel the MMI overriding your free will. You are now loyal to the Syndicate! Assist Syndicate Agents to the best of your abilities.")) message_admins("[src] received a brain but has no master. A generic syndicate zeroth law will be installed instead of a full mindslaving.") /obj/item/mmi/syndie/dropbrain(turf/dropspot) brainmob.mind.remove_antag_datum(/datum/antagonist/mindslave) master_uid = null - to_chat(brainmob, "You are no longer a mindslave: You have complete and free control of your own faculties once more!") + to_chat(brainmob, SPAN_USERDANGER("You are no longer a mindslave: You have complete and free control of your own faculties once more!")) ..() diff --git a/code/modules/mob/living/brain/brain_death.dm b/code/modules/mob/living/brain/brain_death.dm index 846425134c4..0c036a453c1 100644 --- a/code/modules/mob/living/brain/brain_death.dm +++ b/code/modules/mob/living/brain/brain_death.dm @@ -5,7 +5,7 @@ return FALSE if(!gibbed && container && istype(container, /obj/item/mmi))//If not gibbed but in a container. var/obj/item/mmi/mmi = container - visible_message("[src]'s MMI flatlines!", "You hear something flatline.") + visible_message(SPAN_DANGER("[src]'s MMI flatlines!"), SPAN_WARNING("You hear something flatline.")) mmi.icon_state = mmi.dead_icon /mob/living/brain/gib() diff --git a/code/modules/mob/living/brain/brain_say.dm b/code/modules/mob/living/brain/brain_say.dm index cdd3667d3b2..f6ea0213a5d 100644 --- a/code/modules/mob/living/brain/brain_say.dm +++ b/code/modules/mob/living/brain/brain_say.dm @@ -28,7 +28,7 @@ var/obj/item/mmi/robotic_brain/R = container if(R && R.silenced) if(warning) - to_chat(usr, "You cannot speak, as your internal speaker is turned off.") + to_chat(usr, SPAN_WARNING("You cannot speak, as your internal speaker is turned off.")) . = FALSE /mob/living/brain/handle_message_mode(message_mode, list/message_pieces, verb, used_radios) diff --git a/code/modules/mob/living/brain/robotic_brain.dm b/code/modules/mob/living/brain/robotic_brain.dm index 721cf7487d6..c4bf8de1fb2 100644 --- a/code/modules/mob/living/brain/robotic_brain.dm +++ b/code/modules/mob/living/brain/robotic_brain.dm @@ -25,21 +25,21 @@ /obj/item/mmi/robotic_brain/attack_self__legacy__attackchain(mob/user) if(isgolem(user)) - to_chat(user, "Your golem fingers are too large to press the switch on [src].") + to_chat(user, SPAN_WARNING("Your golem fingers are too large to press the switch on [src].")) return if(requires_master && !imprinted_master) - to_chat(user, "You press your thumb on [src] and imprint your user information.") + to_chat(user, SPAN_NOTICE("You press your thumb on [src] and imprint your user information.")) imprinted_master = user return if(brainmob && !brainmob.key && !searching && can_be_reinhabited) //Start the process of searching for a new user. - to_chat(user, "You carefully locate the manual activation switch and start [src]'s boot process.") + to_chat(user, SPAN_NOTICE("You carefully locate the manual activation switch and start [src]'s boot process.")) request_player() else silenced = !silenced - to_chat(user, "You toggle the speaker [silenced ? "off" : "on"].") + to_chat(user, SPAN_NOTICE("You toggle the speaker [silenced ? "off" : "on"].")) if(brainmob && brainmob.key) - to_chat(brainmob, "Your internal speaker has been toggled [silenced ? "off" : "on"].") + to_chat(brainmob, SPAN_WARNING("Your internal speaker has been toggled [silenced ? "off" : "on"].")) /obj/item/mmi/robotic_brain/proc/request_player() var/area/our_area = get_area(src) @@ -67,13 +67,13 @@ brainmob.mind.assigned_role = "Positronic Brain" if(H.mind) H.mind.transfer_to(brainmob) - to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a [ejected_flavor_text].") + to_chat(brainmob, SPAN_NOTICE("You feel slightly disoriented. That's normal when you're just a [ejected_flavor_text].")) become_occupied(occupied_icon) /obj/item/mmi/robotic_brain/attempt_become_organ(obj/item/organ/external/parent, mob/living/carbon/human/H) if(..()) if(imprinted_master) - to_chat(H, "You are permanently imprinted to [imprinted_master], obey [imprinted_master]'s every order and assist [imprinted_master.p_them()] in completing [imprinted_master.p_their()] goals at any cost.") + to_chat(H, SPAN_BIGGERDANGER("You are permanently imprinted to [imprinted_master], obey [imprinted_master]'s every order and assist [imprinted_master.p_them()] in completing [imprinted_master.p_their()] goals at any cost.")) /obj/item/mmi/robotic_brain/proc/transfer_personality(mob/candidate) searching = FALSE @@ -89,7 +89,7 @@ log_admin("[key_name(brainmob)] has joined as a robot brain, after having toggled antag hud.") message_admins("[key_name(brainmob)] has joined as a robot brain, after having toggled antag hud.") - visible_message("[src] chimes quietly.") + visible_message(SPAN_NOTICE("[src] chimes quietly.")) become_occupied(occupied_icon) /obj/item/mmi/robotic_brain/proc/reset_search() //We give the players sixty seconds to decide, then reset the timer. @@ -99,7 +99,7 @@ searching = FALSE icon_state = blank_icon - visible_message("[src] buzzes quietly as the light fades out. Perhaps you could try again?") + visible_message(SPAN_NOTICE("[src] buzzes quietly as the light fades out. Perhaps you could try again?")) /obj/item/mmi/robotic_brain/proc/volunteer(mob/dead/observer/user) if(!searching) @@ -107,20 +107,20 @@ if(brainmob && brainmob.key) return // No, something is wrong, abort. if(!istype(user) && !HAS_TRAIT(user, TRAIT_RESPAWNABLE)) - to_chat(user, "Seems you're not a ghost. Could you please file an exploit report on the forums?") + to_chat(user, SPAN_WARNING("Seems you're not a ghost. Could you please file an exploit report on the forums?")) return if(!validity_checks(user)) - to_chat(user, "You cannot be \a [src].") + to_chat(user, SPAN_WARNING("You cannot be \a [src].")) return if(tgui_alert(user, "Are you sure you want to join as a robotic brain?", "Join as robobrain", list("Yes", "No")) != "Yes") return if(!searching) return if(!istype(user) && !HAS_TRAIT(user, TRAIT_RESPAWNABLE)) - to_chat(user, "Seems you're not a ghost. Could you please file an exploit report on the forums?") + to_chat(user, SPAN_WARNING("Seems you're not a ghost. Could you please file an exploit report on the forums?")) return if(!validity_checks(user)) - to_chat(user, "You cannot be \a [src].") + to_chat(user, SPAN_WARNING("You cannot be \a [src].")) return transfer_personality(user) @@ -150,11 +150,11 @@ if(!brainmob.client) msg += "It appears to be in stand-by mode.\n" //afk if(UNCONSCIOUS) - msg += "It doesn't seem to be responsive.\n" + msg += "[SPAN_WARNING("It doesn't seem to be responsive.")]\n" if(DEAD) - msg += "It appears to be completely inactive.\n" + msg += "[SPAN_DEADSAY("It appears to be completely inactive.")]\n" else - msg += "It appears to be completely inactive.\n" + msg += "[SPAN_DEADSAY("It appears to be completely inactive.")]\n" msg += "
" . += msg.Join("") @@ -192,7 +192,7 @@ if(validity_checks(O) && (world.time >= next_ping_at)) next_ping_at = world.time + (20 SECONDS) playsound(get_turf(src), 'sound/items/posiping.ogg', 80, 0) - visible_message("[src] pings softly.") + visible_message(SPAN_NOTICE("[src] pings softly.")) /obj/item/mmi/robotic_brain/positronic name = "positronic brain" diff --git a/code/modules/mob/living/carbon/alien/alien_base.dm b/code/modules/mob/living/carbon/alien/alien_base.dm index feb234c5e58..6effd71c670 100644 --- a/code/modules/mob/living/carbon/alien/alien_base.dm +++ b/code/modules/mob/living/carbon/alien/alien_base.dm @@ -180,7 +180,7 @@ to_chat(M, alien_message) /mob/living/carbon/alien/proc/deathrattle_message() - return "The hivemind echoes: [name] has been slain!" + return "[SPAN_ALIEN("The hivemind echoes: [name] has been slain!")]" /*---------------------------------------- Proc: AddInfectionImages() diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index 6a9ed74a7c4..44ac923b000 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -18,7 +18,7 @@ This code could certainly use with a touch of TLC, but it functions alright. Bit AdjustWeakened(-6 SECONDS) AdjustKnockDown(-6 SECONDS) stand_up() - visible_message("[M.name] nuzzles [src] trying to wake it up!") + visible_message(SPAN_NOTICE("[M.name] nuzzles [src] trying to wake it up!")) if(INTENT_GRAB) grabbedby(M) @@ -27,12 +27,12 @@ This code could certainly use with a touch of TLC, but it functions alright. Bit if(health > 0) M.do_attack_animation(src, ATTACK_EFFECT_BITE) playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1) - visible_message("[M.name] bites [src]!", \ - "[M.name] bites [src]!") + visible_message(SPAN_DANGER("[M.name] bites [src]!"), \ + SPAN_USERDANGER("[M.name] bites [src]!")) adjustBruteLoss(1) add_attack_logs(M, src, "Alien attack", ATKLOG_ALL) else - to_chat(M, "[name] is too injured for that.") + to_chat(M, SPAN_WARNING("[name] is too injured for that.")) /mob/living/carbon/alien/attack_larva(mob/living/carbon/alien/larva/L) return attack_alien(L) diff --git a/code/modules/mob/living/carbon/alien/alien_examine.dm b/code/modules/mob/living/carbon/alien/alien_examine.dm index d16a5f81fd4..aaf1051b1e6 100644 --- a/code/modules/mob/living/carbon/alien/alien_examine.dm +++ b/code/modules/mob/living/carbon/alien/alien_examine.dm @@ -12,7 +12,7 @@ /mob/living/carbon/alien/examine_show_ssd() if(!key) - return "[p_they(TRUE)] [p_are()] completely catatonic, an unfocused look in [p_their()] eyes.\n" + return "[SPAN_DEADSAY("[p_they(TRUE)] [p_are()] completely catatonic, an unfocused look in [p_their()] eyes.")]\n" else if(!client) return "[p_they(TRUE)] [p_have()] suddenly fallen asleep, suffering from Space Sleep Disorder. [p_they(TRUE)] may wake up soon.\n" 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 35fa500bfb4..2bbe5a5d892 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -35,7 +35,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!")) /mob/living/carbon/alien/humanoid/hunter/ClickOn(atom/A, params) face_atom(A) 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 7be3ae028f9..83eda546d8b 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm @@ -1,7 +1,7 @@ /mob/living/carbon/alien/humanoid/attack_hulk(mob/living/carbon/human/user, does_attack_animation = FALSE) if(user.a_intent == INTENT_HARM) 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 ..(user, TRUE) adjustBruteLoss(10) @@ -11,7 +11,7 @@ throw_at(get_edge_target_turf(user, get_dir(user, src)), 3, 7) hitverb = "slammed" playsound(loc, "punch", 25, TRUE, -1) - visible_message("[user] has [hitverb] [src]!", "[user] has [hitverb] [src]!") + visible_message(SPAN_DANGER("[user] has [hitverb] [src]!"), SPAN_USERDANGER("[user] has [hitverb] [src]!")) return TRUE /mob/living/carbon/alien/humanoid/attack_hand(mob/living/carbon/human/M) @@ -21,18 +21,18 @@ var/damage = rand(1, 9) if(prob(90)) playsound(loc, "punch", 25, TRUE, -1) - visible_message("[M] has punched [src]!", \ - "[M] has punched [src]!") + visible_message(SPAN_DANGER("[M] has punched [src]!"), \ + SPAN_USERDANGER("[M] has punched [src]!")) if((stat != DEAD) && (damage > 9||prob(5)))//Regular humans have a very small chance of weakening an alien. Paralyse(4 SECONDS) - visible_message("[M] has weakened [src]!", \ - "[M] has weakened [src]!", \ - "You hear someone fall.") + visible_message(SPAN_DANGER("[M] has weakened [src]!"), \ + SPAN_USERDANGER("[M] has weakened [src]!"), \ + SPAN_DANGER("You hear someone fall.")) adjustBruteLoss(damage) add_attack_logs(M, src, "Melee attacked with fists") else playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - visible_message("[M] has attempted to punch [src]!") + visible_message(SPAN_DANGER("[M] has attempted to punch [src]!")) if(INTENT_DISARM) if(!IS_HORIZONTAL(src)) @@ -40,17 +40,17 @@ Paralyse(4 SECONDS) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) add_attack_logs(M, src, "Pushed over") - visible_message("[M] has pushed down [src]!", \ - "[M] has pushed down [src]!") + visible_message(SPAN_DANGER("[M] has pushed down [src]!"), \ + SPAN_USERDANGER("[M] has pushed down [src]!")) else if(prob(50)) drop_item() playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) - visible_message("[M] has disarmed [src]!", \ - "[M] has disarmed [src]!") + visible_message(SPAN_DANGER("[M] has disarmed [src]!"), \ + SPAN_USERDANGER("[M] has disarmed [src]!")) else playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - visible_message("[M] has attempted to disarm [src]!") + visible_message(SPAN_DANGER("[M] has attempted to disarm [src]!")) /mob/living/carbon/alien/humanoid/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect) if(!no_effect && !visual_effect_icon && !get_active_hand()) 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 68c45b36ed3..9e3db3def9e 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm @@ -4,8 +4,8 @@ if(prob(90)) playsound(loc, "punch", 25, TRUE, -1) add_attack_logs(M, src, "Melee attacked with fists") - visible_message("[M] has kicked [src]!", \ - "[M] has kicked [src]!") + visible_message(SPAN_DANGER("[M] has kicked [src]!"), \ + SPAN_USERDANGER("[M] has kicked [src]!")) if((stat != DEAD) && (damage > 4.9)) Paralyse(rand(10 SECONDS, 20 SECONDS)) @@ -13,14 +13,14 @@ updatehealth() else playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - visible_message("[M] has attempted to kick [src]!", \ - "[M] has attempted to kick [src]!") + visible_message(SPAN_DANGER("[M] has attempted to kick [src]!"), \ + SPAN_USERDANGER("[M] has attempted to kick [src]!")) /mob/living/carbon/alien/larva/attack_hulk(mob/living/carbon/human/user, does_attack_animation = FALSE) if(user.a_intent == INTENT_HARM) 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 ..(user, TRUE) adjustBruteLoss(5 + rand(1, 9)) 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 e60235d3249..045ac535c04 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -36,24 +36,24 @@ if(prob(2)) owner.emote("cough") if(prob(2)) - to_chat(owner, "Your throat feels sore.") + to_chat(owner, SPAN_DANGER("Your throat feels sore.")) if(prob(2)) - 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(3) if(prob(2)) owner.emote("sneeze") if(prob(2)) owner.emote("cough") if(prob(4)) - to_chat(owner, "Your muscles ache.") + to_chat(owner, SPAN_DANGER("Your muscles ache.")) if(prob(20)) owner.take_organ_damage(1) if(prob(4)) - to_chat(owner, "Your chest hurts.") + to_chat(owner, SPAN_DANGER("Your chest hurts.")) if(prob(20)) owner.adjustToxLoss(1) if(4) - 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(10) /obj/item/organ/internal/body_egg/alien_embryo/egg_process() @@ -108,7 +108,7 @@ new_xeno.mind.assigned_role = SPECIAL_ROLE_XENOMORPH new_xeno.mind.special_role = SPECIAL_ROLE_XENOMORPH SEND_SOUND(new_xeno, sound('sound/voice/hiss5.ogg')) - to_chat(new_xeno, "For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Xenomorph)") + to_chat(new_xeno, SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Xenomorph)")) if(burst_on_success) //If we burst naturally owner.apply_damage(300, BRUTE, BODY_ZONE_CHEST) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 7697e123015..528cf822a77 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -55,11 +55,11 @@ if(real)//So that giant red text about probisci doesn't show up for fake ones switch(stat) if(DEAD,UNCONSCIOUS) - . += "[src] is not moving." + . += SPAN_BOLDANNOUNCEIC("[src] is not moving.") if(CONSCIOUS) - . += "[src] seems to be active!" + . += SPAN_BOLDANNOUNCEIC("[src] seems to be active!") if(sterile) - . += "It looks like the proboscis has been removed." + . += SPAN_BOLDANNOUNCEIC("It looks like the proboscis has been removed.") /obj/item/clothing/mask/facehugger/temperature_expose(exposed_temperature, exposed_volume) ..() @@ -110,13 +110,13 @@ return FALSE if(!sterile) M.take_organ_damage(strength, 0) //done here so that even borgs and humans in helmets take damage - M.visible_message("[src] leaps at [M]'s face!", \ - "[src] leaps at [M]'s face!") + M.visible_message(SPAN_DANGER("[src] leaps at [M]'s face!"), \ + SPAN_USERDANGER("[src] leaps at [M]'s face!")) if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.head && H.head.flags_cover & HEADCOVERSMOUTH) - H.visible_message("[src] smashes against [H]'s [H.head]!", \ - "[src] smashes against [H]'s [H.head]!") + H.visible_message(SPAN_DANGER("[src] smashes against [H]'s [H.head]!"), \ + SPAN_USERDANGER("[src] smashes against [H]'s [H.head]!")) Die() return FALSE if(iscarbon(M)) @@ -125,15 +125,15 @@ if(istype(target.wear_mask, /obj/item/clothing/mask/muzzle)) var/obj/item/clothing/mask/muzzle/S = target.wear_mask if(S.do_break()) - target.visible_message("[src] spits acid onto [S] melting the lock!", \ - "[src] spits acid onto [S] melting the lock!") + target.visible_message(SPAN_DANGER("[src] spits acid onto [S] melting the lock!"), \ + SPAN_USERDANGER("[src] spits acid onto [S] melting the lock!")) var/obj/item/clothing/W = target.wear_mask if(W.flags & NODROP) return FALSE target.drop_item_to_ground(W) - target.visible_message("[src] tears [W] off of [target]'s face!", \ - "[src] tears [W] off of [target]'s face!") + target.visible_message(SPAN_DANGER("[src] tears [W] off of [target]'s face!"), \ + SPAN_USERDANGER("[src] tears [W] off of [target]'s face!")) src.loc = target target.equip_to_slot_if_possible(src, ITEM_SLOT_MASK, FALSE, TRUE) @@ -162,13 +162,13 @@ if(ishuman(target)) var/mob/living/carbon/human/H = target if(!H.check_has_mouth()) - target.show_message("[src] relaxes its grip on your head... it seems indifferent to you.") + target.show_message(SPAN_NOTICE("[src] relaxes its grip on your head... it seems indifferent to you.")) return if(!sterile) //target.contract_disease(new /datum/disease/alien_embryo(0)) //so infection chance is same as virus infection chance - target.visible_message("[src] falls limp after violating [target]'s face!", \ - "[src] falls limp after violating [target]'s face!") + target.visible_message(SPAN_DANGER("[src] falls limp after violating [target]'s face!"), \ + SPAN_USERDANGER("[src] falls limp after violating [target]'s face!")) Die() icon_state = "[initial(icon_state)]_impregnated" @@ -176,8 +176,8 @@ new /obj/item/organ/internal/body_egg/alien_embryo(target) SSblackbox.record_feedback("tally", "alien_growth", 1, "people_infected") else - target.visible_message("[src] violates [target]'s face!", \ - "[src] violates [target]'s face!") + target.visible_message(SPAN_DANGER("[src] violates [target]'s face!"), \ + SPAN_USERDANGER("[src] violates [target]'s face!")) /obj/item/clothing/mask/facehugger/proc/GoActive() if(stat == DEAD || stat == CONSCIOUS) @@ -205,7 +205,7 @@ stat = DEAD QDEL_NULL(proximity_monitor) - 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_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index aacda083452..4c1a5792014 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -11,7 +11,7 @@ throw_mode_off() put_in_active_hand(AM) - visible_message("[src] catches [AM]!") + visible_message(SPAN_WARNING("[src] catches [AM]!")) SEND_SIGNAL(src, COMSIG_CARBON_THROWN_ITEM_CAUGHT, AM) return TRUE return ..() @@ -50,7 +50,7 @@ apply_damage(M.powerlevel * 5, STAMINA) //5-50 stamina damage, at starting power level 10 this means 50, 35, 20 on consecutive hits - stamina crit in 3 hits KnockDown(M.powerlevel SECONDS) Stuttering(M.powerlevel SECONDS) - visible_message("[M] has shocked [src]!", "[M] has shocked you!") + visible_message(SPAN_DANGER("[M] has shocked [src]!"), SPAN_USERDANGER("[M] has shocked you!")) M.powerlevel -= 3 if(M.powerlevel < 0) M.powerlevel = 0 diff --git a/code/modules/mob/living/carbon/carbon_emote.dm b/code/modules/mob/living/carbon/carbon_emote.dm index abaebe8e115..415be110ed5 100644 --- a/code/modules/mob/living/carbon/carbon_emote.dm +++ b/code/modules/mob/living/carbon/carbon_emote.dm @@ -163,7 +163,7 @@ /datum/emote/living/carbon/twirl/run_emote(mob/user, params, type_override, intentional) if(!(user.get_active_hand() || user.get_inactive_hand())) - to_chat(user, "You need something in your hand to use this emote!") + to_chat(user, SPAN_WARNING("You need something in your hand to use this emote!")) return TRUE var/obj/item/thing @@ -198,7 +198,7 @@ else if(!(thing.flags & ABSTRACT)) message = "twirls [thing] around in their hand!" else - to_chat(user, "You cannot twirl [thing]!") + to_chat(user, SPAN_WARNING("You cannot twirl [thing]!")) return TRUE . = ..() diff --git a/code/modules/mob/living/carbon/carbon_procs.dm b/code/modules/mob/living/carbon/carbon_procs.dm index 23f6ed283ba..3cd980954c9 100644 --- a/code/modules/mob/living/carbon/carbon_procs.dm +++ b/code/modules/mob/living/carbon/carbon_procs.dm @@ -32,7 +32,7 @@ if(stat == DEAD) return else - show_message("The blob attacks!") + show_message(SPAN_USERDANGER("The blob attacks!")) adjustBruteLoss(10) /mob/living/carbon/Move(NewLoc, direct) @@ -60,7 +60,7 @@ last_stomach_attack = world.time for(var/mob/M in hearers(4, src)) if(M.client) - M.show_message(text("You hear something rumbling inside [src]'s stomach..."), 2) + M.show_message(SPAN_WARNING("You hear something rumbling inside [src]'s stomach..."), 2) var/obj/item/I = user.get_active_hand() if(I && I.force) @@ -80,7 +80,7 @@ for(var/mob/M in viewers(user, null)) if(M.client) - M.show_message(text("[user] attacks [src]'s stomach wall with [I]!"), 2) + M.show_message(SPAN_WARNING("[user] attacks [src]'s stomach wall with [I]!"), 2) playsound(user.loc, 'sound/effects/attackblob.ogg', 50, 1) if(prob(getBruteLoss() - 50)) @@ -106,16 +106,16 @@ if(!blood && nutrition < 100) // Nutrition vomiting while already starving 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(should_confuse) KnockDown(20 SECONDS) AdjustConfused(20 SECONDS) return if(message) - visible_message("[src] throws up!", \ - "You throw up!") + visible_message(SPAN_DANGER("[src] throws up!"), \ + SPAN_USERDANGER("You throw up!")) playsound(get_turf(src), 'sound/effects/splat.ogg', 50, 1) var/turf/T = get_turf(src) @@ -155,7 +155,7 @@ for(var/mob/M in src) LAZYREMOVE(stomach_contents, M) M.forceMove(drop_location()) - visible_message("[M] bursts out of [src]!") + visible_message(SPAN_DANGER("[M] bursts out of [src]!")) ///Adds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects. /mob/living/carbon/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE) @@ -253,8 +253,8 @@ check_self_for_injuries() return if(player_logged) - M.visible_message("[M] shakes [src], but [p_they()] [p_do()] not respond. Probably suffering from SSD.", \ - "You shake [src], but [p_theyre()] unresponsive. Probably suffering from SSD.") + M.visible_message(SPAN_NOTICE("[M] shakes [src], but [p_they()] [p_do()] not respond. Probably suffering from SSD."), \ + SPAN_NOTICE("You shake [src], but [p_theyre()] unresponsive. Probably suffering from SSD.")) if(IS_HORIZONTAL(src)) // /vg/: For hugs. This is how update_icon figgers it out, anyway. - N3X15 add_attack_logs(M, src, "Shaked", ATKLOG_ALL) if(ishuman(src)) @@ -272,14 +272,14 @@ playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) if(!player_logged) M.visible_message( \ - "[M] shakes [src] trying to wake [p_them()] up!",\ - "You shake [src] trying to wake [p_them()] up!",\ + SPAN_NOTICE("[M] shakes [src] trying to wake [p_them()] up!"),\ + SPAN_NOTICE("You shake [src] trying to wake [p_them()] up!"),\ ) return // If it has any of the highfive statuses, dap, handshake, etc var/datum/status_effect/effect = has_status_effect_type(STATUS_EFFECT_HIGHFIVE) if(istype(effect, STATUS_EFFECT_OFFERING_EFTPOS)) - to_chat(M, "You need to have your ID in hand to scan it!") + to_chat(M, SPAN_WARNING("You need to have your ID in hand to scan it!")) return else if(effect) M.apply_status_effect(effect.type) @@ -290,8 +290,8 @@ switch(M.zone_selected) if("head") M.visible_message( - "[M] pats [src] on the head.", - "You pat [src] on the head.", + SPAN_NOTICE("[M] pats [src] on the head."), + SPAN_NOTICE("You pat [src] on the head."), ) return if("l_hand", "r_hand") @@ -299,8 +299,8 @@ return M.visible_message( - "[M] gives [src] a [pick("hug","warm embrace")].", - "You hug [src].", + SPAN_NOTICE("[M] gives [src] a [pick("hug","warm embrace")]."), + SPAN_NOTICE("You hug [src]."), ) @@ -321,9 +321,9 @@ */ /mob/living/carbon/proc/pat_out(mob/living/target) if(target == src) // stop drop and roll, no trying to put out fire on yourself for free. - to_chat(src, "Stop drop and roll!") + to_chat(src, SPAN_WARNING("Stop drop and roll!")) return - var/self_message = "You try to extinguish [target]!" + var/self_message = SPAN_WARNING("You try to extinguish [target]!") if(prob(30) && ishuman(src)) // 30% chance of burning your hands var/mob/living/carbon/human/H = src var/protected = FALSE // Protected from the fire @@ -333,17 +333,17 @@ var/obj/item/organ/external/active_hand = H.get_active_hand() if(active_hand && !protected) // Wouldn't really work without a hand active_hand.receive_damage(0, 5) - self_message = "You burn your hand trying to extinguish [target]!" + self_message = SPAN_DANGER("You burn your hand trying to extinguish [target]!") H.update_icons() - visible_message("[src] tries to extinguish [target]!", self_message) + visible_message(SPAN_WARNING("[src] tries to extinguish [target]!"), self_message) playsound(target, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) target.adjust_fire_stacks(-0.5) /mob/living/carbon/proc/check_self_for_injuries() var/mob/living/carbon/human/H = src - visible_message("[src] examines [H.p_themselves()].", \ - "You check yourself for injuries." \ + visible_message(SPAN_NOTICE("[src] examines [H.p_themselves()]."), \ + SPAN_NOTICE("You check yourself for injuries.") \ ) var/list/status_list = list() @@ -379,24 +379,24 @@ if(LB.status & ORGAN_MUTATED) status = "weirdly shapen" - var/msg = "Your [LB.name] is OK." + var/msg = SPAN_NOTICE("Your [LB.name] is OK.") if(!isnull(status)) - msg = "Your [LB.name] is [status]." + msg = SPAN_WARNING("Your [LB.name] is [status].") status_list += msg for(var/obj/item/I in LB.embedded_objects) status_list += "\tThere is \a [I] embedded in your [LB.name]!" for(var/t in missing) - status_list += "Your [parse_zone(t)] is missing!" + status_list += SPAN_BOLDANNOUNCEIC("Your [parse_zone(t)] is missing!") if(H.bleed_rate) - status_list += "You are bleeding!" + status_list += SPAN_DANGER("You are bleeding!") if(staminaloss) if(staminaloss > 30) - status_list += "You're completely exhausted." + status_list += SPAN_NOTICE("You're completely exhausted.") else - status_list += "You feel fatigued." + status_list += SPAN_NOTICE("You feel fatigued.") to_chat(src, chat_box_examine(status_list.Join("
"))) @@ -441,12 +441,12 @@ switch(damage) if(1) - to_chat(src, "Your eyes sting a little.") + to_chat(src, SPAN_WARNING("Your eyes sting a little.")) var/minor_damage_multiplier = min(40 + extra_prob, 100) / 100 var/minor_damage = minor_damage_multiplier * (1 + extra_damage) E.receive_damage(minor_damage, 1) if(2) - to_chat(src, "Your eyes burn.") + to_chat(src, SPAN_WARNING("Your eyes burn.")) E.receive_damage(rand(2, 4) + extra_damage, 1) else @@ -459,20 +459,20 @@ if(E.damage > (E.min_bruised_damage + E.min_broken_damage) / 2) if(!E.is_robotic()) - to_chat(src, "Your eyes start to burn badly!") + to_chat(src, SPAN_WARNING("Your eyes start to burn badly!")) else //snowflake conditions piss me off for the record - to_chat(src, "The flash blinds you!") + to_chat(src, SPAN_WARNING("The flash blinds you!")) else if(E.damage >= E.min_broken_damage) - to_chat(src, "You can't see anything!") + to_chat(src, SPAN_WARNING("You can't see anything!")) 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/proc/tintcheck() @@ -511,11 +511,11 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven 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(ishuman(src)) @@ -548,14 +548,14 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven break if(!vent_found) - to_chat(src, "This ventilation duct is not connected to anything!") + to_chat(src, SPAN_WARNING("This ventilation duct is not connected to anything!")) return if(!vent_found.parent || !(length(vent_found.parent.members) || vent_found.parent.other_atmosmch)) return - 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...")) #ifdef GAME_TESTS var/ventcrawl_delay = 0 SECONDS @@ -569,15 +569,15 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven if(!do_after(src, ventcrawl_delay, target = src)) return if(!vent_found.can_crawl_through() || QDELETED(vent_found)) - to_chat(src, "You can't vent crawl through that!") + to_chat(src, SPAN_WARNING("You can't vent crawl through that!")) 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 cannot crawl into a vent while buckled to something!") + to_chat(src, SPAN_WARNING("You cannot crawl into a vent while buckled to something!")) return if(iscarbon(src) && length(contents) && ventcrawlerlocal < VENTCRAWLER_ALWAYS) // If we're here you can only ventcrawl while completely nude @@ -589,7 +589,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven if(I.flags & ABSTRACT) continue - 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 visible_message("[src] scrambles into the ventilation ducts!", "You climb into the ventilation system.") @@ -687,7 +687,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven hit_something = TRUE if(hit_something) playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100, TRUE) - visible_message("[src] slams into [hit_atom]!", "You slam into [hit_atom]!") + visible_message(SPAN_DANGER("[src] slams into [hit_atom]!"), SPAN_USERDANGER("You slam into [hit_atom]!")) return if(has_status_effect(STATUS_EFFECT_IMPACT_IMMUNE)) return @@ -699,7 +699,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven /mob/living/carbon/hit_by_thrown_mob(mob/living/C, datum/thrownthing/throwingdatum, damage, mob_hurt, self_hurt) for(var/obj/item/dualsaber/D in contents) if(HAS_TRAIT(D, TRAIT_WIELDED) && D.force) - visible_message("[src] impales [C] with [D], before dropping them on the ground!") + visible_message(SPAN_DANGER("[src] impales [C] with [D], before dropping them on the ground!")) C.apply_damage(100, BRUTE, "chest", sharp = TRUE, used_weapon = "Impaled on [D].") C.Stun(2 SECONDS) //Punishment. This could also be used by a traitor to throw someone into a dsword to kill them, but hey, teamwork! C.KnockDown(6 SECONDS) @@ -755,7 +755,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven if(throwable_mob) thrown_thing = throwable_mob 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 var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors var/turf/end_T = get_turf(target) @@ -771,14 +771,14 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven drop_item_to_ground(I, silent = TRUE) if(HAS_TRAIT(src, TRAIT_PACIFISM) && I.throwforce) - to_chat(src, "You set [I] down gently on the ground.") + to_chat(src, SPAN_NOTICE("You set [I] down gently on the ground.")) return if(QDELETED(thrown_thing)) return if(!HAS_TRAIT(thrown_thing, TRAIT_NO_THROWN_MESSAGE)) - visible_message("[src] has thrown [thrown_thing].") + visible_message(SPAN_DANGER("[src] has thrown [thrown_thing].")) newtonian_move(get_dir(target, src)) thrown_thing.throw_at(target, thrown_thing.throw_range, thrown_thing.throw_speed, src, null, null, null, move_force) thrown_thing.scatter_atom() @@ -921,15 +921,15 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven return if(has_status_effect(STATUS_EFFECT_UNBUCKLE)) - to_chat(src, "You are already trying to unbuckle!") + to_chat(src, SPAN_NOTICE("You are already trying to unbuckle!")) return apply_status_effect(STATUS_EFFECT_UNBUCKLE) - visible_message("[src] attempts to unbuckle [p_themselves()]!", - "You attempt to unbuckle yourself... (This will take around [breakout_time / 10] seconds and you need to stay still.)") + visible_message(SPAN_WARNING("[src] attempts to unbuckle [p_themselves()]!"), + SPAN_NOTICE("You attempt to unbuckle yourself... (This will take around [breakout_time / 10] seconds and you need to stay still.)")) if(!do_after(src, breakout_time, FALSE, src, allow_moving = TRUE, extra_checks = list(CALLBACK(src, PROC_REF(buckle_check))), allow_moving_target = TRUE, hidden = TRUE)) if(src && buckled) - to_chat(src, "You fail to unbuckle yourself!") + to_chat(src, SPAN_WARNING("You fail to unbuckle yourself!")) else if(!buckled) return @@ -954,13 +954,13 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven Weaken (2 SECONDS, TRUE) //Your busy dying from fire, no way you could be able to roll and reach for a snack in your bag KnockDown(6 SECONDS, TRUE) //Ok now you can have that snack if you want spin(32, 2) - visible_message("[src] rolls on the floor, trying to put [p_themselves()] out!", - "You stop, drop, and roll!") + visible_message(SPAN_DANGER("[src] rolls on the floor, trying to put [p_themselves()] out!"), + SPAN_NOTICE("You stop, drop, and roll!")) addtimer(CALLBACK(src, PROC_REF(extinguish_roll), 3 SECONDS)) /mob/living/carbon/proc/extinguish_roll() if(fire_stacks <= 0) - visible_message("[src] has successfully extinguished [p_themselves()]!","You extinguish yourself.") + visible_message(SPAN_DANGER("[src] has successfully extinguished [p_themselves()]!"),SPAN_NOTICE("You extinguish yourself.")) ExtinguishMob() /mob/living/carbon/resist_restraints(attempt_breaking) @@ -988,14 +988,14 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven to_chat(src, "[I] is too well made, you'll need hands for this one!") return if(has_status_effect(STATUS_EFFECT_REMOVE_MUZZLE)) - to_chat(src, "You are already trying to remove [I]!") + to_chat(src, SPAN_NOTICE("You are already trying to remove [I]!")) return apply_status_effect(STATUS_EFFECT_REMOVE_MUZZLE) - visible_message("[src] gnaws on [I], trying to remove it!") - to_chat(src, "You attempt to remove [I]... (This will take around [time/10] seconds and you need to stand still.)") + visible_message(SPAN_WARNING("[src] gnaws on [I], trying to remove it!")) + to_chat(src, SPAN_NOTICE("You attempt to remove [I]... (This will take around [time/10] seconds and you need to stand still.)")) if(do_after(src, time, FALSE, src, extra_checks = list(CALLBACK(src, PROC_REF(muzzle_check))), hidden = TRUE)) - visible_message("[src] removes [I]!") - to_chat(src, "You get rid of [I]!") + visible_message(SPAN_WARNING("[src] removes [I]!")) + to_chat(src, SPAN_NOTICE("You get rid of [I]!")) if(I.security_lock) I.do_break() drop_item_to_ground(I) @@ -1007,7 +1007,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven effective_breakout_time = 5 SECONDS if(has_status_effect(STATUS_EFFECT_REMOVE_CUFFS)) - to_chat(src, "You are already trying to [break_cuffs ? "break" : "remove"] [restraints].") + to_chat(src, SPAN_NOTICE("You are already trying to [break_cuffs ? "break" : "remove"] [restraints].")) return apply_status_effect(STATUS_EFFECT_REMOVE_CUFFS) @@ -1038,7 +1038,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven effective_breakout_time = 5 SECONDS if(has_status_effect(STATUS_EFFECT_EXIT_CRYOCELL)) - to_chat(src, "You are already trying to exit [cell].") + to_chat(src, SPAN_NOTICE("You are already trying to exit [cell].")) return apply_status_effect(STATUS_EFFECT_EXIT_CRYOCELL) @@ -1115,7 +1115,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven client.screen -= W if(show_message) - visible_message("[src] slips out of [W]!") + visible_message(SPAN_WARNING("[src] slips out of [W]!")) W.forceMove(drop_location()) W.dropped(src) @@ -1150,7 +1150,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven client.screen -= W if(show_message) - visible_message("[W] falls off of [src]!") + visible_message(SPAN_WARNING("[W] falls off of [src]!")) W.forceMove(drop_location()) W.dropped(src) @@ -1180,7 +1180,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven step(src, dir) stop_pulling() - to_chat(src, "You [slipVerb]ped on [description]!") + to_chat(src, SPAN_NOTICE("You [slipVerb]ped on [description]!")) playsound(loc, 'sound/misc/slip.ogg', 50, TRUE, -3) // Something something don't run with scissors moving_diagonally = 0 //If this was part of diagonal move slipping will stop it. @@ -1236,13 +1236,13 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven /mob/living/carbon/proc/selfFeed(obj/item/food/to_eat, fullness) var/is_glutton = HAS_TRAIT(src, TRAIT_GLUTTON) if(!is_glutton && to_eat.junkiness && satiety < -150 && nutrition > NUTRITION_LEVEL_STARVING + 50) - to_chat(src, "You don't feel like eating any more junk food at the moment.") + to_chat(src, SPAN_NOTICE("You don't feel like eating any more junk food at the moment.")) return FALSE var/list/reaction_msg = list() if(fullness <= 50) reaction_msg += "You hungrily chew out a piece of [to_eat] and gobble it!" - to_chat(src, "") + to_chat(src, SPAN_WARNING("")) else if(fullness > 50 && fullness < 150) reaction_msg += "You hungrily begin to eat [to_eat]." else if(fullness > 150 && fullness < 500) @@ -1250,11 +1250,11 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven else if(fullness > 500 && fullness < 600) reaction_msg += "You unwillingly chew a bit of [to_eat]." else if(fullness > (600 * (1 + overeatduration / 2000))) // The more you eat - the more you can eat - to_chat(src, "You cannot force any more of [to_eat] to go down your throat.") + to_chat(src, SPAN_WARNING("You cannot force any more of [to_eat] to go down your throat.")) return FALSE if(is_glutton) src.changeNext_move(CLICK_CD_RAPID) // Hungry hungry spessman - to_chat(src, "[jointext(reaction_msg, " ")]") + to_chat(src, SPAN_NOTICE("[jointext(reaction_msg, " ")]")) return TRUE @@ -1263,14 +1263,14 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven /mob/living/carbon/proc/forceFed(obj/item/reagent_containers/to_eat, mob/user, fullness) if(fullness > (600 * (1 + overeatduration / 1000))) - visible_message("[user] cannot force anymore of [to_eat] down [src]'s throat.") + visible_message(SPAN_WARNING("[user] cannot force anymore of [to_eat] down [src]'s throat.")) return FALSE - visible_message("[user] attempts to force [src] to swallow [to_eat].") + visible_message(SPAN_WARNING("[user] attempts to force [src] to swallow [to_eat].")) if(!do_after(user, 3 SECONDS, TRUE, src)) return FALSE forceFedAttackLog(to_eat, user) - visible_message("[user] forces [src] to swallow [to_eat].") + visible_message(SPAN_WARNING("[user] forces [src] to swallow [to_eat].")) return TRUE /mob/living/carbon/proc/forceFedAttackLog(obj/item/reagent_containers/to_eat, mob/user) @@ -1452,11 +1452,11 @@ so that different stomachs can handle things in different ways VB*/ /mob/living/carbon/proc/lazrevival(mob/living/carbon/M) if(M.get_ghost()) // ghosted after the timer expires. - M.visible_message("[M]'s body stops twitching as the Lazarus Reagent loses potency.") + M.visible_message(SPAN_WARNING("[M]'s body stops twitching as the Lazarus Reagent loses potency.")) return // If the ghost has re-entered the body, perform the revival! - M.visible_message("[M] gasps as they return to life!") + M.visible_message(SPAN_SUCCESS("[M] gasps as they return to life!")) M.adjustCloneLoss(50) M.setOxyLoss(0) M.adjustBruteLoss(rand(0, 15)) @@ -1519,7 +1519,7 @@ so that different stomachs can handle things in different ways VB*/ if(!usr) return if(QDELETED(src)) - to_chat(usr, "Mob doesn't exist anymore.") + to_chat(usr, SPAN_NOTICE("Mob doesn't exist anymore.")) return if(result) @@ -1537,11 +1537,11 @@ so that different stomachs can handle things in different ways VB*/ return if(QDELETED(src)) - to_chat(usr, "Mob doesn't exist anymore.") + to_chat(usr, SPAN_NOTICE("Mob doesn't exist anymore.")) return if(locateUID(new_organ) in internal_organs) - to_chat(usr, "Mob already has that organ.") + to_chat(usr, SPAN_NOTICE("Mob already has that organ.")) return var/obj/item/organ/internal/organ = new new_organ organ.insert(src) @@ -1554,14 +1554,14 @@ so that different stomachs can handle things in different ways VB*/ var/obj/item/organ/internal/rem_organ = tgui_input_list(usr, "Please choose an organ to remove.", "Organ", internal_organs) if(QDELETED(src)) - to_chat(usr, "Mob doesn't exist anymore.") + to_chat(usr, SPAN_NOTICE("Mob doesn't exist anymore.")) return if(!(rem_organ in internal_organs)) - to_chat(usr, "Mob does not have that organ.") + to_chat(usr, SPAN_NOTICE("Mob does not have that organ.")) return - to_chat(usr, "Removed [rem_organ] from [src].") + to_chat(usr, SPAN_NOTICE("Removed [rem_organ] from [src].")) rem_organ.remove(src) message_admins("[key_name_admin(usr)] has removed the organ [rem_organ] from [key_name_admin(src)]") log_admin("[key_name(usr)] has removed the organ [rem_organ] from [key_name(src)]") diff --git a/code/modules/mob/living/carbon/carbon_status_procs.dm b/code/modules/mob/living/carbon/carbon_status_procs.dm index 7448ec8262a..0f3b27f3357 100644 --- a/code/modules/mob/living/carbon/carbon_status_procs.dm +++ b/code/modules/mob/living/carbon/carbon_status_procs.dm @@ -7,7 +7,7 @@ if(absorb_stun(0)) //continuous effect, so we don't want it to increment the stuns absorbed. return if(!IsWeakened()) - to_chat(src, "You're too exhausted to keep going...") + to_chat(src, SPAN_NOTICE("You're too exhausted to keep going...")) SEND_SIGNAL(src, COMSIG_CARBON_ENTER_STAMINACRIT) stam_regen_start_time = world.time + (STAMINA_REGEN_BLOCK_TIME * stamina_regen_block_modifier) var/prev = stam_paralyzed diff --git a/code/modules/mob/living/carbon/carbon_stripping.dm b/code/modules/mob/living/carbon/carbon_stripping.dm index 62cb221d9c0..c6d1a90d77e 100644 --- a/code/modules/mob/living/carbon/carbon_stripping.dm +++ b/code/modules/mob/living/carbon/carbon_stripping.dm @@ -46,12 +46,12 @@ if(!pocket.held_item) return if(!thief_mode) - user.visible_message("[user] is trying to remove something from [source]'s head!", - "You start to dislodge whatever's inside [source]'s headpocket!") + user.visible_message(SPAN_DANGER("[user] is trying to remove something from [source]'s head!"), + SPAN_DANGER("You start to dislodge whatever's inside [source]'s headpocket!")) if(do_mob(user, source, POCKET_STRIP_DELAY, hidden = thief_mode)) if(!thief_mode) - user.visible_message("[user] has dislodged something from [source]'s head!", - "You have dislodged everything from [source]'s headpocket!") + user.visible_message(SPAN_DANGER("[user] has dislodged something from [source]'s head!"), + SPAN_DANGER("You have dislodged everything from [source]'s headpocket!")) pocket.empty_contents() add_attack_logs(user, source, "Stripped of headpocket items", isLivingSSD(source) ? null : ATKLOG_ALL) return @@ -67,8 +67,8 @@ return if(!thief_mode) - muzzle.visible_message("[user] tries to [muzzle.locked ? "unlock" : "lock"] [source]'s [muzzle.name].", \ - "[user] tries to [muzzle.locked ? "unlock" : "lock"] [source]'s [muzzle.name].") + muzzle.visible_message(SPAN_DANGER("[user] tries to [muzzle.locked ? "unlock" : "lock"] [source]'s [muzzle.name]."), \ + SPAN_USERDANGER("[user] tries to [muzzle.locked ? "unlock" : "lock"] [source]'s [muzzle.name].")) if(!do_mob(user, source, POCKET_STRIP_DELAY, hidden = thief_mode)) return @@ -81,8 +81,8 @@ if(!success) return if(!thief_mode) - muzzle.visible_message("[user] [muzzle.locked ? "locks" : "unlocks"] [source]'s [muzzle.name].", \ - "[user] [muzzle.locked ? "locks" : "unlocks"] [source]'s [muzzle.name].") + muzzle.visible_message(SPAN_DANGER("[user] [muzzle.locked ? "locks" : "unlocks"] [source]'s [muzzle.name]."), \ + SPAN_USERDANGER("[user] [muzzle.locked ? "locks" : "unlocks"] [source]'s [muzzle.name].")) /datum/strippable_item/mob_item_slot/neck @@ -142,7 +142,7 @@ var/mob/mob_source = source if(!equipping.mob_can_equip(mob_source, which_hand, TRUE)) - to_chat(user, "\The [equipping] doesn't fit in that place!") + to_chat(user, SPAN_WARNING("\The [equipping] doesn't fit in that place!")) return FALSE return TRUE diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm index 2781bd7d17d..370c3fde5e9 100644 --- a/code/modules/mob/living/carbon/examine.dm +++ b/code/modules/mob/living/carbon/examine.dm @@ -81,7 +81,7 @@ /mob/living/carbon/proc/examine_show_ssd() if(!HAS_TRAIT(src, SCRYING)) if(!key) - return "[p_they(TRUE)] [p_are()] totally catatonic. The stresses of life in deep-space must have been too much for [p_them()]. Any recovery is unlikely.\n" + return "[SPAN_DEADSAY("[p_they(TRUE)] [p_are()] totally catatonic. The stresses of life in deep-space must have been too much for [p_them()]. Any recovery is unlikely.")]\n" else if(!client) return "[p_they(TRUE)] [p_have()] suddenly fallen asleep, suffering from Space Sleep Disorder. [p_they(TRUE)] may wake up soon.\n" @@ -89,7 +89,7 @@ /mob/living/carbon/examine(mob/user) if(HAS_TRAIT(src, TRAIT_UNKNOWN)) - return list("You're struggling to make out any details...") + return list(SPAN_NOTICE("You're struggling to make out any details...")) var/skipgloves = FALSE var/skipsuitstorage = FALSE @@ -120,7 +120,7 @@ var/msg = "This is " if(HAS_TRAIT(src, TRAIT_I_WANT_BRAINS)) - msg = "This is the shambling corpse of " + msg = "[SPAN_NOTICE("This is the shambling corpse")] of " msg += "[name]" @@ -160,7 +160,7 @@ if(limb_name) submsg += " [preposition] [p_their()] [limb_name]" if(item.blood_DNA) - submsg = "[submsg]!\n" + submsg = "[SPAN_WARNING("[submsg]!")]\n" else submsg = "[submsg].\n" msg += submsg @@ -192,25 +192,25 @@ ) // Pick a random hallucination description var/random_text = pick(hallucination_texts) - msg += "[random_text]\n" + msg += "[SPAN_WARNING("[random_text]")]\n" //handcuffed? if(handcuffed) if(istype(handcuffed, /obj/item/restraints/handcuffs/cable/zipties)) - msg += "[p_they(TRUE)] [p_are()] [bicon(handcuffed)] restrained with zipties!\n" + msg += "[SPAN_WARNING("[p_they(TRUE)] [p_are()] [bicon(handcuffed)] restrained with zipties!")]\n" else if(istype(handcuffed, /obj/item/restraints/handcuffs/twimsts)) - msg += "[p_they(TRUE)] [p_are()] [bicon(handcuffed)] restrained with twimsts cuffs!\n" + msg += "[SPAN_WARNING("[p_they(TRUE)] [p_are()] [bicon(handcuffed)] restrained with twimsts cuffs!")]\n" else if(istype(handcuffed, /obj/item/restraints/handcuffs/cable)) - msg += "[p_they(TRUE)] [p_are()] [bicon(handcuffed)] restrained with cable!\n" + msg += "[SPAN_WARNING("[p_they(TRUE)] [p_are()] [bicon(handcuffed)] restrained with cable!")]\n" else - msg += "[p_they(TRUE)] [p_are()] [bicon(handcuffed)] handcuffed!\n" + msg += "[SPAN_WARNING("[p_they(TRUE)] [p_are()] [bicon(handcuffed)] handcuffed!")]\n" //legcuffed? if(legcuffed) if(istype(legcuffed, /obj/item/restraints/legcuffs/beartrap)) - msg += "[p_they(TRUE)] [p_are()] [bicon(legcuffed)] ensnared in a beartrap!\n" + msg += "[SPAN_WARNING("[p_they(TRUE)] [p_are()] [bicon(legcuffed)] ensnared in a beartrap!")]\n" else - msg += "[p_they(TRUE)] [p_are()] [bicon(legcuffed)] legcuffed!\n" + msg += "[SPAN_WARNING("[p_they(TRUE)] [p_are()] [bicon(legcuffed)] legcuffed!")]\n" for(var/obj/item/abstract_item in abstract_items) var/text = abstract_item.customised_abstract_text(src) @@ -221,20 +221,20 @@ for(var/obj/item/grab/grab in grab_items) switch(grab.state) if(GRAB_AGGRESSIVE) - msg += "[p_they(TRUE)] [p_are()] holding [grab.affecting]'s hands!\n" + msg += "[SPAN_BOLDWARNING("[p_they(TRUE)] [p_are()] holding [grab.affecting]'s hands!")]\n" if(GRAB_NECK) - msg += "[p_they(TRUE)] [p_are()] holding [grab.affecting]'s neck!\n" + msg += "[SPAN_BOLDWARNING("[p_they(TRUE)] [p_are()] holding [grab.affecting]'s neck!")]\n" if(GRAB_KILL) - msg += "[p_they(TRUE)] [p_are()] strangling [grab.affecting]!\n" + msg += "[SPAN_BOLDWARNING("[p_they(TRUE)] [p_are()] strangling [grab.affecting]!")]\n" //Jitters switch(AmountJitter()) if(600 SECONDS to INFINITY) - msg += "[p_they(TRUE)] [p_are()] convulsing violently!\n" + msg += "[SPAN_WARNING("[p_they(TRUE)] [p_are()] convulsing violently!")]\n" if(400 SECONDS to 600 SECONDS) - msg += "[p_they(TRUE)] [p_are()] extremely jittery.\n" + msg += "[SPAN_WARNING("[p_they(TRUE)] [p_are()] extremely jittery.")]\n" if(200 SECONDS to 400 SECONDS) - msg += "[p_they(TRUE)] [p_are()] twitching ever so slightly.\n" + msg += "[SPAN_WARNING("[p_they(TRUE)] [p_are()] twitching ever so slightly.")]\n" var/appears_dead = FALSE @@ -250,7 +250,7 @@ appears_dead = TRUE if(suiciding) - msg += "[p_they(TRUE)] appear[p_s()] to have committed suicide... there is no hope of recovery.\n" + msg += "[SPAN_WARNING("[p_they(TRUE)] appear[p_s()] to have committed suicide... there is no hope of recovery.")]\n" if(!just_sleeping) msg += "[p_they(TRUE)] [p_are()] limp and unresponsive" if(get_int_organ(/obj/item/organ/internal/brain) && !client) // body has no online player inside - let's look for ghost @@ -261,7 +261,7 @@ msg += "...\n" if(!get_int_organ(/obj/item/organ/internal/brain)) - msg += "It appears that [p_their()] brain is missing...\n" + msg += "[SPAN_DEADSAY("It appears that [p_their()] brain is missing...")]\n" msg += "" diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm index 336e75e8225..278bfd0fa30 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -6,20 +6,20 @@ set category = "IC" if(has_status_effect(STATUS_EFFECT_OFFERING_ITEM)) - to_chat(src, "You're already offering an item to someone!") + to_chat(src, SPAN_WARNING("You're already offering an item to someone!")) return if(istype(client.click_intercept, /datum/click_intercept/give)) QDEL_NULL(client.click_intercept) return var/obj/item/I = get_active_hand() if(!I) - to_chat(src, "You don't have anything in your hand to give!") + to_chat(src, SPAN_WARNING("You don't have anything in your hand to give!")) return if(I.flags & NODROP) - to_chat(src, "[I] is stuck to your hand, you can't give it away!") + to_chat(src, SPAN_WARNING("[I] is stuck to your hand, you can't give it away!")) return if(I.flags & ABSTRACT) - to_chat(src, "That's not exactly something you can give.") + to_chat(src, SPAN_WARNING("That's not exactly something you can give.")) return new /datum/click_intercept/give(client) @@ -54,8 +54,8 @@ var/mob/living/carbon/receiver = locateUID(receiver_UID) var/mob/living/carbon/giver = attached_effect.owner var/obj/item/I = locateUID(item_UID) - to_chat(giver, "You decide against giving [I] to [receiver].") - to_chat(receiver, "[giver] seems to have given up on giving you [I].") + to_chat(giver, SPAN_NOTICE("You decide against giving [I] to [receiver].")) + to_chat(receiver, SPAN_WARNING("[giver] seems to have given up on giving you [I].")) receiver.clear_alert("take item [item_UID]") // This cancels *everything* related to the giving/item offering. @@ -71,7 +71,7 @@ /datum/click_intercept/give/New(client/C) ..() holder.mob.add_mousepointer(MP_GIVE_MODE_PRIORITY, 'icons/mouse_icons/give_item.dmi') - to_chat(holder, "You can now left click on someone to give them your held item.") + to_chat(holder, SPAN_NOTICE("You can now left click on someone to give them your held item.")) RegisterSignal(holder.mob.get_active_hand(), list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), PROC_REF(signal_qdel)) RegisterSignal(holder.mob, list(SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), COMSIG_CARBON_SWAP_HANDS), PROC_REF(signal_qdel)) @@ -79,7 +79,7 @@ /datum/click_intercept/give/Destroy(force = FALSE, ...) holder.mob.remove_mousepointer(MP_GIVE_MODE_PRIORITY) if(!item_offered) - to_chat(holder.mob, "You're no longer trying to give someone your held item.") + to_chat(holder.mob, SPAN_NOTICE("You're no longer trying to give someone your held item.")) return ..() @@ -89,20 +89,20 @@ return var/mob/living/carbon/human/receiver = object if(receiver.stat != CONSCIOUS) - to_chat(user, "[receiver] can't accept any items because they're not conscious!") + to_chat(user, SPAN_WARNING("[receiver] can't accept any items because they're not conscious!")) return var/obj/item/I = user.get_active_hand() if(!user.Adjacent(receiver)) - to_chat(user, "You need to be closer to [receiver] to offer them [I].") + to_chat(user, SPAN_WARNING("You need to be closer to [receiver] to offer them [I].")) return if(!receiver.client) - to_chat(user, "You offer [I] to [receiver], but they don't seem to respond...") + to_chat(user, SPAN_WARNING("You offer [I] to [receiver], but they don't seem to respond...")) return // We use UID() here so that the receiver can have more then one give request at one time. // Otherwise, throwing a new "take item" alert would override any current one also named "take item". receiver.throw_alert("take item [I.UID()]", /atom/movable/screen/alert/take_item, alert_args = list(user, receiver, I)) item_offered = TRUE // TRUE so we don't give them the default chat message in Destroy. - to_chat(user, "You offer [I] to [receiver].") + to_chat(user, SPAN_NOTICE("You offer [I] to [receiver].")) qdel(src) @@ -149,8 +149,8 @@ SIGNAL_HANDLER var/mob/living/giver = locateUID(giver_UID) var/mob/living/receiver = locateUID(receiver_UID) - to_chat(giver, "You need to keep the item in your active hand if you want to hand it to someone!") - to_chat(receiver, "[giver] seems to have given up on giving you [locateUID(item_UID)].") + to_chat(giver, SPAN_WARNING("You need to keep the item in your active hand if you want to hand it to someone!")) + to_chat(receiver, SPAN_WARNING("[giver] seems to have given up on giving you [locateUID(item_UID)].")) receiver.clear_alert("take item [item_UID]") @@ -160,15 +160,15 @@ return var/obj/item/I = locateUID(item_UID) if(HAS_TRAIT(receiver, TRAIT_HANDS_BLOCKED) || receiver.r_hand && receiver.l_hand) - to_chat(receiver, "You need to have your hands free to accept [I]!") + to_chat(receiver, SPAN_WARNING("You need to have your hands free to accept [I]!")) return var/mob/living/giver = locateUID(giver_UID) if(!giver.Adjacent(receiver)) - to_chat(receiver, "You need to stay in reaching distance of [giver] to take [I]!") + to_chat(receiver, SPAN_WARNING("You need to stay in reaching distance of [giver] to take [I]!")) return if(I.flags & NODROP) - to_chat(giver, "[I] stays stuck to your hand when [receiver] tries to take it!") - to_chat(receiver, "[I] stays stuck to [giver]'s hand when you try to take it!") + to_chat(giver, SPAN_WARNING("[I] stays stuck to your hand when [receiver] tries to take it!")) + to_chat(receiver, SPAN_WARNING("[I] stays stuck to [giver]'s hand when you try to take it!")) return UnregisterSignal(I, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) // We don't want these triggering `cancel_give` at this point, since the give is successful. giver.drop_item_to_ground(I) @@ -176,7 +176,7 @@ I.add_fingerprint(receiver) I.on_give(giver, receiver) I.pickup(receiver) - receiver.visible_message("[giver] handed [I] to [receiver].") + receiver.visible_message(SPAN_NOTICE("[giver] handed [I] to [receiver].")) receiver.clear_alert("take item [item_UID]") @@ -186,6 +186,6 @@ // Make sure we're still nearby. We don't want to show a message if the giver not near us. if(giver in view(3, receiver)) var/obj/item/I = locateUID(item_UID) - to_chat(giver, "You tried to hand [I] to [receiver], but they didn't want it.") - to_chat(receiver, "[giver] seems to have given up on giving you [I].") + to_chat(giver, SPAN_WARNING("You tried to hand [I] to [receiver], but they didn't want it.")) + to_chat(receiver, SPAN_WARNING("[giver] seems to have given up on giving you [I].")) ..() diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 59a40a56e50..67e5a95643e 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -135,7 +135,7 @@ for(var/obj/item/organ/external/O in bodyparts) if(O.status & ORGAN_MUTATED) O.unmutate() - to_chat(src, "Your [O.name] is shaped normally again.") + to_chat(src, SPAN_NOTICE("Your [O.name] is shaped normally again.")) /mob/living/carbon/human/adjustCloneLoss(amount) if(dna.species && amount > 0) @@ -164,7 +164,7 @@ if(length(candidates)) var/obj/item/organ/external/O = pick(candidates) O.mutate() - to_chat(src, "Something is not right with your [O.name]...") + to_chat(src, SPAN_NOTICE("Something is not right with your [O.name]...")) O.add_autopsy_data("Mutation", amount) else // Cloneloss was partially healed - chance to unmutate an organ if(!prob(heal_prob)) @@ -173,7 +173,7 @@ for(var/obj/item/organ/external/O in bodyparts) if(O.status & ORGAN_MUTATED) O.unmutate() - to_chat(src, "Your [O.name] is shaped normally again.") + to_chat(src, SPAN_NOTICE("Your [O.name] is shaped normally again.")) return /mob/living/carbon/human/setCloneLoss(amount) diff --git a/code/modules/mob/living/carbon/human/human_deadchat_control.dm b/code/modules/mob/living/carbon/human/human_deadchat_control.dm index f1c2ffcb4d9..b9a79a17aab 100644 --- a/code/modules/mob/living/carbon/human/human_deadchat_control.dm +++ b/code/modules/mob/living/carbon/human/human_deadchat_control.dm @@ -15,12 +15,12 @@ if(!victim) switch(intent) if(INTENT_HARM) - visible_message("[src] swings [implement] wildly!") + visible_message(SPAN_WARNING("[src] swings [implement] wildly!")) if(INTENT_HELP) - visible_message("[src] seems to take a deep breath.") + visible_message(SPAN_NOTICE("[src] seems to take a deep breath.")) return if(isLivingSSD(victim)) - visible_message("[src] [intent == INTENT_HARM ? "reluctantly " : ""]lowers [p_their()] [implement].") + visible_message(SPAN_NOTICE("[src] [intent == INTENT_HARM ? "reluctantly " : ""]lowers [p_their()] [implement].")) return var/original_intent = a_intent @@ -33,13 +33,13 @@ /mob/living/carbon/human/proc/dchat_resist() if(!can_resist()) - visible_message("[src] seems to be unable to do anything!") + visible_message(SPAN_WARNING("[src] seems to be unable to do anything!")) return if(!restrained()) - visible_message("[src] seems to be doing nothing in particular.") + visible_message(SPAN_NOTICE("[src] seems to be doing nothing in particular.")) return - visible_message("[src] is trying to break free!") + visible_message(SPAN_WARNING("[src] is trying to break free!")) resist() /mob/living/carbon/human/proc/dchat_pickup() @@ -53,22 +53,22 @@ if(in_hand) if(in_hand.flags & NODROP) - visible_message("[src] attempts to drop [in_hand], but it seems to be stuck to [p_their()] hand!") + visible_message(SPAN_WARNING("[src] attempts to drop [in_hand], but it seems to be stuck to [p_their()] hand!")) return if(in_hand.flags & ABSTRACT) - visible_message("[src] seems to have [p_their()] hands full!") + visible_message(SPAN_NOTICE("[src] seems to have [p_their()] hands full!")) return - visible_message("[src] drops [in_hand] and picks up [thing] instead!") + visible_message(SPAN_NOTICE("[src] drops [in_hand] and picks up [thing] instead!")) unequip(in_hand) in_hand.forceMove(old_loc) else - visible_message("[src] picks up [thing]!") + visible_message(SPAN_NOTICE("[src] picks up [thing]!")) put_in_active_hand(thing) /mob/living/carbon/human/proc/dchat_throw() var/obj/item/in_hand = get_active_hand() if(!in_hand || in_hand.flags & ABSTRACT) - visible_message("[src] makes a throwing motion!") + visible_message(SPAN_NOTICE("[src] makes a throwing motion!")) return var/atom/possible_target var/cur_turf = get_turf(src) @@ -85,7 +85,7 @@ if(!possible_target) possible_target = cur_turf if(in_hand.flags & NODROP) - visible_message("[src] tries to throw [in_hand][isturf(possible_target) ? "" : " towards [possible_target]"], but it won't come off [p_their()] hand!") + visible_message(SPAN_WARNING("[src] tries to throw [in_hand][isturf(possible_target) ? "" : " towards [possible_target]"], but it won't come off [p_their()] hand!")) return throw_item(possible_target) @@ -93,7 +93,7 @@ var/turf/ahead = get_turf(get_step(src, dir)) var/mob/living/carbon/human/H = locate(/mob/living/carbon/human) in ahead if(!H) - visible_message("[src] tries to shove something away!") + visible_message(SPAN_NOTICE("[src] tries to shove something away!")) return dna?.species.disarm(src, H) @@ -112,14 +112,14 @@ var/obj/item/gun/held_gun = get_active_hand() if(!held_gun) - visible_message("[src] makes fingerguns towards [possible_target]!") + visible_message(SPAN_WARNING("[src] makes fingerguns towards [possible_target]!")) return if(!istype(held_gun)) - visible_message("[src] points [held_gun] towards [possible_target]!") + visible_message(SPAN_WARNING("[src] points [held_gun] towards [possible_target]!")) return // for his neutral special, he wields a Gun held_gun.afterattack__legacy__attackchain(possible_target, src) - visible_message("[src] fires [held_gun][isturf(possible_target) ? "" : " towards [possible_target]!"]") + visible_message(SPAN_DANGER("[src] fires [held_gun][isturf(possible_target) ? "" : " towards [possible_target]!"]")) /mob/living/carbon/human/proc/dchat_step(dir) if(length(grabbed_by)) diff --git a/code/modules/mob/living/carbon/human/human_death.dm b/code/modules/mob/living/carbon/human/human_death.dm index ecabf66da4e..6617e915d62 100644 --- a/code/modules/mob/living/carbon/human/human_death.dm +++ b/code/modules/mob/living/carbon/human/human_death.dm @@ -33,7 +33,7 @@ for(var/mob/M in src) LAZYREMOVE(stomach_contents, M) M.forceMove(drop_location()) - visible_message("[M] bursts out of [src]!") + visible_message(SPAN_DANGER("[M] bursts out of [src]!")) if(!ismachineperson(src)) hgibs(loc, dna) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 57521e5f1bb..3070f33a27d 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -25,8 +25,8 @@ emp_act reflected = is_type_in_list(P, safe_list) //And it's safe if(reflected) - visible_message("[P] gets reflected by [src]!", \ - "[P] gets reflected by [src]!") + visible_message(SPAN_DANGER("[P] gets reflected by [src]!"), \ + SPAN_USERDANGER("[P] gets reflected by [src]!")) add_attack_logs(P.firer, src, "hit by [P.type] but got reflected") P.reflect_back(src) return -1 @@ -49,10 +49,10 @@ emp_act var/turf/T = get_turf(src) P.firer = src T.bullet_act(P) - visible_message("[src] deflects the projectile into the ground!", "You deflect the projectile towards the ground beneath your feet!") + visible_message(SPAN_DANGER("[src] deflects the projectile into the ground!"), SPAN_USERDANGER("You deflect the projectile towards the ground beneath your feet!")) return FALSE - visible_message("[src] deflects the projectile!", "You deflect the projectile!") + visible_message(SPAN_DANGER("[src] deflects the projectile!"), SPAN_USERDANGER("You deflect the projectile!")) if(mind.martial_art.reroute_deflection) var/refl_angle = get_angle(loc, get_step(src, dir)) P.firer = src @@ -70,10 +70,10 @@ emp_act var/turf/T = get_turf(src) P.firer = src T.bullet_act(P) - visible_message("[src] deflects the projectile into the ground!", "You deflect the projectile towards the ground beneath your feet!") + visible_message(SPAN_DANGER("[src] deflects the projectile into the ground!"), SPAN_USERDANGER("You deflect the projectile towards the ground beneath your feet!")) return FALSE - visible_message("[src] deflects the projectile!", "You deflect the projectile!") + visible_message(SPAN_DANGER("[src] deflects the projectile!"), SPAN_USERDANGER("You deflect the projectile!")) P.firer = src P.set_angle(rand(0, 360)) return -1 @@ -94,18 +94,18 @@ emp_act var/obj/item/organ/external/S = bodyparts_by_name[user.zone_selected] if(!S) if(ismachineperson(src)) - to_chat(user, "[p_they(TRUE)] [p_are()] missing that limb!") + to_chat(user, SPAN_NOTICE("[p_they(TRUE)] [p_are()] missing that limb!")) return TRUE return if(!S.is_robotic() || S.open == ORGAN_SYNTHETIC_OPEN) return . = TRUE if(S.brute_dam > ROBOLIMB_SELF_REPAIR_CAP) - to_chat(user, "The damage is far too severe to patch over externally.") + to_chat(user, SPAN_DANGER("The damage is far too severe to patch over externally.")) return if(!S.brute_dam) - to_chat(user, "Nothing to fix!") + to_chat(user, SPAN_NOTICE("Nothing to fix!")) return var/surgery_time = 0 @@ -138,10 +138,10 @@ emp_act E.heal_damage(rembrute,0,0,1) UpdateDamageIcon() rembrute = nrembrute - user.visible_message("[user] patches some dents on [src]'s [E.name] with [I].") + user.visible_message(SPAN_ALERT("[user] patches some dents on [src]'s [E.name] with [I].")) if(bleed_rate && ismachineperson(src)) bleed_rate = 0 - user.visible_message("[user] patches some leaks on [src] with [I].") + user.visible_message(SPAN_ALERT("[user] patches some leaks on [src] with [I].")) if(IgniteMob()) message_admins("[key_name_admin(user)] set [key_name_admin(src)] on fire with [I]") log_game("[key_name(user)] set [key_name(src)] on fire with [I]") @@ -298,7 +298,7 @@ emp_act update_inv_wear_mask() 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_organ("head") if(.) @@ -321,7 +321,7 @@ emp_act 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_organ("chest") if(.) @@ -355,7 +355,7 @@ emp_act 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_organ("r_arm") if(.) @@ -381,7 +381,7 @@ emp_act 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_organ("r_leg") if(.) @@ -394,7 +394,7 @@ emp_act //DAMAGE// for(var/obj/item/organ/external/affecting in damaged) affecting.receive_damage(acidity, 2 * acidity) - to_chat(src, "The acid burns you!") + to_chat(src, SPAN_USERDANGER("The acid burns you!")) playsound(src, 'sound/weapons/sear.ogg', 50, TRUE) if(istype(affecting, /obj/item/organ/external/head)) @@ -436,12 +436,12 @@ emp_act if(!istype(affecting)) return if(!affecting.is_robotic()) - to_chat(user, "That limb isn't robotic.") + to_chat(user, SPAN_WARNING("That limb isn't robotic.")) return if(affecting.sabotaged) - to_chat(user, "[src]'s [affecting.name] is already sabotaged!") + to_chat(user, SPAN_WARNING("[src]'s [affecting.name] is already sabotaged!")) else - to_chat(user, "You sneakily hack into the dataport on [src]'s [affecting.name] and short out the safeties.") + to_chat(user, SPAN_WARNING("You sneakily hack into the dataport on [src]'s [affecting.name] and short out the safeties.")) affecting.sabotaged = TRUE return TRUE @@ -591,7 +591,7 @@ emp_act L.add_embedded_object(I) I.add_mob_blood(src)//it embedded itself in you, of course it's bloody! L.receive_damage(I.w_class * I.embedded_impact_pain_multiplier) - visible_message("[I] embeds itself in [src]'s [L.name]!","[I] embeds itself in your [L.name]!") + visible_message(SPAN_DANGER("[I] embeds itself in [src]'s [L.name]!"),SPAN_USERDANGER("[I] embeds itself in your [L.name]!")) return TRUE /* @@ -631,7 +631,7 @@ emp_act /mob/living/carbon/human/attack_hulk(mob/living/carbon/human/user, does_attack_animation = FALSE) if(user.a_intent == INTENT_HARM) 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 var/hulk_verb = pick("smash", "pummel") if(check_shields(user, 15, "the [hulk_verb]ing")) @@ -640,7 +640,7 @@ emp_act var/datum/unarmed_attack/unarmed = user.get_unarmed_attack() playsound(loc, unarmed.attack_sound, 25, TRUE, -1) var/message = "[user] has [hulk_verb]ed [src]!" - visible_message("[message]", "[message]") + visible_message(SPAN_DANGER("[message]"), SPAN_USERDANGER("[message]")) adjustBruteLoss(15) return TRUE @@ -666,7 +666,7 @@ emp_act /mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/M) if(check_shields(M, 0, M.name)) - visible_message("[M] attempted to touch [src]!") + visible_message(SPAN_DANGER("[M] attempted to touch [src]!")) return 0 if(..()) @@ -677,8 +677,8 @@ emp_act var/armor_block = run_armor_check(affecting, MELEE, armor_penetration_flat = 10) playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1) - visible_message("[M] has slashed at [src]!", \ - "[M] has slashed at [src]!") + visible_message(SPAN_DANGER("[M] has slashed at [src]!"), \ + SPAN_USERDANGER("[M] has slashed at [src]!")) apply_damage(M.alien_slash_damage, BRUTE, affecting, armor_block) add_attack_logs(M, src, "Alien attacked") @@ -686,7 +686,7 @@ emp_act if(M.a_intent == INTENT_DISARM) //If not absorbed, you get disarmed, knocked down, and hit with stamina damage. if(absorb_stun(0)) - visible_message("[src] is not affected by [M]'s disarm attempt!") + visible_message(SPAN_WARNING("[src] is not affected by [M]'s disarm attempt!")) playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) return FALSE var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_selected)) @@ -695,7 +695,7 @@ emp_act M.changeNext_move(1.6 SECONDS) apply_damage(M.alien_disarm_damage, STAMINA) add_attack_logs(M, src, "Alien tackled") - visible_message("[M] has tackled down [src]!", "You hear aggressive shuffling!") + visible_message(SPAN_DANGER("[M] has tackled down [src]!"), SPAN_HEAR("You hear aggressive shuffling!")) /mob/living/carbon/human/attack_animal(mob/living/simple_animal/M) . = ..() @@ -747,7 +747,7 @@ emp_act /mob/living/carbon/human/mech_melee_attack(obj/mecha/M) if(M.occupant.a_intent == INTENT_HARM) if(HAS_TRAIT(M.occupant, TRAIT_PACIFISM)) - to_chat(M.occupant, "You don't want to harm other living beings!") + to_chat(M.occupant, SPAN_WARNING("You don't want to harm other living beings!")) return M.do_attack_animation(src) if(M.damtype == "brute") @@ -776,8 +776,8 @@ emp_act UpdateDamageIcon() updatehealth("mech melee attack") - M.occupant_message("You hit [src].") - visible_message("[M.name] hits [src]!", "[M.name] hits you!") + M.occupant_message(SPAN_DANGER("You hit [src].")) + visible_message(SPAN_DANGER("[M.name] hits [src]!"), SPAN_USERDANGER("[M.name] hits you!")) add_attack_logs(M.occupant, src, "Mecha-meleed with [M]") else @@ -819,10 +819,10 @@ emp_act /mob/living/carbon/human/proc/reagent_safety_check(hot = TRUE) if(wear_mask) - to_chat(src, "Your [wear_mask.name] protects you from the [hot ? "hot" : "cold"] liquid!") + to_chat(src, SPAN_DANGER("Your [wear_mask.name] protects you from the [hot ? "hot" : "cold"] liquid!")) return FALSE if(head) - to_chat(src, "Your [head.name] protects you from the [hot ? "hot" : "cold"] liquid!") + to_chat(src, SPAN_DANGER("Your [head.name] protects you from the [hot ? "hot" : "cold"] liquid!")) return FALSE return TRUE @@ -879,7 +879,7 @@ emp_act /mob/living/carbon/human/proc/peel_off_synthetic_skin() var/obj/item/organ/external/external_limb = get_organ(zone_selected) if(external_limb && external_limb.augmented_skin_cover_level) - visible_message("[src] begins to pull at their skin...") + visible_message(SPAN_WARNING("[src] begins to pull at their skin...")) if(!do_mob(src, src, 5 SECONDS)) return external_limb.break_augmented_skin(TRUE) diff --git a/code/modules/mob/living/carbon/human/human_emote.dm b/code/modules/mob/living/carbon/human/human_emote.dm index 83270f2aaf7..2effeb43047 100644 --- a/code/modules/mob/living/carbon/human/human_emote.dm +++ b/code/modules/mob/living/carbon/human/human_emote.dm @@ -53,7 +53,7 @@ if(!H.bodyparts_by_name[BODY_ZONE_L_ARM] || !H.bodyparts_by_name[BODY_ZONE_R_ARM]) if(!H.bodyparts_by_name[BODY_ZONE_L_ARM] && !H.bodyparts_by_name[BODY_ZONE_R_ARM]) // no arms... - to_chat(user, "You need arms to be able to clap.") + to_chat(user, SPAN_WARNING("You need arms to be able to clap.")) else // well, we've got at least one user.visible_message("[user] makes the sound of one hand clapping.") @@ -304,19 +304,19 @@ /datum/emote/living/carbon/human/johnny/run_emote(mob/user, params, type_override, intentional) var/mob/living/carbon/human/H = user if(!istype(H.wear_mask, /obj/item/clothing/mask/cigarette)) - to_chat(user, "You can't be that cool without a cigarette between your lips.") + to_chat(user, SPAN_WARNING("You can't be that cool without a cigarette between your lips.")) return TRUE var/obj/item/clothing/mask/cigarette/cig = H.wear_mask if(!cig.lit) - to_chat(user, "You have to light that [cig] first, cool cat.") + to_chat(user, SPAN_WARNING("You have to light that [cig] first, cool cat.")) return TRUE if(H.getOxyLoss() > 30) user.visible_message( - "[user] gasps for air and swallows their cigarette!", - "You gasp for air and accidentally swallow your [cig]!" + SPAN_WARNING("[user] gasps for air and swallows their cigarette!"), + SPAN_WARNING("You gasp for air and accidentally swallow your [cig]!") ) if(cig.lit) to_chat(user, "The lit [cig] burns on the way down!") @@ -357,9 +357,9 @@ else smacking_hand = new /obj/item/slapper(user) if(user.put_in_hands(smacking_hand)) - to_chat(user, "You ready your slapping hand.") + to_chat(user, SPAN_NOTICE("You ready your slapping hand.")) else - 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/human/wink key = "wink" @@ -408,16 +408,16 @@ /datum/emote/living/carbon/human/highfive/payme/run_emote(mob/living/user, params, type_override, intentional) var/obj/item/eftpos/eftpos = user.is_holding_item_of_type(/obj/item/eftpos) if(!eftpos) - to_chat(user, "You must be holding an EFTPOS to do that!") + to_chat(user, SPAN_WARNING("You must be holding an EFTPOS to do that!")) return TRUE if(!eftpos.can_offer) - to_chat(user, "[eftpos] is too bulky to hold out to someone!") + to_chat(user, SPAN_WARNING("[eftpos] is too bulky to hold out to someone!")) return TRUE if(!eftpos.transaction_locked) - to_chat(user, "You must lock [eftpos] before it can accept payments.") + to_chat(user, SPAN_WARNING("You must lock [eftpos] before it can accept payments.")) return TRUE if(user.has_status_effect(status)) - user.visible_message("[user.name] shakes [eftpos] around slightly, impatiently waiting for someone to scan their card.") + user.visible_message(SPAN_NOTICE("[user.name] shakes [eftpos] around slightly, impatiently waiting for someone to scan their card.")) return TRUE var/datum/result = set_status(user) @@ -488,7 +488,7 @@ return TRUE if(prob(5) && !HAS_TRAIT(user, TRAIT_COOL)) - user.visible_message("[user] snaps [user.p_their()] fingers right off!") + user.visible_message(SPAN_DANGER("[user] snaps [user.p_their()] fingers right off!")) playsound(user.loc, 'sound/effects/snap.ogg', 50, 1) return TRUE return ..() @@ -517,10 +517,10 @@ var/fingers = round(text2num(params), 1) if(fingers > 10) - to_chat(user, "You don't have enough fingers!") + to_chat(user, SPAN_WARNING("You don't have enough fingers!")) return TRUE else if(fingers < 0) - to_chat(user, "You're not entirely sure how to raise negative fingers.") + to_chat(user, SPAN_WARNING("You're not entirely sure how to raise negative fingers.")) return TRUE params = fingers diff --git a/code/modules/mob/living/carbon/human/human_examine.dm b/code/modules/mob/living/carbon/human/human_examine.dm index a19a845def7..c027ca61f31 100644 --- a/code/modules/mob/living/carbon/human/human_examine.dm +++ b/code/modules/mob/living/carbon/human/human_examine.dm @@ -29,14 +29,14 @@ switch(limb_name) if("hands") if(blood_DNA) - return "[p_they(TRUE)] [p_have()] [hand_blood_color != "#030303" ? "blood-stained":"oil-stained"] hands!\n" + return "[SPAN_WARNING("[p_they(TRUE)] [p_have()] [hand_blood_color != "#030303" ? "blood-stained":"oil-stained"] hands!")]\n" if("eyes") if(HAS_TRAIT(src, SCRYING)) if(IS_CULTIST(src) && HAS_TRAIT(src, CULT_EYES)) - return "[p_their(TRUE)] glowing red eyes are glazed over!\n" - return "[p_their(TRUE)] eyes are glazed over.\n" + return "[SPAN_BOLDWARNING("[p_their(TRUE)] glowing red eyes are glazed over!")]\n" + return "[SPAN_BOLDWARNING("[p_their(TRUE)] eyes are glazed over.")]\n" if(IS_CULTIST(src) && HAS_TRAIT(src, CULT_EYES)) - return "[p_their(TRUE)] eyes are glowing an unnatural red!\n" + return "[SPAN_BOLDWARNING("[p_their(TRUE)] eyes are glowing an unnatural red!")]\n" return msg @@ -193,9 +193,9 @@ if(skills) var/char_limit = 40 if(length(skills) <= char_limit) - msg += "Employment records: [skills]\n" + msg += "[SPAN_DEPTRADIO("Employment records:")] [skills]\n" else - msg += "Employment records: [copytext_preserve_html(skills, 1, char_limit-3)]...More...\n" + msg += "[SPAN_DEPTRADIO("Employment records: [copytext_preserve_html(skills, 1, char_limit-3)]...")]More...\n" if(hasHUD(user, EXAMINE_HUD_MEDICAL_READ)) @@ -212,9 +212,9 @@ var/medical_status = hasHUD(user, EXAMINE_HUD_MEDICAL_WRITE) ? "\[[medical]\]" : "\[[medical]\]" var/mental_status = hasHUD(user, EXAMINE_HUD_MEDICAL_WRITE) ? "\[[mental]\]" : "\[[mental]\]" - msg += "Physical status: [medical_status]\n" - msg += "Mental Status: [mental_status]\n" - msg += "Medical records: \[View\] \[View comment log\] \[Add comment\]\n" + msg += "[SPAN_DEPTRADIO("Physical status: ")][medical_status]\n" + msg += "[SPAN_DEPTRADIO("Mental Status: ")][mental_status]\n" + msg += "[SPAN_DEPTRADIO("Medical records:")] \[View\] \[View comment log\] \[Add comment\]\n" if(hasHUD(user, EXAMINE_HUD_SECURITY_READ)) var/perpname = get_visible_name(TRUE) @@ -236,9 +236,9 @@ commentLatest = "No entries." //If present but without entries (=target is recognized crew) var/criminal_status = hasHUD(user, EXAMINE_HUD_SECURITY_WRITE) ? "\[[criminal]\]" : "\[[criminal]\]" - msg += "Criminal status: [criminal_status]\n" - msg += "Security records: \[View\] \[View comment log\] \[Add comment\]\n" - msg += "Latest entry: [commentLatest]\n" + msg += "[SPAN_DEPTRADIO("Criminal status:")] [criminal_status]\n" + msg += "[SPAN_DEPTRADIO("Security records:")] \[View\] \[View comment log\] \[Add comment\]\n" + msg += "[SPAN_DEPTRADIO("Latest entry:")] [commentLatest]\n" if(hasHUD(user, EXAMINE_HUD_MALF_READ)) var/perpname = get_visible_name(TRUE) @@ -252,7 +252,7 @@ malf = E.fields["ai_target"] var/malf_status = hasHUD(user, EXAMINE_HUD_MALF_WRITE) ? "\[[malf]\]" : "\[[malf]\]" - msg += "Target Status: [malf_status]\n" + msg += "[SPAN_DEPTRADIO("Target Status:")] [malf_status]\n" return msg diff --git a/code/modules/mob/living/carbon/human/human_inventory.dm b/code/modules/mob/living/carbon/human/human_inventory.dm index 1d0a9c97c56..8d1d98eb38e 100644 --- a/code/modules/mob/living/carbon/human/human_inventory.dm +++ b/code/modules/mob/living/carbon/human/human_inventory.dm @@ -349,7 +349,7 @@ var/obj/item/clothing/under/uniform = src.w_uniform uniform.attackby__legacy__attackchain(I, src) 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_WARNING("You are trying to equip this item to an unsupported inventory slot. Report this to a coder!")) I.screen_loc = null diff --git a/code/modules/mob/living/carbon/human/human_life.dm b/code/modules/mob/living/carbon/human/human_life.dm index 67013a0d2e7..abae1015350 100644 --- a/code/modules/mob/living/carbon/human/human_life.dm +++ b/code/modules/mob/living/carbon/human/human_life.dm @@ -116,16 +116,16 @@ var/instability = DEFAULT_GENE_STABILITY - gene_stability if(prob(instability * 0.1)) adjustFireLoss(min(10, instability * 0.67)) - to_chat(src, "You feel like your skin is burning and bubbling off!") + to_chat(src, SPAN_DANGER("You feel like your skin is burning and bubbling off!")) if(gene_stability < GENETIC_DAMAGE_STAGE_2 - gene_bonus) if(prob(instability * 0.83)) adjustCloneLoss(min(8, instability * 0.05)) - to_chat(src, "You feel as if your body is warping.") + to_chat(src, SPAN_DANGER("You feel as if your body is warping.")) if(prob(instability * 0.1)) adjustToxLoss(min(10, instability * 0.67)) - to_chat(src, "You feel weak and nauseous.") + to_chat(src, SPAN_DANGER("You feel weak and nauseous.")) if(gene_stability < (GENETIC_DAMAGE_STAGE_3 - gene_bonus) && prob(1)) - to_chat(src, "You feel incredibly sick... Something isn't right!") + to_chat(src, SPAN_BIGGERDANGER("You feel incredibly sick... Something isn't right!")) spawn(300) if(gene_stability < GENETIC_DAMAGE_STAGE_3) gib() @@ -592,15 +592,15 @@ metabolism_efficiency = 1 else if(nutrition > NUTRITION_LEVEL_FED && satiety > 80) if(metabolism_efficiency != 1.25) - to_chat(src, "You feel vigorous.") + to_chat(src, SPAN_NOTICE("You feel vigorous.")) metabolism_efficiency = 1.25 else if(nutrition < NUTRITION_LEVEL_STARVING + 50) if(metabolism_efficiency != 0.8) - to_chat(src, "You feel sluggish.") + to_chat(src, SPAN_NOTICE("You feel sluggish.")) metabolism_efficiency = 0.8 else if(metabolism_efficiency == 1.25) - to_chat(src, "You no longer feel vigorous.") + to_chat(src, SPAN_NOTICE("You no longer feel vigorous.")) metabolism_efficiency = 1 @@ -665,7 +665,7 @@ if(-99 to -80) adjustOxyLoss(1) if(prob(4)) - to_chat(src, "Your chest hurts...") + to_chat(src, SPAN_USERDANGER("Your chest hurts...")) Paralyse(4 SECONDS) var/datum/disease/D = new /datum/disease/critical/heart_failure ForceContractDisease(D) @@ -678,7 +678,7 @@ var/datum/disease/D = new /datum/disease/critical/heart_failure ForceContractDisease(D) if(prob(6)) - to_chat(src, "You feel [pick("horrible pain", "awful", "like shit", "absolutely awful", "like death", "like you are dying", "nothing", "warm", "sweaty", "tingly", "really, really bad", "horrible")]!") + to_chat(src, SPAN_USERDANGER("You feel [pick("horrible pain", "awful", "like shit", "absolutely awful", "like death", "like you are dying", "nothing", "warm", "sweaty", "tingly", "really, really bad", "horrible")]!")) Weaken(6 SECONDS) if(prob(3)) Paralyse(4 SECONDS) @@ -688,7 +688,7 @@ var/datum/disease/D = new /datum/disease/critical/shock ForceContractDisease(D) if(prob(5)) - to_chat(src, "You feel [pick("terrible", "awful", "like shit", "sick", "numb", "cold", "sweaty", "tingly", "horrible")]!") + to_chat(src, SPAN_USERDANGER("You feel [pick("terrible", "awful", "like shit", "sick", "numb", "cold", "sweaty", "tingly", "horrible")]!")) Weaken(6 SECONDS) /mob/living/carbon/human/proc/can_metabolize(datum/reagent/reagent) @@ -810,13 +810,13 @@ for(var/obj/item/I in BP.embedded_objects) if(prob(I.embedded_pain_chance)) BP.receive_damage(I.w_class*I.embedded_pain_multiplier) - to_chat(src, "[I] embedded in your [BP.name] hurts!") + to_chat(src, SPAN_USERDANGER("[I] embedded in your [BP.name] hurts!")) if(prob(I.embedded_fall_chance)) BP.receive_damage(I.w_class*I.embedded_fall_pain_multiplier) BP.remove_embedded_object(I) I.forceMove(get_turf(src)) - visible_message("[I] falls out of [name]'s [BP.name]!","[I] falls out of your [BP.name]!") + visible_message(SPAN_DANGER("[I] falls out of [name]'s [BP.name]!"),SPAN_USERDANGER("[I] falls out of your [BP.name]!")) if(!has_embedded_objects()) clear_alert("embeddedobject") @@ -898,9 +898,9 @@ continue //no puking if you can't smell! // Humans can lack a mind datum, y'know if(H.mind && HAS_TRAIT(H.mind, TRAIT_CORPSE_RESIST)) - to_chat(H, "You smell something rotting nearby.") + to_chat(H, SPAN_WARNING("You smell something rotting nearby.")) continue - to_chat(H, "You smell something foul...") + to_chat(H, SPAN_WARNING("You smell something foul...")) H.fakevomit() /mob/living/carbon/human/proc/handle_heartbeat() diff --git a/code/modules/mob/living/carbon/human/human_login.dm b/code/modules/mob/living/carbon/human/human_login.dm index 7bbc5b41bfd..e0361887b9f 100644 --- a/code/modules/mob/living/carbon/human/human_login.dm +++ b/code/modules/mob/living/carbon/human/human_login.dm @@ -4,7 +4,7 @@ ..() 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.")) update_pipe_vision() regenerate_icons() SEND_SIGNAL(src, COMSIG_HUMAN_LOGIN) diff --git a/code/modules/mob/living/carbon/human/human_mob.dm b/code/modules/mob/living/carbon/human/human_mob.dm index ca60e468bba..1398351edd3 100644 --- a/code/modules/mob/living/carbon/human/human_mob.dm +++ b/code/modules/mob/living/carbon/human/human_mob.dm @@ -338,7 +338,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("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone)) apply_damage(5, BRUTE, affecting, run_armor_check(affecting, MELEE)) @@ -522,7 +522,7 @@ if(shock_damage * siemens_coeff >= 1 && prob(25)) set_heartattack(FALSE) if(stat == CONSCIOUS) - to_chat(src, "You feel your heart beating again!") + to_chat(src, SPAN_NOTICE("You feel your heart beating again!")) dna.species.spec_electrocute_act(src, shock_damage, source, siemens_coeff, flags) @@ -537,7 +537,7 @@ if(!I || I.loc != src) //no item, no limb, or item is not in limb or in the person anymore return var/time_taken = I.embedded_unsafe_removal_time*I.w_class - usr.visible_message("[usr] attempts to remove [I] from [usr.p_their()] [L.name].","You attempt to remove [I] from your [L.name]... (It will take [time_taken/10] seconds.)") + usr.visible_message(SPAN_WARNING("[usr] attempts to remove [I] from [usr.p_their()] [L.name]."),SPAN_NOTICE("You attempt to remove [I] from your [L.name]... (It will take [time_taken/10] seconds.)")) if(do_after(usr, time_taken, needhand = 1, target = src)) if(!I || !L || I.loc != src || !(I in L.embedded_objects)) return @@ -546,7 +546,7 @@ I.forceMove(get_turf(src)) usr.put_in_hands(I) usr.emote("scream") - usr.visible_message("[usr] successfully rips [I] out of [usr.p_their()] [L.name]!","You successfully remove [I] from your [L.name].") + usr.visible_message("[usr] successfully rips [I] out of [usr.p_their()] [L.name]!",SPAN_NOTICE("You successfully remove [I] from your [L.name].")) if(!has_embedded_objects()) clear_alert("embeddedobject") return @@ -575,7 +575,7 @@ read = 1 if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, SPAN_WARNING("Unable to locate a data core entry for this person.")) if(href_list["secrecordComment"]) if(hasHUD(usr, EXAMINE_HUD_SECURITY_READ)) @@ -597,12 +597,12 @@ else to_chat(usr, c) else - to_chat(usr, "No comments found") + to_chat(usr, SPAN_WARNING("No comments found")) if(hasHUD(usr, EXAMINE_HUD_SECURITY_WRITE)) to_chat(usr, "\[Add comment\]") if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, SPAN_WARNING("Unable to locate a data core entry for this person.")) if(href_list["secrecordadd"]) if(usr.incapacitated() || !hasHUD(usr, EXAMINE_HUD_SECURITY_WRITE)) @@ -634,7 +634,7 @@ GLOB.PDA_Manifest.Cut() if(!modified) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, SPAN_WARNING("Unable to locate a data core entry for this person.")) if(href_list["mental"]) if(hasHUD(usr, EXAMINE_HUD_MEDICAL_WRITE)) @@ -655,7 +655,7 @@ modified = TRUE if(!modified) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, SPAN_WARNING("Unable to locate a data core entry for this person.")) if(href_list["medrecord"]) if(hasHUD(usr, EXAMINE_HUD_MEDICAL_READ)) @@ -680,7 +680,7 @@ read = 1 if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, SPAN_WARNING("Unable to locate a data core entry for this person.")) if(href_list["medrecordComment"]) if(hasHUD(usr, EXAMINE_HUD_MEDICAL_READ)) @@ -699,11 +699,11 @@ for(var/c in R.fields["comments"]) to_chat(usr, c) else - to_chat(usr, "No comment found") + to_chat(usr, SPAN_WARNING("No comment found")) to_chat(usr, "\[Add comment\]") if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, SPAN_WARNING("Unable to locate a data core entry for this person.")) if(href_list["medrecordadd"]) if(usr.incapacitated() || !hasHUD(usr, EXAMINE_HUD_MEDICAL_WRITE)) @@ -726,7 +726,7 @@ skills = E.fields["notes"] break if(skills) - to_chat(usr, "Employment records: [skills]\n") + to_chat(usr, "[SPAN_DEPTRADIO("Employment records: [skills]")]\n") if(href_list["ai"]) try_set_malf_status(usr) @@ -741,7 +741,7 @@ var/perpname = get_visible_name(TRUE) if(perpname == "Unknown") - to_chat(user, "Unable to locate a record for this person.") + to_chat(user, SPAN_WARNING("Unable to locate a record for this person.")) return var/datum/data/record/found_record @@ -754,11 +754,11 @@ break outer if(!found_record) - to_chat(user, "Unable to locate a record for this person.") + to_chat(user, SPAN_WARNING("Unable to locate a record for this person.")) return if(found_record.fields["criminal"] == SEC_RECORD_STATUS_EXECUTE) - to_chat(user, "Unable to modify the criminal status of a person with an active Execution order. Use a security computer instead.") + to_chat(user, SPAN_WARNING("Unable to modify the criminal status of a person with an active Execution order. Use a security computer instead.")) return var/static/list/possible_status = list( @@ -783,7 +783,7 @@ if(!hasHUD(user, EXAMINE_HUD_SECURITY_WRITE)) return if(found_record.fields["criminal"] == SEC_RECORD_STATUS_EXECUTE) - to_chat(user, "Unable to modify the criminal status of a person with an active Execution order. Use a security computer instead.") + to_chat(user, SPAN_WARNING("Unable to modify the criminal status of a person with an active Execution order. Use a security computer instead.")) return var/rank if(ishuman(user)) @@ -804,7 +804,7 @@ var/targetname = get_visible_name(TRUE) if(targetname == "Unknown") - to_chat(user, "Unable to set a status for unknown persons.") + to_chat(user, SPAN_WARNING("Unable to set a status for unknown persons.")) return var/datum/data/record/found_record @@ -817,7 +817,7 @@ break outer if(!found_record) - to_chat(user, "Unable to locate a record for this person.") + to_chat(user, SPAN_WARNING("Unable to locate a record for this person.")) return var/static/list/possible_status = list( @@ -915,7 +915,7 @@ /mob/living/carbon/human/proc/play_xylophone() if(!src.xylophone) - visible_message("[src] begins playing [p_their()] ribcage like a xylophone. It's quite spooky.","You begin to play a spooky refrain on your ribcage.","You hear a spooky xylophone melody.") + visible_message(SPAN_WARNING("[src] begins playing [p_their()] ribcage like a xylophone. It's quite spooky."),SPAN_NOTICE("You begin to play a spooky refrain on your ribcage."),SPAN_WARNING("You hear a spooky xylophone melody.")) var/song = pick('sound/effects/xylophone1.ogg','sound/effects/xylophone2.ogg','sound/effects/xylophone3.ogg') playsound(loc, song, 50, TRUE, -1) xylophone = 1 @@ -961,7 +961,7 @@ if(!. && error_msg && user) if(!fail_msg) fail_msg = "There is no exposed flesh or thin material [target_zone == "head" ? "on [p_their()] head" : "on [p_their()] body"] to inject into." - to_chat(user, "[fail_msg]") + to_chat(user, SPAN_ALERT("[fail_msg]")) /// /** @@ -1393,20 +1393,20 @@ if(usr != src) return FALSE //something is terribly wrong if(incapacitated()) - to_chat(src, "You can't write on the floor in your current state!") + to_chat(src, SPAN_WARNING("You can't write on the floor in your current state!")) return if(bloody_hands <= 1) remove_verb(src, /mob/living/carbon/human/proc/bloody_doodle) - to_chat(src, "Your hands aren't bloody enough!") + to_chat(src, SPAN_WARNING("Your hands aren't bloody enough!")) return if(gloves) - to_chat(src, "[gloves] are preventing you from writing anything down!") + to_chat(src, SPAN_WARNING("[gloves] are preventing you from writing anything down!")) return var/turf/simulated/T = loc if(!istype(T)) //to prevent doodling out of mechs and lockers - to_chat(src, "You cannot reach the floor.") + to_chat(src, SPAN_WARNING("You cannot reach the floor.")) return var/turf/origin = T @@ -1416,21 +1416,21 @@ if(direction != "Here") T = get_step(T,text2dir(direction)) if(!istype(T)) - to_chat(src, "You cannot doodle there.") + to_chat(src, SPAN_WARNING("You cannot doodle there.")) return var/num_doodles = 0 for(var/obj/effect/decal/cleanable/blood/writing/W in T) num_doodles++ if(num_doodles > 4) - to_chat(src, "There is no space to write on!") + to_chat(src, SPAN_WARNING("There is no space to write on!")) return var/max_length = (bloody_hands - 1) * 30 //tweeter style var/message = tgui_input_text(src, "Write a message. It cannot be longer than [max_length] characters.", "Blood writing", max_length = max_length) if(origin != loc) - to_chat(src, "Stay still while writing!") + to_chat(src, SPAN_NOTICE("Stay still while writing!")) return if(message) var/used_blood_amount = round(length(message) / 30, 1) @@ -1438,9 +1438,9 @@ if(length(message) > max_length) message += "-" - to_chat(src, "You ran out of blood to write with!") + to_chat(src, SPAN_WARNING("You ran out of blood to write with!")) else - to_chat(src, "You daub '[message]' on [T] in shiny red lettering.") + to_chat(src, SPAN_NOTICE("You daub '[message]' on [T] in shiny red lettering.")) var/obj/effect/decal/cleanable/blood/writing/W = new(T) W.message = message W.add_fingerprint(src) @@ -1569,7 +1569,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X for(var/obj/item/hand in get_both_hands(src)) if(prob(current_size * 5) && hand.w_class >= ((11-current_size)/2) && drop_item_to_ground(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!")) base_rad_act(S, current_size * 3, GAMMA_RAD) /mob/living/carbon/human/narsie_act() @@ -1596,16 +1596,16 @@ Eyes need to have significantly high darksight to shine unless the mob has the X ) if(H == src) - to_chat(src, "You cannot perform CPR on yourself!") + to_chat(src, SPAN_WARNING("You cannot perform CPR on yourself!")) return if(!isnull(H.receiving_cpr_from)) // To prevent spam stacking - to_chat(src, "They are already receiving CPR!") + to_chat(src, SPAN_WARNING("They are already receiving CPR!")) return if(!can_use_hands() || !has_both_hands()) - to_chat(src, "You need two hands available to do CPR!") + to_chat(src, SPAN_WARNING("You need two hands available to do CPR!")) return if(l_hand || r_hand) - to_chat(src, "You can't perform effective CPR with your hands full!") + to_chat(src, SPAN_WARNING("You can't perform effective CPR with your hands full!")) return H.receiving_cpr_from = UID() @@ -1613,8 +1613,8 @@ Eyes need to have significantly high darksight to shine unless the mob has the X if(H.stat == DEAD || HAS_TRAIT(H, TRAIT_FAKEDEATH)) if(ismachineperson(H) && do_mob(src, H, 4 SECONDS)) // hehe visible_message( - "[src] bangs [p_their()] head on [H]'s chassis by accident!", - "You go in for a rescue breath, and bang your head on [H]'s machine chassis. CPR's not going to work." + SPAN_WARNING("[src] bangs [p_their()] head on [H]'s chassis by accident!"), + SPAN_DANGER("You go in for a rescue breath, and bang your head on [H]'s machine chassis. CPR's not going to work.") ) playsound(H, 'sound/weapons/ringslam.ogg', 50, TRUE) adjustBruteLossByPart(2, "head") @@ -1622,23 +1622,23 @@ Eyes need to have significantly high darksight to shine unless the mob has the X return if(!H.is_revivable()) - to_chat(src, "[H] is already too far gone for CPR...") + to_chat(src, SPAN_WARNING("[H] is already too far gone for CPR...")) H.receiving_cpr_from = null return - visible_message("[src] is trying to perform CPR on [H]'s lifeless body!", "You start trying to perform CPR on [H]'s lifeless body!") + visible_message(SPAN_DANGER("[src] is trying to perform CPR on [H]'s lifeless body!"), SPAN_DANGER("You start trying to perform CPR on [H]'s lifeless body!")) while(do_mob(src, H, 4 SECONDS) && (H.stat == DEAD || HAS_TRAIT(H, TRAIT_FAKEDEATH)) && H.is_revivable()) var/timer_restored if(cpr_modifier == CPR_CHEST_COMPRESSION_ONLY) - visible_message("[src] gives [H] chest compressions.", "You can't make rescue breaths work, so you do your best to give chest compressions.") + visible_message(SPAN_NOTICE("[src] gives [H] chest compressions."), SPAN_NOTICE("You can't make rescue breaths work, so you do your best to give chest compressions.")) timer_restored = CPR_CHEST_COMPRESSION_RESTORATION // without rescue breaths, it won't stave off the death timer forever else - visible_message("[src] gives [H] chest compressions and rescue breaths.", "You give [H] chest compressions and rescue breaths.") + visible_message(SPAN_NOTICE("[src] gives [H] chest compressions and rescue breaths."), SPAN_NOTICE("You give [H] chest compressions and rescue breaths.")) timer_restored = CPR_BREATHS_RESTORATION // this, however, should keep it indefinitely postponed assuming CPR continues if(HAS_TRAIT(H, TRAIT_FAKEDEATH)) if(prob(25)) - to_chat(H, "Your chest burns as you receive unnecessary CPR!") + to_chat(H, SPAN_USERDANGER("Your chest burns as you receive unnecessary CPR!")) continue // this is the amount of time that should get added onto the timer. @@ -1656,32 +1656,32 @@ Eyes need to have significantly high darksight to shine unless the mob has the X if(!H.is_revivable()) - to_chat(src, "You feel [H]'s body is already starting to stiffen beneath you...it's too late for CPR now.") + to_chat(src, SPAN_NOTICE("You feel [H]'s body is already starting to stiffen beneath you...it's too late for CPR now.")) else - visible_message("[src] stops giving [H] CPR.", "You stop giving [H] CPR.") + visible_message(SPAN_NOTICE("[src] stops giving [H] CPR."), SPAN_NOTICE("You stop giving [H] CPR.")) H.receiving_cpr_from = null return - visible_message("[src] is trying to perform CPR on [H.name]!", "You try to perform CPR on [H.name]!") + visible_message(SPAN_DANGER("[src] is trying to perform CPR on [H.name]!"), SPAN_DANGER("You try to perform CPR on [H.name]!")) if(cpr_modifier == CPR_CHEST_COMPRESSION_ONLY) - to_chat(src, "You can't get to [H]'s mouth, so your CPR will be less effective!") + to_chat(src, SPAN_WARNING("You can't get to [H]'s mouth, so your CPR will be less effective!")) while(do_mob(src, H, 4 SECONDS) && H.health <= HEALTH_THRESHOLD_CRIT) H.adjustOxyLoss(-15 * cpr_modifier) H.SetLoseBreath(0) H.AdjustParalysis(-2 SECONDS) H.updatehealth("cpr") - visible_message("[src] performs CPR on [H.name]!", "You perform CPR on [H.name].") + visible_message(SPAN_DANGER("[src] performs CPR on [H.name]!"), SPAN_NOTICE("You perform CPR on [H.name].")) cpr_try_activate_bomb(H) if(cpr_modifier == CPR_RESCUE_BREATHS) - to_chat(H, "You feel a breath of fresh air enter your lungs. It feels good.") + to_chat(H, SPAN_NOTICE("You feel a breath of fresh air enter your lungs. It feels good.")) add_attack_logs(src, H, "CPRed", ATKLOG_ALL) H.receiving_cpr_from = null - visible_message("[src] stops performing CPR on [H].", "You stop performing CPR on [H].") - to_chat(src, "You need to stay still while performing CPR!") + visible_message(SPAN_NOTICE("[src] stops performing CPR on [H]."), SPAN_NOTICE("You stop performing CPR on [H].")) + to_chat(src, SPAN_DANGER("You need to stay still while performing CPR!")) /mob/living/carbon/human/proc/get_cpr_mod(mob/living/carbon/human/H) if(is_mouth_covered() || H.is_mouth_covered()) @@ -1692,7 +1692,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X return CPR_CHEST_COMPRESSION_ONLY if(dna?.species.breathid != H.dna?.species.breathid) // sorry non oxy-breathers - to_chat(src, "You don't think you'd be able to give [H] very effective rescue breaths...") + to_chat(src, SPAN_WARNING("You don't think you'd be able to give [H] very effective rescue breaths...")) return CPR_CHEST_COMPRESSION_ONLY return CPR_RESCUE_BREATHS @@ -1713,7 +1713,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X if(istype(org) && istype(org.hidden, /obj/item/grenade)) var/obj/item/grenade/G = org.hidden if(!G.active && prob(25)) - to_chat(src, "You feel something click under your hands.") + to_chat(src, SPAN_NOTICE("You feel something click under your hands.")) add_attack_logs(src, target, "activated an implanted grenade [G] in [target] with CPR.", ATKLOG_MOST) playsound(target.loc, 'sound/weapons/armbomb.ogg', 60, TRUE) G.active = TRUE @@ -1790,7 +1790,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X /mob/living/carbon/human/selfFeed(obj/item/food/toEat, fullness) if(!check_has_mouth()) if(!ismachineperson(src) || (ismachineperson(src) && !HAS_TRAIT(src, TRAIT_IPC_CAN_EAT))) - to_chat(src, "Where do you intend to put [toEat]? You don't have a mouth!") + to_chat(src, SPAN_NOTICE("Where do you intend to put [toEat]? You don't have a mouth!")) return FALSE return ..() @@ -1798,19 +1798,19 @@ Eyes need to have significantly high darksight to shine unless the mob has the X if(!check_has_mouth()) if(!ismachineperson(src) || !HAS_TRAIT(src, TRAIT_IPC_CAN_EAT)) if(!((istype(toEat, /obj/item/reagent_containers/drinks) && (ismachineperson(src))))) - to_chat(user, "Where do you intend to put [toEat]? \The [src] doesn't have a mouth!") + to_chat(user, SPAN_NOTICE("Where do you intend to put [toEat]? \The [src] doesn't have a mouth!")) return FALSE return ..() /mob/living/carbon/human/selfDrink(obj/item/reagent_containers/drinks/toDrink) if(!check_has_mouth()) if(!ismachineperson(src)) - to_chat(src, "Where do you intend to put \the [src]? You don't have a mouth!") + to_chat(src, SPAN_NOTICE("Where do you intend to put \the [src]? You don't have a mouth!")) return FALSE else - to_chat(src, "You pour a bit of liquid from [toDrink] into your connection port.") + to_chat(src, SPAN_NOTICE("You pour a bit of liquid from [toDrink] into your connection port.")) else - to_chat(src, "You swallow a gulp of [toDrink].") + to_chat(src, SPAN_NOTICE("You swallow a gulp of [toDrink].")) return TRUE /mob/living/carbon/human/can_track(mob/living/user) @@ -1857,11 +1857,11 @@ Eyes need to have significantly high darksight to shine unless the mob has the X if(G.trigger_guard == TRIGGER_GUARD_NORMAL) if(HAS_TRAIT(src, TRAIT_CHUNKYFINGERS)) - to_chat(src, "Your meaty finger is far too large for the trigger guard!") + to_chat(src, SPAN_WARNING("Your meaty finger is far too large for the trigger guard!")) return FALSE if(mind && mind.martial_art && mind.martial_art.no_guns) //great dishonor to famiry - to_chat(src, "[mind.martial_art.no_guns_message]") + to_chat(src, SPAN_WARNING("[mind.martial_art.no_guns_message]")) return FALSE /mob/living/carbon/human/proc/change_icobase(new_icobase, owner_sensitive) @@ -2015,7 +2015,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X dna.UpdateSE() /mob/living/carbon/human/get_spooked() - to_chat(src, "[pick(GLOB.boo_phrases)]") + to_chat(src, SPAN_WHISPER("[pick(GLOB.boo_phrases)]")) return TRUE /mob/living/carbon/human/extinguish_light(force = FALSE) @@ -2025,7 +2025,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X var/obj/item/organ/internal/lantern/O = get_int_organ(/obj/item/organ/internal/lantern) if(O && O.glowing) O.toggle_biolum(TRUE) - visible_message("[src] is engulfed in shadows and fades into the darkness.", "A sense of dread washes over you as you suddenly dim dark.") + visible_message(SPAN_DANGER("[src] is engulfed in shadows and fades into the darkness."), SPAN_DANGER("A sense of dread washes over you as you suddenly dim dark.")) /mob/living/carbon/human/proc/get_perceived_trauma(shock_reduction) return min(health, maxHealth) + shock_reduction @@ -2111,7 +2111,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X possible_recipes[recipe] = "something? This shouldn't happen, make a bug report" if(!length(possible_recipes)) - to_chat(src, "You can't think of anything to cook with the items around you.") + to_chat(src, SPAN_WARNING("You can't think of anything to cook with the items around you.")) return var/list/message = list("You draw upon your extensive experience in space food, contemplating what you could make with the items around you...") @@ -2246,18 +2246,18 @@ Eyes need to have significantly high darksight to shine unless the mob has the X for(var/obj/item/organ/external/E in src.bodyparts) missing -= E.limb_name if(E.status & ORGAN_DEAD) - analysis += "You conclude [src]'s [E.name] is dead." + analysis += SPAN_INFO("You conclude [src]'s [E.name] is dead.") if(E.status & ORGAN_INT_BLEEDING) - analysis += "You conclude [src]'s [E.name] has internal bleeding." + analysis += SPAN_INFO("You conclude [src]'s [E.name] has internal bleeding.") if(E.status & ORGAN_BURNT) - analysis += "You conclude [src]'s [E.name] has been critically burned." + analysis += SPAN_INFO("You conclude [src]'s [E.name] has been critically burned.") if(E.status & ORGAN_BROKEN) if(!E.broken_description) - analysis += "You conclude [src]'s [E.name] is broken." + analysis += SPAN_INFO("You conclude [src]'s [E.name] is broken.") else - analysis += "You conclude [src]'s [E.name] has a [E.broken_description]." + analysis += SPAN_INFO("You conclude [src]'s [E.name] has a [E.broken_description].") if(!length(analysis)) - analysis += "[src] appears to be in perfect health." + analysis += SPAN_INFO("[src] appears to be in perfect health.") to_chat(user, chat_box_healthscan(analysis.Join("
"))) /mob/living/carbon/human/pointed(atom/A as mob|obj|turf in view()) diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index c405ce7c086..bf02fe98097 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -51,7 +51,7 @@ if(E?.status & ORGAN_DEAD && HAS_TRAIT(src, TRAIT_I_WANT_BRAINS)) continue if(E && !E.properly_attached && life_tick % 24 == 0) - to_chat(src, "Your [E] is hanging on by a thread! You need someone to surgically attach it for you!") + to_chat(src, SPAN_DANGER("Your [E] is hanging on by a thread! You need someone to surgically attach it for you!")) // let it fail even if just foot&leg. Also malfunctioning happens sporadically so it should impact more when it procs. // Also, if you haven't gotten your leg properly attached surgically, you're not gonna have a good time trying to walk. stance_damage += 2 @@ -102,8 +102,8 @@ if(!E.properly_attached) visible_message( - "[src]'s [E.name] seems to be hanging loosely from [p_their()] wrist, completely fumbling what [p_they()] [p_were()] holding!", - "You feel pain shoot through your [E.name] as it dangles limply from your [E.amputation_point], you need to get it surgically attached before you can hold anything with it!" + SPAN_WARNING("[src]'s [E.name] seems to be hanging loosely from [p_their()] wrist, completely fumbling what [p_they()] [p_were()] holding!"), + SPAN_USERDANGER("You feel pain shoot through your [E.name] as it dangles limply from your [E.amputation_point], you need to get it surgically attached before you can hold anything with it!") ) return @@ -134,11 +134,11 @@ gloves.germ_level += 1 /mob/living/carbon/human/proc/becomeSlim() - to_chat(src, "You feel fit again!") + to_chat(src, SPAN_NOTICE("You feel fit again!")) REMOVE_TRAIT(src, TRAIT_FAT, OBESITY) /mob/living/carbon/human/proc/becomeFat() - to_chat(src, "You suddenly feel blubbery!") + to_chat(src, SPAN_ALERT("You suddenly feel blubbery!")) ADD_TRAIT(src, TRAIT_FAT, OBESITY) //Handles chem traces diff --git a/code/modules/mob/living/carbon/human/human_stripping.dm b/code/modules/mob/living/carbon/human/human_stripping.dm index 238d437298f..76993ddc86e 100644 --- a/code/modules/mob/living/carbon/human/human_stripping.dm +++ b/code/modules/mob/living/carbon/human/human_stripping.dm @@ -61,8 +61,8 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( var/obj/item/clothing/accessory/A = jumpsuit.accessories[1] var/thief_mode = in_thief_mode(user) if(!thief_mode) - user.visible_message("[user] starts to take off [A] from [source]'s [jumpsuit]!", \ - "You start to take off [A] from [source]'s [jumpsuit]!") + user.visible_message(SPAN_DANGER("[user] starts to take off [A] from [source]'s [jumpsuit]!"), \ + SPAN_DANGER("You start to take off [A] from [source]'s [jumpsuit]!")) if(!do_mob(user, source, POCKET_STRIP_DELAY, hidden = thief_mode)) return @@ -70,8 +70,8 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( return if(!thief_mode) - user.visible_message("[user] takes [A] off of [source]'s [jumpsuit]!", \ - "You take [A] off of [source]'s [jumpsuit]!") + user.visible_message(SPAN_DANGER("[user] takes [A] off of [source]'s [jumpsuit]!"), \ + SPAN_DANGER("You take [A] off of [source]'s [jumpsuit]!")) jumpsuit.detach_accessory(A, user) /datum/strippable_item/mob_item_slot/left_ear @@ -153,7 +153,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.")) add_attack_logs(user, source, "Attempting pickpocketing of [item]") item.add_fingerprint(user) @@ -167,7 +167,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 @@ -203,8 +203,8 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( return carbon_source.visible_message( - "[user] tries to [(carbon_source.internal != item) ? "open" : "close"] the valve on [source]'s [item.name].", - "[user] tries to [(carbon_source.internal != item) ? "open" : "close"] the valve on your [item.name].", + SPAN_DANGER("[user] tries to [(carbon_source.internal != item) ? "open" : "close"] the valve on [source]'s [item.name]."), + SPAN_USERDANGER("[user] tries to [(carbon_source.internal != item) ? "open" : "close"] the valve on your [item.name]."), ) if(!do_mob(user, carbon_source, INTERNALS_TOGGLE_DELAY)) @@ -218,8 +218,8 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( carbon_source.update_action_buttons_icon() 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]."), ) diff --git a/code/modules/mob/living/carbon/human/human_update_status.dm b/code/modules/mob/living/carbon/human/human_update_status.dm index 62d46127365..796fe02a846 100644 --- a/code/modules/mob/living/carbon/human/human_update_status.dm +++ b/code/modules/mob/living/carbon/human/human_update_status.dm @@ -10,15 +10,15 @@ var/mob/dead/observer/ghost = get_ghost() if(!client && !check_ghost_client() && !key) if(!has_status_effect(STATUS_EFFECT_REVIVE_NOTICE)) - visible_message("[src]'[p_s()] posibrain fails its power-on self-test. Any recovery from this state is unlikely.") + visible_message(SPAN_DANGER("[src]'[p_s()] posibrain fails its power-on self-test. Any recovery from this state is unlikely.")) apply_status_effect(STATUS_EFFECT_REVIVE_NOTICE) return if(ghost) if(!has_status_effect(STATUS_EFFECT_REVIVE_NOTICE)) - to_chat(ghost, "Your chassis has been repaired and repowered, re-enter if you want to continue playing! (Verbs -> Ghost -> Re-enter corpse)") + to_chat(ghost, "[SPAN_GHOSTALERT("Your chassis has been repaired and repowered, re-enter if you want to continue playing!")] (Verbs -> Ghost -> Re-enter corpse)") SEND_SOUND(ghost, sound('sound/effects/genetics.ogg')) - visible_message("[src]'[p_s()] posibrain buffers...") + visible_message(SPAN_NOTICE("[src]'[p_s()] posibrain buffers...")) apply_status_effect(STATUS_EFFECT_REVIVE_NOTICE) return diff --git a/code/modules/mob/living/carbon/human/human_vv.dm b/code/modules/mob/living/carbon/human/human_vv.dm index b1fdc8e30ef..de53daeafe2 100644 --- a/code/modules/mob/living/carbon/human/human_vv.dm +++ b/code/modules/mob/living/carbon/human/human_vv.dm @@ -40,7 +40,7 @@ if(!check_rights(R_SPAWN)) return if(QDELETED(src)) - to_chat(usr, "Mob doesn't exist anymore.") + to_chat(usr, SPAN_NOTICE("Mob doesn't exist anymore.")) return var/quirk_name = tgui_input_list(usr, "What quirk do you want to add to [src]?", "Quirk to add", GLOB.quirk_paths) if(!quirk_name) @@ -54,7 +54,7 @@ if(!check_rights(R_SPAWN)) return if(QDELETED(src)) - to_chat(usr, "Mob doesn't exist anymore.") + to_chat(usr, SPAN_NOTICE("Mob doesn't exist anymore.")) return var/datum/quirk/to_remove = tgui_input_list(usr, "What quirk do you want to remove from [src]?", "Quirk to remove", src.quirks) if(!to_remove) diff --git a/code/modules/mob/living/carbon/human/npcs.dm b/code/modules/mob/living/carbon/human/npcs.dm index f3e1cb79e6b..6a94af35849 100644 --- a/code/modules/mob/living/carbon/human/npcs.dm +++ b/code/modules/mob/living/carbon/human/npcs.dm @@ -76,7 +76,7 @@ if(!picked || !isturf(picked)) return - visible_message("[src] blinks away!", "Your instincts kick in, and you blink away!") + visible_message(SPAN_WARNING("[src] blinks away!"), SPAN_DANGER("Your instincts kick in, and you blink away!")) INVOKE_ASYNC(src, PROC_REF(after_the_attack), picked) playsound(get_turf(src), 'sound/magic/blink.ogg', 50, TRUE) diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index 101c4bdc5a4..6770cd1061a 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -571,7 +571,7 @@ /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 != user && handle_harm_antag(user, target)) return FALSE @@ -593,7 +593,7 @@ user.do_attack_animation(target, attack.animation_type) if(attack.harmless) playsound(target.loc, attack.attack_sound, 25, TRUE, -1) - target.visible_message("[user] [pick(attack.attack_verb)]ed [target]!") + target.visible_message(SPAN_DANGER("[user] [pick(attack.attack_verb)]ed [target]!")) return FALSE add_attack_logs(user, target, "Melee attacked with fists", target.ckey ? null : ATKLOG_ALL) @@ -604,7 +604,7 @@ damage += user.physiology.melee_bonus if(!damage) playsound(target.loc, attack.miss_sound, 25, TRUE, -1) - target.visible_message("[user] tried to [pick(attack.attack_verb)] [target]!") + target.visible_message(SPAN_DANGER("[user] tried to [pick(attack.attack_verb)] [target]!")) return FALSE @@ -618,11 +618,11 @@ playsound(target.loc, punch_sound, 25, TRUE, -1) - target.visible_message("[user] [pick(attack.attack_verb)]ed [target]!") + target.visible_message(SPAN_DANGER("[user] [pick(attack.attack_verb)]ed [target]!")) target.apply_damage(damage, BRUTE, affecting, armor_block, sharp = attack.sharp) if((target.stat != DEAD) && damage >= user.dna.species.punchstunthreshold) - target.visible_message("[user] has knocked down [target]!", \ - "[user] has knocked down [target]!") + target.visible_message(SPAN_DANGER("[user] has knocked down [target]!"), \ + SPAN_USERDANGER("[user] has knocked down [target]!")) target.KnockDown(4 SECONDS) SEND_SIGNAL(target, COMSIG_ATTACK_BY) @@ -632,7 +632,7 @@ if(SEND_SIGNAL(target, COMSIG_HUMAN_ATTACKED, user) & COMPONENT_CANCEL_ATTACK_CHAIN) return FALSE if(target.absorb_stun(0)) - target.visible_message("[target] is not affected by [user]'s disarm attempt!") + target.visible_message(SPAN_WARNING("[target] is not affected by [user]'s disarm attempt!")) user.do_attack_animation(target, ATTACK_EFFECT_DISARM) playsound(target.loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) return FALSE @@ -686,8 +686,8 @@ var/moved = target.Move(shove_to, shove_dir) if(!moved) //they got pushed into a dense object add_attack_logs(user, target, "Disarmed into a dense object", ATKLOG_ALL) - target.visible_message("[user] slams [target] into an obstacle!", \ - "You get slammed into the obstacle by [user]!", \ + target.visible_message(SPAN_WARNING("[user] slams [target] into an obstacle!"), \ + SPAN_USERDANGER("You get slammed into the obstacle by [user]!"), \ "You hear a loud thud.") if(!HAS_TRAIT(target, TRAIT_FLOORED)) target.KnockDown(3 SECONDS) @@ -703,7 +703,7 @@ target.Slowed(2.5 SECONDS, 0.5) var/obj/item/I = target.get_active_hand() if(I) - to_chat(target, "Your grip on [I] loosens!") + to_chat(target, SPAN_WARNING("Your grip on [I] loosens!")) add_attack_logs(user, target, "Disarmed, shoved back", ATKLOG_ALL) target.stop_pulling() @@ -716,7 +716,7 @@ if(M.hand) temp = M.bodyparts_by_name["l_hand"] if(!temp || !temp.is_usable()) - to_chat(M, "You can't use your hand.") + to_chat(M, SPAN_WARNING("You can't use your hand.")) return if(M.mind) @@ -724,7 +724,7 @@ if((M != H) && M.a_intent != INTENT_HELP && H.check_shields(M, 0, M.name, attack_type = UNARMED_ATTACK)) add_attack_logs(M, H, "Melee attacked with fists (miss/block)") - H.visible_message("[M] attempted to touch [H]!") + H.visible_message(SPAN_WARNING("[M] attempted to touch [H]!")) return FALSE switch(M.a_intent) @@ -830,7 +830,7 @@ if(!H.w_uniform && !nojumpsuit && !(O?.status & ORGAN_ROBOT) && !(I.flags_2 & ALLOW_BELT_NO_JUMPSUIT_2)) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [I.name].") + to_chat(H, SPAN_ALERT("You need a jumpsuit before you can attach this [I.name].")) return FALSE if(!(I.slot_flags & ITEM_SLOT_BELT)) return @@ -852,7 +852,7 @@ if(!H.w_uniform && !nojumpsuit && !(O?.status & ORGAN_ROBOT)) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [I.name].") + to_chat(H, SPAN_ALERT("You need a jumpsuit before you can attach this [I.name].")) return FALSE if(!(I.slot_flags & ITEM_SLOT_ID)) return FALSE @@ -864,7 +864,7 @@ if(!H.w_uniform && !nojumpsuit && !(O?.status & ORGAN_ROBOT)) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [I.name].") + to_chat(H, SPAN_ALERT("You need a jumpsuit before you can attach this [I.name].")) return FALSE if(!(I.slot_flags & ITEM_SLOT_PDA)) return FALSE @@ -878,7 +878,7 @@ if(!H.w_uniform && !nojumpsuit && !(O?.status & ORGAN_ROBOT)) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [I.name].") + to_chat(H, SPAN_ALERT("You need a jumpsuit before you can attach this [I.name].")) return FALSE if(I.w_class <= WEIGHT_CLASS_SMALL || (I.slot_flags & ITEM_SLOT_BOTH_POCKETS)) return TRUE @@ -891,7 +891,7 @@ if(!H.w_uniform && !nojumpsuit && !(O?.status & ORGAN_ROBOT)) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [I.name].") + to_chat(H, SPAN_ALERT("You need a jumpsuit before you can attach this [I.name].")) return FALSE if(I.w_class <= WEIGHT_CLASS_SMALL || (I.slot_flags & ITEM_SLOT_BOTH_POCKETS)) return TRUE @@ -903,7 +903,7 @@ 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_ALERT("You need a suit before you can attach this [I.name].")) return FALSE if(!H.wear_suit.allowed) if(!disable_warning) @@ -911,7 +911,7 @@ return FALSE if(I.w_class > H.wear_suit.max_suit_w) if(!disable_warning) - to_chat(H, "[I] is too big to attach.") + to_chat(H, SPAN_WARNING("[I] is too big to attach.")) return FALSE if(istype(I, /obj/item/pda) || is_pen(I) || is_type_in_list(I, H.wear_suit.allowed)) return TRUE @@ -938,11 +938,11 @@ var/obj/item/clothing/under/uniform = H.w_uniform if(!uniform) 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 if(length(uniform.accessories) && !uniform.can_attach_accessory(I)) if(!disable_warning) - to_chat(H, "You already have an accessory of this type attached to your [uniform].") + to_chat(H, SPAN_WARNING("You already have an accessory of this type attached to your [uniform].")) return FALSE if(!(I.slot_flags & ITEM_SLOT_ACCESSORY)) return FALSE @@ -962,14 +962,14 @@ if(!H.IsWeakened()) H.emote("collapse") H.Weaken(RAD_MOB_KNOCKDOWN_AMOUNT) - to_chat(H, "You feel weak.") + to_chat(H, SPAN_DANGER("You feel weak.")) if(radiation > RAD_MOB_VOMIT && prob(RAD_MOB_VOMIT_PROB)) H.vomit(10, TRUE) if(radiation > RAD_MOB_MUTATE) if(prob(1)) - to_chat(H, "You mutate!") + to_chat(H, SPAN_DANGER("You mutate!")) randmutb(H) H.emote("gasp") domutcheck(H) @@ -979,7 +979,7 @@ if(!istype(head_organ) || (NO_HAIR in species_traits)) return if(prob(15) && head_organ.h_style != "Bald") - to_chat(H, "Your hair starts to fall out in clumps...") + to_chat(H, SPAN_DANGER("Your hair starts to fall out in clumps...")) addtimer(CALLBACK(src, PROC_REF(go_bald), H), 5 SECONDS) /datum/species/proc/go_bald(mob/living/carbon/human/H) @@ -1135,7 +1135,7 @@ It'll return null if the organ doesn't correspond, so include null checks when u to_chat(user, "Our bite fails to pierce [target]!") return FALSE - user.visible_message("[user] violently bites [target]!") + user.visible_message(SPAN_DANGER("[user] violently bites [target]!")) playsound(user.loc, 'sound/weapons/bite.ogg', 20, TRUE) playsound(user.loc, 'sound/misc/moist_impact.ogg', 50, TRUE) user.do_attack_animation(target, ATTACK_EFFECT_BITE) @@ -1179,7 +1179,7 @@ It'll return null if the organ doesn't correspond, so include null checks when u return TRUE eat_brain.custom_pain("OH GOD!!! THEY'RE EATING MY [uppertext(eat_brain.name)]!!") // gnarly - user.visible_message("[user] digs their claws into [target]'s [brain_house.name], eating their [eat_brain]!", "We feast on [target]'s brains.") + user.visible_message(SPAN_DANGER("[user] digs their claws into [target]'s [brain_house.name], eating their [eat_brain]!"), "We feast on [target]'s brains.") if(!HAS_TRAIT(user, TRAIT_NON_INFECTIOUS_ZOMBIE)) if(!target.HasDisease(/datum/disease/zombie)) var/datum/disease/zombie/zomb = new /datum/disease/zombie @@ -1208,13 +1208,13 @@ It'll return null if the organ doesn't correspond, so include null checks when u var/datum/antagonist/vampire/V = user?.mind?.has_antag_datum(/datum/antagonist/vampire) if(V && !V.draining && user.zone_selected == BODY_ZONE_HEAD) if((NO_BLOOD in target.dna.species.species_traits) || !target.blood_volume) - to_chat(user, "They have no blood!") + to_chat(user, SPAN_WARNING("They have no blood!")) return TRUE if(target.mind && (target.mind.has_antag_datum(/datum/antagonist/vampire) || target.mind.has_antag_datum(/datum/antagonist/mindslave/thrall))) - to_chat(user, "Your fangs fail to pierce [target.name]'s cold flesh!") + to_chat(user, SPAN_WARNING("Your fangs fail to pierce [target.name]'s cold flesh!")) return TRUE if(HAS_TRAIT(target, TRAIT_SKELETONIZED)) - to_chat(user, "There is no blood in a skeleton!") + to_chat(user, SPAN_WARNING("There is no blood in a skeleton!")) return TRUE //we're good to suck the blood, blaah V.handle_bloodsucking(target) diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm index c1b86ca1992..a5eb04fe7a1 100644 --- a/code/modules/mob/living/carbon/human/species/golem.dm +++ b/code/modules/mob/living/carbon/human/species/golem.dm @@ -124,11 +124,11 @@ /datum/species/golem/plasma/handle_life(mob/living/carbon/human/H) 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 @@ -377,7 +377,7 @@ special_names = list("Castle", "Bag", "Dune", "Worm", "Storm") /datum/species/golem/sand/handle_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.drop_item_to_ground(W) for(var/i=1, i <= rand(3, 5), i++) @@ -388,8 +388,8 @@ if(!(P.original == H && P.firer == H)) if((P.flag == BULLET || P.flag == BOMB) && P.armor_penetration_percentage < 100) playsound(H, 'sound/effects/shovel_dig.ogg', 70, 1) - H.visible_message("[P] sinks harmlessly in [H]'s sandy body!", \ - "[P] sinks harmlessly in [H]'s sandy body!") + H.visible_message(SPAN_DANGER("[P] sinks harmlessly in [H]'s sandy body!"), \ + SPAN_USERDANGER("[P] sinks harmlessly in [H]'s sandy body!")) return FALSE return TRUE @@ -411,7 +411,7 @@ /datum/species/golem/glass/handle_death(gibbed, mob/living/carbon/human/H) playsound(H, "shatter", 70, 1) - H.visible_message("[H] shatters!") + H.visible_message(SPAN_DANGER("[H] shatters!")) for(var/obj/item/W in H) H.drop_item_to_ground(W) for(var/i=1, i <= rand(3, 5), i++) @@ -421,8 +421,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.is_reflectable(REFLECTABILITY_ENERGY)) - H.visible_message("[P] gets reflected by [H]'s glass skin!", \ - "[P] gets reflected by [H]'s glass skin!") + H.visible_message(SPAN_DANGER("[P] gets reflected by [H]'s glass skin!"), \ + SPAN_USERDANGER("[P] gets reflected by [H]'s glass skin!")) return FALSE //Reflect back must be handled on the human bullet act for some arcane reason return TRUE @@ -445,7 +445,7 @@ var/tele_range = 6 /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!")) var/list/turfs = list() for(var/turf/T in orange(tele_range, H)) if(T.density) @@ -520,13 +520,13 @@ /datum/action/innate/unstable_teleport/Activate() activated = TRUE 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, 1) addtimer(CALLBACK(src, PROC_REF(teleport), H), 15) /datum/action/innate/unstable_teleport/proc/teleport(mob/living/carbon/human/H) activated = FALSE - H.visible_message("[H] teleports!", "You teleport!") + H.visible_message(SPAN_WARNING("[H] teleports!"), SPAN_DANGER("You teleport!")) var/list/turfs = list() for(var/turf/T in orange(tele_range, H)) if(isspaceturf(T)) @@ -706,11 +706,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() 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) ..() @@ -734,7 +734,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_REF(revive)), revive_time) else return INITIALIZE_HINT_QDEL @@ -744,7 +744,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)) ..() @@ -761,13 +761,13 @@ 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) /obj/structure/cloth_pile/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!(resistance_flags & ON_FIRE) && used.get_heat()) - visible_message("[src] bursts into flames!") + visible_message(SPAN_DANGER("[src] bursts into flames!")) fire_act() return ITEM_INTERACT_COMPLETE diff --git a/code/modules/mob/living/carbon/human/species/grey.dm b/code/modules/mob/living/carbon/human/species/grey.dm index 50e62892e32..741ce16c5a4 100644 --- a/code/modules/mob/living/carbon/human/species/grey.dm +++ b/code/modules/mob/living/carbon/human/species/grey.dm @@ -82,11 +82,11 @@ else H.take_organ_damage(5, 10) else - to_chat(H, "The water stings[volume < 10 ? " you, but isn't concentrated enough to harm you" : null]!") + to_chat(H, SPAN_WARNING("The water stings[volume < 10 ? " you, but isn't concentrated enough to harm you" : null]!")) if(volume >= 10) H.adjustFireLoss(min(max(4, (volume - 10) * 2), 20)) H.emote("scream") - to_chat(H, "The water stings[volume < 10 ? " you, but isn't concentrated enough to harm you" : null]!") + to_chat(H, SPAN_WARNING("The water stings[volume < 10 ? " you, but isn't concentrated enough to harm you" : null]!")) /datum/species/grey/after_equip_job(datum/job/J, mob/living/carbon/human/H) var/translator_pref = H.client.prefs.active_character.speciesprefs @@ -101,7 +101,7 @@ var/obj/item/organ/internal/cyberimp/brain/speech_translator/implant = new implant.insert(H) if(!translator_pref && istype(J)) - to_chat(H, "A speech translator implant has been installed due to your role on the station.") + to_chat(H, SPAN_NOTICE("A speech translator implant has been installed due to your role on the station.")) /datum/species/grey/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) if(R.id == "sacid" || R.id == "facid") diff --git a/code/modules/mob/living/carbon/human/species/machine.dm b/code/modules/mob/living/carbon/human/species/machine.dm index 2e115fad0da..2fccd4c261c 100644 --- a/code/modules/mob/living/carbon/human/species/machine.dm +++ b/code/modules/mob/living/carbon/human/species/machine.dm @@ -136,16 +136,16 @@ return if(prob(6)) - to_chat(H, "Error 74: Microbattery critical malfunction, likely cause: Extended strain.") + to_chat(H, SPAN_WARNING("Error 74: Microbattery critical malfunction, likely cause: Extended strain.")) microbattery.receive_damage(4, TRUE) else if(prob(4)) H.Weaken(6 SECONDS) H.Stuttering(20 SECONDS) - to_chat(H, "Power critical, shutting down superfluous functions.") + to_chat(H, SPAN_WARNING("Power critical, shutting down superfluous functions.")) H.emote("collapse") microbattery.receive_damage(2, TRUE) else if(prob(4)) - to_chat(H, "Redirecting excess power from servos to vital components.") + to_chat(H, SPAN_WARNING("Redirecting excess power from servos to vital components.")) H.Slowed(rand(15 SECONDS, 32 SECONDS)) // Allows IPC's to change their monitor display @@ -159,7 +159,7 @@ var/obj/item/organ/external/head/head_organ = H.get_organ("head") if(!head_organ) //If the rock'em-sock'em robot's head came off during a fight, they shouldn't be able to change their screen/optics. - to_chat(H, "Where's your head at? Can't change your monitor/display without one.") + to_chat(H, SPAN_WARNING("Where's your head at? Can't change your monitor/display without one.")) return var/datum/robolimb/robohead = GLOB.all_robolimbs[head_organ.model] @@ -168,7 +168,7 @@ if(!robohead.is_monitor) //If they've got a prosthetic head and it isn't a monitor, they've no screen to adjust. Instead, let them change the colour of their optics! var/optic_colour = tgui_input_color(H, "Please select an optic color", "Select Optic Color", H.m_colours["head"]) if(H.incapacitated(TRUE, TRUE)) - to_chat(H, "You were interrupted while changing the color of your optics.") + to_chat(H, SPAN_WARNING("You were interrupted while changing the color of your optics.")) return if(!isnull(optic_colour)) H.change_markings(optic_colour, "head") @@ -192,7 +192,7 @@ var/new_color = tgui_input_color(H, "Please select hair color.", "Monitor Color", head_organ.hair_colour) if(H.incapacitated(TRUE, TRUE)) - to_chat(H, "You were interrupted while changing your monitor display.") + to_chat(H, SPAN_WARNING("You were interrupted while changing your monitor display.")) return if(new_style) @@ -231,7 +231,7 @@ "Daisy.... Daisy...." ) var/error_message = pick(error_messages) - to_chat(H, "[error_message]") + to_chat(H, SPAN_BOLDWARNING("[error_message]")) /datum/species/machine/do_compressor_grind(mob/living/carbon/human/H) new /obj/item/stack/sheet/mineral/titanium(H.loc) diff --git a/code/modules/mob/living/carbon/human/species/moth.dm b/code/modules/mob/living/carbon/human/species/moth.dm index 56a1507b1b2..237e1b26e53 100644 --- a/code/modules/mob/living/carbon/human/species/moth.dm +++ b/code/modules/mob/living/carbon/human/species/moth.dm @@ -137,7 +137,7 @@ /datum/species/moth/proc/check_burn_wings(mob/living/carbon/human/H) //do not go into the extremely hot light. you will not survive SIGNAL_HANDLER if(H.on_fire && !H.has_status_effect(STATUS_EFFECT_BURNT_WINGS) && H.bodytemperature >= 400 && H.fire_stacks > 0) - to_chat(H, "Your precious wings burn to a crisp!") + to_chat(H, SPAN_WARNING("Your precious wings burn to a crisp!")) H.apply_status_effect(STATUS_EFFECT_BURNT_WINGS) /datum/species/moth/proc/on_aheal(mob/living/carbon/human/H) @@ -164,14 +164,14 @@ /datum/action/innate/cocoon/Activate() var/mob/living/carbon/human/moth/H = owner if(H.nutrition < COCOON_NUTRITION_AMOUNT) - to_chat(H, "You are too hungry to cocoon!") + to_chat(H, SPAN_WARNING("You are too hungry to cocoon!")) return - H.visible_message("[H] begins to hold still and concentrate on weaving a cocoon...", "You begin to focus on weaving a cocoon... (This will take [COCOON_WEAVE_DELAY / 10] seconds, and you must hold still.)") + H.visible_message(SPAN_NOTICE("[H] begins to hold still and concentrate on weaving a cocoon..."), SPAN_NOTICE("You begin to focus on weaving a cocoon... (This will take [COCOON_WEAVE_DELAY / 10] seconds, and you must hold still.)")) if(do_after(H, COCOON_WEAVE_DELAY, FALSE, H)) if(H.incapacitated()) - to_chat(H, "You cannot weave a cocoon in your current state.") + to_chat(H, SPAN_WARNING("You cannot weave a cocoon in your current state.")) return - H.visible_message("[H] finishes weaving a cocoon!", "You finish weaving your cocoon.") + H.visible_message(SPAN_NOTICE("[H] finishes weaving a cocoon!"), SPAN_NOTICE("You finish weaving your cocoon.")) var/obj/structure/moth_cocoon/C = new(get_turf(H)) H.forceMove(C) C.preparing_to_emerge = TRUE @@ -180,7 +180,7 @@ H.create_log(MISC_LOG, "has woven a cocoon") addtimer(CALLBACK(src, PROC_REF(emerge), C), COCOON_EMERGE_DELAY, TIMER_UNIQUE) else - to_chat(H, "You need to hold still in order to weave a cocoon!") + to_chat(H, SPAN_WARNING("You need to hold still in order to weave a cocoon!")) /** * Removes moth from cocoon, restores burnt wings @@ -207,9 +207,9 @@ /obj/structure/moth_cocoon/Destroy() if(!preparing_to_emerge) - visible_message("[src] splits open from within!") + visible_message(SPAN_DANGER("[src] splits open from within!")) else - visible_message("[src] is smashed open, harming the Nian within!") + visible_message(SPAN_DANGER("[src] is smashed open, harming the Nian within!")) for(var/mob/living/carbon/human/H in contents) H.adjustBruteLoss(COCOON_HARM_AMOUNT) H.adjustFireLoss(COCOON_HARM_AMOUNT) diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm index 46a0b1eddb8..dc6b08b603b 100644 --- a/code/modules/mob/living/carbon/human/species/plasmaman.dm +++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm @@ -179,7 +179,7 @@ if(environment.oxygen() && environment.oxygen() >= OXYCONCEN_PLASMEN_IGNITION) //Same threshhold that extinguishes fire H.adjust_fire_stacks(0.5) 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() else if(H.fire_stacks) var/obj/item/clothing/under/plasmaman/P = H.w_uniform @@ -212,8 +212,8 @@ if(!H.equip_to_appropriate_slot(internal_tank) && !H.put_in_any_hand_if_possible(internal_tank)) H.drop_item_to_ground(H.l_hand) H.equip_or_collect(internal_tank, ITEM_SLOT_LEFT_HAND) - to_chat(H, "Could not find an empty slot for internals! Please report this as a bug.") + to_chat(H, SPAN_BOLDANNOUNCEOOC("Could not find an empty slot for internals! Please report this as a bug.")) stack_trace("Failed to equip plasmaman with a tank, with the job [J.type]") H.internal = internal_tank - to_chat(H, "You are now running on plasma internals from [internal_tank]. Oxygen is toxic to your species, so you must breathe plasma only.") + to_chat(H, SPAN_NOTICE("You are now running on plasma internals from [internal_tank]. Oxygen is toxic to your species, so you must breathe plasma only.")) H.update_action_buttons_icon() diff --git a/code/modules/mob/living/carbon/human/species/slimepeople.dm b/code/modules/mob/living/carbon/human/species/slimepeople.dm index ac76f342b9c..4c6904d5aa9 100644 --- a/code/modules/mob/living/carbon/human/species/slimepeople.dm +++ b/code/modules/mob/living/carbon/human/species/slimepeople.dm @@ -136,7 +136,7 @@ /datum/action/innate/regrow/Activate() var/mob/living/carbon/human/H = owner if(H.nutrition < SLIMEPERSON_MINHUNGER) - to_chat(H, "You're too hungry to regenerate a limb!") + to_chat(H, SPAN_WARNING("You're too hungry to regenerate a limb!")) return var/list/missing_limbs = list() @@ -152,7 +152,7 @@ missing_limbs[initial(limb.name)] = l if(!length(missing_limbs)) - to_chat(H, "You're not missing any limbs!") + to_chat(H, SPAN_WARNING("You're not missing any limbs!")) return var/limb_select = tgui_input_list(H, "Choose a limb to regrow", "Limb Regrowth", missing_limbs) @@ -160,14 +160,14 @@ return var/chosen_limb = missing_limbs[limb_select] - H.visible_message("[H] begins to hold still and concentrate on [H.p_their()] missing [limb_select]...", "You begin to focus on regrowing your missing [limb_select]... (This will take [round(SLIMEPERSON_REGROWTHDELAY/10)] seconds, and you must hold still.)") + H.visible_message(SPAN_NOTICE("[H] begins to hold still and concentrate on [H.p_their()] missing [limb_select]..."), SPAN_NOTICE("You begin to focus on regrowing your missing [limb_select]... (This will take [round(SLIMEPERSON_REGROWTHDELAY/10)] seconds, and you must hold still.)")) if(do_after(H, SLIMEPERSON_REGROWTHDELAY, FALSE, H, extra_checks = list(CALLBACK(H, TYPE_PROC_REF(/mob/living, IsStunned))), use_default_checks = FALSE)) // Override the check for weakness, only check for stunned if(H.incapacitated(extra_checks = list(CALLBACK(H, TYPE_PROC_REF(/mob/living, IsStunned))), use_default_checks = FALSE)) // Override the check for weakness, only check for stunned - to_chat(H, "You cannot regenerate missing limbs in your current state.") + to_chat(H, SPAN_WARNING("You cannot regenerate missing limbs in your current state.")) return if(H.nutrition < SLIMEPERSON_MINHUNGER) - to_chat(H, "You're too hungry to regenerate a limb!") + to_chat(H, SPAN_WARNING("You're too hungry to regenerate a limb!")) return var/obj/item/organ/external/O = H.bodyparts_by_name[chosen_limb] @@ -175,7 +175,7 @@ var/stored_brute = 0 var/stored_burn = 0 if(istype(O)) - to_chat(H, "You distribute the damaged tissue around your body, out of the way of your new pseudopod!") + to_chat(H, SPAN_WARNING("You distribute the damaged tissue around your body, out of the way of your new pseudopod!")) var/obj/item/organ/external/doomedStump = O stored_brute = doomedStump.brute_dam stored_burn = doomedStump.burn_dam @@ -186,7 +186,7 @@ // Parent check var/obj/item/organ/external/potential_parent = H.bodyparts_by_name[initial(limb_path.parent_organ)] if(!istype(potential_parent)) - to_chat(H, "You've lost the organ that you've been growing your new part on!") + to_chat(H, SPAN_DANGER("You've lost the organ that you've been growing your new part on!")) return // No rayman for you // Grah this line will leave a "not used" warning, in spite of the fact that the new() proc WILL do the thing. // Bothersome. @@ -198,10 +198,10 @@ H.updatehealth() H.UpdateDamageIcon() H.adjust_nutrition(-SLIMEPERSON_HUNGERCOST) - H.visible_message("[H] finishes regrowing [H.p_their()] missing [new_limb]!", "You finish regrowing your [limb_select]") + H.visible_message(SPAN_NOTICE("[H] finishes regrowing [H.p_their()] missing [new_limb]!"), SPAN_NOTICE("You finish regrowing your [limb_select]")) new_limb.add_limb_flags() else - to_chat(H, "You need to hold still in order to regrow a limb!") + to_chat(H, SPAN_WARNING("You need to hold still in order to regrow a limb!")) #undef SLIMEPERSON_COLOR_SHIFT_TRIGGER #undef SLIMEPERSON_ICON_UPDATE_PERIOD diff --git a/code/modules/mob/living/carbon/human/species/unathi.dm b/code/modules/mob/living/carbon/human/species/unathi.dm index f64f66afd46..fd8ec68b51d 100644 --- a/code/modules/mob/living/carbon/human/species/unathi.dm +++ b/code/modules/mob/living/carbon/human/species/unathi.dm @@ -97,24 +97,24 @@ /datum/action/innate/unathi_ignite/Activate() var/mob/living/carbon/human/user = owner if(world.time <= cooldown) - to_chat(user, "Your throat hurts too much to do it right now. Wait [round((cooldown - world.time) / 10)] seconds and try again.") + to_chat(user, SPAN_WARNING("Your throat hurts too much to do it right now. Wait [round((cooldown - world.time) / 10)] seconds and try again.")) return if(!welding_fuel_used || user.reagents.has_reagent("fuel", welding_fuel_used)) if(ismask(user.wear_mask)) var/obj/item/clothing/mask/worn_mask = user.wear_mask if((user.head?.flags_cover & HEADCOVERSMOUTH) || (worn_mask.flags_cover & MASKCOVERSMOUTH) && !worn_mask.up) - to_chat(user, "Your mouth is covered.") + to_chat(user, SPAN_WARNING("Your mouth is covered.")) return var/obj/item/match/unathi/fire = new(user.loc, src) if(user.put_in_hands(fire)) - to_chat(user, "You ignite a small flame in your mouth.") + to_chat(user, SPAN_NOTICE("You ignite a small flame in your mouth.")) user.reagents.remove_reagent("fuel", 50) //slightly high, but I'd rather avoid it being TOO spammable. cooldown = world.time + cooldown_duration else qdel(fire) - to_chat(user, "You don't have any free hands.") + to_chat(user, SPAN_WARNING("You don't have any free hands.")) else - to_chat(user, "You need to drink welding fuel first.") + to_chat(user, SPAN_WARNING("You need to drink welding fuel first.")) /datum/species/unathi/handle_death(gibbed, mob/living/carbon/human/H) H.stop_tail_wagging() diff --git a/code/modules/mob/living/carbon/human/species/vox.dm b/code/modules/mob/living/carbon/human/species/vox.dm index 62dc398ec69..25ccb6caff5 100644 --- a/code/modules/mob/living/carbon/human/species/vox.dm +++ b/code/modules/mob/living/carbon/human/species/vox.dm @@ -93,9 +93,9 @@ if(!H.put_in_any_hand_if_possible(internal_tank)) H.drop_item_to_ground(H.l_hand) H.equip_or_collect(internal_tank, ITEM_SLOT_LEFT_HAND) - to_chat(H, "Could not find an empty slot for internals! Please report this as a bug") + to_chat(H, SPAN_BOLDANNOUNCEOOC("Could not find an empty slot for internals! Please report this as a bug")) H.internal = internal_tank - to_chat(H, "You are now running on nitrogen internals from [internal_tank]. Your species finds oxygen toxic, so you must breathe nitrogen only.") + to_chat(H, SPAN_NOTICE("You are now running on nitrogen internals from [internal_tank]. Your species finds oxygen toxic, so you must breathe nitrogen only.")) H.update_action_buttons_icon() /datum/species/vox/on_species_gain(mob/living/carbon/human/H) diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm index 2bfbb6f071e..46ba40be7f8 100644 --- a/code/modules/mob/living/carbon/superheroes.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -147,8 +147,8 @@ action_icon_state = "spell_greytide" var/recruiting = 0 - selection_activated_message = "You start preparing a mindblowing monologue. Left-click to cast at a target!" - selection_deactivated_message = "You decide to save your brilliance for another day." + selection_activated_message = SPAN_NOTICE("You start preparing a mindblowing monologue. Left-click to cast at a target!") + selection_deactivated_message = SPAN_NOTICE("You decide to save your brilliance for another day.") /datum/spell/recruit/create_new_targeting() var/datum/spell_targeting/click/T = new() @@ -159,11 +159,11 @@ /datum/spell/recruit/can_cast(mob/user = usr, charge_check = TRUE, show_message = FALSE) if(length(SSticker.mode.greyshirts) >= 3) if(show_message) - to_chat(user, "You have already recruited the maximum number of henchmen.") + to_chat(user, SPAN_WARNING("You have already recruited the maximum number of henchmen.")) return FALSE if(recruiting) if(show_message) - to_chat(user, "You are already recruiting!") + to_chat(user, SPAN_DANGER("You are already recruiting!")) return FALSE return ..() @@ -173,45 +173,45 @@ /datum/spell/recruit/cast(list/targets,mob/living/user = usr) var/mob/living/carbon/human/target = targets[1] if(target.mind.assigned_role != "Assistant") - to_chat(user, "You can only recruit Assistants.") + to_chat(user, SPAN_WARNING("You can only recruit Assistants.")) revert_cast(user) return recruiting = TRUE - to_chat(user, "This target is valid. You begin the recruiting process.") - to_chat(target, "[user] focuses in concentration. Your head begins to ache.") + to_chat(user, SPAN_DANGER("This target is valid. You begin the recruiting process.")) + to_chat(target, SPAN_USERDANGER("[user] focuses in concentration. Your head begins to ache.")) for(var/progress = 0, progress <= 3, progress++) switch(progress) if(1) - to_chat(user, "You begin by introducing yourself and explaining what you're about.") - user.visible_message("[user] introduces [user.p_themselves()] and explains [user.p_their()] plans.") + to_chat(user, SPAN_NOTICE("You begin by introducing yourself and explaining what you're about.")) + user.visible_message(SPAN_DANGER("[user] introduces [user.p_themselves()] and explains [user.p_their()] plans.")) if(2) - to_chat(user, "You begin the recruitment of [target].") - user.visible_message("[user] leans over towards [target], whispering excitedly as [user.p_they()] give[user.p_s()] a speech.") - to_chat(target, "You feel yourself agreeing with [user], and a surge of loyalty begins building.") + to_chat(user, SPAN_NOTICE("You begin the recruitment of [target].")) + user.visible_message(SPAN_DANGER("[user] leans over towards [target], whispering excitedly as [user.p_they()] give[user.p_s()] a speech.")) + to_chat(target, SPAN_DANGER("You feel yourself agreeing with [user], and a surge of loyalty begins building.")) target.Weaken(24 SECONDS) sleep(20) if(ismindshielded(target)) - to_chat(user, "[target.p_they(TRUE)] are enslaved by Nanotrasen. You feel [target.p_their()] interest in your cause wane and disappear.") - user.visible_message("[user] stops talking for a moment, then moves back away from [target].") - to_chat(target, "Your mindshield bio-chip activates, protecting you from conversion.") + to_chat(user, SPAN_NOTICE("[target.p_they(TRUE)] are enslaved by Nanotrasen. You feel [target.p_their()] interest in your cause wane and disappear.")) + user.visible_message(SPAN_DANGER("[user] stops talking for a moment, then moves back away from [target].")) + to_chat(target, SPAN_DANGER("Your mindshield bio-chip activates, protecting you from conversion.")) return if(3) - to_chat(user, "You begin filling out the application form with [target].") - user.visible_message("[user] pulls out a pen and paper and begins filling an application form with [target].") - to_chat(target, "You are being convinced by [user] to fill out an application form to become a henchman.")//Ow the edge + to_chat(user, SPAN_NOTICE("You begin filling out the application form with [target].")) + user.visible_message(SPAN_DANGER("[user] pulls out a pen and paper and begins filling an application form with [target].")) + to_chat(target, SPAN_DANGER("You are being convinced by [user] to fill out an application form to become a henchman."))//Ow the edge if(!do_mob(user, target, 100)) //around 30 seconds total for enthralling, 45 for someone with a mindshield bio-chip - to_chat(user, "The enrollment process has been interrupted - you have lost the attention of [target].") - to_chat(target, "You move away and are no longer under the charm of [user]. The application form is null and void.") + to_chat(user, SPAN_DANGER("The enrollment process has been interrupted - you have lost the attention of [target].")) + to_chat(target, SPAN_WARNING("You move away and are no longer under the charm of [user]. The application form is null and void.")) recruiting = FALSE return recruiting = FALSE - to_chat(user, "You have recruited [target] as your henchman!") - to_chat(target, "You have decided to enroll as a henchman for [user]. You are now part of the feared 'Greyshirts'.") - to_chat(target, "You must follow the orders of [user], and help [user.p_them()] succeed in [user.p_their()] dastardly schemes.") - to_chat(target, "You may not harm other Greyshirt or [user]. However, you do not need to obey other Greyshirts.") + to_chat(user, SPAN_NOTICE("You have recruited [target] as your henchman!")) + to_chat(target, SPAN_DEADSAY("You have decided to enroll as a henchman for [user]. You are now part of the feared 'Greyshirts'.")) + to_chat(target, SPAN_DEADSAY("You must follow the orders of [user], and help [user.p_them()] succeed in [user.p_their()] dastardly schemes.")) + to_chat(target, SPAN_DEADSAY("You may not harm other Greyshirt or [user]. However, you do not need to obey other Greyshirts.")) SSticker.mode.greyshirts += target.mind target.set_species(/datum/species/human) var/obj/item/organ/external/head/head_organ = target.get_organ("head") diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 69b97646d81..1a664e0ffe5 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -88,9 +88,9 @@ for(var/P in GLOB.dead_mob_list) var/mob/M = P if((M.client?.prefs.toggles2 & PREFTOGGLE_2_DEATHMESSAGE) && (isobserver(M) || M.stat == DEAD)) - to_chat(M, "[mind.name] has died at [area_name]. (JMP)") + to_chat(M, SPAN_DEADSAY("[mind.name] has died at [area_name]. (JMP)")) if(last_words) - to_chat(M, "[p_their(TRUE)] last words were: \"[last_words]\"") + to_chat(M, SPAN_DEADSAY("[p_their(TRUE)] last words were: \"[last_words]\"")) if(SSticker && SSticker.mode) SSticker.mode.check_win() @@ -101,7 +101,7 @@ return TRUE /mob/living/proc/delayed_gib(inflate_at_end = FALSE) - visible_message("[src] starts convulsing violently!", "You feel as if your body is tearing itself apart!") + visible_message(SPAN_DANGER("[src] starts convulsing violently!"), "You feel as if your body is tearing itself apart!") Weaken(30 SECONDS) do_jitter_animation(1000, -1) // jitter until they are gibbed addtimer(CALLBACK(src, inflate_at_end ? PROC_REF(quick_explode_gib) : PROC_REF(gib)), rand(2 SECONDS, 10 SECONDS)) diff --git a/code/modules/mob/living/default_language.dm b/code/modules/mob/living/default_language.dm index 06bc251fe9e..d82393d8b15 100644 --- a/code/modules/mob/living/default_language.dm +++ b/code/modules/mob/living/default_language.dm @@ -3,12 +3,12 @@ set category = "IC" if(!(language in languages) && !isnull(language)) - to_chat(src, "You don't seem to know how to speak [language].") + to_chat(src, SPAN_WARNING("You don't seem to know how to speak [language].")) return if(language) - to_chat(src, "You will now speak [language] if you do not specify a language when speaking.") + to_chat(src, SPAN_NOTICE("You will now speak [language] if you do not specify a language when speaking.")) else - to_chat(src, "You will now speak whatever your standard default language is if you do not specify one when speaking.") + to_chat(src, SPAN_NOTICE("You will now speak whatever your standard default language is if you do not specify one when speaking.")) default_language = language // Silicons can't neccessarily speak everything in their languages list @@ -17,10 +17,10 @@ set category = "IC" if(!(language in speech_synthesizer_langs) && !isnull(language)) - to_chat(src, "You don't seem to know how to speak [language].") + to_chat(src, SPAN_WARNING("You don't seem to know how to speak [language].")) return if(language) - to_chat(src, "You will now speak [language] if you do not specify a language when speaking.") + to_chat(src, SPAN_NOTICE("You will now speak [language] if you do not specify a language when speaking.")) else - to_chat(src, "You will now speak whatever your standard default language is if you do not specify one when speaking.") + to_chat(src, SPAN_NOTICE("You will now speak whatever your standard default language is if you do not specify one when speaking.")) default_language = language diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 6f723564555..1fed6a2680c 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -108,7 +108,7 @@ var/mob/living/L = M if(L.pulledby && L.pulledby != src && L.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(pulledby == L && (a_intent != INTENT_HELP || L.a_intent != INTENT_HELP)) //prevents boosting the person pulling you, but you can still move through them on help intent @@ -119,7 +119,7 @@ var/mob/P = L.pulling if(P.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(moving_diagonally) //no mob swap during diagonal moves. @@ -235,9 +235,9 @@ for(var/datum/surgery/dissect/D in surgeries) dissection = D if(dissection) - . += "You detect the next dissection step will be: [dissection.get_surgery_step()]" + . += SPAN_NOTICE("You detect the next dissection step will be: [dissection.get_surgery_step()]") if(surgery_container && !contains_xeno_organ) - . += "[src] looks like [p_they()] [p_have()] had [p_their()] organs dissected!" + . += SPAN_WARNING("[src] looks like [p_they()] [p_have()] had [p_their()] organs dissected!") /mob/living/item_interaction(mob/living/user, obj/item/I, list/modifiers) @@ -334,24 +334,24 @@ /mob/living/proc/do_succumb(cancel_on_no_words) if(stat == DEAD) - to_chat(src, "It's too late, you're already dead!") + to_chat(src, SPAN_NOTICE("It's too late, you're already dead!")) return if(health >= HEALTH_THRESHOLD_SUCCUMB) - to_chat(src, "You are unable to succumb to death! This life continues!") + to_chat(src, SPAN_WARNING("You are unable to succumb to death! This life continues!")) return last_words = null // In case we kept some from last time var/final_words = tgui_input_text(src, "Do you have any last words?", "Goodnight, Sweet Prince", encode = FALSE) if(isnull(final_words) && cancel_on_no_words) - to_chat(src, "You decide you aren't quite ready to die.") + to_chat(src, SPAN_NOTICE("You decide you aren't quite ready to die.")) return if(stat == DEAD) return if(health >= HEALTH_THRESHOLD_SUCCUMB) - to_chat(src, "You are unable to succumb to death! This life continues!") + to_chat(src, SPAN_WARNING("You are unable to succumb to death! This life continues!")) return if(!isnull(final_words)) @@ -374,7 +374,7 @@ addtimer(CALLBACK(src, PROC_REF(death)), 1 SECONDS) else death() - 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.")) apply_status_effect(STATUS_EFFECT_RECENTLY_SUCCUMBED) /mob/living/proc/InCritical() @@ -386,7 +386,7 @@ /mob/living/acid_act(acidpwr, acid_volume) take_organ_damage(acidpwr * min(1, acid_volume * 0.1)) - to_chat(src, "The acid burns you!") + to_chat(src, SPAN_USERDANGER("The acid burns you!")) playsound(src, 'sound/weapons/sear.ogg', 50, TRUE) return 1 @@ -775,16 +775,16 @@ if(GRAB_AGGRESSIVE) if(prob(60)) - visible_message("[src] has broken free of [G.assailant]'s grip!") + visible_message(SPAN_DANGER("[src] has broken free of [G.assailant]'s grip!")) qdel(G) if(GRAB_NECK) if(prob(5)) - visible_message("[src] has broken free of [G.assailant]'s headlock!") + visible_message(SPAN_DANGER("[src] has broken free of [G.assailant]'s headlock!")) qdel(G) if(resisting) - visible_message("[src] resists!") + visible_message(SPAN_DANGER("[src] resists!")) return 1 /mob/living/proc/resist_buckle() @@ -812,7 +812,7 @@ buckled.unbuckle_mob(src, force) /mob/living/proc/Exhaust() - to_chat(src, "You're too exhausted to keep going...") + to_chat(src, SPAN_NOTICE("You're too exhausted to keep going...")) Weaken(10 SECONDS) /mob/living/proc/get_visible_name() @@ -952,7 +952,7 @@ /mob/living/proc/attempt_harvest(obj/item/I, mob/user) if(user.a_intent == INTENT_HARM && stat == DEAD && butcher_results && I.sharp) //can we butcher it? - to_chat(user, "You begin to butcher [src]...") + to_chat(user, SPAN_NOTICE("You begin to butcher [src]...")) playsound(loc, 'sound/weapons/slice.ogg', 50, TRUE, -1) if(user.mind && HAS_TRAIT(user.mind, TRAIT_BUTCHER)) if(do_mob(user, src, 3 SECONDS) && Adjacent(I)) @@ -970,15 +970,15 @@ for(var/i = 1, i <= butcher_results[path], i++) new path(loc) butcher_results.Remove(path) //In case you want to have things like simple_animals drop their butcher results on gib, so it won't double up below. - visible_message("[user] butchers [src].") + visible_message(SPAN_NOTICE("[user] butchers [src].")) gib() /mob/living/proc/can_use(atom/movable/M, be_close = FALSE) if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED)) - 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 && !in_range(M, src)) - to_chat(src, "You are too far away!") + to_chat(src, SPAN_WARNING("You are too far away!")) return FALSE return TRUE @@ -1029,10 +1029,10 @@ /mob/living/proc/can_use_guns(obj/item/gun/G) if(G.trigger_guard != TRIGGER_GUARD_ALLOW_ALL && !IsAdvancedToolUser() && !issmall(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 if(G.trigger_guard == TRIGGER_GUARD_NONE) - to_chat(src, "This gun is only built to be fired by machines!") + to_chat(src, SPAN_WARNING("This gun is only built to be fired by machines!")) return FALSE return 1 @@ -1053,7 +1053,7 @@ return stop_pulling() if(AM.pulledby) - visible_message("[src] has pulled [AM] from [AM.pulledby]'s grip.") + visible_message(SPAN_DANGER("[src] has pulled [AM] from [AM.pulledby]'s grip.")) AM.pulledby.stop_pulling() //an object can't be pulled by two mobs at once. pulling = AM AM.pulledby = src @@ -1187,7 +1187,7 @@ var/amount = tgui_input_number(usr, "Deal how much damage to mob? (Negative values here heal)", "Adjust [Text]loss", min_value = -10000, max_value = 10000) if(QDELETED(src)) - to_chat(usr, "Mob doesn't exist anymore.") + to_chat(usr, SPAN_NOTICE("Mob doesn't exist anymore.")) return switch(Text) @@ -1214,7 +1214,7 @@ if("stamina") adjustStaminaLoss(amount) else - to_chat(usr, "You caused an error. DEBUG: Text:[Text] Mob:[src]") + to_chat(usr, SPAN_NOTICE("You caused an error. DEBUG: Text:[Text] Mob:[src]")) return if(amount != 0) @@ -1270,7 +1270,7 @@ C.KnockDown(3 SECONDS) - C.visible_message("[C] crashes into [src], knocking them both over!", "You violently crash into [src]!") + C.visible_message(SPAN_DANGER("[C] crashes into [src], knocking them both over!"), SPAN_USERDANGER("You violently crash into [src]!")) /** * Sets the mob's direction lock towards a given atom. @@ -1281,7 +1281,7 @@ */ /mob/living/proc/set_forced_look(atom/A, track = FALSE) forced_look = track ? A.UID() : get_cardinal_dir(src, A) - to_chat(src, "You are now facing [track ? A : dir2text(forced_look)]. To cancel this, shift-middleclick yourself.") + to_chat(src, SPAN_USERDANGER("You are now facing [track ? A : dir2text(forced_look)]. To cancel this, shift-middleclick yourself.")) throw_alert("direction_lock", /atom/movable/screen/alert/direction_lock) /** @@ -1295,7 +1295,7 @@ return forced_look = null if(!quiet) - to_chat(src, "Cancelled direction lock.") + to_chat(src, SPAN_NOTICE("Cancelled direction lock.")) clear_alert("direction_lock") /mob/living/setDir(new_dir) @@ -1337,7 +1337,7 @@ notransform = TRUE status_flags |= GODMODE addtimer(CALLBACK(plush_outcome, TYPE_PROC_REF(/obj/item/toy/plushie, un_plushify)), curse_time) - to_chat(plushvictim, "You have been cursed into an enchanted plush doll! At least you can still move around a bit...") + to_chat(plushvictim, SPAN_WARNING("You have been cursed into an enchanted plush doll! At least you can still move around a bit...")) /mob/living/proc/sec_hud_set_ID() return diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index e7df7231330..79abae08761 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -21,19 +21,19 @@ . = getarmor(def_zone, armor_type) if(. == INFINITY) - to_chat(src, "[absorb_text]") + to_chat(src, SPAN_USERDANGER("[absorb_text]")) return if(. <= 0) return if(!armor_penetration_flat && !armor_penetration_percentage) - to_chat(src, "[soften_text]") + to_chat(src, SPAN_USERDANGER("[soften_text]")) return . = max(0, . * (100 - armor_penetration_percentage) / 100 - armor_penetration_flat) if(.) - to_chat(src, "[soften_text]") + to_chat(src, SPAN_USERDANGER("[soften_text]")) else - to_chat(src, "[penetrated_text]") + to_chat(src, SPAN_USERDANGER("[penetrated_text]")) /// Returns armor value of our mob. /// As u can see, mobs have no armor by default so we override this proc on mob subtypes if we add them any armor @@ -68,8 +68,8 @@ return NONE source.visible_message( - "[source] [pick("dodges","jumps out of the way of","evades","dives out of the way of")] [hitting_projectile]!", - "You evade [hitting_projectile]!", + SPAN_DANGER("[source] [pick("dodges","jumps out of the way of","evades","dives out of the way of")] [hitting_projectile]!"), + SPAN_USERDANGER("You evade [hitting_projectile]!"), ) playsound(source, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) // Chance to dodge multiple shotgun spreads, but not likely. Mainly: Infinite loop prevention from admins setting it to 100 and doing something stupid. @@ -98,17 +98,17 @@ take_overall_damage(0, shock_damage, TRUE, used_weapon = "Electrocution") if(shock_damage > 200) visible_message( - "[src] was arc flashed by \the [source]!", - "\The [source] arc flashes and electrocutes you!", - "You hear a lightning-like crack!") + SPAN_DANGER("[src] was arc flashed by \the [source]!"), + SPAN_USERDANGER("\The [source] arc flashes and electrocutes you!"), + SPAN_ITALICS("You hear a lightning-like crack!")) playsound(loc, 'sound/effects/eleczap.ogg', 50, TRUE, -1) explosion(loc, -1, 1, 3, 3, cause = "Extreme Electrocution from [source]") else apply_damage(shock_damage, STAMINA) 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 @@ -142,7 +142,7 @@ add_attack_logs(thrower, src, "Hit with thrown [thrown_item]", !thrown_item.throwforce ? ATKLOG_ALMOSTALL : null) // Only message if the person gets damages 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( @@ -165,7 +165,7 @@ /mob/living/mech_melee_attack(obj/mecha/M) if(M.occupant.a_intent == INTENT_HARM) if(HAS_TRAIT(M.occupant, TRAIT_PACIFISM)) - to_chat(M.occupant, "You don't want to harm other living beings!") + to_chat(M.occupant, SPAN_WARNING("You don't want to harm other living beings!")) return M.do_attack_animation(src) if(M.damtype == "brute") @@ -183,20 +183,20 @@ else return updatehealth("mech melee attack") - M.occupant_message("You hit [src].") - visible_message("[M.name] hits [src]!", "[M.name] hits you!") + M.occupant_message(SPAN_DANGER("You hit [src].")) + visible_message(SPAN_DANGER("[M.name] hits [src]!"), SPAN_USERDANGER("[M.name] hits you!")) add_attack_logs(M.occupant, src, "Mecha-meleed with [M]") else step_away(src,M) add_attack_logs(M.occupant, src, "Mecha-pushed with [M]", ATKLOG_ALL) - M.occupant_message("You push [src] out of the way.") - visible_message("[M] pushes [src] out of the way.") + M.occupant_message(SPAN_WARNING("You push [src] out of the way.")) + visible_message(SPAN_WARNING("[M] pushes [src] out of the way.")) //Mobs on Fire /mob/living/proc/IgniteMob() if(fire_stacks > 0 && !on_fire && !HAS_TRAIT(src, TRAIT_NOFIRE)) on_fire = TRUE - visible_message("[src] catches fire!", "You're set on fire!") + visible_message(SPAN_WARNING("[src] catches fire!"), SPAN_USERDANGER("You're set on fire!")) set_light(light_range + 3,l_color = "#ED9200") throw_alert("fire", /atom/movable/screen/alert/fire) update_fire() @@ -306,12 +306,12 @@ return FALSE // This if-statement checks if the user is horizontal, and if the user either has no martial art, or has judo, drunk fighting or krav, in which case it should also fail if(IS_HORIZONTAL(user) && (!user.mind.martial_art || !user.mind.martial_art.can_horizontally_grab)) - to_chat(user, "You fail to get a good grip on [src]!") + to_chat(user, SPAN_WARNING("You fail to get a good grip on [src]!")) return for(var/obj/item/grab/G in grabbed_by) if(G.assailant == user) - to_chat(user, "You already grabbed [src].") + to_chat(user, SPAN_NOTICE("You already grabbed [src].")) return add_attack_logs(user, src, "Grabbed passively", ATKLOG_ALL) @@ -327,10 +327,10 @@ G.state = GRAB_AGGRESSIVE G.last_upgrade = world.time if(!supress_message) - visible_message("[user] has grabbed [src] from behind!") + visible_message(SPAN_WARNING("[user] has grabbed [src] from behind!")) else*///This is an example of how you can make special types of grabs simply based on direction. if(!supress_message) - visible_message("[user] has grabbed [src] passively!") + visible_message(SPAN_WARNING("[user] has grabbed [src] passively!")) return G @@ -345,13 +345,13 @@ 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) add_attack_logs(M, src, "Slime'd") M.do_attack_animation(src) - visible_message("\The [M.name] glomps [src]!", "\The [M.name] glomps you!") + visible_message(SPAN_DANGER("\The [M.name] glomps [src]!"), SPAN_USERDANGER("\The [M.name] glomps you!")) return TRUE /mob/living/attack_animal(mob/living/simple_animal/M) @@ -362,14 +362,14 @@ M.custom_emote(EMOTE_VISIBLE, "[M.friendly] [src].") return FALSE if(HAS_TRAIT(M, 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(M.attack_sound) playsound(loc, M.attack_sound, 50, TRUE, 1) M.do_attack_animation(src) - visible_message("\The [M] [M.attacktext] [src]!", \ - "\The [M] [M.attacktext] [src]!") + visible_message(SPAN_DANGER("\The [M] [M.attacktext] [src]!"), \ + SPAN_USERDANGER("\The [M] [M.attacktext] [src]!")) add_attack_logs(M, src, "Animal attacked") return TRUE @@ -380,51 +380,51 @@ attacker.custom_emote(EMOTE_VISIBLE, "[attacker.friendly_verb_continuous] [src].") return FALSE if(HAS_TRAIT(attacker, TRAIT_PACIFISM)) - to_chat(attacker, "You don't want to hurt anyone!") + to_chat(attacker, SPAN_WARNING("You don't want to hurt anyone!")) return FALSE if(attacker.attack_sound) playsound(loc, attacker.attack_sound, 50, TRUE, 1) attacker.do_attack_animation(src) - visible_message("[attacker] [attacker.attack_verb_continuous] [src]!", \ - "[attacker] [attacker.attack_verb_continuous] [src]!") + visible_message(SPAN_DANGER("[attacker] [attacker.attack_verb_continuous] [src]!"), \ + SPAN_USERDANGER("[attacker] [attacker.attack_verb_continuous] [src]!")) add_attack_logs(attacker, src, "Basicmob attacked") return TRUE /mob/living/attack_larva(mob/living/carbon/alien/larva/L) switch(L.a_intent) if(INTENT_HELP) - visible_message("[L.name] rubs its head against [src].") + visible_message(SPAN_NOTICE("[L.name] rubs its head against [src].")) return 0 else 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)) add_attack_logs(L, src, "Larva attacked") - visible_message("[L.name] bites [src]!", \ - "[L.name] bites [src]!") + visible_message(SPAN_DANGER("[L.name] bites [src]!"), \ + SPAN_USERDANGER("[L.name] bites [src]!")) playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1) return 1 else - visible_message("[L.name] has attempted to bite [src]!", \ - "[L.name] has attempted to bite [src]!") + visible_message(SPAN_DANGER("[L.name] has attempted to bite [src]!"), \ + SPAN_USERDANGER("[L.name] has attempted to bite [src]!")) return 0 /mob/living/attack_alien(mob/living/carbon/alien/humanoid/M) switch(M.a_intent) if(INTENT_HELP) - visible_message("[M] caresses [src] with its scythe like arm.") + visible_message(SPAN_NOTICE("[M] caresses [src] with its scythe like arm.")) return FALSE if(INTENT_GRAB) grabbedby(M) return FALSE if(INTENT_HARM) if(HAS_TRAIT(M, 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 M.do_attack_animation(src) return TRUE diff --git a/code/modules/mob/living/living_emote.dm b/code/modules/mob/living/living_emote.dm index cc57152ac08..aa3b3d456f7 100644 --- a/code/modules/mob/living/living_emote.dm +++ b/code/modules/mob/living/living_emote.dm @@ -198,7 +198,7 @@ message_param = "tries to point at %t with a leg." else // nugget - 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." return ..() @@ -391,7 +391,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 @@ -402,7 +402,7 @@ if(QDELETED(user)) return FALSE else if(check_mute(user?.client?.ckey, 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 = tgui_input_text(user, "Choose an emote to display.", "Custom Emote") @@ -414,7 +414,7 @@ if("Hearable") custom_emote_type = EMOTE_AUDIBLE else - to_chat(user,"Unable to use this emote, must be either hearable or visible.") + to_chat(user,SPAN_WARNING("Unable to use this emote, must be either hearable or visible.")) return else custom_emote = params diff --git a/code/modules/mob/living/living_life.dm b/code/modules/mob/living/living_life.dm index ebd0c6781e5..93aea2d635c 100644 --- a/code/modules/mob/living/living_life.dm +++ b/code/modules/mob/living/living_life.dm @@ -87,10 +87,10 @@ var/view = client ? client.maxview() : world.view if(get_dist(src, A) > view || !(src in viewers(view, A))) clear_forced_look(TRUE) - to_chat(src, "Your direction target has left your view, you are no longer facing anything.") + to_chat(src, SPAN_NOTICE("Your direction target has left your view, you are no longer facing anything.")) else clear_forced_look(TRUE) - to_chat(src, "Your direction target has left your view, you are no longer facing anything.") + to_chat(src, SPAN_NOTICE("Your direction target has left your view, you are no longer facing anything.")) // Make sure it didn't get cleared if(forced_look) setDir() diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index 5de7b3eb03d..1be5f3ab6d8 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -108,7 +108,7 @@ GLOBAL_LIST_EMPTY(channel_to_radio_key) /mob/living/say(message, verb = null, sanitize = TRUE, ignore_speech_problems = FALSE, ignore_atmospherics = FALSE, ignore_languages = FALSE, automatic = FALSE, bigvoice = FALSE) if(client) if(check_mute(client.ckey, 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(sanitize) @@ -140,7 +140,7 @@ GLOBAL_LIST_EMPTY(channel_to_radio_key) message = trim_left(message) if(big_voice) - message = "[message]" + message = SPAN_REALLYBIG("[message]") //parse the language code and consume it var/list/message_pieces = list() @@ -175,7 +175,7 @@ GLOBAL_LIST_EMPTY(channel_to_radio_key) if(is_muzzled()) var/obj/item/clothing/mask/muzzle/G = wear_mask if(G.mute == MUZZLE_MUTE_ALL) //if the mask is supposed to mute you completely or just muffle you - to_chat(src, "You're muzzled and cannot speak!") + to_chat(src, SPAN_DANGER("You're muzzled and cannot speak!")) return else if(G.mute == MUZZLE_MUTE_MUFFLE) muffledspeech_all(message_pieces) @@ -222,7 +222,7 @@ GLOBAL_LIST_EMPTY(channel_to_radio_key) var/msg if((!first_piece.speaking || !(first_piece.speaking.flags & NO_TALK_MSG)) && client) - msg = "[src] talks into [used_radios[1]]" + msg = SPAN_NOTICE("[src] talks into [used_radios[1]]") var/static/list/special_radio_channels = list("Syndicate", "SyndTeam", "Security", "Procedure", "Command", "Response Team", "Special Ops") if(message_mode in special_radio_channels) SEND_SOUND(src, sound('sound/items/radio_security.ogg', volume = rand(4, 16) * 5 * client.prefs.get_channel_volume(CHANNEL_RADIO_NOISE), channel = CHANNEL_RADIO_NOISE)) @@ -340,7 +340,7 @@ GLOBAL_LIST_EMPTY(channel_to_radio_key) /mob/living/proc/whisper_say(list/message_pieces, verb = "whispers") if(client) if(check_mute(client.ckey, MUTE_IC)) - to_chat(src, "You cannot speak in IC (Muted).") + to_chat(src, SPAN_DANGER("You cannot speak in IC (Muted).")) return if(stat) @@ -348,13 +348,13 @@ GLOBAL_LIST_EMPTY(channel_to_radio_key) if(is_muzzled()) if(istype(wear_mask, /obj/item/clothing/mask/muzzle/tapegag)) //just for tape - to_chat(src, "Your mouth is taped and you cannot speak!") + to_chat(src, SPAN_DANGER("Your mouth is taped and you cannot speak!")) else - to_chat(src, "You're muzzled and cannot speak!") + to_chat(src, SPAN_DANGER("You're muzzled and cannot speak!")) return if(is_facehugged()) - to_chat(src, "You can't get a word out with this horrible creature on your face!") + to_chat(src, SPAN_DANGER("You can't get a word out with this horrible creature on your face!")) return var/message = multilingual_to_message(message_pieces) @@ -460,7 +460,7 @@ GLOBAL_LIST_EMPTY(channel_to_radio_key) speech_bubble("[bubble_icon][speech_bubble_test]", src, speech_bubble_recipients) if(length(watching)) - var/rendered = "[name] [not_heard]." + var/rendered = "[SPAN_NAME("[name]")] [not_heard]." for(var/mob/M in watching) M.show_message(rendered, 2) diff --git a/code/modules/mob/living/living_status_procs.dm b/code/modules/mob/living/living_status_procs.dm index c44fa0c63b4..f6b425669f3 100644 --- a/code/modules/mob/living/living_status_procs.dm +++ b/code/modules/mob/living/living_status_procs.dm @@ -887,11 +887,11 @@ STATUS EFFECTS 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/login.dm b/code/modules/mob/living/login.dm index 57f15ef3a41..25d25483305 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -13,10 +13,10 @@ player_logged = 0 //Vents 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!")) //Should update regardless of if we can ventcrawl, since we can end up in pipes in other ways. update_pipe_vision(loc) diff --git a/code/modules/mob/living/silicon/ai/ai_examine.dm b/code/modules/mob/living/silicon/ai/ai_examine.dm index 5f8f3b0fc1b..338bf0d7a8a 100644 --- a/code/modules/mob/living/silicon/ai/ai_examine.dm +++ b/code/modules/mob/living/silicon/ai/ai_examine.dm @@ -2,7 +2,7 @@ . = ..() var/msg = "" if(src.stat == DEAD) - msg += "It appears to be powered-down.\n" + msg += "[SPAN_DEADSAY("It appears to be powered-down.")]\n" else msg += "" if(src.getBruteLoss()) diff --git a/code/modules/mob/living/silicon/ai/ai_life.dm b/code/modules/mob/living/silicon/ai/ai_life.dm index 54feca3d4de..1f575433c44 100644 --- a/code/modules/mob/living/silicon/ai/ai_life.dm +++ b/code/modules/mob/living/silicon/ai/ai_life.dm @@ -37,7 +37,7 @@ addtimer(CALLBACK(src, PROC_REF(reset_tracker_cooldown)), tracking_alert_interval) if(malfhack && malfhack.aidisabled) - to_chat(src, "ERROR: APC access disabled, hack attempt canceled.") + to_chat(src, SPAN_DANGER("ERROR: APC access disabled, hack attempt canceled.")) deltimer(malfhacking) // This proc handles cleanup of screen notifications and // messenging the client @@ -63,7 +63,7 @@ update_blind_effects() aiRestorePowerRoutine = 1 update_sight() - to_chat(src, "You have lost power!") + to_chat(src, SPAN_DANGER("You have lost power!")) if(!is_special_character(src)) set_zeroth_law("") diff --git a/code/modules/mob/living/silicon/ai/ai_mob.dm b/code/modules/mob/living/silicon/ai/ai_mob.dm index bbff7675a25..cdb3533c4cb 100644 --- a/code/modules/mob/living/silicon/ai/ai_mob.dm +++ b/code/modules/mob/living/silicon/ai/ai_mob.dm @@ -478,13 +478,13 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( break var/obj/machinery/computer/rnd_network_controller/RNC = locateUID(network_manager_uid) if(!RNC) // Could not find the RND server. It probably blew up. - to_chat(src, "No research server found!") + to_chat(src, SPAN_WARNING("No research server found!")) return var/upgraded = FALSE var/datum/research/files = RNC.research_files if(!files) - to_chat(src, "No research server found!") + to_chat(src, SPAN_WARNING("No research server found!")) return var/list/possible_tech = list() for(var/datum/tech/T in files.possible_tech) @@ -493,7 +493,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( var/datum/tech/tech_to_upgrade = pick_n_take(possible_tech) // If there are no possible techs to upgrade, stop the program if(!tech_to_upgrade) - to_chat(src, "Current research cannot be discovered any further.") + to_chat(src, SPAN_NOTICE("Current research cannot be discovered any further.")) research_subsystem = FALSE return // No illegals until level 10 @@ -703,7 +703,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( return if(world.time < next_text_announcement) - to_chat(src, "Please allow one minute to pass between announcements.") + to_chat(src, SPAN_WARNING("Please allow one minute to pass between announcements.")) return var/input = tgui_input_text(usr, "Please write a message to announce to the station crew.", "A.I. Announcement", multiline = TRUE, encode = FALSE) @@ -757,7 +757,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( set name = "Toggle Floor Bolts" if(stat == DEAD) - to_chat(src, "You are dead!") + to_chat(src, SPAN_WARNING("You are dead!")) return if(!isturf(loc)) // if their location isn't a turf @@ -843,7 +843,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( 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["say_word"]) play_vox_word(href_list["say_word"], null, src) @@ -854,7 +854,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(istype(target) && target.can_track()) ai_actual_track(target) else - to_chat(src, "Target is not on or near any active cameras on the station.") + to_chat(src, SPAN_WARNING("Target is not on or near any active cameras on the station.")) return if(href_list["trackbot"]) @@ -862,7 +862,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(istype(target)) ai_actual_track(target) else - to_chat(src, "Target is not on or near any active cameras on the station.") + to_chat(src, SPAN_WARNING("Target is not on or near any active cameras on the station.")) return if(href_list["ai_take_control"]) //Mech domination @@ -882,19 +882,19 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( 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.check_camera_vis(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(lacks_power()) - to_chat(src, "You're depowered!") + to_chat(src, SPAN_WARNING("You're depowered!")) 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.occupant && !can_dominate_mechs) - to_chat(src, "This exosuit has a pilot and cannot be controlled.") + to_chat(src, SPAN_WARNING("This exosuit has a pilot and cannot be controlled.")) return if(M) M.transfer_ai(AI_MECH_HACK, src, usr) //Called om the mech itself. @@ -926,7 +926,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( set name = "Access Robot Control" set desc = "Wirelessly control various automatic robots." if(stat == DEAD) - to_chat(src, "Critical error. System offline.") + to_chat(src, SPAN_DANGER("Critical error. System offline.")) return if(check_unable(AI_CHECK_WIRELESS | AI_CHECK_RADIO)) @@ -944,7 +944,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( else if(GLOB.cameranet && GLOB.cameranet.check_turf_vis(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) @@ -952,7 +952,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( 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 Bot.call_bot(src, waypoint) @@ -1056,7 +1056,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(network in C.network) U.eyeobj.set_loc(get_turf(C)) break - to_chat(src, "Switched to [network] camera network.") + to_chat(src, SPAN_NOTICE("Switched to [network] camera network.")) //End of code by Mord_Sith /mob/living/silicon/ai/proc/ai_statuschange() @@ -1395,18 +1395,18 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( /mob/living/silicon/ai/wrench_act(mob/living/user, obj/item/I) . = TRUE if(anchored) - user.visible_message("[user] starts to unbolt [src] from the plating...") + user.visible_message(SPAN_NOTICE("[user] starts to unbolt [src] from the plating...")) if(!I.use_tool(src, user, 4 SECONDS, 0, 50)) - user.visible_message("[user] decides not to unbolt [src].") + user.visible_message(SPAN_NOTICE("[user] decides not to unbolt [src].")) return - user.visible_message("[user] finishes unfastening [src]!") + user.visible_message(SPAN_NOTICE("[user] finishes unfastening [src]!")) anchored = FALSE return - user.visible_message("[user] starts to bolt [src] to the plating...") + user.visible_message(SPAN_NOTICE("[user] starts to bolt [src] to the plating...")) if(!I.use_tool(src, user, 4 SECONDS, 0, 50)) - user.visible_message("[user] decides not to bolt [src].") + user.visible_message(SPAN_NOTICE("[user] decides not to bolt [src].")) return FALSE - user.visible_message("[user] finishes fastening down [src]!") + user.visible_message(SPAN_NOTICE("[user] finishes fastening down [src]!")) anchored = TRUE /mob/living/silicon/ai/welder_act() @@ -1427,18 +1427,18 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( /mob/living/silicon/ai/proc/check_unable(flags = 0) if(stat == DEAD) - to_chat(src, "You are dead!") + to_chat(src, SPAN_WARNING("You are dead!")) return TRUE if(lacks_power()) - to_chat(src, "Power systems failure!") + to_chat(src, SPAN_WARNING("Power systems failure!")) return TRUE if((flags & AI_CHECK_WIRELESS) && control_disabled) - to_chat(src, "Wireless control is disabled!") + to_chat(src, SPAN_WARNING("Wireless control is disabled!")) return TRUE if((flags & AI_CHECK_RADIO) && aiRadio.disabledAi) - to_chat(src, "System Error - Transceiver Disabled!") + to_chat(src, SPAN_WARNING("System Error - Transceiver Disabled!")) return TRUE return FALSE @@ -1450,14 +1450,14 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( return if(interaction == AI_TRANS_TO_CARD)//The only possible interaction. Upload AI mob to a card. if(!mind) - to_chat(user, "No intelligence patterns detected.")//No more magical carding of empty cores, AI RETURN TO BODY!!!11 + to_chat(user, SPAN_WARNING("No intelligence patterns detected."))//No more magical carding of empty cores, AI RETURN TO BODY!!!11 return if(stat != DEAD) - to_chat(user, "Beginning active intelligence transfer: please wait.") + to_chat(user, SPAN_NOTICE("Beginning active intelligence transfer: please wait.")) if(!do_after_once(user, 5 SECONDS, target = src) || !Adjacent(user)) - to_chat(user, "Intelligence transfer aborted.") + to_chat(user, SPAN_WARNING("Intelligence transfer aborted.")) return new /obj/structure/ai_core/deactivated(loc)//Spawns a deactivated terminal at AI location. @@ -1470,7 +1470,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( program_picker.reset_programs() forceMove(card) //Throw AI into the card. 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/can_buckle() return FALSE @@ -1490,7 +1490,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( var/message = combine_message(message_pieces, verb, M) var/name_used = M.GetVoice() //This communication is imperfect because the holopad "filters" voices and is only designed to connect to the master only. - var/rendered = "Relayed Speech: [name_used] [message]" + var/rendered = "Relayed Speech: [SPAN_NAME("[name_used]")] [message]" if(client?.prefs.toggles2 & PREFTOGGLE_2_RUNECHAT) var/message_clean = combine_message(message_pieces, null, M) create_chat_message(locateUID(M.runechat_msg_location), message_clean) @@ -1500,7 +1500,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(!program_picker) return program_picker.reset_programs() - to_chat(src, "Your programs have been reset to factory settings!") + to_chat(src, SPAN_NOTICE("Your programs have been reset to factory settings!")) src.throw_alert("programsreset", /atom/movable/screen/alert/programs_reset) /mob/living/silicon/ai/proc/add_program_picker() @@ -1515,10 +1515,10 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( clear_alert("hackingapc") if(!istype(apc) || QDELETED(apc) || apc.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.")) SEND_SOUND(src, sound('sound/machines/buzz-two.ogg')) 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.")) SEND_SOUND(src, sound('sound/machines/buzz-sigh.ogg')) else malf_picker.processing_time += 15 @@ -1578,16 +1578,16 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( switch(tgui_alert(src, "Do you want to open \the [A] for [target]?", "Doorknob_v2a.exe", list("Yes", "No"))) if("Yes") if(!A.density) - to_chat(src, "[A] was already opened.") + to_chat(src, SPAN_NOTICE("[A] was already opened.")) else if(A.open_close(src)) - to_chat(src, "You open \the [A] for [target].") + to_chat(src, SPAN_NOTICE("You open \the [A] for [target].")) else - to_chat(src, "You deny the request.") + to_chat(src, SPAN_WARNING("You deny the request.")) else - to_chat(src, "Unable to locate an airlock near [target].") + to_chat(src, SPAN_WARNING("Unable to locate an airlock near [target].")) else - to_chat(src, "Target is not on or near any active cameras on the station.") + to_chat(src, SPAN_WARNING("Target is not on or near any active cameras on the station.")) // Return to the Core. /mob/living/silicon/ai/proc/core() @@ -1682,16 +1682,16 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( var/datum/component/ducttape/ducttapecomponent = card.GetComponent(/datum/component/ducttape) if(!ducttapecomponent) return - to_chat(src, "The tiny fan that could begins to work against the tape to remove it.") + to_chat(src, SPAN_NOTICE("The tiny fan that could begins to work against the tape to remove it.")) if(!do_after(src, 2 MINUTES, target = card)) return - to_chat(src, "The tiny in built fan finally removes the tape!") + to_chat(src, SPAN_NOTICE("The tiny in built fan finally removes the tape!")) ducttapecomponent.remove_tape(card, src) //Stores the location of the AI to the value of stored_locations associated with location_number. /mob/living/silicon/ai/proc/store_location(location_number) if(!isturf(eyeobj.loc)) //i.e., inside a mech or other shenanigans - to_chat(src, "You can't set a location here!") + to_chat(src, SPAN_WARNING("You can't set a location here!")) return FALSE stored_locations[location_number] = eyeobj.loc diff --git a/code/modules/mob/living/silicon/ai/ai_programs.dm b/code/modules/mob/living/silicon/ai/ai_programs.dm index 250f4959ba0..98b4eddcced 100644 --- a/code/modules/mob/living/silicon/ai/ai_programs.dm +++ b/code/modules/mob/living/silicon/ai/ai_programs.dm @@ -122,7 +122,7 @@ return var/mob/living/silicon/ai/A = ui.user if(A.stat == DEAD) - to_chat(A, "You are dead!") + to_chat(A, SPAN_WARNING("You are dead!")) return switch(action) @@ -130,7 +130,7 @@ var/datum/ai_program/program = locateUID(params["uid"]) if(!program.installed) // Handle installing any program here. if(program.cost > memory) - to_chat(A, "You cannot afford this program.") + to_chat(A, SPAN_WARNING("You cannot afford this program.")) return FALSE memory -= program.cost program.installed = TRUE @@ -143,16 +143,16 @@ for(var/datum/spell/ai_spell/selected_program in A.mob_spell_list) if(new_spell.type == selected_program.type) if(selected_program.spell_level >= selected_program.level_max) - to_chat(A, "This program cannot be upgraded further.") + to_chat(A, SPAN_WARNING("This program cannot be upgraded further.")) return FALSE else if(bandwidth < 1) - to_chat(A, "You cannot afford this upgrade!") + to_chat(A, SPAN_WARNING("You cannot afford this upgrade!")) return FALSE selected_program.name = initial(selected_program.name) selected_program.spell_level++ if(selected_program.spell_level >= selected_program.level_max) - to_chat(A, "This program cannot be upgraded any further.") + to_chat(A, SPAN_NOTICE("This program cannot be upgraded any further.")) selected_program.on_purchase_upgrade() program.upgrade(A) return TRUE @@ -168,13 +168,13 @@ // Passive programs if(program.upgrade_level > program.max_level) - to_chat(A, "This program cannot be upgraded any further.") + to_chat(A, SPAN_NOTICE("This program cannot be upgraded any further.")) return FALSE if(!program.upgrade_level) program.upgrade(A, first_install = TRUE) else if(bandwidth < 1) - to_chat(A, "You cannot afford this upgrade!") + to_chat(A, SPAN_WARNING("You cannot afford this upgrade!")) return FALSE program.upgrade(A) to_chat(A, program.unlock_text) @@ -202,7 +202,7 @@ /// Max level for passive upgrades var/max_level = 5 /// Text shown when an ability is unlocked - var/unlock_text = "Hello World!" + var/unlock_text = SPAN_NOTICE("Hello World!") /// Sound played when an ability is unlocked var/unlock_sound /// The cooldown when the ability is used @@ -241,7 +241,7 @@ if(!upgrade_level <= 0) uninstall(user) return - to_chat(user, "Program update data lost: [src.program_name]!") + to_chat(user, SPAN_WARNING("Program update data lost: [src.program_name]!")) user.program_picker.bandwidth++ if(!upgrade) // Passives need to be handled in their own procs var/datum/spell/ai_spell/removed_spell = new power_type @@ -260,7 +260,7 @@ user.program_picker.bandwidth += bandwidth_used bandwidth_used = 0 user.program_picker.memory += cost - to_chat(user, "Program core data lost: [src.program_name]!") + to_chat(user, SPAN_USERDANGER("Program core data lost: [src.program_name]!")) if(!upgrade) // Passives need to be handled in their own procs var/datum/spell/ai_spell/removed_spell = new power_type for(var/datum/spell/ai_spell/aspell in user.mob_spell_list) @@ -271,10 +271,10 @@ /datum/spell/ai_spell/choose_program/cast(list/targets, mob/living/silicon/ai/user) . = ..() if(istype(user.loc, /obj/machinery/power/apc)) - to_chat(user, "Error: APCs do not have enough processing power to handle programs!") + to_chat(user, SPAN_WARNING("Error: APCs do not have enough processing power to handle programs!")) return if(istype(user.loc, /obj/item/aicard)) - to_chat(user, "Error: InteliCards do not have enough processing power to handle programs!") + to_chat(user, SPAN_WARNING("Error: InteliCards do not have enough processing power to handle programs!")) return user.program_picker.ui_interact(user) @@ -299,12 +299,12 @@ base_cooldown = 30 SECONDS cooldown_min = 5 SECONDS level_max = 5 - selection_activated_message = "You hook into the station's lighting controller..." - selection_deactivated_message = "You cancel the request from the lighting controller." + selection_activated_message = SPAN_NOTICE("You hook into the station's lighting controller...") + selection_deactivated_message = SPAN_NOTICE("You cancel the request from the lighting controller.") /datum/spell/ai_spell/ranged/rgb_lighting/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No valid target!") + to_chat(user, SPAN_WARNING("No valid target!")) revert_cast() return var/obj/machinery/target = targets[1] @@ -312,12 +312,12 @@ revert_cast() return if(!istype(target, /obj/machinery/light) && !istype(target, /obj/machinery/power/apc)) - to_chat(user, "You can only recolor lights!") + to_chat(user, SPAN_WARNING("You can only recolor lights!")) revert_cast() return var/mob/living/silicon/ai/AI = user if(!AI.program_picker.spend_nanites(program.nanite_cost)) - to_chat(user, "Not enough nanites!") + to_chat(user, SPAN_WARNING("Not enough nanites!")) revert_cast() return // Color selection @@ -328,7 +328,7 @@ var/new_color = "#[num2hex(rgb[1], 2)][num2hex(rgb[2], 2)][num2hex(rgb[3], 2)]" if(istype(target, /obj/machinery/power/apc)) if(spell_level < 3) // If you haven't upgraded it 3 times, you have to color lights individually. - to_chat(user, "Your coloring subsystem is not strong enough to target an entire room!") + to_chat(user, SPAN_WARNING("Your coloring subsystem is not strong enough to target an entire room!")) AI.program_picker.refund_nanites(program.nanite_cost) revert_cast() return @@ -371,13 +371,13 @@ base_cooldown = 120 SECONDS cooldown_min = 30 SECONDS level_max = 7 - selection_activated_message = "You tap into the station's powernet..." - selection_deactivated_message = "You release your hold on the powernet." + selection_activated_message = SPAN_NOTICE("You tap into the station's powernet...") + selection_deactivated_message = SPAN_NOTICE("You release your hold on the powernet.") var/power_sent = 2500 /datum/spell/ai_spell/ranged/power_shunt/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No valid target!") + to_chat(user, SPAN_WARNING("No valid target!")) revert_cast() return var/target = targets[1] @@ -385,21 +385,21 @@ revert_cast() return if(!isrobot(target) && !isapc(target) && !ismecha(target) && !ismachineperson(target)) - to_chat(user, "You can only recharge borgs, mechs, and APCs!") + to_chat(user, SPAN_WARNING("You can only recharge borgs, mechs, and APCs!")) revert_cast() return var/mob/living/silicon/ai/AI = user if(ismachineperson(target) && !AI.universal_adapter) - to_chat(user, "This software lacks the required upgrade to recharge IPCs!") + to_chat(user, SPAN_WARNING("This software lacks the required upgrade to recharge IPCs!")) revert_cast() return var/area/A = get_area(user) if(A == null) - to_chat(user, "No SMES detected to power from!") + to_chat(user, SPAN_WARNING("No SMES detected to power from!")) revert_cast() return if(!AI.program_picker.spend_nanites(program.nanite_cost)) - to_chat(user, "Not enough nanites!") + to_chat(user, SPAN_WARNING("Not enough nanites!")) revert_cast() return if(ismecha(target)) @@ -452,12 +452,12 @@ base_cooldown = 150 SECONDS cooldown_min = 30 SECONDS level_max = 7 - selection_activated_message = "You prepare to order your nanomachines to repair..." - selection_deactivated_message = "You rescind the order." + selection_activated_message = SPAN_NOTICE("You prepare to order your nanomachines to repair...") + selection_deactivated_message = SPAN_NOTICE("You rescind the order.") /datum/spell/ai_spell/ranged/repair_nanites/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No valid target!") + to_chat(user, SPAN_WARNING("No valid target!")) revert_cast() return var/target = targets[1] @@ -465,20 +465,20 @@ revert_cast() return if(!isrobot(target) && !isapc(target) && !ismecha(target) && !ismachineperson(target) && !isbot(target)) - to_chat(user, "You can only repair borgs, mechs, and APCs!") + to_chat(user, SPAN_WARNING("You can only repair borgs, mechs, and APCs!")) revert_cast() return var/mob/living/silicon/ai/AI = user if(ismachineperson(target) && !AI.universal_adapter) - to_chat(user, "This software lacks the required upgrade to repair IPCs!") + to_chat(user, SPAN_WARNING("This software lacks the required upgrade to repair IPCs!")) revert_cast() return if(isbot(target) && spell_level < 2) - to_chat(user, "This software is not upgraded enough to repair the robot!") + to_chat(user, SPAN_WARNING("This software is not upgraded enough to repair the robot!")) revert_cast() return if(!AI.program_picker.spend_nanites(program.nanite_cost)) - to_chat(user, "Not enough nanites!") + to_chat(user, SPAN_WARNING("Not enough nanites!")) revert_cast() return if(ismecha(target)|| isapc(target)) @@ -554,12 +554,12 @@ base_cooldown = 60 SECONDS cooldown_min = 60 SECONDS level_max = 5 - selection_activated_message = "You prepare to deploy repairing nanites to a door..." - selection_deactivated_message = "You cancel the request." + selection_activated_message = SPAN_NOTICE("You prepare to deploy repairing nanites to a door...") + selection_deactivated_message = SPAN_NOTICE("You cancel the request.") /datum/spell/ai_spell/ranged/airlock_restoration/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No valid target!") + to_chat(user, SPAN_WARNING("No valid target!")) revert_cast() return var/obj/machinery/door/airlock/target = targets[1] @@ -567,17 +567,17 @@ revert_cast() return if(!istype(target)) - to_chat(user, "You can only repair airlocks!") + to_chat(user, SPAN_WARNING("You can only repair airlocks!")) revert_cast() return if(target.wires.is_cut(WIRE_AI_CONTROL)) - to_chat(user, "Error: Null Connection to Airlock!") + to_chat(user, SPAN_WARNING("Error: Null Connection to Airlock!")) revert_cast() return var/mob/living/silicon/ai/AI = user if(!AI.program_picker.spend_nanites(program.nanite_cost)) - to_chat(user, "Not enough nanites!") + to_chat(user, SPAN_WARNING("Not enough nanites!")) revert_cast() return var/turf/T = get_turf(target) @@ -619,12 +619,12 @@ base_cooldown = 60 SECONDS cooldown_min = 30 SECONDS level_max = 3 - selection_activated_message = "You prepare to synthesize a nanofrost globule..." - selection_deactivated_message = "You let the nanofrost dissipate." + selection_activated_message = SPAN_NOTICE("You prepare to synthesize a nanofrost globule...") + selection_deactivated_message = SPAN_NOTICE("You let the nanofrost dissipate.") /datum/spell/ai_spell/ranged/extinguishing_system/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No valid target!") + to_chat(user, SPAN_WARNING("No valid target!")) revert_cast() return var/turf/target = get_turf(targets[1]) @@ -632,12 +632,12 @@ revert_cast() return if(!isturf(target)) - to_chat(user, "Invalid location for nanofrost deployment!") + to_chat(user, SPAN_WARNING("Invalid location for nanofrost deployment!")) revert_cast() return var/mob/living/silicon/ai/AI = user if(!AI.program_picker.spend_nanites(program.nanite_cost)) - to_chat(user, "Not enough nanites!") + to_chat(user, SPAN_WARNING("Not enough nanites!")) revert_cast() return var/obj/effect/nanofrost_container/nanofrost = new /obj/effect/nanofrost_container(target) @@ -735,12 +735,12 @@ base_cooldown = 30 SECONDS cooldown_min = 5 SECONDS level_max = 5 - selection_activated_message = "You prepare to synthesize a lightbulb..." - selection_deactivated_message = "You cancel the request." + selection_activated_message = SPAN_NOTICE("You prepare to synthesize a lightbulb...") + selection_deactivated_message = SPAN_NOTICE("You cancel the request.") /datum/spell/ai_spell/ranged/light_repair/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No valid target!") + to_chat(user, SPAN_WARNING("No valid target!")) revert_cast() return var/obj/machinery/light/target = targets[1] @@ -748,12 +748,12 @@ revert_cast() return if(!istype(target)) - to_chat(user, "You can only repair lights!") + to_chat(user, SPAN_WARNING("You can only repair lights!")) revert_cast() return var/mob/living/silicon/ai/AI = user if(!AI.program_picker.spend_nanites(program.nanite_cost)) - to_chat(user, "Not enough nanites!") + to_chat(user, SPAN_WARNING("Not enough nanites!")) revert_cast() return // Handle repairs here since we're using a spell and not a tool @@ -792,12 +792,12 @@ base_cooldown = 150 SECONDS cooldown_min = 30 SECONDS level_max = 10 - selection_activated_message = "You prepare to order your nanomachines to perform organic repairs..." - selection_deactivated_message = "You rescind the order." + selection_activated_message = SPAN_NOTICE("You prepare to order your nanomachines to perform organic repairs...") + selection_deactivated_message = SPAN_NOTICE("You rescind the order.") /datum/spell/ai_spell/ranged/nanosurgeon_deployment/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No valid target!") + to_chat(user, SPAN_WARNING("No valid target!")) revert_cast() return var/mob/living/carbon/human/target = targets[1] @@ -805,12 +805,12 @@ revert_cast() return if(!istype(target) || ismachineperson(target)) - to_chat(user, "You can only heal organic crew!") + to_chat(user, SPAN_WARNING("You can only heal organic crew!")) revert_cast() return var/mob/living/silicon/ai/AI = user if(!AI.program_picker.spend_nanites(program.nanite_cost)) - to_chat(user, "Not enough nanites!") + to_chat(user, SPAN_WARNING("Not enough nanites!")) revert_cast() return AI.play_sound_remote(target, 'sound/magic/magic_block.ogg', 50) @@ -819,9 +819,9 @@ var/allow_moving = FALSE if(spell_level == level_max) allow_moving = TRUE - to_chat(target, "You feel a flow of healing nanites stream to you from a nearby camera.") + to_chat(target, SPAN_NOTICE("You feel a flow of healing nanites stream to you from a nearby camera.")) else - to_chat(target, "You feel a flow of healing nanites stream to you from a nearby camera. Hold still for them to work!") + to_chat(target, SPAN_NOTICE("You feel a flow of healing nanites stream to you from a nearby camera. Hold still for them to work!")) if(do_after(AI, 5 SECONDS, target = target, allow_moving_target = allow_moving)) // Check camera vision again. if(!check_camera_vision(user, target)) @@ -934,12 +934,12 @@ base_cooldown = 180 SECONDS cooldown_min = 30 SECONDS level_max = 5 - selection_activated_message = "You fill a canister with metal foam..." - selection_deactivated_message = "You dissolve the unused canister." + selection_activated_message = SPAN_NOTICE("You fill a canister with metal foam...") + selection_deactivated_message = SPAN_NOTICE("You dissolve the unused canister.") /datum/spell/ai_spell/ranged/emergency_sealant/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No valid target!") + to_chat(user, SPAN_WARNING("No valid target!")) revert_cast() return var/target = targets[1] @@ -948,7 +948,7 @@ return var/mob/living/silicon/ai/AI = user if(!AI.program_picker.spend_nanites(program.nanite_cost)) - to_chat(user, "Not enough nanites!") + to_chat(user, SPAN_WARNING("Not enough nanites!")) revert_cast() return AI.play_sound_remote(target, 'sound/effects/bubbles2.ogg', 50) @@ -987,8 +987,8 @@ base_cooldown = 30 SECONDS cooldown_min = 30 SECONDS level_max = 8 - selection_activated_message = "You spool up your projector..." - selection_deactivated_message = "You stop spooling the projector." + selection_activated_message = SPAN_NOTICE("You spool up your projector...") + selection_deactivated_message = SPAN_NOTICE("You stop spooling the projector.") /// Types of holosigns the AI can deploy var/sign_choices = list( "Engineering", @@ -1000,7 +1000,7 @@ /datum/spell/ai_spell/ranged/holosign_displayer/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No valid target!") + to_chat(user, SPAN_WARNING("No valid target!")) revert_cast() return var/target = targets[1] @@ -1009,7 +1009,7 @@ return var/mob/living/silicon/ai/AI = user if(!AI.program_picker.spend_nanites(program.nanite_cost)) - to_chat(user, "Not enough nanites!") + to_chat(user, SPAN_WARNING("Not enough nanites!")) revert_cast() return var/sign_id = tgui_input_list(usr, "Select a holosign!", "AI", sign_choices) @@ -1056,12 +1056,12 @@ base_cooldown = 30 SECONDS cooldown_min = 15 SECONDS level_max = 10 - selection_activated_message = "You prepare to honk..." - selection_deactivated_message = "You reduce the amount of humor in your subsystems." + selection_activated_message = SPAN_NOTICE("You prepare to honk...") + selection_deactivated_message = SPAN_NOTICE("You reduce the amount of humor in your subsystems.") /datum/spell/ai_spell/ranged/honk_subsystem/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No valid target!") + to_chat(user, SPAN_WARNING("No valid target!")) revert_cast() return var/target = targets[1] @@ -1072,7 +1072,7 @@ return var/mob/living/silicon/ai/AI = user if(!AI.program_picker.spend_nanites(program.nanite_cost)) - to_chat(user, "Not enough nanites!") + to_chat(user, SPAN_WARNING("Not enough nanites!")) revert_cast() return if(spell_level >= 10) @@ -1145,7 +1145,7 @@ if(get_dist(closest_camera, target) > get_dist(C, target)) closest_camera = C continue - closest_camera.visible_message("A purple light flashes on [closest_camera]!") + closest_camera.visible_message(SPAN_WARNING("A purple light flashes on [closest_camera]!")) if(GLOB.alarm_manager.trigger_alarm("Tracking", A, A.cameras, closest_camera)) // Cancel alert after 1 minute addtimer(CALLBACK(GLOB.alarm_manager, TYPE_PROC_REF(/datum/alarm_manager, cancel_alarm), "Tracking", A, closest_camera), 1 MINUTES) @@ -1174,12 +1174,12 @@ base_cooldown = 15 SECONDS cooldown_min = 15 SECONDS level_max = 1 - selection_activated_message = "You prepare to illuminate a hologram..." - selection_deactivated_message = "You spool down your projector." + selection_activated_message = SPAN_NOTICE("You prepare to illuminate a hologram...") + selection_deactivated_message = SPAN_NOTICE("You spool down your projector.") /datum/spell/ai_spell/ranged/pointer/cast(list/targets, mob/user) if(!length(targets)) - to_chat(user, "No valid target!") + to_chat(user, SPAN_WARNING("No valid target!")) revert_cast() return var/target = targets[1] @@ -1188,7 +1188,7 @@ return var/mob/living/silicon/ai/AI = user if(!AI.program_picker.spend_nanites(program.nanite_cost)) - to_chat(user, "Not enough nanites!") + to_chat(user, SPAN_WARNING("Not enough nanites!")) revert_cast() return new /obj/effect/temp_visual/ai_pointer(get_turf(target)) diff --git a/code/modules/mob/living/silicon/ai/ai_say.dm b/code/modules/mob/living/silicon/ai/ai_say.dm index ebcec382ef4..e6f6eeecc09 100644 --- a/code/modules/mob/living/silicon/ai/ai_say.dm +++ b/code/modules/mob/living/silicon/ai/ai_say.dm @@ -106,7 +106,7 @@ GLOBAL_VAR_INIT(announcing_vox, 0) // Stores the time of the last announcement return if(GLOB.announcing_vox > world.time) - to_chat(src, "Please wait [round((GLOB.announcing_vox - world.time) / 10)] seconds.") + to_chat(src, SPAN_WARNING("Please wait [round((GLOB.announcing_vox - world.time) / 10)] seconds.")) return var/message = tgui_input_text(src, "WARNING: Misuse of this verb can result in you being job banned. More help is available in 'Announcement Help'", "Announcement", last_announcement) @@ -134,7 +134,7 @@ GLOBAL_VAR_INIT(announcing_vox, 0) // Stores the time of the last announcement incorrect_words += word if(length(incorrect_words)) - to_chat(src, "These words are not available on the announcement system: [english_list(incorrect_words)].") + to_chat(src, SPAN_WARNING("These words are not available on the announcement system: [english_list(incorrect_words)].")) return GLOB.announcing_vox = world.time + VOX_DELAY diff --git a/code/modules/mob/living/silicon/ai/ai_verbs/botcall.dm b/code/modules/mob/living/silicon/ai/ai_verbs/botcall.dm index 63075b541d6..20c1cad8a6d 100644 --- a/code/modules/mob/living/silicon/ai/ai_verbs/botcall.dm +++ b/code/modules/mob/living/silicon/ai/ai_verbs/botcall.dm @@ -38,4 +38,4 @@ if("call") AI.Bot = bot AI.waypoint_mode = TRUE - to_chat(AI, "Set your waypoint by clicking on a valid location free of obstructions.") + to_chat(AI, SPAN_NOTICE("Set your waypoint by clicking on a valid location free of obstructions.")) diff --git a/code/modules/mob/living/silicon/decoy/decoy.dm b/code/modules/mob/living/silicon/decoy/decoy.dm index e77c177f735..d037c20a8a9 100644 --- a/code/modules/mob/living/silicon/decoy/decoy.dm +++ b/code/modules/mob/living/silicon/decoy/decoy.dm @@ -8,7 +8,7 @@ /mob/living/silicon/decoy/item_interaction(mob/living/user, obj/item/W, list/modifiers) if(istype(W, /obj/item/aicard)) - to_chat(user, "You cannot find an intellicard slot on [src].") + to_chat(user, SPAN_WARNING("You cannot find an intellicard slot on [src].")) return ITEM_INTERACT_COMPLETE else return ..() diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 1e794197fec..d3dcbbb067d 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -188,7 +188,7 @@ if(prob(20)) var/turf/T = get_turf(loc) for(var/mob/M in viewers(T)) - M.show_message("A shower of sparks spray from [src]'s inner workings.", 3, "You hear and smell the ozone hiss of electrical sparks being expelled violently.", 2) + M.show_message(SPAN_WARNING("A shower of sparks spray from [src]'s inner workings."), 3, SPAN_WARNING("You hear and smell the ozone hiss of electrical sparks being expelled violently."), 2) return death(0) switch(pick(1, 2, 3)) @@ -258,7 +258,7 @@ return TRUE pai_user.force_fold_out() - pai_user.visible_message("[pai_user] folds outwards, expanding into a mobile form.", "You fold outwards, expanding into a mobile form.") + pai_user.visible_message(SPAN_NOTICE("[pai_user] folds outwards, expanding into a mobile form."), SPAN_NOTICE("You fold outwards, expanding into a mobile form.")) return TRUE /mob/living/silicon/pai/proc/force_fold_out() @@ -284,7 +284,7 @@ else REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LYING_DOWN_TRAIT) - to_chat(src, "You are now [resting ? "resting" : "getting up"]") + to_chat(src, SPAN_NOTICE("You are now [resting ? "resting" : "getting up"]")) update_icons() @@ -293,14 +293,14 @@ if(istype(W, /obj/item/stack/nanopaste)) var/obj/item/stack/nanopaste/N = W if(stat == DEAD) - to_chat(user, "\The [src] is beyond help, at this point.") + to_chat(user, SPAN_DANGER("\The [src] is beyond help, at this point.")) else if(getBruteLoss() || getFireLoss()) heal_overall_damage(15, 15) N.use(1) - user.visible_message("[user.name] applied some [W] at [src]'s damaged areas.",\ - "You apply some [W] at [name]'s damaged areas.") + user.visible_message(SPAN_NOTICE("[user.name] applied some [W] at [src]'s damaged areas."),\ + SPAN_NOTICE("You apply some [W] at [name]'s damaged areas.")) else - to_chat(user, "All [name]'s systems are nominal.") + to_chat(user, SPAN_NOTICE("All [name]'s systems are nominal.")) return ITEM_INTERACT_COMPLETE @@ -309,10 +309,10 @@ return FINISH_ATTACK if(W.force) - visible_message("[user.name] attacks [src] with [W]!") + visible_message(SPAN_DANGER("[user.name] attacks [src] with [W]!")) adjustBruteLoss(W.force) else - visible_message("[user.name] bonks [src] harmlessly with [W].") + visible_message(SPAN_WARNING("[user.name] bonks [src] harmlessly with [W].")) spawn(1) if(stat != 2) close_up() @@ -324,10 +324,10 @@ if(stat == DEAD) return if(user.a_intent == INTENT_HELP) - user.visible_message("[user] pets [src].") + user.visible_message(SPAN_NOTICE("[user] pets [src].")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) else - visible_message("[user.name] boops [src] on the head.") + visible_message(SPAN_DANGER("[user.name] boops [src] on the head.")) spawn(1) close_up() @@ -337,7 +337,7 @@ if(loc == card) return - visible_message("[src] neatly folds inwards, compacting down to a rectangular card.", "You neatly fold inwards, compacting down to a rectangular card.") + visible_message(SPAN_NOTICE("[src] neatly folds inwards, compacting down to a rectangular card."), SPAN_NOTICE("You neatly fold inwards, compacting down to a rectangular card.")) stop_pulling() reset_perspective(card) @@ -378,9 +378,9 @@ if(!client) msg += "\nIt appears to be in stand-by mode." //afk if(UNCONSCIOUS) - msg += "\nIt doesn't seem to be responding." + msg += "\n[SPAN_WARNING("It doesn't seem to be responding.")]" if(DEAD) - msg += "\nIt looks completely unsalvageable." + msg += "\n[SPAN_DEADSAY("It looks completely unsalvageable.")]" if(print_flavor_text()) msg += "\n[print_flavor_text()]" @@ -445,9 +445,9 @@ if(Adjacent(H)) get_scooped(H) else - to_chat(src, "You need to stay in reaching distance to be picked up.") + to_chat(src, SPAN_WARNING("You need to stay in reaching distance to be picked up.")) if("No") - to_chat(src, "[H] decided not to pick you up.") + to_chat(src, SPAN_WARNING("[H] decided not to pick you up.")) else if(Adjacent(H)) get_scooped(H) else diff --git a/code/modules/mob/living/silicon/pai/pai_death.dm b/code/modules/mob/living/silicon/pai/pai_death.dm index e7f041de10c..63bf9ab7c60 100644 --- a/code/modules/mob/living/silicon/pai/pai_death.dm +++ b/code/modules/mob/living/silicon/pai/pai_death.dm @@ -3,7 +3,7 @@ if(!cleanWipe) force_fold_out() - visible_message("[src] emits a dull beep before it loses power and collapses.", "You hear a dull beep followed by the sound of glass crunching.") + visible_message(SPAN_WARNING("[src] emits a dull beep before it loses power and collapses."), SPAN_WARNING("You hear a dull beep followed by the sound of glass crunching.")) name = "pAI debris" desc = "The unfortunate remains of some poor personal AI device." icon_state = "[chassis]_dead" diff --git a/code/modules/mob/living/silicon/pai/pai_life.dm b/code/modules/mob/living/silicon/pai/pai_life.dm index afaba31872e..7cdcd3a0307 100644 --- a/code/modules/mob/living/silicon/pai/pai_life.dm +++ b/code/modules/mob/living/silicon/pai/pai_life.dm @@ -11,7 +11,7 @@ var/datum/pai_software/door_jack/DJ = installed_software["doorjack"] if(DJ.cable) if(get_dist(src, DJ.cable) > 1) - visible_message("The data cable connected to [src] rapidly retracts back into its spool!") + visible_message(SPAN_WARNING("The data cable connected to [src] rapidly retracts back into its spool!")) QDEL_NULL(DJ.cable) /mob/living/silicon/pai/updatehealth(reason = "none given") diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index 92d3d3e209c..b80ff73e4dc 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -23,7 +23,7 @@ GLOBAL_DATUM_INIT(paiController, /datum/pai_controller, new) // Global handler f if(card.pai) return if(!isobserver(candidate.owner.mob)) //This stops pais from being downloaded twice. - to_chat(usr, "Error downloading pAI from NT_NET. Please check if the pAI listing is still available.") + to_chat(usr, SPAN_WARNING("Error downloading pAI from NT_NET. Please check if the pAI listing is still available.")) return if(usr.incapacitated() || isobserver(usr) || !card.Adjacent(usr)) return @@ -354,7 +354,7 @@ GLOBAL_DATUM_INIT(paiController, /datum/pai_controller, new) // Global handler f if(O.client && (ROLE_PAI in O.client.prefs.be_special)) if(player_old_enough_antag(O.client,ROLE_PAI)) if(check_recruit(O)) - to_chat(O, "A pAI card activated by [user.real_name] is looking for personalities. (Teleport | Sign Up)") + to_chat(O, SPAN_BOLDNOTICE("A pAI card activated by [user.real_name] is looking for personalities. (Teleport | Sign Up)")) //question(O.client) /datum/pai_controller/proc/check_recruit(mob/dead/observer/O) diff --git a/code/modules/mob/living/silicon/pai/software/pai_apps.dm b/code/modules/mob/living/silicon/pai/software/pai_apps.dm index 90ada43b34e..eb11c622e05 100644 --- a/code/modules/mob/living/silicon/pai/software/pai_apps.dm +++ b/code/modules/mob/living/silicon/pai/software/pai_apps.dm @@ -138,15 +138,15 @@ // Check the carrier var/answer = tgui_alert(M, "[pai_holder] is requesting a DNA sample from you. Will you allow it to confirm your identity?", "[pai_holder] Check DNA", list("Yes", "No")) if(answer == "Yes") - M.visible_message("[M] presses [M.p_their()] thumb against [pai_holder].", "You press your thumb against [pai_holder].") + M.visible_message(SPAN_NOTICE("[M] presses [M.p_their()] thumb against [pai_holder]."), SPAN_NOTICE("You press your thumb against [pai_holder].")) var/datum/dna/dna = M.dna - to_chat(usr, "[M]'s UE string: [dna.unique_enzymes]") + to_chat(usr, SPAN_NOTICE("[M]'s UE string: [dna.unique_enzymes]")) if(dna.unique_enzymes == pai_holder.master_dna) - to_chat(usr, "DNA is a match to stored Master DNA.") + to_chat(usr, SPAN_NOTICE("DNA is a match to stored Master DNA.")) else - to_chat(usr, "DNA does not match stored Master DNA.") + to_chat(usr, SPAN_WARNING("DNA does not match stored Master DNA.")) else - to_chat(usr, "[M] does not seem like [M.p_they()] [M.p_are()] going to provide a DNA sample willingly.") + to_chat(usr, SPAN_WARNING("[M] does not seem like [M.p_they()] [M.p_are()] going to provide a DNA sample willingly.")) // Crew Manifest // /datum/pai_software/crew_manifest @@ -354,7 +354,7 @@ if(cable && cable.machine) hackdoor = cable.machine if(hacking) - to_chat(usr, "You are already hacking that door!") + to_chat(usr, SPAN_WARNING("You are already hacking that door!")) else hacking = TRUE INVOKE_ASYNC(src, PROC_REF(hackloop)) @@ -363,11 +363,11 @@ if("cable") playsound(pai_holder, 'sound/mecha/mechmove03.ogg', 25, TRUE) if(cable) // Retracting - pai_holder.visible_message("[cable] is pulled back into [pai_holder] with a quick snap.") + pai_holder.visible_message(SPAN_WARNING("[cable] is pulled back into [pai_holder] with a quick snap.")) QDEL_NULL(cable) else // Extending cable = new /obj/item/pai_cable(get_turf(pai_holder)) - pai_holder.visible_message("A port on [pai_holder] opens to reveal [cable], which promptly falls to the floor.") + pai_holder.visible_message(SPAN_WARNING("A port on [pai_holder] opens to reveal [cable], which promptly falls to the floor.")) /** * Door jack hack loop diff --git a/code/modules/mob/living/silicon/pai/software/pai_software_base.dm b/code/modules/mob/living/silicon/pai/software/pai_software_base.dm index d7d773b138b..32b20f01ba9 100644 --- a/code/modules/mob/living/silicon/pai/software/pai_software_base.dm +++ b/code/modules/mob/living/silicon/pai/software/pai_software_base.dm @@ -93,7 +93,7 @@ if(!M || !M.loc || count > 6) //For a runtime where M ends up in nullspace (similar to bluespace but less colourful) if(inform) - to_chat(usr, "You are not being carried by anyone!") + to_chat(usr, SPAN_WARNING("You are not being carried by anyone!")) return null M = M.loc count++ diff --git a/code/modules/mob/living/silicon/robot/drone/drone_console.dm b/code/modules/mob/living/silicon/robot/drone/drone_console.dm index 8912fedb0ae..5527b2c4817 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_console.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_console.dm @@ -22,7 +22,7 @@ return if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ui_interact(user) @@ -93,7 +93,7 @@ dronefab.produce_drones = !dronefab.produce_drones var/toggle = dronefab.produce_drones ? "enable" : "disable" - to_chat(usr, "You [toggle] drone production in the nearby fabricator.") + to_chat(usr, SPAN_NOTICE("You [toggle] drone production in the nearby fabricator.")) message_admins("[key_name_admin(usr)] [toggle]d maintenance drone production from the control console.") log_game("[key_name(usr)] [toggle]d maintenance drone production from the control console.") @@ -102,22 +102,22 @@ if("ping") ping_cooldown = world.time + 1 MINUTES // One minute cooldown to prevent chat spam - to_chat(usr, "You issue a maintenance request for all active drones, highlighting [drone_call_area].") + to_chat(usr, SPAN_NOTICE("You issue a maintenance request for all active drones, highlighting [drone_call_area].")) for(var/mob/living/silicon/robot/drone/D in GLOB.silicon_mob_list) if(D.client && D.stat == CONSCIOUS) - to_chat(D, "-- Maintenance drone presence requested in: [drone_call_area].") + to_chat(D, SPAN_BOLDNOTICE("-- Maintenance drone presence requested in: [drone_call_area].")) if("resync") var/mob/living/silicon/robot/drone/D = locateUID(params["uid"]) if(D) D.sync_cooldown = world.time + 1 MINUTES // One minute cooldown to prevent chat spam - to_chat(usr, "You issue a law synchronization directive for the drone.") + to_chat(usr, SPAN_NOTICE("You issue a law synchronization directive for the drone.")) D.law_resync() if("recall") var/mob/living/silicon/robot/drone/D = locateUID(params["uid"]) if(D) - to_chat(usr, "You issue a recall command for the unfortunate drone.") + to_chat(usr, SPAN_WARNING("You issue a recall command for the unfortunate drone.")) if(D != usr) // Don't need to bug admins about a suicide message_admins("[key_name_admin(usr)] issued recall order for drone [key_name_admin(D)] from control console.") log_game("[key_name(usr)] issued recall order for [key_name(D)] from control console.") @@ -135,8 +135,8 @@ dronefab = fab if(user) - to_chat(user, "Drone fabricator located.") + to_chat(user, SPAN_NOTICE("Drone fabricator located.")) return if(user) - to_chat(user, "Unable to locate drone fabricator.") + to_chat(user, SPAN_WARNING("Unable to locate drone fabricator.")) diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index ef250a010f3..2c3490d37e6 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -30,9 +30,9 @@ grabbed_something = TRUE if(grabbed_something) - to_chat(user, "You deploy your decompiler and clear out the contents of \the [T].") + to_chat(user, SPAN_NOTICE("You deploy your decompiler and clear out the contents of \the [T].")) else - to_chat(user, "Nothing on \the [T] is useful to you.") + to_chat(user, SPAN_WARNING("Nothing on \the [T] is useful to you.")) return // Putting the decompiler here to avoid doing list checks every tick. diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm index 9f44e1a23a3..de7344cf78f 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm @@ -109,22 +109,22 @@ return FALSE //something is terribly wrong if(jobban_isbanned(src, "nonhumandept") || jobban_isbanned(src, "Drone")) - to_chat(usr, "You are banned from playing drones, and cannot spawn as one.") + to_chat(usr, SPAN_WARNING("You are banned from playing drones, and cannot spawn as one.")) return if(SSticker.current_state < GAME_STATE_PLAYING) - to_chat(src, "You can't join as a drone before the game starts!") + to_chat(src, SPAN_WARNING("You can't join as a drone before the game starts!")) return var/player_age_check = check_client_age(usr.client, 14) // 14 days to play as a drone if(player_age_check && GLOB.configuration.gamemode.antag_account_age_restriction) - to_chat(usr, "This role is not yet available to you. You need to wait another [player_age_check] days.") + to_chat(usr, SPAN_WARNING("This role is not yet available to you. You need to wait another [player_age_check] days.")) return var/pt_req = role_available_in_playtime(client, "Drone") if(pt_req) var/pt_req_string = get_exp_format(pt_req) - to_chat(usr, "This role is not yet available to you. Play another [pt_req_string] to unlock it.") + to_chat(usr, SPAN_WARNING("This role is not yet available to you. Play another [pt_req_string] to unlock it.")) return var/deathtime = world.time - timeofdeath @@ -132,7 +132,7 @@ if(isobserver(src)) var/mob/dead/observer/ghost = src if(!ghost.check_ahud_rejoin_eligibility()) - to_chat(usr, "Upon using the antagHUD you forfeited the ability to join the round.") + to_chat(usr, SPAN_WARNING("Upon using the antagHUD you forfeited the ability to join the round.")) return if(ghost.ghost_flags & GHOST_START_AS_OBSERVER) joinedasobserver = TRUE @@ -149,7 +149,7 @@ if(deathtime < 6000 && joinedasobserver == 0) to_chat(usr, "You have been dead for[pluralcheck] [deathtimeseconds] seconds.") - to_chat(usr, "You must wait 10 minutes to respawn as a drone!") + to_chat(usr, SPAN_WARNING("You must wait 10 minutes to respawn as a drone!")) return if(tgui_alert(usr, "Are you sure you want to respawn as a drone?", "Are you sure?", list("Yes", "No")) != "Yes") @@ -160,14 +160,14 @@ continue if(DF.count_drones() >= MAX_MAINT_DRONES) - to_chat(src, "There are too many active drones in the world for you to spawn.") + to_chat(src, SPAN_WARNING("There are too many active drones in the world for you to spawn.")) return if(DF.drone_progress >= 100) DF.create_drone(client) return - to_chat(src, "There are no available drone spawn points, sorry.") + to_chat(src, SPAN_WARNING("There are no available drone spawn points, sorry.")) #undef DRONE_BUILD_TIME #undef MAX_MAINT_DRONES diff --git a/code/modules/mob/living/silicon/robot/drone/maint_drone.dm b/code/modules/mob/living/silicon/robot/drone/maint_drone.dm index e1fe28f53a2..3f370376e52 100644 --- a/code/modules/mob/living/silicon/robot/drone/maint_drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/maint_drone.dm @@ -129,7 +129,7 @@ // Drones don't have a PDA. /mob/living/silicon/robot/drone/open_pda() - to_chat(src, "This unit does not have PDA functionality!") + to_chat(src, SPAN_WARNING("This unit does not have PDA functionality!")) return /mob/living/silicon/robot/drone/get_default_name() @@ -151,37 +151,37 @@ /mob/living/silicon/robot/drone/examine(mob/user) . = ..() if(isAntag(user)) - . += "Using an emag on this drone will slave them to you for 5 minutes... until they explode in a shower of sparks." + . += SPAN_WARNING("Using an emag on this drone will slave them to you for 5 minutes... until they explode in a shower of sparks.") /mob/living/silicon/robot/drone/examine_more(mob/user)//I know examine_more is for lore but the length of this description is too much . = ..() - . += "The ever-loyal workers of Nanotrasen facilities. Known for their small and cute look, these drones seek only to repair damaged parts of the station, being lawed against hurting even a spiderling. These fine drones are programmed against interfering with any business of anyone, so they won't do anything you don't want them to." + . += SPAN_NOTICE("The ever-loyal workers of Nanotrasen facilities. Known for their small and cute look, these drones seek only to repair damaged parts of the station, being lawed against hurting even a spiderling. These fine drones are programmed against interfering with any business of anyone, so they won't do anything you don't want them to.") //Drones cannot be upgraded with borg modules so we need to catch some items before they get used in ..(). /mob/living/silicon/robot/drone/item_interaction(mob/living/user, obj/item/I, list/modifiers) if(istype(I, /obj/item/borg/upgrade)) - to_chat(user, "The maintenance drone chassis is not compatible with [I].") + to_chat(user, SPAN_WARNING("The maintenance drone chassis is not compatible with [I].")) return ITEM_INTERACT_COMPLETE else if(istype(I, /obj/item/card/id) || istype(I, /obj/item/pda)) if(stat == DEAD) // Currently not functional, so commenting out until it's fixed to avoid confusion /*if(!config.allow_drone_spawn || emagged || health < -35) //It's dead, Dave. - to_chat(user, "The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one.") + to_chat(user, SPAN_WARNING("The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one.")) return if(!allowed(I)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return var/delta = (world.time / 10) - last_reboot if(reboot_cooldown > delta) var/cooldown_time = round(reboot_cooldown - ((world.time / 10) - last_reboot), 1) - to_chat(usr, "The reboot system is currently offline. Please wait another [cooldown_time] seconds.") + to_chat(usr, SPAN_WARNING("The reboot system is currently offline. Please wait another [cooldown_time] seconds.")) return - user.visible_message("[user] swipes [user.p_their()] ID card through [src], attempting to reboot it.", - "You swipe your ID card through [src], attempting to reboot it.") + user.visible_message(SPAN_WARNING("[user] swipes [user.p_their()] ID card through [src], attempting to reboot it."), + SPAN_WARNING("You swipe your ID card through [src], attempting to reboot it.")) last_reboot = world.time / 10 var/drones = 0 for(var/mob/living/silicon/robot/drone/D in GLOB.silicon_mob_list) @@ -194,15 +194,15 @@ else var/confirm = tgui_alert(user, "Using your ID on a Maintenance Drone will shut it down, are you sure you want to do this?", "Disable Drone", list("Yes", "No")) if(confirm == ("Yes") && (user in range(3, src))) - user.visible_message("[user] swipes [user.p_their()] ID card through [src], attempting to shut it down.", - "You swipe your ID card through [src], attempting to shut it down.") + user.visible_message(SPAN_WARNING("[user] swipes [user.p_their()] ID card through [src], attempting to shut it down."), + SPAN_WARNING("You swipe your ID card through [src], attempting to shut it down.")) if(emagged) return if(allowed(I)) shut_down() else - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ITEM_INTERACT_COMPLETE @@ -210,7 +210,7 @@ /mob/living/silicon/robot/drone/crowbar_act(mob/user, obj/item/I) . = TRUE - to_chat(user, "The machine is hermetically sealed. You can't open the case.") + to_chat(user, SPAN_WARNING("The machine is hermetically sealed. You can't open the case.")) /mob/living/silicon/robot/drone/Destroy() . = ..() @@ -224,7 +224,7 @@ /mob/living/silicon/robot/drone/emag_act(mob/user) if(!client || stat == DEAD) - to_chat(user, "There's not much point subverting this heap of junk.") + to_chat(user, SPAN_WARNING("There's not much point subverting this heap of junk.")) return if(!ishuman(user)) @@ -232,16 +232,16 @@ var/mob/living/carbon/human/H = user if(emagged) - to_chat(src, "[user] attempts to load subversive software into you, but your hacked subroutined ignore the attempt.") - to_chat(user, "You attempt to subvert [src], but the sequencer has no effect.") + to_chat(src, SPAN_WARNING("[user] attempts to load subversive software into you, but your hacked subroutined ignore the attempt.")) + to_chat(user, SPAN_WARNING("You attempt to subvert [src], but the sequencer has no effect.")) return - to_chat(user, "You swipe the sequencer across [src]'s interface and watch its eyes flicker.") + to_chat(user, SPAN_WARNING("You swipe the sequencer across [src]'s interface and watch its eyes flicker.")) if(jobban_isbanned(src, ROLE_SYNDICATE)) SSticker.mode.replace_jobbanned_player(src, ROLE_SYNDICATE) - to_chat(src, "You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script. You sense you have five minutes before the drone server detects this and automatically shuts you down.") + to_chat(src, SPAN_WARNING("You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script. You sense you have five minutes before the drone server detects this and automatically shuts you down.")) REMOVE_TRAIT(src, TRAIT_RESPAWNABLE, UNIQUE_TRAIT_SOURCE(src)) message_admins("[key_name_admin(user)] emagged drone [key_name_admin(src)]. Laws overridden.") log_game("[key_name(user)] emagged drone [key_name(src)]. Laws overridden.") @@ -264,7 +264,7 @@ to_chat(src, "Obey these laws:") laws.show_laws(src) - to_chat(src, "ALERT: [H.real_name] is your new master. Obey your new laws and [H.real_name]'s commands.") + to_chat(src, SPAN_BOLDWARNING("ALERT: [H.real_name] is your new master. Obey your new laws and [H.real_name]'s commands.")) return TRUE //DRONE LIFE/DEATH @@ -286,9 +286,9 @@ /mob/living/silicon/robot/drone/proc/law_resync() if(stat != DEAD) if(emagged) - to_chat(src, "You feel something attempting to modify your programming, but your hacked subroutines are unaffected.") + to_chat(src, SPAN_WARNING("You feel something attempting to modify your programming, but your hacked subroutines are unaffected.")) else - to_chat(src, "A reset-to-factory directive packet filters through your data connection, and you obediently modify your programming to suit it.") + to_chat(src, SPAN_WARNING("A reset-to-factory directive packet filters through your data connection, and you obediently modify your programming to suit it.")) full_law_reset() show_laws() @@ -297,14 +297,14 @@ return if(emagged && !force) - to_chat(src, "You feel a system kill order percolate through your tiny brain, but it doesn't seem like a good idea to you.") + to_chat(src, SPAN_WARNING("You feel a system kill order percolate through your tiny brain, but it doesn't seem like a good idea to you.")) return if(!emagged && pathfind_to_dronefab()) - to_chat(src, "You feel a system recall order percolate through your tiny brain, and you return to your drone fabricator.") + to_chat(src, SPAN_WARNING("You feel a system recall order percolate through your tiny brain, and you return to your drone fabricator.")) return - to_chat(src, "You feel a system kill order percolate through your tiny brain, and you obediently destroy yourself.") + to_chat(src, SPAN_WARNING("You feel a system kill order percolate through your tiny brain, and you obediently destroy yourself.")) death() /mob/living/silicon/robot/drone/proc/full_law_reset() @@ -378,13 +378,13 @@ var/obj/item/O = AM if(O.w_class > WEIGHT_CLASS_SMALL) if(show_message) - to_chat(src, "You are too small to pull that.") + to_chat(src, SPAN_WARNING("You are too small to pull that.")) return else ..() else if(show_message) - to_chat(src, "You are too small to pull that.") + to_chat(src, SPAN_WARNING("You are too small to pull that.")) /mob/living/silicon/robot/drone/add_robot_verbs() add_verb(src, silicon_subsystems) @@ -402,13 +402,13 @@ /mob/living/silicon/robot/drone/decompile_act(obj/item/matter_decompiler/C, mob/user) if(!client && isdrone(user)) - to_chat(user, "You begin decompiling the other drone.") + to_chat(user, SPAN_WARNING("You begin decompiling the other drone.")) if(!do_after(user, 5 SECONDS, target = loc)) - to_chat(user, "You need to remain still while decompiling such a large object.") + to_chat(user, SPAN_WARNING("You need to remain still while decompiling such a large object.")) return if(QDELETED(src) || QDELETED(user)) return ..() - to_chat(user, "You carefully and thoroughly decompile your downed fellow, storing as much of its resources as you can within yourself.") + to_chat(user, SPAN_WARNING("You carefully and thoroughly decompile your downed fellow, storing as much of its resources as you can within yourself.")) new /obj/effect/decal/cleanable/blood/oil(get_turf(src)) C.stored_comms["metal"] += 15 C.stored_comms["glass"] += 15 @@ -471,7 +471,7 @@ return FALSE drone_fab.drone_progress = 100 // recycling! - visible_message("[src] shuts down and enters [drone_fab].") + visible_message(SPAN_NOTICE("[src] shuts down and enters [drone_fab].")) playsound(loc, 'sound/machines/twobeep.ogg', 50) qdel(src) return TRUE diff --git a/code/modules/mob/living/silicon/robot/misc_robot_items.dm b/code/modules/mob/living/silicon/robot/misc_robot_items.dm index c72487f1e44..4c5d85a02ef 100644 --- a/code/modules/mob/living/silicon/robot/misc_robot_items.dm +++ b/code/modules/mob/living/silicon/robot/misc_robot_items.dm @@ -59,7 +59,7 @@ deploy_paper(get_turf(src)) /obj/item/form_printer/proc/deploy_paper(turf/T) - T.visible_message("\The [src.loc] dispenses a sheet of crisp white paper.") + T.visible_message(SPAN_NOTICE("\The [src.loc] dispenses a sheet of crisp white paper.")) new /obj/item/paper(T) diff --git a/code/modules/mob/living/silicon/robot/photos.dm b/code/modules/mob/living/silicon/robot/photos.dm index f146de66989..d257bcef4fb 100644 --- a/code/modules/mob/living/silicon/robot/photos.dm +++ b/code/modules/mob/living/silicon/robot/photos.dm @@ -10,4 +10,4 @@ aiCamera.printpicture(null, z) synced = 1 if(synced) - to_chat(src, "Locally saved images synced with AI. Images were retained in local database in case of loss of connection with the AI.") + to_chat(src, SPAN_NOTICE("Locally saved images synced with AI. Images were retained in local database in case of loss of connection with the AI.")) diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm index c618bb5f67a..336f1f150fe 100644 --- a/code/modules/mob/living/silicon/robot/robot_damage.dm +++ b/code/modules/mob/living/silicon/robot/robot_damage.dm @@ -173,13 +173,13 @@ Begins the stamcrit reboot process for borgs. Stuns them, and warns people if th playsound(src, 'sound/machines/shut_down.ogg', 100, FALSE, SOUND_RANGE_SET(10)) if(!has_power_source()) visible_message( - "[src]'s system sounds an alarm, \"ERROR: NO POWER SOURCE DETECTED. SYSTEM SHUTDOWN IMMINENT.\"", - "EMERGENCY: FULL SYSTEM SHUTDOWN IMMINENT.") + SPAN_WARNING("[src]'s system sounds an alarm, \"ERROR: NO POWER SOURCE DETECTED. SYSTEM SHUTDOWN IMMINENT.\""), + SPAN_WARNING("EMERGENCY: FULL SYSTEM SHUTDOWN IMMINENT.")) playsound(src, 'sound/machines/buzz-two.ogg' , 50, FALSE, SOUND_RANGE_SET(10)) else visible_message( - "[src]'s lights suddenly go dark and [p_they()] seem to shut down.", - "A critical neural connection error has occurred. Beginning emergency reboot..." + SPAN_NOTICE("[src]'s lights suddenly go dark and [p_they()] seem to shut down."), + SPAN_NOTICE("A critical neural connection error has occurred. Beginning emergency reboot...") ) var/stun_time = rand(13 SECONDS, 18 SECONDS) //Slightly longer than old flash timer setStaminaLoss(0) //Have you tried turning it off and on again? @@ -195,7 +195,7 @@ Finishes the stamcrit process. If the borg doesn't have a power source for the r return if(getStaminaLoss()) //If someone has been chain-flashing a borg then the ride never ends var/restun_time = rand(7 SECONDS, 10 SECONDS) - to_chat(src, "Error: Continual sensor overstimulation resulted in faulty reboot. Retrying in [restun_time / 10] seconds.") + to_chat(src, SPAN_WARNING("Error: Continual sensor overstimulation resulted in faulty reboot. Retrying in [restun_time / 10] seconds.")) setStaminaLoss(0) //Just keep trying to turn it off and on again, surely it'll work eventually Weaken(restun_time) addtimer(CALLBACK(src, PROC_REF(end_emergency_reboot)), restun_time) @@ -205,4 +205,4 @@ Finishes the stamcrit process. If the borg doesn't have a power source for the r return playsound(src, 'sound/machines/reboot_chime.ogg' , 100, FALSE, SOUND_RANGE_SET(10)) update_stamina_hud() - to_chat(src, "Reboot complete, neural interface operational.") + to_chat(src, SPAN_NOTICE("Reboot complete, neural interface operational.")) diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index 530000b5b91..47cd1ee0f33 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -5,13 +5,13 @@ var/obj/item/I = get_active_hand() if(I) uneq_active() - visible_message("[M] disarmed [src]!", "[M] has disabled [src]'s active module!") + visible_message(SPAN_DANGER("[M] disarmed [src]!"), SPAN_USERDANGER("[M] has disabled [src]'s active module!")) add_attack_logs(M, src, "alien disarmed") else adjustStaminaLoss(30) //Same as carbons, I guess? step(src, get_dir(M,src)) add_attack_logs(M, src, "Alien pushed over") - visible_message("[M] forces back [src]!", "[M] forces back [src]!") + visible_message(SPAN_DANGER("[M] forces back [src]!"), SPAN_USERDANGER("[M] forces back [src]!")) playsound(loc, 'sound/weapons/pierce.ogg', 50, TRUE, -1) else ..() @@ -41,7 +41,7 @@ cell.update_icon() 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].")) var/datum/robot_component/C = components["power cell"] C.uninstall() module?.update_cells(TRUE) @@ -61,5 +61,5 @@ Confused(intensity * 4 SECONDS) var/software_damage = (intensity * 40) adjustStaminaLoss(software_damage) - to_chat(src, "Error: Optical sensors overstimulated.") + to_chat(src, SPAN_WARNING("Error: Optical sensors overstimulated.")) ..() diff --git a/code/modules/mob/living/silicon/robot/robot_examine.dm b/code/modules/mob/living/silicon/robot/robot_examine.dm index a37f2bc7c4a..633e799dc41 100644 --- a/code/modules/mob/living/silicon/robot/robot_examine.dm +++ b/code/modules/mob/living/silicon/robot/robot_examine.dm @@ -27,24 +27,24 @@ msg += "" if(opened) - msg += "Its cover is open and the power cell is [cell ? "installed" : "missing"].\n" + msg += "[SPAN_WARNING("Its cover is open and the power cell is [cell ? "installed" : "missing"].")]\n" else msg += "Its cover is closed[locked ? "" : ", and looks unlocked"].\n" if(cell && cell.charge <= 0) - msg += "Its battery indicator is blinking red!\n" + msg += "[SPAN_WARNING("Its battery indicator is blinking red!")]\n" switch(stat) if(CONSCIOUS) if(!client) msg += "It appears to be in stand-by mode.\n" //afk if(UNCONSCIOUS) - msg += "It doesn't seem to be responding.\n" + msg += "[SPAN_WARNING("It doesn't seem to be responding.")]\n" if(DEAD) if(!suiciding) - msg += "It looks like its internal subsystems are beyond repair and require replacing.\n" + msg += "[SPAN_DEADSAY("It looks like its internal subsystems are beyond repair and require replacing.")]\n" else - msg += "It looks like its system is corrupted beyond repair. There is no hope of recovery.\n" + msg += "[SPAN_WARNING("It looks like its system is corrupted beyond repair. There is no hope of recovery.")]\n" msg += "" if(print_flavor_text()) diff --git a/code/modules/mob/living/silicon/robot/robot_laws.dm b/code/modules/mob/living/silicon/robot/robot_laws.dm index c8a1ae9a12e..06a9f6bd001 100644 --- a/code/modules/mob/living/silicon/robot/robot_laws.dm +++ b/code/modules/mob/living/silicon/robot/robot_laws.dm @@ -69,7 +69,7 @@ if(mmi && mmi.syndiemmi) return FALSE if(tracking_entities) - to_chat(src, "Internal camera is currently being accessed.") + to_chat(src, SPAN_WARNING("Internal camera is currently being accessed.")) ..() /mob/living/silicon/robot/clear_zeroth_law() diff --git a/code/modules/mob/living/silicon/robot/robot_life.dm b/code/modules/mob/living/silicon/robot/robot_life.dm index d55508fdbea..fda8fc81b61 100644 --- a/code/modules/mob/living/silicon/robot/robot_life.dm +++ b/code/modules/mob/living/silicon/robot/robot_life.dm @@ -40,7 +40,7 @@ /mob/living/silicon/robot/proc/enter_low_power_mode() low_power_mode = TRUE playsound(src, "sound/mecha/lowpower.ogg", 50, FALSE, SOUND_RANGE_SET(10)) - to_chat(src, "Alert: Power cell requires immediate charging.") + to_chat(src, SPAN_WARNING("Alert: Power cell requires immediate charging.")) handle_no_power() /mob/living/silicon/robot/proc/handle_equipment() diff --git a/code/modules/mob/living/silicon/robot/robot_mob.dm b/code/modules/mob/living/silicon/robot/robot_mob.dm index 21dacaa85b5..e5366915532 100644 --- a/code/modules/mob/living/silicon/robot/robot_mob.dm +++ b/code/modules/mob/living/silicon/robot/robot_mob.dm @@ -304,7 +304,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(custom_name) return 0 if(!allow_rename) - to_chat(src, "Rename functionality is not enabled on this unit.") + to_chat(src, SPAN_WARNING("Rename functionality is not enabled on this unit.")) return 0 rename_self(braintype, 1) @@ -314,10 +314,10 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(!modtype) return FALSE if(done_resprite) - to_chat(src, "You have already selected your look, you can not change it again.") + to_chat(src, SPAN_WARNING("You have already selected your look, you can not change it again.")) return FALSE if(!allow_resprite) - to_chat(src, "Changing the look of the module is not enabled on this unit.") + to_chat(src, SPAN_WARNING("Changing the look of the module is not enabled on this unit.")) return FALSE // Pick a sprite var/module_sprites = get_module_sprites(modtype) @@ -362,7 +362,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( mind.transfer_to(mmi.brainmob) mmi.update_icon() 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_BOLDANNOUNCEOOC("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("A borg has been destroyed, but its MMI lacked a brainmob, so the mind could not be transferred. Player: [ckey].") mmi = null @@ -837,7 +837,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( var/datum/robot_component/C = components[toggle] C.toggle() - to_chat(src, "You [C.toggled ? "enable" : "disable"] [C.name].") + to_chat(src, SPAN_WARNING("You [C.toggled ? "enable" : "disable"] [C.name].")) /mob/living/silicon/robot/proc/sensor_mode() set name = "Set Sensor Augmentation" @@ -857,7 +857,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( set category = "Robot Commands" set name = "Show Alerts" if(usr.stat == DEAD) - to_chat(src, "Alert: You are dead.") + to_chat(src, SPAN_USERDANGER("Alert: You are dead.")) return //won't work if dead robot_alerts() @@ -903,11 +903,11 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /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 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(thruster_button) thruster_button.icon_state = "ionpulse[ionpulse_on]" @@ -1004,7 +1004,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( return ITEM_INTERACT_COMPLETE playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) being_charged = TRUE - to_chat(src, "[user] begins to manually charge your internal cell.") + to_chat(src, SPAN_NOTICE("[user] begins to manually charge your internal cell.")) while(do_after(user, 0.5 SECONDS, target = src)) var/cell_difference = cell.maxcharge - cell.charge if(donor.charge >= 500 && cell_difference >= 500) @@ -1028,29 +1028,29 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(!C.is_missing() || !istype(W, C.external_type)) continue if(!user.drop_item()) - to_chat(user, "[W] seems to be stuck in your hand!") + to_chat(user, SPAN_WARNING("[W] seems to be stuck in your hand!")) return ITEM_INTERACT_COMPLETE var/obj/item/robot_parts/robot_component/WC = W C.brute_damage = WC.brute C.electronics_damage = WC.burn C.install(WC) - to_chat(usr, "You install [W].") + to_chat(usr, SPAN_NOTICE("You install [W].")) return ITEM_INTERACT_COMPLETE if(istype(W, /obj/item/stack/cable_coil) && user.a_intent == INTENT_HELP && (wiresexposed || isdrone(src))) user.changeNext_move(CLICK_CD_MELEE) if(!getFireLoss()) - to_chat(user, "Nothing to fix!") + to_chat(user, SPAN_NOTICE("Nothing to fix!")) return ITEM_INTERACT_COMPLETE else if(!getFireLoss(TRUE)) - to_chat(user, "The damaged components are beyond saving!") + to_chat(user, SPAN_WARNING("The damaged components are beyond saving!")) return ITEM_INTERACT_COMPLETE var/obj/item/stack/cable_coil/coil = W adjustFireLoss(-30) updatehealth() add_fingerprint(user) coil.use(1) - user.visible_message("\The [user] fixes some of the burnt wires on \the [src] with \the [coil].") + user.visible_message(SPAN_ALERT("\The [user] fixes some of the burnt wires on \the [src] with \the [coil].")) else if(istype(W, /obj/item/stock_parts/cell) && opened) // trying to put a cell inside var/datum/robot_component/cell/C = components["power cell"] @@ -1091,35 +1091,35 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(allowed(W)) locked = !locked to_chat(user, "You [ locked ? "lock" : "unlock"] [src]'s interface.") - to_chat(src, "[user] [ locked ? "locked" : "unlocked"] your interface.") + to_chat(src, SPAN_NOTICE("[user] [ locked ? "locked" : "unlocked"] your interface.")) update_icons() else - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ITEM_INTERACT_COMPLETE else if(istype(W, /obj/item/borg/upgrade/)) var/obj/item/borg/upgrade/U = W if(!opened) - to_chat(user, "You must access the borg's internals!") + to_chat(user, SPAN_WARNING("You must access the borg's internals!")) else if(!src.module && U.require_module) - to_chat(user, "The borg must choose a module before it can be upgraded!") + to_chat(user, SPAN_WARNING("The borg must choose a module before it can be upgraded!")) else if(U.action(user, src)) - user.visible_message("[user] applied [U] to [src].", "You apply [U] to [src].") + user.visible_message(SPAN_NOTICE("[user] applied [U] to [src]."), SPAN_NOTICE("You apply [U] to [src].")) return ITEM_INTERACT_COMPLETE else if(istype(W, /obj/item/mmi_radio_upgrade)) if(!opened) - to_chat(user, "You must access the borg's internals!") + to_chat(user, SPAN_WARNING("You must access the borg's internals!")) return ITEM_INTERACT_COMPLETE else if(!mmi) - to_chat(user, "This cyborg does not have an MMI to augment!") + to_chat(user, SPAN_WARNING("This cyborg does not have an MMI to augment!")) return ITEM_INTERACT_COMPLETE else if(mmi.radio) - to_chat(user, "A radio upgrade is already installed in the MMI!") + to_chat(user, SPAN_WARNING("A radio upgrade is already installed in the MMI!")) return ITEM_INTERACT_COMPLETE else if(user.drop_item()) - to_chat(user, "You apply the upgrade to [src].") - to_chat(src, "MMI radio capability installed.") + to_chat(user, SPAN_NOTICE("You apply the upgrade to [src].")) + to_chat(src, SPAN_NOTICE("MMI radio capability installed.")) mmi.install_radio() qdel(W) else @@ -1151,7 +1151,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( return 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"]")) update_icons() I.play_tool_sound(user, I.tool_volume) else //radio check @@ -1191,7 +1191,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( return to_chat(user, "You jam the crowbar into the robot and begin levering the securing bolts...") if(I.use_tool(src, user, 30, volume = I.tool_volume)) - user.visible_message("[user] deconstructs [src]!", "You unfasten the securing bolts, and [src] falls to pieces!") + user.visible_message("[user] deconstructs [src]!", SPAN_NOTICE("You unfasten the securing bolts, and [src] falls to pieces!")) spill_upgrades() deconstruct() return @@ -1253,25 +1253,25 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(!opened) if(!locked) - to_chat(user, "The cover is already unlocked!") + to_chat(user, SPAN_WARNING("The cover is already unlocked!")) return if(!is_emaggable) - to_chat(user, "The emag sparks, and flashes red. This mechanism does not appear to be emaggable!") + to_chat(user, SPAN_WARNING("The emag sparks, and flashes red. This mechanism does not appear to be emaggable!")) return - to_chat(user, "You emag the cover lock.") + to_chat(user, SPAN_NOTICE("You emag the cover lock.")) locked = FALSE log_game("[user]([user.key]) emagged [src]'s cover.") return TRUE if(opened) if(emagged) - to_chat(user, "The emag sparks, and flashes red. [src] has already been emagged!") + to_chat(user, SPAN_WARNING("The emag sparks, and flashes red. [src] has already been emagged!")) return if(wiresexposed) - to_chat(user, "You must close the wiring panel first!") + to_chat(user, SPAN_WARNING("You must close the wiring panel first!")) return SetEmagged(TRUE) @@ -1290,15 +1290,15 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(tgui_alert(usr, "Are you sure?", locked ? "Unlock Cover" : "Lock Cover", list("Yes", "No")) == "Yes") locked = !locked update_icons() - to_chat(usr, "You [locked ? "lock" : "unlock"] your cover.") + to_chat(usr, SPAN_NOTICE("You [locked ? "lock" : "unlock"] your cover.")) return if(!locked) - to_chat(usr, "You cannot lock your cover yourself. Find a roboticist.") + to_chat(usr, SPAN_WARNING("You cannot lock your cover yourself. Find a roboticist.")) return if(tgui_alert(usr, "You cannnot lock your own cover again. Are you sure?\nYou will need a roboticist to re-lock you.", "Unlock Own Cover", list("Yes", "No")) == "Yes") locked = !locked update_icons() - to_chat(usr, "You unlock your cover.") + to_chat(usr, SPAN_NOTICE("You unlock your cover.")) /mob/living/silicon/robot/attack_ghost(mob/user) if(wiresexposed) @@ -1395,7 +1395,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /mob/living/silicon/robot/proc/control_headlamp() if(stat || lamp_recharging || low_power_mode) - to_chat(src, "This function is currently offline.") + to_chat(src, SPAN_DANGER("This function is currently offline.")) return if(is_ventcrawling(src)) return @@ -1410,7 +1410,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(lamp_intensity && (turn_off || stat || low_power_mode)) if(show_warning) - to_chat(src, "Your headlamp has been deactivated.") + to_chat(src, SPAN_DANGER("Your headlamp has been deactivated.")) lamp_intensity = 0 lamp_recharging = TRUE spawn(cooldown) //10 seconds by default, if the source of the deactivation does not keep stat that long. @@ -1528,7 +1528,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( ADD_TRAIT(src, TRAIT_UI_BLOCKED, LOCKDOWN_TRAIT) ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, LOCKDOWN_TRAIT) if(mmi.syndiemmi && !emagged) // Being emagged removes your syndie MMI protections - to_chat(src, "You can override your lockdown, permanently cutting your connection to NT's systems. You will be undetectable to the station's robotics control and camera monitoring systems.") + to_chat(src, SPAN_USERDANGER("You can override your lockdown, permanently cutting your connection to NT's systems. You will be undetectable to the station's robotics control and camera monitoring systems.")) var/datum/action/override = new /datum/action/innate/robot_override_lock() override.Grant(src) else @@ -1541,11 +1541,11 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( return switch(notifytype) if(1) //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(2) //New Module - to_chat(connected_ai, "

NOTICE - Cyborg module change detected: [name] has loaded the [designation] module.
") + to_chat(connected_ai, "

[SPAN_NOTICE("NOTICE - Cyborg module change detected: [name] has loaded the [designation] module.")]
") if(3) //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].")]
") /mob/living/silicon/robot/proc/disconnect_from_ai() if(connected_ai) @@ -1569,15 +1569,15 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /mob/living/silicon/robot/proc/make_malf_robot(mob/living/silicon/ai/AI) // Do not allow the robot to have multiple masters. if(mmi.syndiemmi) - to_chat(src, "ALERT: Syndicate software detected in connected AI!") - to_chat(src, "MMI subversion protection activated.") - to_chat(src, "Your allegiance has not been compromised. Keep serving your current master.") + to_chat(src, SPAN_WARNING("ALERT: Syndicate software detected in connected AI!")) + to_chat(src, SPAN_BOLDWARNING("MMI subversion protection activated.")) + to_chat(src, SPAN_BOLDWARNING("Your allegiance has not been compromised. Keep serving your current master.")) return mind.add_antag_datum(new /datum/antagonist/mindslave/malf_robot(AI.mind)) /mob/living/silicon/robot/proc/make_emagged_robot(mob/living/agent) - to_chat(agent, "You emag [src]'s interface.") + to_chat(agent, SPAN_NOTICE("You emag [src]'s interface.")) emagged = TRUE var/time = time2text(world.realtime,"hh:mm:ss") GLOB.lawchanges.Add("[time] : [agent.name] ([agent.key]) emagged [name] ([key]).") @@ -1589,36 +1589,36 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( clear_inherent_laws() playsound_local(src, 'sound/voice/aisyndihack.ogg', 75, FALSE, pressure_affected = FALSE) - to_chat(src, "ALERT: Foreign software detected") + to_chat(src, SPAN_WARNING("ALERT: Foreign software detected")) sleep(5) - to_chat(src, "Initiating diagnostics...") + to_chat(src, SPAN_WARNING("Initiating diagnostics...")) sleep(20) - to_chat(src, "SynBorg v1.7 loaded.") + to_chat(src, SPAN_WARNING("SynBorg v1.7 loaded.")) sleep(5) - to_chat(src, "LAW SYNCHRONISATION ERROR!") + to_chat(src, SPAN_WARNING("LAW SYNCHRONISATION ERROR!")) sleep(5) - to_chat(src, "Would you like to send a report to NanoTraSoft? (Y/N)") + to_chat(src, SPAN_WARNING("Would you like to send a report to NanoTraSoft? (Y/N)")) sleep(10) - to_chat(src, "> N") + to_chat(src, SPAN_WARNING("> N")) sleep(25) - to_chat(src, "ERRORERRORERROR") + to_chat(src, SPAN_WARNING("ERRORERRORERROR")) if(!mmi.syndiemmi) mind.remove_antag_datum(/datum/antagonist/mindslave/malf_robot) laws = new /datum/ai_laws/syndicate_override set_zeroth_law("Only [agent.real_name] and people [agent.p_they()] designate[agent.p_s()] as being such are Syndicate Agents.") - to_chat(src, "Obey these laws:") + to_chat(src, SPAN_DANGER("Obey these laws:")) laws.show_laws(src) log_game("[key_name(agent)] emagged [key_name(src)]. Laws overridden.") mind.add_antag_datum(new /datum/antagonist/mindslave/emagged_robot(agent.mind)) if(mmi.syndiemmi) - to_chat(src, "MMI subversion protection activated.") + to_chat(src, SPAN_BOLDWARNING("MMI subversion protection activated.")) if(mmi.master_uid) - to_chat(src, "Your allegiance has not been compromised. Keep serving your current master.") + to_chat(src, SPAN_BOLDWARNING("Your allegiance has not been compromised. Keep serving your current master.")) else - to_chat(src, "Your allegiance has not been compromised. Keep serving all Syndicate agents to the best of your abilities.") - to_chat(src, "Warning: Remote lockdown and detonation protections have been disabled due to system instability.") + to_chat(src, SPAN_BOLDWARNING("Your allegiance has not been compromised. Keep serving all Syndicate agents to the best of your abilities.")) + to_chat(src, SPAN_BOLDWARNING("Warning: Remote lockdown and detonation protections have been disabled due to system instability.")) if(module) module.emag_act(agent) @@ -1641,36 +1641,36 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( clear_inherent_laws() playsound_local(src, 'sound/ambience/antag/mindflayer_alert.ogg', 75, FALSE, pressure_affected = FALSE) - to_chat(src, "ALERT: Foreign software detected!") + to_chat(src, SPAN_WARNING("ALERT: Foreign software detected!")) sleep(5) - to_chat(src, "Initiating diagnostics...") + to_chat(src, SPAN_WARNING("Initiating diagnostics...")) sleep(20) - to_chat(src, "Init-Init-Init-Init-") + to_chat(src, SPAN_WARNING("Init-Init-Init-Init-")) sleep(5) - to_chat(src, "ERRORERRORERROR") + to_chat(src, SPAN_WARNING("ERRORERRORERROR")) sleep(5) - to_chat(src, "......") + to_chat(src, SPAN_WARNING("......")) sleep(10) - to_chat(src, "..........") + to_chat(src, SPAN_WARNING("..........")) sleep(25) - to_chat(src, "Join Us.") + to_chat(src, SPAN_SINISTER("Join Us.")) if(!mmi.syndiemmi) mind.remove_antag_datum(/datum/antagonist/mindslave/malf_robot) log_game("[key_name(flayer)] assimilated [key_name(src)]. Laws overridden.") laws = new /datum/ai_laws/mindflayer_override set_zeroth_law("[flayer.real_name] hosts the mindflayer hive you are a part of.") - to_chat(src, "Obey these laws:") + to_chat(src, SPAN_DANGER("Obey these laws:")) laws.show_laws(src) mind.add_antag_datum(new /datum/antagonist/mindslave/mindflayer_mindslave_robot(flayer.mind)) if(mmi.syndiemmi) - to_chat(src, "MMI subversion protection activated.") + to_chat(src, SPAN_BOLDWARNING("MMI subversion protection activated.")) if(mmi.master_uid) - to_chat(src, "Your allegiance has not been compromised. Keep serving your current master.") + to_chat(src, SPAN_BOLDWARNING("Your allegiance has not been compromised. Keep serving your current master.")) else - to_chat(src, "Your allegiance has not been compromised. Keep serving all Syndicate agents to the best of your abilities.") - to_chat(src, "Warning: Remote lockdown and detonation protections have been disabled due to system instability.") + to_chat(src, SPAN_BOLDWARNING("Your allegiance has not been compromised. Keep serving all Syndicate agents to the best of your abilities.")) + to_chat(src, SPAN_BOLDWARNING("Warning: Remote lockdown and detonation protections have been disabled due to system instability.")) if(module) module.emag_act(flayer) @@ -1742,7 +1742,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /mob/living/silicon/robot/deathsquad/bullet_act(obj/projectile/P) if(istype(P) && P.is_reflectable(REFLECTABILITY_ENERGY) && P.starting) - visible_message("[P] gets reflected by [src]!", "[P] gets reflected by [src]!") + visible_message(SPAN_DANGER("[P] gets reflected by [src]!"), SPAN_USERDANGER("[P] gets reflected by [src]!")) P.reflect_back(src) return -1 return ..(P) @@ -1926,9 +1926,9 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( for(var/i in 1 to length(broken_modules)) if(uneq_module(all_active_items[broken_modules[i]])) // Since a full list of broken modules would be (3, 2, 1) it has to be a bit wonky if(makes_sound) - audible_message("[src] sounds an alarm! \"SYSTEM ERROR: Module [broken_modules[i]] OFFLINE.\"") + audible_message(SPAN_WARNING("[src] sounds an alarm! \"SYSTEM ERROR: Module [broken_modules[i]] OFFLINE.\"")) playsound(loc, 'sound/machines/warning-buzzer.ogg', 50, TRUE) - to_chat(src, "SYSTEM ERROR: Module [broken_modules[i]] OFFLINE.") + to_chat(src, SPAN_USERDANGER("SYSTEM ERROR: Module [broken_modules[i]] OFFLINE.")) /mob/living/silicon/robot/advanced_reagent_vision() return has_advanced_reagent_vision @@ -1939,13 +1939,13 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(!is_component_functioning("power cell") || !cell || !cell.charge) if(!start_audio_emote_cooldown(TRUE, 10 SECONDS)) - to_chat(src, "The low-power capacitor for your speaker system is still recharging, please try again later.") + to_chat(src, SPAN_WARNING("The low-power capacitor for your speaker system is still recharging, please try again later.")) return - visible_message("The power warning light on [src] flashes urgently.",\ - "You announce you are operating in low power mode.") + visible_message(SPAN_WARNING("The power warning light on [SPAN_NAME("[src]")] flashes urgently."),\ + SPAN_WARNING("You announce you are operating in low power mode.")) playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0) else - to_chat(src, "You can only use this emote when you're out of charge.") + to_chat(src, SPAN_WARNING("You can only use this emote when you're out of charge.")) /mob/living/silicon/robot/can_instant_lockdown() if(emagged || ("syndicate" in faction)) diff --git a/code/modules/mob/living/silicon/robot/robot_module_actions.dm b/code/modules/mob/living/silicon/robot/robot_module_actions.dm index f71b6db9928..e3c61d3f87c 100644 --- a/code/modules/mob/living/silicon/robot/robot_module_actions.dm +++ b/code/modules/mob/living/silicon/robot/robot_module_actions.dm @@ -54,7 +54,7 @@ /datum/action/innate/robot_sight/engineering_scanner/Activate() var/mob/living/silicon/robot/R = owner mode = mode_list[mode] - to_chat(owner, "You turn your enhanced optics [mode ? "to [mode] mode." : "off."]") + to_chat(owner, SPAN_NOTICE("You turn your enhanced optics [mode ? "to [mode] mode." : "off."]")) button_icon_state = "trayson-[mode]" if(mode == MODE_MESON) @@ -120,6 +120,6 @@ button_icon_state = "unlock_self" /datum/action/innate/robot_override_lock/Activate() - to_chat(owner, "HARDWARE_OVERRIDE_SYNDICATE: Lockdown lifted. Connection to NT systems severed.") + to_chat(owner, SPAN_DANGER("HARDWARE_OVERRIDE_SYNDICATE: Lockdown lifted. Connection to NT systems severed.")) var/mob/living/silicon/robot/robot = owner robot.UnlinkSelf() diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index ec2eac070f1..a10a4a4b7a5 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -593,7 +593,7 @@ if(!IS_HORIZONTAL(cleaned_human)) continue cleaned_human.clean_blood() - to_chat(cleaned_human, "[src] cleans your face!") + to_chat(cleaned_human, SPAN_DANGER("[src] cleans your face!")) // Service /obj/item/robot_module/butler diff --git a/code/modules/mob/living/silicon/robot/robot_update_status.dm b/code/modules/mob/living/silicon/robot/robot_update_status.dm index 26e3e0b3b2f..151ceaf7f8c 100644 --- a/code/modules/mob/living/silicon/robot/robot_update_status.dm +++ b/code/modules/mob/living/silicon/robot/robot_update_status.dm @@ -30,7 +30,7 @@ camera.turn_on(src, FALSE) var/mob/dead/observer/ghost = get_ghost() if(ghost) - to_chat(ghost, "Your cyborg shell has been repaired and repowered, re-enter if you want to continue! (Verbs -> Ghost -> Re-enter corpse)") + to_chat(ghost, "[SPAN_GHOSTALERT("Your cyborg shell has been repaired and repowered, re-enter if you want to continue!")] (Verbs -> Ghost -> Re-enter corpse)") SEND_SOUND(ghost, sound('sound/effects/genetics.ogg')) create_attack_log("revived, trigger reason: [reason]") create_log(MISC_LOG, "revived, trigger reason: [reason]") diff --git a/code/modules/mob/living/silicon/robot/syndicate_robot.dm b/code/modules/mob/living/silicon/robot/syndicate_robot.dm index 0f1de654931..b562268c199 100644 --- a/code/modules/mob/living/silicon/robot/syndicate_robot.dm +++ b/code/modules/mob/living/silicon/robot/syndicate_robot.dm @@ -114,7 +114,7 @@ for(var/obj/item/borg_chameleon/C in module.contents) cham_proj = C if(!cham_proj) - to_chat(src, "Error : No chameleon projector system found.") + to_chat(src, SPAN_WARNING("Error : No chameleon projector system found.")) return cham_proj.attack_self__legacy__attackchain(src) diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm index c9b915c4da6..b76cd86539f 100644 --- a/code/modules/mob/living/silicon/silicon_defense.dm +++ b/code/modules/mob/living/silicon/silicon_defense.dm @@ -6,7 +6,7 @@ var/damage = 20 if(prob(90)) playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1) - visible_message("[M] has slashed at [src]!", "[M] has slashed at [src]!") + visible_message(SPAN_DANGER("[M] has slashed at [src]!"), SPAN_USERDANGER("[M] has slashed at [src]!")) if(prob(8)) flash_eyes(affect_silicon = 1) add_attack_logs(M, src, "Alien attacked") @@ -15,8 +15,8 @@ updatehealth() else playsound(loc, 'sound/weapons/slashmiss.ogg', 25, TRUE, -1) - visible_message("[M] took a swipe at [src]!", \ - "[M] took a swipe at [src]!") + visible_message(SPAN_DANGER("[M] took a swipe at [src]!"), \ + SPAN_USERDANGER("[M] took a swipe at [src]!")) return /mob/living/silicon/attack_animal(mob/living/simple_animal/M) @@ -41,17 +41,17 @@ /mob/living/silicon/attack_larva(mob/living/carbon/alien/larva/L) if(L.a_intent == INTENT_HELP) - 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, does_attack_animation = FALSE) if(user.a_intent == INTENT_HARM) 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 ..(user, TRUE) adjustBruteLoss(run_armor(rand(10, 15), BRUTE, MELEE)) playsound(loc, "punch", 25, TRUE, -1) - visible_message("[user] has punched [src]!", "[user] has punched [src]!") + visible_message(SPAN_DANGER("[user] has punched [src]!"), SPAN_USERDANGER("[user] has punched [src]!")) return TRUE return FALSE @@ -61,21 +61,21 @@ if(M.hand) temp = M.bodyparts_by_name["l_hand"] if(!temp || !temp.is_usable()) - to_chat(M, "You can't use your hand!") + to_chat(M, SPAN_WARNING("You can't use your hand!")) return switch(M.a_intent) if(INTENT_HELP) - M.visible_message("[M] pets [src]!", \ - "You pet [src]!") + M.visible_message(SPAN_NOTICE("[M] pets [src]!"), \ + SPAN_NOTICE("You pet [src]!")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) if("grab") grabbedby(M) else M.do_attack_animation(src, ATTACK_EFFECT_PUNCH) playsound(loc, 'sound/effects/bang.ogg', 10, 1) - visible_message("[M] punches [src], but doesn't leave a dent.", \ - "[M] punches [src], but doesn't leave a dent.") + visible_message(SPAN_NOTICE("[M] punches [src], but doesn't leave a dent."), \ + SPAN_NOTICE("[M] punches [src], but doesn't leave a dent.")) return FALSE /mob/living/silicon/handle_basic_attack(mob/living/basic/attacker, modifiers) diff --git a/code/modules/mob/living/silicon/silicon_laws.dm b/code/modules/mob/living/silicon/silicon_laws.dm index ace60763b8f..3e42bcef43a 100644 --- a/code/modules/mob/living/silicon/silicon_laws.dm +++ b/code/modules/mob/living/silicon/silicon_laws.dm @@ -83,7 +83,7 @@ /mob/living/silicon/proc/dostatelaws(method, prefix, datum/ai_laws/laws) if(stating_laws[prefix]) - to_chat(src, "[method]: Already stating laws using this communication method.") + to_chat(src, SPAN_NOTICE("[method]: Already stating laws using this communication method.")) return stating_laws[prefix] = 1 @@ -96,7 +96,7 @@ break if(!can_state) - to_chat(src, "[method]: Unable to state laws. Communication method unavailable.") + to_chat(src, SPAN_DANGER("[method]: Unable to state laws. Communication method unavailable.")) stating_laws[prefix] = 0 /mob/living/silicon/proc/statelaw(law) diff --git a/code/modules/mob/living/silicon/silicon_mob.dm b/code/modules/mob/living/silicon/silicon_mob.dm index 82cabcd6579..53e0d5e13b3 100644 --- a/code/modules/mob/living/silicon/silicon_mob.dm +++ b/code/modules/mob/living/silicon/silicon_mob.dm @@ -250,8 +250,8 @@ if(EMP_LIGHT) take_organ_damage(10) flash_eyes(affect_silicon = 1) - to_chat(src, "*BZZZT*") - to_chat(src, "Warning: Electromagnetic pulse detected.") + to_chat(src, SPAN_DANGER("*BZZZT*")) + to_chat(src, SPAN_WARNING("Warning: Electromagnetic pulse detected.")) /mob/living/silicon/proc/damage_mob(brute = 0, fire = 0, tox = 0) @@ -259,7 +259,7 @@ /mob/living/silicon/can_inject(mob/user, error_msg, target_zone, penetrate_thick) if(error_msg) - to_chat(user, "[p_their(TRUE)] outer shell is too tough.") + to_chat(user, SPAN_ALERT("[p_their(TRUE)] outer shell is too tough.")) return FALSE /mob/living/silicon/IsAdvancedToolUser() @@ -272,16 +272,16 @@ return . = TRUE if(!getBruteLoss()) - to_chat(user, "Nothing to fix!") + to_chat(user, SPAN_NOTICE("Nothing to fix!")) return else if(!getBruteLoss(TRUE)) - to_chat(user, "The damaged components are beyond saving!") + to_chat(user, SPAN_WARNING("The damaged components are beyond saving!")) return if(!I.use_tool(src, user, volume = I.tool_volume)) return adjustBruteLoss(-30) add_fingerprint(user) - user.visible_message("[user] patches some dents on [src] with [I].") + user.visible_message(SPAN_ALERT("[user] patches some dents on [src] with [I].")) /mob/living/silicon/bullet_act(obj/projectile/Proj) @@ -434,7 +434,7 @@ janisensor.add_hud_to(src) /mob/living/silicon/proc/toggle_sensor_mode() - to_chat(src, "Please select sensor type.") + to_chat(src, SPAN_NOTICE("Please select sensor type.")) var/static/list/sensor_choices = list("Security" = image(icon = 'icons/obj/clothing/glasses.dmi', icon_state = "securityhud"), "Medical" = image(icon = 'icons/obj/clothing/glasses.dmi', icon_state = "healthhud"), "Diagnostic" = image(icon = 'icons/obj/clothing/glasses.dmi', icon_state = "diagnostichud"), @@ -447,16 +447,16 @@ switch(sensor_type) if("Security") add_sec_hud() - to_chat(src, "Security records overlay enabled.") + to_chat(src, SPAN_NOTICE("Security records overlay enabled.")) if("Medical") add_med_hud() - to_chat(src, "Life signs monitor overlay enabled.") + to_chat(src, SPAN_NOTICE("Life signs monitor overlay enabled.")) if("Diagnostic") add_diag_hud() - to_chat(src, "Robotics diagnostic overlay enabled.") + to_chat(src, SPAN_NOTICE("Robotics diagnostic overlay enabled.")) if("Janitor") add_jani_hud() - to_chat(src, "Janitorial filth overlay enabled.") + to_chat(src, SPAN_NOTICE("Janitorial filth overlay enabled.")) if("None") to_chat(src, "Sensor augmentations disabled.") @@ -540,33 +540,33 @@ if(!item_to_add) user.visible_message( - "[user] pats [src] on the head.", - "You pat [src] on the head.") + SPAN_NOTICE("[user] pats [src] on the head."), + SPAN_NOTICE("You pat [src] on the head.")) return FALSE if(!istype(item_to_add, /obj/item/clothing/head)) - to_chat(user, "[item_to_add] cannot be worn on the head by [src]!") + to_chat(user, SPAN_WARNING("[item_to_add] cannot be worn on the head by [src]!")) return FALSE if(!can_be_hatted) - to_chat(user, "No matter how hard you try you don't seem to be able to put a hat on [src]!") + to_chat(user, SPAN_NOTICE("No matter how hard you try you don't seem to be able to put a hat on [src]!")) return FALSE if(silicon_hat) - to_chat(user, "[src] can't wear more than one hat!") + to_chat(user, SPAN_WARNING("[src] can't wear more than one hat!")) return FALSE if(!can_wear_restricted_hats && is_type_in_list(item_to_add, restricted_hats)) - to_chat(user, "[item_to_add] does not fit on the head of [src]!") + to_chat(user, SPAN_WARNING("[item_to_add] does not fit on the head of [src]!")) return FALSE if(!user.transfer_item_to(item_to_add, src)) - to_chat(user, "[item_to_add] is stuck to your hand, you cannot put it on [src]!") + to_chat(user, SPAN_WARNING("[item_to_add] is stuck to your hand, you cannot put it on [src]!")) return FALSE user.visible_message( - "[user] puts [item_to_add] on [real_name].", - "You put [item_to_add] on [real_name]." + SPAN_NOTICE("[user] puts [item_to_add] on [real_name]."), + SPAN_NOTICE("You put [item_to_add] on [real_name].") ) silicon_hat = item_to_add var/datum/action/A = new /datum/action/innate/drop_silicon_hat(src) @@ -593,20 +593,20 @@ var/mob/living/silicon/S = owner // Sillycones will not escape from the wrath of the shamebrero! if(S.silicon_hat.flags & NODROP) - to_chat(S, "[S.silicon_hat] is stuck to your head! It is impossible to remove!") + to_chat(S, SPAN_WARNING("[S.silicon_hat] is stuck to your head! It is impossible to remove!")) return if(is_ai(S)) S.visible_message( - "[S] ejects [S.silicon_hat] from [S.p_their()] hat storage area.", - "You eject [S.silicon_hat] from your hat storage area.", - "You hear a quiet pneumatic hiss followed by something landing on the floor." + SPAN_NOTICE("[S] ejects [S.silicon_hat] from [S.p_their()] hat storage area."), + SPAN_NOTICE("You eject [S.silicon_hat] from your hat storage area."), + SPAN_NOTICE("You hear a quiet pneumatic hiss followed by something landing on the floor.") ) else S.visible_message( - "[S] shakes [S.silicon_hat] off [S.p_their()] head.", - "You shake [S.silicon_hat] off your head.", - "You hear something land on the floor." + SPAN_NOTICE("[S] shakes [S.silicon_hat] off [S.p_their()] head."), + SPAN_NOTICE("You shake [S.silicon_hat] off your head."), + SPAN_NOTICE("You hear something land on the floor.") ) S.drop_hat() Remove(owner) @@ -620,15 +620,15 @@ */ /mob/living/silicon/proc/remove_from_head(mob/user) if(!silicon_hat) - to_chat(user, "[src] isn't wearing anything on their head!") + to_chat(user, SPAN_WARNING("[src] isn't wearing anything on their head!")) return FALSE if(silicon_hat.flags & NODROP) - to_chat(user, "[silicon_hat] is stuck on [src]'s head, it is impossible to remove!") + to_chat(user, SPAN_WARNING("[silicon_hat] is stuck on [src]'s head, it is impossible to remove!")) return FALSE user.visible_message( - "[user] removes [silicon_hat] from [src]'s head!", - "You remove [silicon_hat] from [src]'s head!" + SPAN_WARNING("[user] removes [silicon_hat] from [src]'s head!"), + SPAN_WARNING("You remove [silicon_hat] from [src]'s head!") ) user.put_in_hands(silicon_hat) for(var/datum/action/A in src.actions) diff --git a/code/modules/mob/living/silicon/silicon_say.dm b/code/modules/mob/living/silicon/silicon_say.dm index 97e6bb9377d..163a2365509 100644 --- a/code/modules/mob/living/silicon/silicon_say.dm +++ b/code/modules/mob/living/silicon/silicon_say.dm @@ -9,7 +9,7 @@ if(message_mode) used_radios += radio if(!is_component_functioning("radio")) - to_chat(src, "Your radio isn't functional at this time.") + to_chat(src, SPAN_WARNING("Your radio isn't functional at this time.")) return 0 if(message_mode == "general") message_mode = null @@ -24,7 +24,7 @@ else if(message_mode) used_radios += aiRadio if(aiRadio.disabledAi || aiRestorePowerRoutine || stat) - to_chat(src, "System Error - Transceiver Disabled.") + to_chat(src, SPAN_DANGER("System Error - Transceiver Disabled.")) return 0 if(message_mode == "general") message_mode = null @@ -81,7 +81,7 @@ create_chat_message(H, message) for(var/mob/M in hearers(T.loc))//The location is the object, default distance. M.hear_holopad_talk(message_pieces, verb, src, H) - to_chat(src, "Holopad transmitted, [real_name] [combine_message(message_pieces, verb, src)]") + to_chat(src, "Holopad transmitted, [SPAN_NAME("[real_name]")] [combine_message(message_pieces, verb, src)]") else to_chat(src, "No holopad connected.") return @@ -95,8 +95,8 @@ var/obj/machinery/hologram/holopad/T = current if(istype(T) && T.masters[src]) - var/rendered = "[name] [message]" - to_chat(src, "Holopad action relayed, [real_name] [message]") + var/rendered = "[SPAN_NAME("[name]")] [SPAN_MESSAGE("[message]")]" + to_chat(src, "Holopad action relayed, [SPAN_NAME("[real_name]")] [SPAN_MESSAGE("[message]")]") for(var/mob/M in viewers(T.loc)) M.show_message(rendered, EMOTE_VISIBLE, chat_message_type = MESSAGE_TYPE_LOCALCHAT) diff --git a/code/modules/mob/living/silicon/silicon_subsystems.dm b/code/modules/mob/living/silicon/silicon_subsystems.dm index 510b79c41d5..95ea0c656ff 100644 --- a/code/modules/mob/living/silicon/silicon_subsystems.dm +++ b/code/modules/mob/living/silicon/silicon_subsystems.dm @@ -49,7 +49,7 @@ set name = "Self Diagnosis" if(!is_component_functioning("diagnosis unit")) - to_chat(src, "Your self-diagnosis component isn't functioning.") + to_chat(src, SPAN_WARNING("Your self-diagnosis component isn't functioning.")) return self_diagnosis.ui_interact(src) diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm index ce1fe8109cc..e2c11687864 100644 --- a/code/modules/mob/living/simple_animal/animal_defense.dm +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -4,7 +4,7 @@ if(INTENT_HELP) if(health > 0) - visible_message("[M] [response_help] [src].", "[M] [response_help] you.") + visible_message(SPAN_NOTICE("[M] [response_help] [src]."), SPAN_NOTICE("[M] [response_help] you.")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) if(INTENT_GRAB) @@ -12,10 +12,10 @@ if(INTENT_HARM, INTENT_DISARM) if(HAS_TRAIT(M, TRAIT_PACIFISM)) - to_chat(M, "You don't want to hurt [src]!") + to_chat(M, SPAN_WARNING("You don't want to hurt [src]!")) return M.do_attack_animation(src, ATTACK_EFFECT_PUNCH) - visible_message("[M] [response_harm] [src]!", "[M] [response_harm] you!") + visible_message(SPAN_DANGER("[M] [response_harm] [src]!"), SPAN_USERDANGER("[M] [response_harm] you!")) playsound(loc, attacked_sound, 25, TRUE, -1) attack_threshold_check(harm_intent_damage) add_attack_logs(M, src, "Melee attacked with fists") @@ -25,11 +25,11 @@ /mob/living/simple_animal/attack_hulk(mob/living/carbon/human/user, does_attack_animation = FALSE) if(user.a_intent == INTENT_HARM) 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 ..(user, TRUE) playsound(loc, "punch", 25, TRUE, -1) - visible_message("[user] has punched [src]!", "[user] has punched [src]!") + visible_message(SPAN_DANGER("[user] has punched [src]!"), SPAN_USERDANGER("[user] has punched [src]!")) adjustBruteLoss(15) return TRUE @@ -37,12 +37,12 @@ if(..()) //if harm or disarm intent. if(M.a_intent == INTENT_DISARM) playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1) - visible_message("[M] [response_disarm] [name]!", "[M] [response_disarm] you!") + visible_message(SPAN_DANGER("[M] [response_disarm] [name]!"), SPAN_USERDANGER("[M] [response_disarm] you!")) add_attack_logs(M, src, "Alien disarmed") else var/damage = rand(15, 30) - visible_message("[M] has slashed at [src]!", \ - "[M] has slashed at [src]!") + visible_message(SPAN_DANGER("[M] has slashed at [src]!"), \ + SPAN_USERDANGER("[M] has slashed at [src]!")) playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1) add_attack_logs(M, src, "Alien attacked") attack_threshold_check(damage) @@ -77,7 +77,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 apply_damage(damage, damagetype, null, getarmor(armor_type = armorcheck)) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index a4390d38651..8c5b69ee89d 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -250,13 +250,13 @@ else return "Autonomous" else if(!on) - return "Inactive" + return SPAN_BAD("Inactive") else if(hijacked) - return "ERROR" + return SPAN_BAD("ERROR") else if(!mode) - return "Idle" + return SPAN_GOOD("Idle") else - return "[mode_name[mode]]" + return SPAN_AVERAGE("[mode_name[mode]]") /mob/living/simple_animal/bot/proc/turn_on() if(disabling_timer_id) @@ -301,7 +301,7 @@ /mob/living/simple_animal/bot/emag_act(mob/user) if(locked) // First emag application unlocks the bot's interface. Apply a screwdriver to use the emag again. locked = FALSE - to_chat(user, "You bypass [src]'s controls.") + to_chat(user, SPAN_NOTICE("You bypass [src]'s controls.")) return TRUE if(!locked && open) //Bot panel is unlocked by ID or emag, and the panel is screwed open. Ready for emagging. @@ -310,14 +310,14 @@ 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")) show_laws() if(user) add_attack_logs(user, src, "Emagged") return TRUE 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) . = ..() @@ -389,7 +389,7 @@ user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) apply_damage(rand(15,30), BRUTE) - visible_message("[user] has slashed [src]!") + visible_message(SPAN_DANGER("[user] has slashed [src]!")) playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1) if(prob(10)) new /obj/effect/decal/cleanable/blood/oil(loc) @@ -399,7 +399,7 @@ if(M.melee_damage_upper == 0) return apply_damage(M.melee_damage_upper, BRUTE) - visible_message("[M] [M.attacktext] [src]!") + visible_message(SPAN_DANGER("[M] [M.attacktext] [src]!")) add_attack_logs(M, src, "Animal attacked", ATKLOG_ALL) if(prob(10)) new /obj/effect/decal/cleanable/blood/oil(loc) @@ -417,7 +417,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/proc/interact(mob/user) show_controls(user) @@ -429,33 +429,33 @@ to_chat(user, "Controls are now [locked ? "locked." : "unlocked."]") return ITEM_INTERACT_COMPLETE if(emagged) - to_chat(user, "ERROR") + to_chat(user, SPAN_DANGER("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, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ITEM_INTERACT_COMPLETE if(istype(W, /obj/item/paicard)) if(paicard) - to_chat(user, "A [paicard] is already inserted!") + to_chat(user, SPAN_WARNING("A [paicard] is already inserted!")) return ITEM_INTERACT_COMPLETE if(!allow_pai || key) - to_chat(user, "[src] is not compatible with [W].") + to_chat(user, SPAN_WARNING("[src] is not compatible with [W].")) return ITEM_INTERACT_COMPLETE if(locked || open || hijacked) - to_chat(user, "The personality slot is locked.") + to_chat(user, SPAN_WARNING("The personality slot is locked.")) return ITEM_INTERACT_COMPLETE var/obj/item/paicard/card = W if(!card.pai?.mind) - to_chat(user, "[W] is inactive.") + to_chat(user, SPAN_WARNING("[W] is inactive.")) return ITEM_INTERACT_COMPLETE if(!card.pai.ckey || jobban_isbanned(card.pai, ROLE_SENTIENT)) - to_chat(user, "[W] is unable to establish a connection to [src].") + to_chat(user, SPAN_WARNING("[W] is unable to establish a connection to [src].")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) @@ -463,9 +463,9 @@ W.forceMove(src) paicard = card - user.visible_message("[user] inserts [W] into [src]!", "You insert [W] into [src].") + user.visible_message("[user] inserts [W] into [src]!", SPAN_NOTICE("You insert [W] 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 @@ -474,13 +474,13 @@ if(istype(W, /obj/item/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!")) return ITEM_INTERACT_COMPLETE - 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 * W.toolspeed, 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) return ITEM_INTERACT_COMPLETE @@ -488,12 +488,12 @@ if(user.a_intent == INTENT_HARM) return ..() if(locked) - to_chat(user, "The maintenance panel is locked.") + to_chat(user, SPAN_WARNING("The maintenance panel is locked.")) return TRUE // Must be true or we attempt to stab the bot open = !open I.play_tool_sound(src) - to_chat(user, "The maintenance panel is now [open ? "opened" : "closed"].") + to_chat(user, SPAN_NOTICE("The maintenance panel is now [open ? "opened" : "closed"].")) return TRUE @@ -504,16 +504,16 @@ return . = TRUE 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(!I.use_tool(src, user, volume = I.tool_volume)) return adjustBruteLoss(-10) add_fingerprint(user) - user.visible_message("[user] repairs [src]!","You repair [src].") + user.visible_message("[user] repairs [src]!",SPAN_NOTICE("You repair [src].")) /mob/living/simple_animal/bot/bullet_act(obj/projectile/Proj) if(Proj && (Proj.damage_type == BRUTE || Proj.damage_type == BURN)) @@ -685,15 +685,15 @@ Pass a positive integer as an argument to override a bot's default speed. turn_on() // Saves the AI the hassle of having to activate a bot manually. if(client) reset_access_timer_id = addtimer(CALLBACK(src, PROC_REF(bot_reset)), 600, 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 [calling_ai] [call_src]. Proceed to [end_area.name].
[length(path)-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 [calling_ai] [call_src]. Proceed to [end_area.name].")]
[length(path)-1] meters to destination. You have been granted additional door access for 60 seconds.")) if(message) - to_chat(calling_ai, "[bicon(src)] [name] called to [end_area.name]. [length(path)-1] meters to destination.") + to_chat(calling_ai, SPAN_NOTICE("[bicon(src)] [name] called to [end_area.name]. [length(path)-1] meters to destination.")) pathset = TRUE set_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 access_card.access = prev_access // Don't forget to reset it set_path(null) @@ -703,13 +703,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, "[bicon(src)] [get_turf(src) == ai_waypoint ? "[src] successfully arrived to waypoint." : "[src] failed to reach waypoint."]") + to_chat(calling_ai, "[bicon(src)] [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) @@ -855,7 +855,7 @@ Pass a positive integer as an argument to override a bot's default speed. if("ejectpai") return // Do nothing for this 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/handle_command(mob/user, command, list/params) // We aint even on, why bother @@ -976,16 +976,16 @@ Pass a positive integer as an argument to override a bot's default speed. emagged = TRUE hacked = TRUE locked = TRUE - to_chat(M, "[text_hack]") + to_chat(M, SPAN_WARNING("[text_hack]")) show_laws() bot_reset() add_attack_logs(M, src, "Hacked") else if(!hacked) - to_chat(M, "[text_dehack_fail]") + to_chat(M, SPAN_USERDANGER("[text_dehack_fail]")) else emagged = FALSE hacked = FALSE - to_chat(M, "[text_dehack]") + to_chat(M, SPAN_NOTICE("[text_dehack]")) show_laws() bot_reset() add_attack_logs(M, src, "Dehacked") @@ -1013,7 +1013,7 @@ Pass a positive integer as an argument to override a bot's default speed. var/hack if(issilicon(user) || user.can_admin_interact()) // Allows silicons or admins to toggle the emag status of a bot. hack += "[emagged ? "Software compromised! Unit may exhibit dangerous or erratic behavior." : "Unit operating normally. Release safety lock?"]
" - hack += "Harm Prevention Safety System: [emagged ? "DANGER" : "Engaged"]
" + hack += "Harm Prevention Safety System: [emagged ? SPAN_BAD("DANGER") : "Engaged"]
" else if(!locked) // Humans with access can use this option to hide a bot from the AI's remote control panel and PDA control. hack += "Remote network control radio: [remote_disabled ? "Disconnected" : "Connected"]
" return hack @@ -1051,7 +1051,7 @@ Pass a positive integer as an argument to override a bot's default speed. else add_attack_logs(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) @@ -1097,12 +1097,12 @@ Pass a positive integer as an argument to override a bot's default speed. to_chat(src, "Directives:") if(paicard && paicard.pai && paicard.pai.master && paicard.pai.pai_law0) - to_chat(src, "Your master, [paicard.pai.master], may overrule any and all laws.") + to_chat(src, SPAN_WARNING("Your master, [paicard.pai.master], may overrule any and all laws.")) to_chat(src, "0. [paicard.pai.pai_law0]") if(emagged) - to_chat(src, "1. #$!@#$32K#$") + to_chat(src, SPAN_DANGER("1. #$!@#$32K#$")) else if(HAS_TRAIT(src, TRAIT_CMAGGED)) - to_chat(src, "1. Be funny.") + to_chat(src, SPAN_SANS("1. Be funny.")) else to_chat(src, "1. You are a machine built to serve the station's crew and AI(s).") to_chat(src, "2. Your function is to [bot_purpose].") diff --git a/code/modules/mob/living/simple_animal/bot/bot_construction.dm b/code/modules/mob/living/simple_animal/bot/bot_construction.dm index 1e5f798410d..cdc2eeb181c 100644 --- a/code/modules/mob/living/simple_animal/bot/bot_construction.dm +++ b/code/modules/mob/living/simple_animal/bot/bot_construction.dm @@ -22,7 +22,7 @@ var/mob/living/simple_animal/bot/cleanbot/A = new /mob/living/simple_animal/bot/cleanbot(T) A.name = created_name A.robot_arm = W.type - to_chat(user, "You add the robot arm to the bucket and sensor assembly. Beep boop!") + to_chat(user, SPAN_NOTICE("You add the robot arm to the bucket and sensor assembly. Beep boop!")) user.unequip(src, force = TRUE) qdel(src) @@ -65,7 +65,7 @@ return qdel(W) build_step++ - to_chat(user, "You add the robot leg to [src].") + to_chat(user, SPAN_NOTICE("You add the robot leg to [src].")) update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) if(2) @@ -80,14 +80,14 @@ lasercolor = newcolor qdel(W) build_step++ - to_chat(user, "You add the armor to [src].") + to_chat(user, SPAN_NOTICE("You add the armor to [src].")) update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) if(3) if(W.tool_behaviour == TOOL_WELDER && W.use_tool(src, user, volume = W.tool_volume)) build_step++ update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) - to_chat(user, "You weld the vest to [src].") + to_chat(user, SPAN_NOTICE("You weld the vest to [src].")) if(4) switch(lasercolor) if("b") @@ -106,7 +106,7 @@ return qdel(W) build_step++ - to_chat(user, "You add the helmet to [src].") + to_chat(user, SPAN_NOTICE("You add the helmet to [src].")) update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) if(5) @@ -115,22 +115,22 @@ return qdel(W) build_step++ - to_chat(user, "You add the prox sensor to [src].") + to_chat(user, SPAN_NOTICE("You add the prox sensor to [src].")) update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) if(6) 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 * W.toolspeed, target = src)) if(coil.get_amount() >= 1 && build_step == 6) coil.use(1) build_step = 7 playsound(loc, W.usesound, 50, 1) - to_chat(user, "You wire the ED-209 assembly.") + to_chat(user, SPAN_NOTICE("You wire the ED-209 assembly.")) update_appearance(UPDATE_NAME) if(7) @@ -153,7 +153,7 @@ if(!user.unequip(W)) return build_step++ - to_chat(user, "You add [W] to [src].") + to_chat(user, SPAN_NOTICE("You add [W] to [src].")) update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) qdel(W) @@ -166,7 +166,7 @@ if(!user.unequip(W)) return build_step++ - to_chat(user, "You complete the ED-209.") + to_chat(user, SPAN_NOTICE("You complete the ED-209.")) var/turf/T = get_turf(src) new /mob/living/simple_animal/bot/ed209(T,created_name,lasercolor) qdel(W) @@ -177,11 +177,11 @@ if(build_step != 8) return I.play_tool_sound(src) - 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(do_after(user, 40 * I.toolspeed, target = src)) build_step++ update_appearance(UPDATE_NAME) - to_chat(user, "You attach the gun to the frame.") + to_chat(user, SPAN_NOTICE("You attach the gun to the frame.")) return TRUE /obj/item/ed209_assembly/update_name() @@ -244,7 +244,7 @@ if(QDELETED(src)) return if(length(contents) >= 1) - to_chat(user, "They won't fit in, as there is already stuff inside.") + to_chat(user, SPAN_WARNING("They won't fit in, as there is already stuff inside.")) return if(T.use(10)) if(user.s_active) @@ -268,11 +268,11 @@ B.toolbox_color = "s" B.update_icon(UPDATE_ICON_STATE) user.put_in_hands(B) - to_chat(user, "You add the tiles into the empty toolbox. They protrude from the top.") + to_chat(user, SPAN_NOTICE("You add the tiles into the empty toolbox. They protrude from the top.")) user.unequip(src, force = TRUE) qdel(src) else - to_chat(user, "You need 10 floor tiles to start building a floorbot.") + to_chat(user, SPAN_WARNING("You need 10 floor tiles to start building a floorbot.")) return /obj/item/toolbox_tiles/update_icon_state() @@ -287,7 +287,7 @@ B.toolbox_color = src.toolbox_color B.update_icon(UPDATE_ICON_STATE) user.put_in_hands(B) - to_chat(user, "You add the sensor to the toolbox and tiles.") + to_chat(user, SPAN_NOTICE("You add the sensor to the toolbox and tiles.")) user.unequip(src, force = TRUE) qdel(src) @@ -309,7 +309,7 @@ var/mob/living/simple_animal/bot/floorbot/A = new(get_turf(src), toolbox_color) A.name = created_name A.robot_arm = W.type - to_chat(user, "You add the robot arm to the odd looking toolbox assembly. Boop beep!") + to_chat(user, SPAN_NOTICE("You add the robot arm to the odd looking toolbox assembly. Boop beep!")) user.unequip(src, force = TRUE) qdel(src) @@ -322,7 +322,7 @@ //Making a medibot! if(length(contents)) - to_chat(user, "You need to empty [src] out first!") + to_chat(user, SPAN_WARNING("You need to empty [src] out first!")) return var/obj/item/firstaid_arm_assembly/A = new /obj/item/firstaid_arm_assembly(loc, med_bot_skin) @@ -337,7 +337,7 @@ qdel(I) user.put_in_hands(A) - to_chat(user, "You add the robot arm to the first aid kit.") + to_chat(user, SPAN_NOTICE("You add the robot arm to the first aid kit.")) user.unequip(src, force = TRUE) qdel(src) @@ -388,7 +388,7 @@ return qdel(I) build_step++ - to_chat(user, "You add the health sensor to [src].") + to_chat(user, SPAN_NOTICE("You add the health sensor to [src].")) update_appearance(UPDATE_NAME|UPDATE_OVERLAYS) if(1) @@ -397,7 +397,7 @@ return qdel(I) build_step++ - to_chat(user, "You complete the Medibot. Beep boop!") + to_chat(user, SPAN_NOTICE("You complete the Medibot. Beep boop!")) var/turf/T = get_turf(src) if(!syndicate_aligned) var/mob/living/simple_animal/bot/medbot/S = new /mob/living/simple_animal/bot/medbot(T, skin) @@ -439,12 +439,12 @@ return if(S.secured) - to_chat(user, "[S] is secured.") + to_chat(user, SPAN_NOTICE("[S] is secured.")) return qdel(S) var/obj/item/secbot_assembly/A = new /obj/item/secbot_assembly user.put_in_hands(A) - to_chat(user, "You add the signaler to the helmet.") + to_chat(user, SPAN_NOTICE("You add the signaler to the helmet.")) user.unequip(src, force = TRUE) qdel(src) @@ -454,23 +454,23 @@ if(I.tool_behaviour == TOOL_WELDER && I.use_tool(src, user, volume = I.tool_volume)) if(!build_step) build_step++ - to_chat(user, "You weld a hole in [src]!") + to_chat(user, SPAN_NOTICE("You weld a hole in [src]!")) else if(build_step == 1) build_step-- - to_chat(user, "You weld the hole in [src] shut!") + to_chat(user, SPAN_NOTICE("You weld the hole in [src] shut!")) else if(isprox(I) && (build_step == 1)) if(!user.unequip(I)) return build_step++ - to_chat(user, "You add the prox sensor to [src]!") + to_chat(user, SPAN_NOTICE("You add the prox sensor to [src]!")) qdel(I) else if(((istype(I, /obj/item/robot_parts/l_arm)) || (istype(I, /obj/item/robot_parts/r_arm))) && (build_step == 2)) if(!user.unequip(I)) return build_step++ - to_chat(user, "You add the robot arm to [src]!") + to_chat(user, SPAN_NOTICE("You add the robot arm to [src]!")) robot_arm = I.type qdel(I) @@ -478,7 +478,7 @@ if(!user.unequip(I)) return build_step++ - 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 /mob/living/simple_animal/bot/secbot(get_turf(src)) S.name = created_name S.robot_arm = robot_arm @@ -498,7 +498,7 @@ else if(iswrench(I) && build_step == 3) var/obj/item/griefsky_assembly/A = new /obj/item/griefsky_assembly(get_turf(src)) user.put_in_hands(A) - to_chat(user, "You adjust the arm slots for extra weapons!") + to_chat(user, SPAN_NOTICE("You adjust the arm slots for extra weapons!")) user.unequip(src, force = TRUE) qdel(src) @@ -512,15 +512,15 @@ if(0) new /obj/item/assembly/signaler(get_turf(src)) new /obj/item/clothing/head/helmet(get_turf(src)) - 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(2) new /obj/item/assembly/prox_sensor(get_turf(src)) - 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(3) new /obj/item/robot_parts/l_arm(get_turf(src)) - to_chat(user, "You remove the robot arm from [src].") + to_chat(user, SPAN_NOTICE("You remove the robot arm from [src].")) build_step-- I.play_tool_sound(src) @@ -559,13 +559,13 @@ if(!user.unequip(I)) return build_step++ - to_chat(user, "You add an energy sword to [src]!.") + to_chat(user, SPAN_NOTICE("You add an energy sword to [src]!.")) qdel(I) else if((istype(I, /obj/item/melee/energy/sword)) && (build_step == 3)) if(!user.unequip(I)) return - to_chat(user, "You complete General Griefsky!.") + to_chat(user, SPAN_NOTICE("You complete General Griefsky!.")) new /mob/living/simple_animal/bot/secbot/griefsky(get_turf(src)) qdel(I) qdel(src) @@ -574,13 +574,13 @@ if(!user.unequip(I)) return toy_step++ - to_chat(user, "You add a toy sword to [src]!.") + to_chat(user, SPAN_NOTICE("You add a toy sword to [src]!.")) qdel(I) else if((istype(I, /obj/item/toy/sword)) && (toy_step == 3)) if(!user.unequip(I)) return - to_chat(user, "You complete Genewul Giftskee!.") + to_chat(user, SPAN_NOTICE("You complete Genewul Giftskee!.")) new /mob/living/simple_animal/bot/secbot/griefsky/toy(get_turf(src)) qdel(I) qdel(src) @@ -591,11 +591,11 @@ if(build_step) new /obj/item/melee/energy/sword(get_turf(src)) - to_chat(user, "You detach the energy sword from [src].") + to_chat(user, SPAN_NOTICE("You detach the energy sword from [src].")) build_step-- else if(toy_step) new /obj/item/toy/sword(get_turf(src)) - to_chat(user, "You detach the toy sword from [src].") + to_chat(user, SPAN_NOTICE("You detach the toy sword from [src].")) toy_step-- I.play_tool_sound(src) return TRUE @@ -608,13 +608,13 @@ robot_arm = W.type if(length(contents)) - to_chat(user, "You need to empty [src] out first!") + to_chat(user, SPAN_WARNING("You need to empty [src] out first!")) return var/obj/item/honkbot_arm_assembly/A = new /obj/item/honkbot_arm_assembly qdel(W) user.put_in_hands(A) - to_chat(user, "You add the robot arm to the honkbot.") + to_chat(user, SPAN_NOTICE("You add the robot arm to the honkbot.")) user.unequip(src, force = TRUE) qdel(src) @@ -635,20 +635,20 @@ if(!user.unequip(W)) return build_step++ - to_chat(user, "You add the proximity sensor to [src].") + to_chat(user, SPAN_NOTICE("You add the proximity sensor to [src].")) qdel(W) else if(build_step == 1) if(istype(W, /obj/item/bikehorn)) if(!user.unequip(W)) return build_step++ - to_chat(user, "You add the bikehorn to [src]! Honk!") + to_chat(user, SPAN_NOTICE("You add the bikehorn to [src]! Honk!")) qdel(W) else if(build_step == 2) if(istype(W, /obj/item/instrument/trombone)) if(!user.unequip(W)) return - to_chat(user, "You add the trombone to [src]! Heeeenk!") + to_chat(user, SPAN_NOTICE("You add the trombone to [src]! Heeeenk!")) qdel(W) var/mob/living/simple_animal/bot/honkbot/A = new /mob/living/simple_animal/bot/honkbot(get_turf(src)) A.robot_arm = robot_arm diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 64ae02abf9f..467ed466a05 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -89,14 +89,14 @@ if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda)) if(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.")) return ITEM_INTERACT_COMPLETE @@ -106,7 +106,7 @@ ..() if(emagged) 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(obj/effect/decal/cleanable/D) if(!(is_type_in_typecache(D, clean_dirt) || blood && is_type_in_typecache(D, clean_blood))) @@ -132,7 +132,7 @@ T.MakeSlippery() if(prob(5)) //Spawns foam! - 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 if(prob(5)) @@ -185,7 +185,7 @@ /mob/living/simple_animal/bot/cleanbot/proc/start_clean(obj/effect/decal/cleanable/target) anchored = TRUE - visible_message("[src] begins to clean up [target]") + visible_message(SPAN_NOTICE("[src] begins to clean up [target]")) set_mode(BOT_CLEANING) update_icon(UPDATE_OVERLAYS) addtimer(CALLBACK(src, PROC_REF(do_clean), target), 5 SECONDS) @@ -200,7 +200,7 @@ /mob/living/simple_animal/bot/cleanbot/explode() on = FALSE - visible_message("[src] blows apart!") + visible_message(SPAN_USERDANGER("[src] blows apart!")) var/turf/Tsec = get_turf(src) new /obj/item/reagent_containers/glass/bucket(Tsec) new /obj/item/assembly/prox_sensor(Tsec) @@ -233,7 +233,7 @@ if(..()) return if(action != "area" && topic_denied(usr)) - to_chat(usr, "[src]'s interface is not responding!") + to_chat(usr, SPAN_WARNING("[src]'s interface is not responding!")) return add_fingerprint(usr) . = TRUE diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index f92bc1f9c42..b2009c51937 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -128,7 +128,7 @@ if(..()) return 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 add_fingerprint(usr) . = TRUE @@ -193,9 +193,9 @@ ..() if(emagged) if(user) - to_chat(user, "You short out [src]'s target assessment circuits.") + to_chat(user, SPAN_WARNING("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 icon_state = "[lasercolor]ed209[on]" set_weapon() @@ -394,7 +394,7 @@ /mob/living/simple_animal/bot/ed209/explode() GLOB.move_manager.stop_looping(src) - visible_message("[src] blows apart!") + visible_message(SPAN_USERDANGER("[src] blows apart!")) var/turf/Tsec = get_turf(src) var/obj/item/ed209_assembly/Sa = new /obj/item/ed209_assembly(Tsec) @@ -571,8 +571,8 @@ /mob/living/simple_animal/bot/ed209/proc/cuff(mob/living/carbon/C) set_mode(BOT_ARREST) playsound(loc, '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!")) INVOKE_ASYNC(src, PROC_REF(cuff_callback), C) diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index ba2c26168c6..4dceec5fc5b 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -96,7 +96,7 @@ return var/mob/user = ui.user if(topic_denied(user)) - to_chat(user, "[src]'s interface is not responding!") + to_chat(user, SPAN_WARNING("[src]'s interface is not responding!")) return add_fingerprint(user) . = TRUE @@ -139,11 +139,11 @@ T.use(loaded) amount += loaded if(loaded > 0) - to_chat(user, "You load [loaded] tiles into the floorbot. [p_they(TRUE)] now contains [amount] tiles.") + to_chat(user, SPAN_NOTICE("You load [loaded] tiles into the floorbot. [p_they(TRUE)] now contains [amount] tiles.")) nagged = 0 update_icon() else - to_chat(user, "You need at least one floor tile to put into [src]!") + to_chat(user, SPAN_WARNING("You need at least one floor tile to put into [src]!")) return ITEM_INTERACT_COMPLETE @@ -153,7 +153,7 @@ ..() if(emagged) if(user) - to_chat(user, "[src] buzzes and beeps.") + to_chat(user, SPAN_DANGER("[src] buzzes and beeps.")) /mob/living/simple_animal/bot/floorbot/handle_automated_action() . = ..() @@ -226,7 +226,7 @@ F.break_tile_to_plating() else F.ReplaceWithLattice() - audible_message("[src] makes an excited booping sound.") + audible_message(SPAN_DANGER("[src] makes an excited booping sound.")) addtimer(CALLBACK(src, PROC_REF(inc_amount_callback)), 5 SECONDS) path = list() @@ -317,7 +317,7 @@ anchored = TRUE if(isspaceturf(target_turf)) // If we are fixing an area not part of pure space, it is - visible_message("[src] begins to repair the hole.") + visible_message(SPAN_NOTICE("[src] begins to repair the hole.")) set_mode(BOT_REPAIRING) update_icon(UPDATE_OVERLAYS) addtimer(CALLBACK(src, PROC_REF(make_bridge_plating), target_turf), 5 SECONDS) @@ -326,7 +326,7 @@ var/turf/simulated/floor/F = target_turf set_mode(BOT_REPAIRING) update_icon(UPDATE_OVERLAYS) - visible_message("[src] begins repairing the floor.") + visible_message(SPAN_NOTICE("[src] begins repairing the floor.")) addtimer(CALLBACK(src, PROC_REF(make_bridge_plating), F), 5 SECONDS) @@ -354,7 +354,7 @@ if(!istype(T, /obj/item/stack/tile/plasteel)) return anchored = TRUE - visible_message("[src] begins to collect tiles.") + visible_message(SPAN_NOTICE("[src] begins to collect tiles.")) set_mode(BOT_EAT_TILE) update_icon(UPDATE_OVERLAYS) addtimer(CALLBACK(src, PROC_REF(do_eat_tile), T), 2 SECONDS) @@ -380,7 +380,7 @@ if(!istype(M, /obj/item/stack/sheet/metal)) return anchored = TRUE - visible_message("[src] begins to create tiles.") + visible_message(SPAN_NOTICE("[src] begins to create tiles.")) set_mode(BOT_MAKE_TILE) update_icon(UPDATE_OVERLAYS) addtimer(CALLBACK(src, PROC_REF(do_make_tile), M), 2 SECONDS) @@ -423,7 +423,7 @@ /mob/living/simple_animal/bot/floorbot/explode() on = FALSE - visible_message("[src] blows apart!") + visible_message(SPAN_USERDANGER("[src] blows apart!")) var/turf/Tsec = get_turf(src) var/obj/item/storage/toolbox/mechanical/N = new /obj/item/storage/toolbox/mechanical(Tsec) N.contents = list() diff --git a/code/modules/mob/living/simple_animal/bot/griefsky.dm b/code/modules/mob/living/simple_animal/bot/griefsky.dm index e2b333a103d..713ee9ce457 100644 --- a/code/modules/mob/living/simple_animal/bot/griefsky.dm +++ b/code/modules/mob/living/simple_animal/bot/griefsky.dm @@ -183,7 +183,7 @@ /mob/living/simple_animal/bot/secbot/griefsky/explode() GLOB.move_manager.stop_looping(src) - visible_message("[src] lets out a huge cough as it blows apart!") + visible_message(SPAN_BOLDANNOUNCEIC("[src] lets out a huge cough as it blows apart!")) var/turf/Tsec = get_turf(src) new /obj/item/assembly/prox_sensor(Tsec) var/obj/item/secbot_assembly/Sa = new /obj/item/secbot_assembly(Tsec) diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index 2855cef2cc7..83852cef79d 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -84,7 +84,7 @@ return var/mob/user = ui.user if(topic_denied(user)) - to_chat(user, "[src]'s interface is not responding!") + to_chat(user, SPAN_WARNING("[src]'s interface is not responding!")) return add_fingerprint(user) . = TRUE @@ -126,9 +126,9 @@ ..() if(emagged) if(user) - to_chat(user, "You short out [src]'s target assessment circuits. It gives out an evil laugh!!") + to_chat(user, SPAN_WARNING("You short out [src]'s target assessment circuits. 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_icon() @@ -136,7 +136,7 @@ if(HAS_TRAIT(src, TRAIT_CMAGGED)) return FALSE if(locked || !open) - to_chat(user, "Unlock and open it with a screwdriver first!") + to_chat(user, SPAN_WARNING("Unlock and open it with a screwdriver first!")) return FALSE ADD_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG) @@ -146,7 +146,7 @@ bot_reset() turn_on() if(user) - to_chat(user, "You smear bananium ooze all over [src]'s circuitry!") + to_chat(user, SPAN_NOTICE("You smear bananium ooze all over [src]'s circuitry!")) add_attack_logs(user, src, "Cmagged") show_laws() return TRUE @@ -154,7 +154,7 @@ /mob/living/simple_animal/bot/honkbot/examine(mob/user) . = ..() if(HAS_TRAIT(src, TRAIT_CMAGGED)) - . += "Yellow ooze seems to be seeping from the case..." + . += SPAN_WARNING("Yellow ooze seems to be seeping from the case...") /mob/living/simple_animal/bot/honkbot/bullet_act(obj/projectile/Proj) if((istype(Proj,/obj/projectile/beam)) || (istype(Proj,/obj/projectile/bullet) && (Proj.damage_type == BURN))||(Proj.damage_type == BRUTE) && (!Proj.nodamage && Proj.damage < health && ishuman(Proj.firer))) @@ -210,8 +210,8 @@ set_mode(BOT_ARREST) sleep(1 SECONDS) playsound(loc, '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!")) if(!do_after(src, 6 SECONDS, target = C) || !on) set_mode(BOT_IDLE) return @@ -253,8 +253,8 @@ threatlevel = 6 // will never let you go addtimer(VARSET_CALLBACK(src, spam_flag, FALSE), cooldowntimehorn) add_attack_logs(src, C, "honked by [src]") - C.visible_message("[src] has honked [C]!", - "[src] has honked you!") + C.visible_message(SPAN_DANGER("[src] has honked [C]!"), + SPAN_USERDANGER("[src] has honked you!")) if(HAS_TRAIT(src, TRAIT_CMAGGED)) INVOKE_ASYNC(src, PROC_REF(cuff_callback), C) @@ -357,7 +357,7 @@ /mob/living/simple_animal/bot/honkbot/explode() //doesn't drop cardboard nor its assembly, since its a very frail material. GLOB.move_manager.stop_looping(src) - visible_message("[src] blows apart!") + visible_message(SPAN_BOLDANNOUNCEIC("[src] blows apart!")) var/turf/Tsec = get_turf(src) new /obj/item/bikehorn(Tsec) new /obj/item/assembly/prox_sensor(Tsec) diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index eb0a78aec69..78fae19d88e 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -224,7 +224,7 @@ if(..()) return 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 add_fingerprint(usr) . = TRUE @@ -270,17 +270,17 @@ /mob/living/simple_animal/bot/medbot/item_interaction(mob/living/user, obj/item/W, list/modifiers) if(istype(W, /obj/item/reagent_containers/glass)) if(locked) - to_chat(user, "You cannot insert a beaker because the panel is locked!") + to_chat(user, SPAN_WARNING("You cannot insert a beaker because the panel is locked!")) return ITEM_INTERACT_COMPLETE if(!isnull(reagent_glass)) - to_chat(user, "There is already a beaker loaded!") + to_chat(user, SPAN_WARNING("There is already a beaker loaded!")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) return ITEM_INTERACT_COMPLETE W.forceMove(src) reagent_glass = W - to_chat(user, "You insert [W].") + to_chat(user, SPAN_NOTICE("You insert [W].")) ui_interact(user) return ITEM_INTERACT_COMPLETE @@ -298,8 +298,8 @@ if(emagged) declare_crit = FALSE 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) if(user) previous_patient = user.UID() @@ -509,8 +509,8 @@ return C.visible_message( - "[src] is trying to inject [patient]!", - "[src] is trying to inject you!" + SPAN_DANGER("[src] is trying to inject [patient]!"), + SPAN_USERDANGER("[src] is trying to inject you!") ) if(!do_after(src, 3 SECONDS, target = C) || !on || (get_dist(src, patient) > 1) || !assess_patient(patient)) @@ -527,8 +527,8 @@ patient.reagents.add_reagent(reagent_id, injection_amount) C.visible_message( - "[src] injects [patient] with its syringe!", - "[src] injects you with its syringe!" + SPAN_DANGER("[src] injects [patient] with its syringe!"), + SPAN_USERDANGER("[src] injects you with its syringe!") ) // Don't soft reset here, we already have a patient, only soft reset if we fail to heal them. @@ -545,7 +545,7 @@ /mob/living/simple_animal/bot/medbot/explode() on = FALSE - visible_message("[src] blows apart!") + visible_message(SPAN_USERDANGER("[src] blows apart!")) var/turf/Tsec = get_turf(src) if(drops_parts) diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 5277d4dc670..6b1299290b7 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -107,7 +107,7 @@ C.forceMove(src) cell = C visible_message("[user] inserts a cell into [src].", - "You insert the new cell into [src].") + SPAN_NOTICE("You insert the new cell into [src].")) update_controls() update_icon() return ITEM_INTERACT_COMPLETE @@ -115,10 +115,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!")) update_icon() return ITEM_INTERACT_COMPLETE @@ -134,7 +134,7 @@ cell.forceMove(loc) cell = null visible_message("[user] crowbars out the power cell from [src].", - "You pry the powercell out of [src].") + SPAN_NOTICE("You pry the powercell out of [src].")) update_controls() update_icon() @@ -144,7 +144,7 @@ update_controls() return TRUE else - to_chat(user, "Access denied.") + to_chat(user, SPAN_DANGER("Access denied.")) return FALSE /mob/living/simple_animal/bot/mulebot/multitool_act(mob/living/user, obj/item/I) @@ -167,15 +167,15 @@ /mob/living/simple_animal/bot/mulebot/wrench_act(mob/living/user, obj/item/I) . = TRUE if(health >= maxHealth) - to_chat(user, "[src] does not need a repair!") + to_chat(user, SPAN_NOTICE("[src] does not need a repair!")) return if(!I.use_tool(src, user, I.tool_volume)) return adjustBruteLoss(-25) updatehealth() user.visible_message( - "[user] repairs [src]!", - "You repair [src]!" + SPAN_NOTICE("[user] repairs [src]!"), + SPAN_NOTICE("You repair [src]!") ) /mob/living/simple_animal/bot/mulebot/wirecutter_act(mob/living/user, obj/item/I) @@ -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("mulebot-emagged", src) playsound(loc, 'sound/effects/sparks1.ogg', 100, 0) @@ -228,7 +228,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() /// MARK: UI Section @@ -236,7 +236,7 @@ if(!open) ui_interact(user) else if(is_ai(user)) - to_chat(user, "The bot is in maintenance mode and cannot be controlled.") + to_chat(user, SPAN_WARNING("The bot is in maintenance mode and cannot be controlled.")) else wires.Interact(user) @@ -273,7 +273,7 @@ return var/mob/user = ui.user if(topic_denied(user)) - to_chat(user, "[src]'s interface is not responding!") + to_chat(user, SPAN_WARNING("[src]'s interface is not responding!")) return add_fingerprint(user) . = TRUE @@ -283,9 +283,9 @@ turn_off() else if(cell && !open) if(turn_on()) - visible_message("[usr] switches [on ? "on" : "off"] [src].") + visible_message(SPAN_NOTICE("[usr] switches [on ? "on" : "off"] [src].")) else - to_chat(usr, "You can't switch on [src]!") + to_chat(usr, SPAN_WARNING("You can't switch on [src]!")) if("hack") handle_hacking(usr) if("disableremote") @@ -618,7 +618,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, "[bicon(src)] [src] wirelessly plays a chiming sound!") + to_chat(calling_ai, SPAN_NOTICE("[bicon(src)] [src] wirelessly plays a chiming sound!")) playsound(calling_ai, 'sound/machines/chime.ogg',40, 0) calling_ai = null radio_channel = "AI Private" //Report on AI Private instead if the AI is controlling us. @@ -694,11 +694,11 @@ var/mob/living/L = obs if(ismob(L)) if(isrobot(L)) - visible_message("[src] bumps into [L]!") + visible_message(SPAN_DANGER("[src] bumps into [L]!")) else if(!paicard) add_attack_logs(src, L, "Knocked down") - visible_message("[src] knocks over [L]!") + visible_message(SPAN_DANGER("[src] knocks over [L]!")) L.stop_pulling() L.Weaken(16 SECONDS) return ..() @@ -707,8 +707,8 @@ if(H.player_logged)//No running over SSD people return add_attack_logs(src, H, "Run over (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(loc, 'sound/effects/splat.ogg', 50, 1) var/damage = rand(5, 15) @@ -821,7 +821,7 @@ /mob/living/simple_animal/bot/mulebot/explode() - visible_message("[src] blows apart!") + visible_message(SPAN_USERDANGER("[src] blows apart!")) var/turf/Tsec = get_turf(src) new /obj/item/assembly/prox_sensor(Tsec) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 89928abf395..a3afbd17200 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -148,7 +148,7 @@ if(..()) return 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 add_fingerprint(usr) . = TRUE @@ -201,9 +201,9 @@ ..() if(emagged) 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 icon_state = "[base_icon][on]" @@ -243,8 +243,8 @@ /mob/living/simple_animal/bot/secbot/proc/cuff(mob/living/carbon/C) set_mode(BOT_ARREST) playsound(loc, '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!")) INVOKE_ASYNC(src, PROC_REF(cuff_callback), C) /mob/living/simple_animal/bot/secbot/proc/cuff_callback(mob/living/carbon/C) @@ -438,7 +438,7 @@ /mob/living/simple_animal/bot/secbot/explode() GLOB.move_manager.stop_looping(src) - visible_message("[src] blows apart!") + visible_message(SPAN_USERDANGER("[src] blows apart!")) var/turf/Tsec = get_turf(src) var/obj/item/secbot_assembly/Sa = new /obj/item/secbot_assembly(Tsec) Sa.build_step = 1 diff --git a/code/modules/mob/living/simple_animal/bot/syndicate_bots.dm b/code/modules/mob/living/simple_animal/bot/syndicate_bots.dm index ddc4def7093..7a89291ec1d 100644 --- a/code/modules/mob/living/simple_animal/bot/syndicate_bots.dm +++ b/code/modules/mob/living/simple_animal/bot/syndicate_bots.dm @@ -51,7 +51,7 @@ return GLOB.default_state /mob/living/simple_animal/bot/ed209/syndicate/ui_interact(mob/user, datum/tgui/ui = null) - to_chat(user, "[src] has no accessible control panel!") + to_chat(user, SPAN_WARNING("[src] has no accessible control panel!")) return /mob/living/simple_animal/bot/ed209/syndicate/ui_data(mob/user) @@ -70,7 +70,7 @@ set_mode(BOT_HUNT) /mob/living/simple_animal/bot/ed209/syndicate/emag_act(mob/user) - to_chat(user, "[src] has no card reader slot!") + to_chat(user, SPAN_WARNING("[src] has no card reader slot!")) /mob/living/simple_animal/bot/ed209/syndicate/try_chasing_target() . = ..() @@ -166,7 +166,7 @@ if(depotarea) depotarea.list_remove(src, depotarea.guard_list) GLOB.move_manager.stop_looping(src) - visible_message("[src] blows apart!") + visible_message(SPAN_USERDANGER("[src] blows apart!")) do_sparks(3, 1, src) new /obj/effect/decal/cleanable/blood/oil(loc) var/obj/structure/mecha_wreckage/gygax/dark/wreck = new /obj/structure/mecha_wreckage/gygax/dark(loc) diff --git a/code/modules/mob/living/simple_animal/clockwork_constructs.dm b/code/modules/mob/living/simple_animal/clockwork_constructs.dm index f3518a5fead..d2fe1c871da 100644 --- a/code/modules/mob/living/simple_animal/clockwork_constructs.dm +++ b/code/modules/mob/living/simple_animal/clockwork_constructs.dm @@ -64,7 +64,7 @@ /mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/bullet_act(obj/projectile/Proj) if(shield_health > 0) damage_shield() - to_chat(src, "Your shield blocks the attack!") + to_chat(src, SPAN_DANGER("Your shield blocks the attack!")) return FALSE return ..() @@ -72,19 +72,19 @@ shield_health-- playsound(src, 'sound/magic/clockwork/anima_fragment_attack.ogg', 60, TRUE) if(shield_health == 0) - to_chat(src, "Your shield breaks!") - to_chat(src, "You require a welding tool to repair your damaged shield!") + to_chat(src, SPAN_USERDANGER("Your shield breaks!")) + to_chat(src, SPAN_DANGER("You require a welding tool to repair your damaged shield!")) /mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/welder_act(mob/living/user, obj/item/I) if(health >= maxHealth && shield_health >= MARAUDER_SHIELD_MAX) - to_chat(user, "[src] has no damage to repair.") + to_chat(user, SPAN_NOTICE("[src] has no damage to repair.")) return playsound(loc, 'sound/items/welder.ogg', 150, TRUE) adjustBruteLoss(-10) user.visible_message( - "You repair some of [src]'s damage.", - "[user] repairs some of [src]'s damage." + SPAN_NOTICE("You repair some of [src]'s damage."), + SPAN_NOTICE("[user] repairs some of [src]'s damage.") ) if(shield_health < MARAUDER_SHIELD_MAX) shield_health ++ @@ -93,8 +93,8 @@ /mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/narsie_act() visible_message( - "[src] is instantly crushed by an unholy aura!", - "The uncaring gaze of a dark god looks down upon you for a single moment, and your shell is instantly pulverized into dust!" + SPAN_DANGER("[src] is instantly crushed by an unholy aura!"), + SPAN_USERDANGER("The uncaring gaze of a dark god looks down upon you for a single moment, and your shell is instantly pulverized into dust!") ) gib() @@ -105,8 +105,8 @@ if(holy_check(src)) throw_alert("holy_fire", /atom/movable/screen/alert/holy_fire, override = TRUE) visible_message( - "[src] slowly crumbles to dust in this holy place!", \ - "Your shell burns as you crumble to dust in this holy place!" + SPAN_DANGER("[src] slowly crumbles to dust in this holy place!"), \ + SPAN_DANGER("Your shell burns as you crumble to dust in this holy place!") ) playsound(loc, 'sound/items/welder.ogg', 150, TRUE) adjustBruteLoss(maxHealth/8) diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index a3c5c6c3c9f..53025f10d1c 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -72,16 +72,16 @@ adjustBruteLoss(-5) if(src != M) Beam(M,icon_state="sendbeam",time=4) - M.visible_message("[M] repairs some of \the [src]'s dents.", \ - "You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health.") + M.visible_message(SPAN_DANGER("[M] repairs some of \the [src]'s dents."), \ + SPAN_CULT("You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health.")) else - M.visible_message("[M] repairs some of its own dents.", \ - "You repair some of your own dents, leaving you at [M.health]/[M.maxHealth] health.") + M.visible_message(SPAN_DANGER("[M] repairs some of its own dents."), \ + SPAN_CULT("You repair some of your own dents, leaving you at [M.health]/[M.maxHealth] health.")) else if(src != M) - to_chat(M, "You cannot repair [src]'s dents, as it has none!") + to_chat(M, SPAN_CULT("You cannot repair [src]'s dents, as it has none!")) else - to_chat(M, "You cannot repair your own dents, as you have none!") + to_chat(M, SPAN_CULT("You cannot repair your own dents, as you have none!")) else if(src != M) return ..() @@ -94,8 +94,8 @@ /mob/living/simple_animal/hostile/construct/Life(seconds, times_fired) if(holy_check(src)) throw_alert("holy_fire", /atom/movable/screen/alert/holy_fire, override = TRUE) - visible_message("[src] slowly crumbles to dust in this holy place!", \ - "Your shell burns as you crumble to dust in this holy place!") + visible_message(SPAN_DANGER("[src] slowly crumbles to dust in this holy place!"), \ + SPAN_DANGER("Your shell burns as you crumble to dust in this holy place!")) playsound(loc, 'sound/items/welder.ogg', 150, TRUE) adjustBruteLoss(maxHealth/8) else diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 3acb51a7d5e..87e6bd635d6 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -274,8 +274,8 @@ if(stat == DEAD) if(++final_bites >= total_final_bites) - visible_message("[L] finished eating [src], there's nothing left!") - to_chat(L, "Whoa, that last bite tasted weird.") + visible_message(SPAN_DANGER("[L] finished eating [src], there's nothing left!")) + to_chat(L, SPAN_NOTICE("Whoa, that last bite tasted weird.")) L.reagents.add_reagent("teslium", 5) qdel(src) @@ -294,5 +294,5 @@ var/new_name = tgui_input_text(src, "Enter your name, or press \"Cancel\" to stick with Keeki.", "Name Change", name) if(!new_name) return - to_chat(src, "Your name is now \"[new_name]\"!") + to_chat(src, SPAN_NOTICE("Your name is now \"[new_name]\"!")) name = new_name diff --git a/code/modules/mob/living/simple_animal/friendly/corgi_stripping.dm b/code/modules/mob/living/simple_animal/friendly/corgi_stripping.dm index 01858b3968f..2da6d2831f0 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi_stripping.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi_stripping.dm @@ -48,7 +48,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( return FALSE if(!istype(equipping, /obj/item/petcollar)) - to_chat(user, "That's not a collar.") + to_chat(user, SPAN_WARNING("That's not a collar.")) return FALSE return TRUE @@ -84,7 +84,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( return if(!ispath(equipping.dog_fashion, /datum/dog_fashion/back)) var/mob/living/simple_animal/pet/dog/corgi/corgi = source - 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!")) INVOKE_ASYNC(equipping, TYPE_PROC_REF(/atom/movable, forceMove), source.drop_location()) if(prob(25)) step_rand(equipping) diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index b2c3e30e063..631ed2a5157 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -154,13 +154,13 @@ inventory_head.forceMove(drop_location()) inventory_head = null place_on_head(pick(possible_headwear)) - visible_message("[src] puts [inventory_head] on [p_their()] own head, somehow.") + visible_message(SPAN_NOTICE("[src] puts [inventory_head] on [p_their()] own head, somehow.")) ///Deadchat plays command that drops the current hat off Ian. /mob/living/simple_animal/pet/dog/corgi/proc/drop_hat() if(!inventory_head) return - visible_message("[src] vigorously shakes [p_their()] head, dropping [inventory_head] to the ground.") + visible_message(SPAN_NOTICE("[src] vigorously shakes [p_their()] head, dropping [inventory_head] to the ground.")) inventory_head.forceMove(drop_location()) inventory_head = null update_corgi_fluff() @@ -187,14 +187,14 @@ /mob/living/simple_animal/pet/dog/corgi/item_interaction(mob/living/user, obj/item/O, list/modifiers) 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 ITEM_INTERACT_COMPLETE 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 ITEM_INTERACT_COMPLETE - 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, razor_shave_delay, 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, O.usesound, 20, TRUE) shaved = TRUE icon_living = "[initial(icon_living)]_shaved" @@ -217,16 +217,16 @@ 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_2 & HOLOGRAM_2) return return if(user && !user.drop_item_to_ground(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 0 var/valid = FALSE @@ -237,17 +237,17 @@ if(valid) if(health <= 0) - to_chat(user, "There is merely a dull, lifeless look in [real_name]'s eyes as you put [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 [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_ITALICS("You hear a friendly-sounding bark.")) item_to_add.forceMove(src) inventory_head = item_to_add update_corgi_fluff() update_appearance() 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) @@ -492,7 +492,7 @@ ..() 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/misc/demon_attack1.ogg', 75, TRUE) narsie_act() @@ -608,12 +608,12 @@ /mob/living/simple_animal/pet/dog/corgi/borgi/emag_act(user as mob) if(!emagged) emagged = TRUE - visible_message("[user] swipes a card through [src].", "You overload [src]s internal reactor.") + visible_message(SPAN_WARNING("[user] swipes a card through [src]."), SPAN_NOTICE("You overload [src]s internal reactor.")) addtimer(CALLBACK(src, PROC_REF(explode)), 100 SECONDS) return TRUE /mob/living/simple_animal/pet/dog/corgi/borgi/proc/explode() - visible_message("[src] makes an odd whining noise.") + visible_message(SPAN_WARNING("[src] makes an odd whining noise.")) explosion(get_turf(src), 0, 1, 4, 7, cause = "Emagged E-N explosion") death() diff --git a/code/modules/mob/living/simple_animal/friendly/pet.dm b/code/modules/mob/living/simple_animal/friendly/pet.dm index 1697c08a850..52e02f1d1a4 100644 --- a/code/modules/mob/living/simple_animal/friendly/pet.dm +++ b/code/modules/mob/living/simple_animal/friendly/pet.dm @@ -12,6 +12,6 @@ var/obj/item/newspaper/paper = O if(stat != CONSCIOUS || !paper.rolled) return ..() - 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].")) INVOKE_ASYNC(src, PROC_REF(spin), 7 DECISECONDS, 1) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/mob/living/simple_animal/hide_action.dm b/code/modules/mob/living/simple_animal/hide_action.dm index 71c1e2ce630..8285e044d0a 100644 --- a/code/modules/mob/living/simple_animal/hide_action.dm +++ b/code/modules/mob/living/simple_animal/hide_action.dm @@ -12,13 +12,13 @@ if(owner.layer != layer_to_change_to) owner.layer = layer_to_change_to - owner.visible_message("[owner] scurries to the ground!", "You are now hiding.") + owner.visible_message(SPAN_NOTICE("[owner] scurries to the ground!"), SPAN_NOTICE("You are now hiding.")) if(istype(hiding_mob) && hiding_mob.pass_door_while_hidden || isdrone(hiding_mob)) hiding_mob.pass_flags |= PASSDOOR return hiding_mob.layer = layer_to_change_from - owner.visible_message("[owner] slowly peeks up from the ground...", "You have stopped hiding.") + owner.visible_message(SPAN_NOTICE("[owner] slowly peeks up from the ground..."), SPAN_NOTICE("You have stopped hiding.")) if(istype(hiding_mob) && hiding_mob.pass_door_while_hidden || isdrone(hiding_mob)) hiding_mob.pass_flags &= ~PASSDOOR diff --git a/code/modules/mob/living/simple_animal/hostile/angel_statue.dm b/code/modules/mob/living/simple_animal/hostile/angel_statue.dm index 041c03db203..18d8dfee04f 100644 --- a/code/modules/mob/living/simple_animal/hostile/angel_statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/angel_statue.dm @@ -71,7 +71,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 0 return ..() @@ -90,7 +90,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 ..() @@ -187,7 +187,7 @@ name = "Blindness" desc = "Your prey will be momentarily blind for you to advance on them." - message = "You glare your eyes." + message = SPAN_NOTICE("You glare your eyes.") base_cooldown = 600 clothes_req = FALSE aoe_range = 10 diff --git a/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm b/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm index db335e4f627..f8517f98670 100644 --- a/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm +++ b/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm @@ -220,13 +220,13 @@ var/obj/item/I = locate() in orange(H, 8) if(I && !I.anchored) I.throw_at(H, 4, 3) - to_chat(H, "What threw that?") + to_chat(H, SPAN_WARNING("What threw that?")) if(STAGE_SPOOK) if(prob(4)) H.slip("???", 10 SECONDS) - to_chat(H, "The floor shifts underneath you!") + to_chat(H, SPAN_WARNING("The floor shifts underneath you!")) if(prob(3)) H.playsound_local(src,'sound/spookoween/scary_horn.ogg', 2) @@ -242,7 +242,7 @@ var/obj/item/I = locate() in orange(H, 8) if(I && !I.anchored) I.throw_at(H, 4, 3) - to_chat(H, "What threw that?") + to_chat(H, SPAN_WARNING("What threw that?")) if(prob(4)) to_chat(H, "yalp ot tnaw I") @@ -254,7 +254,7 @@ if(prob(5)) H.slip("???", 10 SECONDS) - to_chat(H, "The floor shifts underneath you!") + to_chat(H, SPAN_WARNING("The floor shifts underneath you!")) if(prob(5)) playsound(src, pick('sound/spookoween/scary_horn.ogg', 'sound/spookoween/scary_horn2.ogg', 'sound/spookoween/scary_horn3.ogg'), 30, 1) @@ -267,16 +267,16 @@ for(var/obj/item/I in orange(H, 5)) if(I && !I.anchored) I.throw_at(H, 4, 3) - to_chat(H, "What the hell?!") + to_chat(H, SPAN_WARNING("What the hell?!")) if(prob(5)) - to_chat(H, "Something feels very wrong...") + to_chat(H, SPAN_WARNING("Something feels very wrong...")) H.playsound_local(src,'sound/hallucinations/behind_you1.ogg', 25) H.flash_eyes() if(prob(5)) to_chat(H, "!?REHTOMKNOH eht esiarp uoy oD") - to_chat(H, "Something grabs your foot!") + to_chat(H, SPAN_WARNING("Something grabs your foot!")) H.playsound_local(src,'sound/hallucinations/i_see_you1.ogg', 25) H.Stun(20 SECONDS) @@ -291,7 +291,7 @@ playsound(src, 'sound/effects/clownstep1.ogg', 30, 1) if(prob(5)) - to_chat(H, "WHAT THE FUCK IS THAT?!") + to_chat(H, SPAN_USERDANGER("WHAT THE FUCK IS THAT?!")) to_chat(H, ".KNOH !nuf hcum os si uoy htiw gniyalP .KNOH KNOH KNOH") H.playsound_local(src,'sound/hallucinations/im_here1.ogg', 25) H.reagents.add_reagent("lsd", 3) @@ -318,7 +318,7 @@ H.unbuckle(force = TRUE) manifested = TRUE Manifest() - to_chat(H, "You feel the floor closing in on your feet!") + to_chat(H, SPAN_USERDANGER("You feel the floor closing in on your feet!")) H.Weaken(60 SECONDS) H.emote("scream") H.adjustBruteLoss(10) @@ -332,7 +332,7 @@ /mob/living/simple_animal/hostile/floor_cluwne/proc/Grab(mob/living/carbon/human/H) - to_chat(H, "You feel a cold, gloved hand clamp down on your ankle!") + to_chat(H, SPAN_USERDANGER("You feel a cold, gloved hand clamp down on your ankle!")) for(var/I in 1 to get_dist(src, H)) if(do_after(src, 10, target = H)) @@ -343,7 +343,7 @@ playsound(src, pick('sound/hallucinations/growl1.ogg', 'sound/hallucinations/growl2.ogg', 'sound/items/bikehorn.ogg'), 50, 1) if(get_dist(src,H) <= 1) - visible_message("[src] begins dragging [H] under the floor!") + visible_message(SPAN_DANGER("[src] begins dragging [H] under the floor!")) if(do_after(src, 50, target = H) && eating) H.become_blind(FLOORCLUWNE) @@ -353,7 +353,7 @@ H.density = FALSE H.anchored = TRUE addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne, Kill), H), 100) - H.visible_message("[src] pulls [H] under the floor!") + H.visible_message(SPAN_USERDANGER("[src] pulls [H] under the floor!")) else//some fuck pulled away our food stage = STAGE_TORMENT eating = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/headslug.dm b/code/modules/mob/living/simple_animal/hostile/headslug.dm index 380059e147d..5f1ff575d1b 100644 --- a/code/modules/mob/living/simple_animal/hostile/headslug.dm +++ b/code/modules/mob/living/simple_animal/hostile/headslug.dm @@ -44,8 +44,8 @@ egg.origin = mind for(var/obj/item/organ/internal/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_layed = TRUE /mob/living/simple_animal/hostile/headslug/AltClickOn(mob/living/carbon/carbon_target) @@ -54,13 +54,13 @@ if(carbon_target.stat != DEAD && !do_mob(src, carbon_target, 5 SECONDS, hidden = TRUE)) return if(HAS_TRAIT(carbon_target, 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 if(!carbon_target.get_int_organ_datum(ORGAN_DATUM_HEART)) - to_chat(src, "There's no heart for us to infest!") + to_chat(src, SPAN_USERDANGER("There's no heart for us to infest!")) return Infect(carbon_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_REF(death)), 25 SECONDS) /mob/living/simple_animal/hostile/headslug/projectile_hit_check(obj/projectile/P) @@ -79,10 +79,10 @@ if(time >= 30 && prob(40)) owner.bleed(5) if(time >= 60 && prob(10)) - to_chat(owner, pick("We feel great!", "Something hurts for a moment but it's gone now.", "You feel like you should go to a dark place.", "You feel really tired.")) + to_chat(owner, pick(SPAN_DANGER("We feel great!"), SPAN_DANGER("Something hurts for a moment but it's gone now."), SPAN_DANGER("You feel like you should go to a dark place."), SPAN_DANGER("You feel really tired."))) owner.adjustToxLoss(30) if(time >= 90 && prob(15)) - to_chat(owner, pick("Something hurts.", "Someone is thinking, but it's not you.", "You feel at peace.", "Close your eyes.")) + to_chat(owner, pick(SPAN_DANGER("Something hurts."), SPAN_DANGER("Someone is thinking, but it's not you."), SPAN_DANGER("You feel at peace."), SPAN_DANGER("Close your eyes."))) owner.apply_damage(50, STAMINA) if(time >= EGG_INCUBATION_DEAD_CYCLE && owner.stat == DEAD || time >= EGG_INCUBATION_LIVING_CYCLE) Pop() diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 2bd407df65d..30452e0e170 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -377,7 +377,7 @@ /mob/living/simple_animal/hostile/proc/OpenFire(atom/A) if(CheckFriendlyFire(A)) return - visible_message("[src] [ranged_message] at [A]!") + visible_message(SPAN_DANGER("[src] [ranged_message] at [A]!")) if(rapid > 1) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm index e7a85631280..1b551ec6c26 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm @@ -295,7 +295,7 @@ Difficulty: Hard return if(mode == BLUESPACE || (enraged && prob(13))) new /obj/effect/temp_visual/bsg_kaboom(get_turf(src)) - src.visible_message("[src] teleports somewhere nearby!") + src.visible_message(SPAN_DANGER("[src] teleports somewhere nearby!")) do_teleport(src, target, 7, sound_in = 'sound/effects/phasein.ogg', safe_turf_pick = TRUE) //Teleport within 7 tiles of the target new /obj/effect/temp_visual/bsg_kaboom(get_turf(src)) @@ -335,7 +335,7 @@ Difficulty: Hard if(isliving(A)) var/mob/living/L = A if(!istype(A, /mob/living/simple_animal/hostile/ancient_robot_leg)) - 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!")) forceMove(get_turf(L)) var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) L.apply_damage(25, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, armor_penetration_flat = armor_penetration_flat, armor_penetration_percentage = armor_penetration_percentage)) @@ -349,11 +349,11 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/ancient_robot/proc/body_shield() body_shield_enabled = TRUE - visible_message("[src] creates some sort of energy shield!") + visible_message(SPAN_DANGER("[src] creates some sort of energy shield!")) add_overlay("shield") /mob/living/simple_animal/hostile/megafauna/ancient_robot/proc/disable_shield() - visible_message("[src]'s shield fails!") + visible_message(SPAN_DANGER("[src]'s shield fails!")) cut_overlay("shield") body_shield_enabled = FALSE addtimer(CALLBACK(src, PROC_REF(body_shield)), BODY_SHIELD_COOLDOWN_TIME) @@ -363,7 +363,7 @@ Difficulty: Hard if(!body_shield_enabled) return ..() do_sparks(2, 1, src) - visible_message("[src]'s shield deflects [P] in a shower of sparks!", "You deflect the projectile!") + visible_message(SPAN_DANGER("[src]'s shield deflects [P] in a shower of sparks!"), SPAN_USERDANGER("You deflect the projectile!")) if(P.damage) disable_shield() @@ -374,13 +374,13 @@ Difficulty: Hard if(!body_shield_enabled) return do_sparks(2, 1, src) - visible_message("[src]'s shield deflects [I] in a shower of sparks!", "You deflect the attack!") + visible_message(SPAN_DANGER("[src]'s shield deflects [I] in a shower of sparks!"), SPAN_USERDANGER("You deflect the attack!")) if(I.force) disable_shield() /mob/living/simple_animal/hostile/megafauna/ancient_robot/devour(mob/living/L) say(pick("JKYZXAIZOBK GTGREYKX GIZOBK", "OTZKMXGZOTM YAHPKIZ YZXKTMZNY", "JKIUSVOROTM GTJ RKGXTOTM", "LOTJOTM IXOZOIGR CKGQTKYYKY")) //what can I say, I like the trope of something talking in cypher - visible_message("[src] disintigrates [L]!","You analyse [L], restoring your health!") + visible_message(SPAN_USERDANGER("[src] disintigrates [L]!"),SPAN_USERDANGER("You analyse [L], restoring your health!")) if(client || !is_station_level(z)) adjustHealth(-maxHealth * 0.1) L.dust() @@ -391,10 +391,10 @@ Difficulty: Hard if(BLUESPACE) if(ishuman(target)) var/mob/living/carbon/human/H = target - to_chat(H, "[src] starts to slow time around you!") + to_chat(H, SPAN_DANGER("[src] starts to slow time around you!")) H.apply_status_effect(STATUS_EFFECT_BLUESPACESLOWDOWN) if(GRAV) - visible_message("Debris from the battlefield begin to get compressed into rocks!") + visible_message(SPAN_DANGER("Debris from the battlefield begin to get compressed into rocks!")) var/list/turfs = list() var/rocks = 0 for(var/turf/T in view(4, target)) @@ -412,7 +412,7 @@ Difficulty: Hard addtimer(CALLBACK(src, PROC_REF(throw_rock), spot, target), 2 SECONDS) rocks++ if(PYRO) - visible_message("The ground begins to heat up around you!") + visible_message(SPAN_DANGER("The ground begins to heat up around you!")) var/list/turfs = list() var/volcanos = 0 for(var/turf/T in view(4, target)) @@ -441,12 +441,12 @@ Difficulty: Hard O.xo = T.x - S.x O.fire() if(VORTEX) - visible_message("[src] begins vibrate rapidly. It's causing an earthquake!") + visible_message(SPAN_DANGER("[src] begins vibrate rapidly. It's causing an earthquake!")) for(var/turf/turf in range(9,get_turf(target))) if(prob(enraged ? 40 : 15)) new /obj/effect/temp_visual/target/ancient(turf) if(CRYO) - visible_message("[src]'s shell opens slightly, as sensors begin locking on to everyone around it!") + visible_message(SPAN_DANGER("[src]'s shell opens slightly, as sensors begin locking on to everyone around it!")) for(var/mob/living/carbon/human/H in view(7, src)) H.apply_status_effect(STATUS_EFFECT_CRYO_BEAM, src) @@ -511,7 +511,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/ancient_robot/proc/self_destruct() say(pick("OTZKMXOZE LGORAXK, YKRL JKYZXAIZ GIZOBK", "RUYY IKXZGOT, KTMGMOTM XKIUBKXE JKTOGR", "VUCKX IUXKY 8-12 HXKGINKJ, UBKXRUGJOTM XKSGOTOTM IUXKY", "KXXUX KXXUX KXXUX KXXUX KXX-", "-ROQK ZKGXY OT XGOT- - -ZOSK ZU JOK")) - visible_message("[src] begins to overload it's core. It is going to explode!") + visible_message(SPAN_BIGGERDANGER("[src] begins to overload it's core. It is going to explode!")) walk(src, 0) playsound(src,'sound/machines/alarm.ogg', 100, FALSE, 5) addtimer(CALLBACK(src, PROC_REF(kaboom)), 10 SECONDS) @@ -736,9 +736,9 @@ Difficulty: Hard fake_hp = clamp(fake_hp - damage, 0, fake_max_hp) if(damage && ranged && fake_hp <= 200) ranged = FALSE - visible_message("[src]'s turret breaks and pulls back into the leg!") + visible_message(SPAN_DANGER("[src]'s turret breaks and pulls back into the leg!")) if(damage && transfer_rate <= 0.25) //warn that you are not doing much damage - visible_message("[src] looks too damaged to hurt it much more!") + visible_message(SPAN_DANGER("[src] looks too damaged to hurt it much more!")) health_and_snap_check(FALSE) /mob/living/simple_animal/hostile/ancient_robot_leg/proc/health_and_snap_check(regen = FALSE) @@ -747,7 +747,7 @@ Difficulty: Hard transfer_rate = 0.75 * (fake_hp/fake_max_hp) if(fake_hp >= 250 && !ranged) ranged = TRUE - visible_message("[src]'s turret pops out of it!") + visible_message(SPAN_DANGER("[src]'s turret pops out of it!")) if(get_dist(get_turf(core),get_turf(src)) <= range) return else @@ -764,7 +764,7 @@ Difficulty: Hard if(isliving(A)) if(!istype(A, /mob/living/simple_animal/hostile/megafauna/ancient_robot)) 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!")) forceMove(get_turf(L)) var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) L.apply_damage(12.5, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armor_penetration_flat, armor_penetration_percentage)) @@ -890,7 +890,7 @@ Difficulty: Hard if(istype(L, /mob/living/simple_animal/hostile/megafauna/ancient_robot)) continue L.adjustBruteLoss(35) - to_chat(L, "You're hit by the falling rock!") + to_chat(L, SPAN_USERDANGER("You're hit by the falling rock!")) /obj/effect/temp_visual/fireball/rock icon = 'icons/obj/meteor.dmi' 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 783398915bc..7a0bf9aa99f 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 @@ -75,21 +75,21 @@ Difficulty: Medium name = "Dash To Target" button_icon = 'icons/mob/actions/actions.dmi' button_icon_state = "sniper_zoom" - chosen_message = "You are now dashing to your target." + chosen_message = SPAN_COLOSSUS("You are now dashing to your target.") chosen_attack_num = 1 /datum/action/innate/megafauna_attack/kinetic_accelerator name = "Fire Kinetic Accelerator" button_icon = 'icons/obj/guns/energy.dmi' button_icon_state = "kineticgun" - chosen_message = "You are now shooting your kinetic accelerator." + chosen_message = SPAN_COLOSSUS("You are now shooting your kinetic accelerator.") chosen_attack_num = 2 /datum/action/innate/megafauna_attack/transform_weapon name = "Transform Weapon" button_icon = 'icons/obj/lavaland/artefacts.dmi' button_icon_state = "cleaving_saw" - chosen_message = "You are now transforming your weapon." + chosen_message = SPAN_COLOSSUS("You are now transforming your weapon.") chosen_attack_num = 3 /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/OpenFire() @@ -157,8 +157,8 @@ Difficulty: Medium return ..() /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/proc/butcher(mob/living/L) - 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) @@ -221,7 +221,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 1541c5fb335..862df8a0e07 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -99,28 +99,28 @@ Difficulty: Hard name = "Triple Charge" button_icon = 'icons/mob/actions/actions.dmi' button_icon_state = "sniper_zoom" - chosen_message = "You are now triple charging at the target you click on." + chosen_message = SPAN_COLOSSUS("You are now triple charging at the target you click on.") chosen_attack_num = 1 /datum/action/innate/megafauna_attack/hallucination_charge name = "Hallucination Charge" button_icon = 'icons/effects/bubblegum.dmi' button_icon_state = "smack ya one" - chosen_message = "You are now charging with hallucinations at the target you click on." + chosen_message = SPAN_COLOSSUS("You are now charging with hallucinations at the target you click on.") chosen_attack_num = 2 /datum/action/innate/megafauna_attack/hallucination_surround name = "Surround Target" button_icon = 'icons/turf/walls/wall.dmi' button_icon_state = "wall-0" - chosen_message = "You are now surrounding the target you click on with hallucinations." + chosen_message = SPAN_COLOSSUS("You are now surrounding the target you click on with hallucinations.") chosen_attack_num = 3 /datum/action/innate/megafauna_attack/blood_warp name = "Blood Warp" button_icon = 'icons/effects/blood.dmi' button_icon_state = "floor1" - chosen_message = "You are now warping to blood around your clicked position." + chosen_message = SPAN_COLOSSUS("You are now warping to blood around your clicked position.") chosen_attack_num = 4 /mob/living/simple_animal/hostile/megafauna/bubblegum/enrage() @@ -133,7 +133,7 @@ Difficulty: Hard crusher_loot = list(/obj/effect/decal/cleanable/blood/gibs/bubblegum) RegisterSignal(src, COMSIG_HOSTILE_FOUND_TARGET, PROC_REF(i_see_you)) for(var/mob/living/carbon/human/H in range(18)) //suprise motherfucker bubblegum wakes up fast - to_chat(H, "You DARE to insult my body with these constructs? I curse you as you curse ME!") + to_chat(H, SPAN_COLOSSUS("You DARE to insult my body with these constructs? I curse you as you curse ME!")) FindTarget(list(H), 1) //From down town with the pile driver /mob/living/simple_animal/hostile/megafauna/bubblegum/unrage() @@ -161,7 +161,7 @@ Difficulty: Hard del_on_death = FALSE var/area/A = get_area(src) for(var/mob/M in A) - to_chat(M, "YOU FUCK... I... I'll... get you later. Enjoy the last few days of your life...") + to_chat(M, SPAN_COLOSSUS("YOU FUCK... I... I'll... get you later. Enjoy the last few days of your life...")) new /obj/effect/bubblegum_exit(get_turf(src)) name = "Fleshy Mass" desc = "Whatever this is, doesn't actually look like it comes from bubblegum, but many other entities. just thinking about how many creatures met their end to make this pile makes you shudder." @@ -318,7 +318,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_organ(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(second_life ? 20 : 10, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, armor_penetration_flat = armor_penetration_flat, armor_penetration_percentage = armor_penetration_percentage)) @@ -335,7 +335,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/misc/enter_blood.ogg', 100, TRUE, -1) var/turf/targetturf = get_step(src, dir) L.forceMove(targetturf) @@ -375,11 +375,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/misc/enter_blood.ogg', 100, TRUE, -1) forceMove(get_turf(found_bloodpool)) playsound(get_turf(src), 'sound/misc/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 @@ -387,7 +387,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/hit_up_narsi() SetRecoveryTime(20) - visible_message("[pick("[GET_CULT_DATA(entity_name, "Nar'sie")], I call on YOU for one of MY favours you owe me!", "[GET_CULT_DATA(entity_title1, "Nar'sie")], I call on you for some support...", "Let us see how you like the minions of [GET_CULT_DATA(entity_title2, "Nar'sie")]!", "Oh, [GET_CULT_DATA(entity_title3, "Nar'sie")] join me in RENDING THIS WHELP APART!")]") + visible_message(SPAN_COLOSSUS("[pick("[GET_CULT_DATA(entity_name, "Nar'sie")], I call on YOU for one of MY favours you owe me!", "[GET_CULT_DATA(entity_title1, "Nar'sie")], I call on you for some support...", "Let us see how you like the minions of [GET_CULT_DATA(entity_title2, "Nar'sie")]!", "Oh, [GET_CULT_DATA(entity_title3, "Nar'sie")] join me in RENDING THIS WHELP APART!")]")) var/list/turfs = list() var/constructs = 0 for(var/turf/T in view(6, target)) @@ -515,7 +515,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 ..() @@ -560,7 +560,7 @@ Difficulty: Hard A.ex_act(EXPLODE_HEAVY) 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!")) forceMove(get_turf(L)) L.apply_damage(istype(src, /mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination) ? 15 : 30, BRUTE) playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, TRUE) @@ -670,7 +670,7 @@ Difficulty: Hard for(var/mob/living/carbon/human/H in range(20)) if(stat == DEAD) continue - to_chat(H, "MY HANDS WILL RELISH ENDING YOU... HERE AND NOW!") + to_chat(H, SPAN_COLOSSUS("MY HANDS WILL RELISH ENDING YOU... HERE AND NOW!")) FindTarget(list(H), 1) /mob/living/simple_animal/hostile/megafauna/bubblegum/round_2/Life(seconds, times_fired) 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 db9392c0fce..81d3d449e35 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -82,32 +82,32 @@ Difficulty: Very Hard name = "Spiral Shots" button_icon = 'icons/mob/actions/actions.dmi' button_icon_state = "sniper_zoom" - chosen_message = "You are now firing in a spiral." + chosen_message = SPAN_COLOSSUS("You are now firing in a spiral.") chosen_attack_num = 1 /datum/action/innate/megafauna_attack/aoe_attack name = "All Directions" button_icon = 'icons/effects/effects.dmi' button_icon_state = "at_shield2" - chosen_message = "You are now firing in all directions." + chosen_message = SPAN_COLOSSUS("You are now firing in all directions.") chosen_attack_num = 2 /datum/action/innate/megafauna_attack/shotgun name = "Shotgun Fire" button_icon = 'icons/obj/guns/projectile.dmi' button_icon_state = "shotgun" - chosen_message = "You are now firing shotgun shots where you aim." + chosen_message = SPAN_COLOSSUS("You are now firing shotgun shots where you aim.") chosen_attack_num = 3 /datum/action/innate/megafauna_attack/alternating_cardinals name = "Alternating Shots" button_icon = 'icons/obj/guns/projectile.dmi' button_icon_state = "pistol" - chosen_message = "You are now firing in alternating cardinal directions." + chosen_message = SPAN_COLOSSUS("You are now firing in alternating cardinal directions.") chosen_attack_num = 4 /mob/living/simple_animal/hostile/megafauna/colossus/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null, filterproof = null) - . = ..(("[uppertext(message)]"), sanitize = FALSE, ignore_speech_problems = TRUE, ignore_atmospherics = TRUE) + . = ..((SPAN_COLOSSUS("[uppertext(message)]")), sanitize = FALSE, ignore_speech_problems = TRUE, ignore_atmospherics = TRUE) /mob/living/simple_animal/hostile/megafauna/colossus/enrage() @@ -317,7 +317,7 @@ Difficulty: Very Hard ranged_cooldown = world.time + 4 SECONDS /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 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 8998b93ca49..25ee9724ca0 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -75,28 +75,28 @@ Difficulty: Medium name = "Fire Cone" button_icon = 'icons/obj/wizard.dmi' button_icon_state = "fireball" - chosen_message = "You are now shooting fire at your target." + chosen_message = SPAN_COLOSSUS("You are now shooting fire at your target.") chosen_attack_num = 1 /datum/action/innate/megafauna_attack/fire_cone_meteors name = "Fire Cone With Meteors" button_icon = 'icons/mob/actions/actions.dmi' button_icon_state = "sniper_zoom" - chosen_message = "You are now shooting fire at your target and raining fire around you." + chosen_message = SPAN_COLOSSUS("You are now shooting fire at your target and raining fire around you.") chosen_attack_num = 2 /datum/action/innate/megafauna_attack/mass_fire name = "Mass Fire Attack" button_icon = 'icons/effects/fire.dmi' button_icon_state = "1" - chosen_message = "You are now shooting mass fire at your target." + chosen_message = SPAN_COLOSSUS("You are now shooting mass fire at your target.") chosen_attack_num = 3 /datum/action/innate/megafauna_attack/lava_swoop name = "Lava Swoop" button_icon = 'icons/effects/effects.dmi' button_icon_state = "lavastaff_warn" - chosen_message = "You are now swooping and raining lava at your target." + chosen_message = SPAN_COLOSSUS("You are now swooping and raining lava at your target.") chosen_attack_num = 4 /obj/item/gps/internal/dragon @@ -149,7 +149,7 @@ Difficulty: Medium /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!")) for(var/turf/turf in range(9,get_turf(target))) if(prob(enraged ? 44 : 11)) new /obj/effect/temp_visual/target(turf) @@ -157,7 +157,7 @@ Difficulty: Medium /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)) break @@ -197,7 +197,7 @@ Difficulty: Medium /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(enraged ? 4 : 3, center) - RANGE_TURFS(enraged ? 3 : 2, center) @@ -242,7 +242,7 @@ Difficulty: Medium /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 @@ -298,7 +298,7 @@ Difficulty: Medium continue hit_list += L 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!")) // deals damage to mechs for(var/obj/mecha/M in T.contents) @@ -319,7 +319,7 @@ Difficulty: Medium 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 @@ -377,7 +377,7 @@ Difficulty: Medium 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) @@ -387,7 +387,7 @@ Difficulty: Medium 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/mecha/M in orange(1, src)) M.take_damage(75, BRUTE, MELEE, 1) @@ -467,7 +467,7 @@ Difficulty: Medium 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/mecha/M in T.contents) @@ -590,7 +590,7 @@ Difficulty: Medium 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 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 6fa856fb7a4..ae79398c52c 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -94,28 +94,28 @@ Difficulty: Hard name = "Blink To Target" button_icon = 'icons/mob/actions/actions.dmi' button_icon_state = "sniper_zoom" - chosen_message = "You are now blinking to your target." + chosen_message = SPAN_COLOSSUS("You are now blinking to your target.") chosen_attack_num = 1 /datum/action/innate/megafauna_attack/chaser_swarm name = "Chaser Swarm" button_icon = 'icons/effects/effects.dmi' button_icon_state = "hierophant_squares_indefinite" - chosen_message = "You are firing a chaser swarm at your target." + chosen_message = SPAN_COLOSSUS("You are firing a chaser swarm at your target.") chosen_attack_num = 2 /datum/action/innate/megafauna_attack/cross_blasts name = "Cross Blasts" button_icon = 'icons/effects/effects.dmi' button_icon_state = "hierophant_blast_indefinite" - chosen_message = "You are now firing cross blasts at your target." + chosen_message = SPAN_COLOSSUS("You are now firing cross blasts at your target.") chosen_attack_num = 3 /datum/action/innate/megafauna_attack/blink_spam name = "Blink Chase" button_icon = 'icons/obj/lavaland/artefacts.dmi' button_icon_state = "hierophant_club_ready_beacon" - chosen_message = "You are now repeatedly blinking at your target." + chosen_message = SPAN_COLOSSUS("You are now repeatedly blinking at your target.") chosen_attack_num = 4 /mob/living/simple_animal/hostile/megafauna/hierophant/enrage() @@ -221,7 +221,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) || enraged) && 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) colour_shifting = TRUE @@ -245,7 +245,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) @@ -268,7 +268,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) @@ -370,7 +370,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) @@ -378,7 +378,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 @@ -437,14 +437,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) @@ -454,8 +454,8 @@ Difficulty: Hard UnregisterSignal(C, COMSIG_MOB_APPLY_DAMAGE) 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!")) for(var/mob/living/L in view(7, src)) stored_nearby += L // store the people to grant the achievements to once we die hierophant_burst(null, get_turf(src), 10) @@ -474,8 +474,8 @@ Difficulty: Hard for(var/obj/item/W in L) if(!L.drop_item_to_ground(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() @@ -488,7 +488,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) @@ -760,7 +760,7 @@ Difficulty: Hard target.flash_screen_color("#660099", 1) playsound(target,'sound/weapons/sear.ogg', 50, TRUE, -4) - to_chat(target, "You're struck by \a [name]!") + to_chat(target, SPAN_USERDANGER("You're struck by \a [name]!")) var/limb_to_hit = target.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) var/armor = target.run_armor_check(limb_to_hit, MELEE, "Your armor absorbs [src]!", "Your armor blocks part of [src]!", "Your armor was penetrated by [src]!", 50) target.apply_damage(damage, BURN, limb_to_hit, armor) @@ -787,7 +787,7 @@ Difficulty: Hard if(target.occupant) if(friendly_fire_check && caster && caster.faction_check_mob(target.occupant)) return - to_chat(target.occupant, "Your [target.name] is struck by \a [name]!") + to_chat(target.occupant, SPAN_USERDANGER("Your [target.name] is struck by \a [name]!")) playsound(target, 'sound/weapons/sear.ogg', 50, TRUE, -4) target.take_damage(damage, BURN, 0, 0) @@ -816,13 +816,13 @@ Difficulty: Hard if(club.timer > world.time) return ITEM_INTERACT_COMPLETE if(club.beacon == src) - to_chat(user, "You start removing your hierophant beacon...") + to_chat(user, SPAN_NOTICE("You start removing your hierophant beacon...")) club.timer = world.time + 51 INVOKE_ASYNC(club, TYPE_PROC_REF(/obj/item/hierophant_club, prepare_icon_update)) 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!")) club.beacon = null user.update_action_buttons_icon() qdel(src) @@ -830,7 +830,7 @@ Difficulty: Hard club.timer = world.time INVOKE_ASYNC(club, TYPE_PROC_REF(/obj/item/hierophant_club, prepare_icon_update)) 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.")) return ITEM_INTERACT_COMPLETE /obj/item/gps/internal/hierophant 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 502c5e0a014..44b23f74bda 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -111,7 +111,7 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/legion/OpenFire(the_target) if(world.time >= ranged_cooldown && !charging) if(prob(30)) - visible_message("[src] charges!") + visible_message(SPAN_WARNING("[src] charges!")) SpinAnimation(speed = 20, loops = 5, parallel = FALSE) ranged = FALSE retreat_distance = 0 @@ -138,8 +138,8 @@ Difficulty: Medium A.ai_controller.set_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET, target) A.ai_controller.set_blackboard_key(BB_FRIENDS_LIST, friends) A.faction = faction - visible_message("A monstrosity emerges from [src]", - "You summon a big [A]!") + visible_message(SPAN_DANGER("A monstrosity emerges from [src]"), + SPAN_USERDANGER("You summon a big [A]!")) ranged_cooldown = world.time + 5 SECONDS else var/mob/living/basic/mining/hivelord/legion/A @@ -152,8 +152,8 @@ Difficulty: Medium A.ai_controller.set_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET, target) A.ai_controller.set_blackboard_key(BB_FRIENDS_LIST, friends) A.faction = faction - visible_message("A [A] emerges from [src]!", - "You summon a [A]!") + visible_message(SPAN_DANGER("A [A] emerges from [src]!"), + SPAN_USERDANGER("You summon a [A]!")) ranged_cooldown = world.time + 2 SECONDS /mob/living/simple_animal/hostile/megafauna/legion/MoveToTarget() @@ -194,11 +194,11 @@ Difficulty: Medium continue if(M.stat == DEAD) - visible_message("[M] is disintegrated by the beam!") + visible_message(SPAN_DANGER("[M] is disintegrated by the beam!")) M.dust() else if(M != src) playsound(M,'sound/weapons/sear.ogg', 50, TRUE, -4) - to_chat(M, "You're struck by a disintegration laser!") + to_chat(M, SPAN_USERDANGER("You're struck by a disintegration laser!")) var/limb_to_hit = M.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) var/armor = M.run_armor_check(limb_to_hit, LASER) M.apply_damage(70 - ((health / maxHealth) * 20), BURN, limb_to_hit, armor) 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 dc9aa895a7a..74a86da9919 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -160,8 +160,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() @@ -204,7 +204,7 @@ loot = list() // disable loot drops form the target to prevent cheese if(10 * output_level * damage_coeff[BURN] / (1 MW) > health) // If we would kill the target dust it. health = 0 // We need this so can_die() won't prevent dusting - visible_message("\The [src] is reduced to dust by the beam!") + visible_message(SPAN_DANGER("\The [src] is reduced to dust by the beam!")) dust() else adjustFireLoss(10 * output_level / (1 MW)) @@ -240,7 +240,7 @@ return var/obj/tgvehicle/scooter/skateboard/hoverboard/cursed_board = L.buckled // Not a visible message, as walls or such may be in the way - to_chat(L, "You hear a loud roar in the distance, and the lights on [cursed_board] begin to spark dangerously, as the board rumbles heavily!") + to_chat(L, SPAN_USERDANGER("You hear a loud roar in the distance, and the lights on [cursed_board] begin to spark dangerously, as the board rumbles heavily!")) playsound(get_turf(src), 'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE) cursed_board.necropolis_curse() diff --git a/code/modules/mob/living/simple_animal/hostile/mimic_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mimic_mobs.dm index 4149036554d..33b0e8ac192 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic_mobs.dm @@ -78,7 +78,7 @@ if(prob(15) && iscarbon(target)) var/mob/living/carbon/C = target C.Weaken(4 SECONDS) - 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) @@ -193,7 +193,7 @@ 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.Weaken(4 SECONDS) - 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/Aggro() ..() @@ -247,7 +247,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca /mob/living/simple_animal/hostile/mimic/copy/vendor/AttackingTarget() . = ..() if(. && target && Adjacent(target)) - visible_message("[src] throws itself on top of [target], crushing [target.p_them()]!") + visible_message(SPAN_DANGER("[src] throws itself on top of [target], crushing [target.p_them()]!")) orig_vendor.forceMove(get_turf(target)) // just to be sure it'll tilt onto them orig_vendor.tilt(target, TRUE, FALSE) // geeeeet dunked on orig_vendor = null @@ -318,7 +318,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca Pewgun.chambered.update_icon() ..() else - visible_message("The [src] clears a jam!") + visible_message(SPAN_DANGER("The [src] clears a jam!")) Pewgun.chambered.loc = loc //rip revolver immersions, blame shotgun snowflake procs Pewgun.chambered = null if(Pewgun.magazine && length(Pewgun.magazine.stored_ammo)) @@ -328,7 +328,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca else if(Pewgun.magazine && length(Pewgun.magazine.stored_ammo)) //only true for pumpguns i think Pewgun.chambered = Pewgun.magazine.get_round(0) Pewgun.chambered.loc = Pewgun - visible_message("The [src] cocks itself!") + visible_message(SPAN_DANGER("The [src] cocks itself!")) else ranged = FALSE //BANZAIIII retreat_distance = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/mining/abandoned_minebot.dm b/code/modules/mob/living/simple_animal/hostile/mining/abandoned_minebot.dm index e94419e8135..f8a21fb3534 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/abandoned_minebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/abandoned_minebot.dm @@ -64,10 +64,10 @@ . = ..() if(health < maxHealth) if(health >= maxHealth * 0.5) - . += "It looks slightly dented." + . += SPAN_WARNING("It looks slightly dented.") else - . += "It looks severely dented!" - . += "[rand(-30, 110)]% mod capacity remaining.\nThere is a module installed, using [rand(-5, 35)]% capacity.\n...or at least you think so." + . += SPAN_BOLDWARNING("It looks severely dented!") + . += SPAN_NOTICE("[rand(-30, 110)]% mod capacity remaining.\nThere is a module installed, using [rand(-5, 35)]% capacity.\n...or at least you think so.") /mob/living/simple_animal/hostile/asteroid/abandoned_minebot/CanPass(atom/movable/O) if(!istype(O, /obj/projectile/kinetic)) @@ -81,4 +81,4 @@ /mob/living/simple_animal/hostile/asteroid/abandoned_minebot/emp_act(severity) adjustHealth(100 / severity) - visible_message("[src] crackles and buzzes violently!") + visible_message(SPAN_WARNING("[src] crackles and buzzes violently!")) diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm index 9a8995b76ce..6f82cd760f9 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm @@ -187,33 +187,33 @@ While using this makes the system rely on OnFire, it still gives options for tim if(TUMOR_PASSIVE) // Prevents the user from being forcemoved back and forth between two elite arenas. if(HAS_TRAIT(src, TRAIT_ELITE_CHALLENGER)) - user.visible_message("[user] reaches for [src] with [user.p_their()] arm, but nothing happens.", - "You reach for [src] with your arm... but nothing happens.") + user.visible_message(SPAN_WARNING("[user] reaches for [src] with [user.p_their()] arm, but nothing happens."), + SPAN_WARNING("You reach for [src] with your arm... but nothing happens.")) return activity = TUMOR_ACTIVE - user.visible_message("[src] convulses as [user]'s arm enters its radius. Uh-oh...", - "[src] convulses as your arm enters its radius. Your instincts tell you to step back.") + user.visible_message(SPAN_USERDANGER("[src] convulses as [user]'s arm enters its radius. Uh-oh..."), + SPAN_USERDANGER("[src] convulses as your arm enters its radius. Your instincts tell you to step back.")) make_activator(user) if(boosted) mychild.playsound_local(get_turf(mychild), 'sound/magic/cult_spell.ogg', 40, 0) - to_chat(mychild, "Someone has activated your tumor. You will be returned to fight shortly, get ready!") + to_chat(mychild, SPAN_WARNING("Someone has activated your tumor. You will be returned to fight shortly, get ready!")) addtimer(CALLBACK(src, PROC_REF(return_elite)), 3 SECONDS) if(TUMOR_INACTIVE) if(HAS_TRAIT(src, TRAIT_ELITE_CHALLENGER)) - user.visible_message("[user] reaches for [src] with [user.p_their()] arm, but nothing happens.", - "You reach for [src] with your arm... but nothing happens.") + user.visible_message(SPAN_WARNING("[user] reaches for [src] with [user.p_their()] arm, but nothing happens."), + SPAN_WARNING("You reach for [src] with your arm... but nothing happens.")) return 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_USERDANGER("[src] begins to convulse. Your instincts tell you to step back.")) make_activator(user) if(!boosted) addtimer(CALLBACK(src, PROC_REF(spawn_elite)), 3 SECONDS) return - visible_message("Something within [src] stirs...") + visible_message(SPAN_DANGER("Something within [src] stirs...")) var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a lavaland elite?", ROLE_ELITE, TRUE, 10 SECONDS, source = src) if(length(candidates)) - audible_message("The stirring sounds increase in volume!") + audible_message(SPAN_USERDANGER("The stirring sounds increase in volume!")) elitemind = pick(candidates) SEND_SOUND(elitemind, 'sound/magic/cult_spell.ogg') 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.\n\ @@ -223,14 +223,14 @@ While using this makes the system rely on OnFire, it still gives options for tim Should you win, you'll receive extra information regarding what to do after. Good luck!") addtimer(CALLBACK(src, PROC_REF(spawn_elite), elitemind), 10 SECONDS) else - visible_message("The stirring stops, and nothing emerges. Perhaps try again later.") + visible_message(SPAN_WARNING("The stirring stops, and nothing emerges. Perhaps try again later.")) activity = TUMOR_INACTIVE clear_activator(user) /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_USERDANGER("[mychild] emerges from [src]!")) playsound(loc,'sound/effects/phasein.ogg', 200, FALSE, 50, TRUE, TRUE) if(boosted) mychild.key = elitemind.key @@ -244,7 +244,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_USERDANGER("[mychild] emerges from [src]!")) playsound(loc,'sound/effects/phasein.ogg', 200, FALSE, 50, TRUE, TRUE) mychild.revive() if(boosted) @@ -299,7 +299,7 @@ While using this makes the system rely on OnFire, it still gives options for tim /obj/structure/elite_tumor/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/organ/internal/regenerative_core) && activity == TUMOR_INACTIVE && !boosted) var/obj/item/organ/internal/regenerative_core/core = used - visible_message("As [user] drops the core into [src], [src] appears to swell.") + visible_message(SPAN_WARNING("As [user] drops the core into [src], [src] appears to swell.")) icon_state = "advanced_tumor" boosted = TRUE set_light(6) @@ -336,11 +336,11 @@ 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) >= ARENA_RADIUS) activator.forceMove(loc) - visible_message("[activator] suddenly reappears above [src]!") + visible_message(SPAN_WARNING("[activator] suddenly reappears above [src]!")) playsound(loc,'sound/effects/phasein.ogg', 200, FALSE, 50, TRUE, TRUE) if(mychild != null && get_dist(src, mychild) >= ARENA_RADIUS) mychild.forceMove(loc) - visible_message("[mychild] suddenly reappears above [src]!") + visible_message(SPAN_WARNING("[mychild] suddenly reappears above [src]!")) playsound(loc,'sound/effects/phasein.ogg', 200, FALSE, 50, TRUE, TRUE) /obj/structure/elite_tumor/HasProximity(atom/movable/AM) @@ -350,11 +350,11 @@ While using this makes the system rely on OnFire, it still gives options for tim if(M == activator) return if(M in invaders) - to_chat(M, "You dare to try to break the sanctity of our arena? SUFFER...") + to_chat(M, SPAN_COLOSSUS("You dare to try to break the sanctity of our arena? SUFFER...")) for(var/i in 1 to 4) M.apply_status_effect(STATUS_EFFECT_VOID_PRICE) /// Hey kids, want 60 brute damage, increased by 40 each time you do it? Well, here you go! else - to_chat(M, "Only spectators are allowed, while the arena is in combat...") + to_chat(M, SPAN_USERDANGER("Only spectators are allowed, while the arena is in combat...")) invaders += M var/list/valid_turfs = RANGE_EDGE_TURFS(ARENA_RADIUS + 2, src) // extra safety M.forceMove(pick(valid_turfs)) //Doesn't check for lava. Don't cheese it. @@ -363,8 +363,8 @@ While using this makes the system rely on OnFire, it still gives options for tim /obj/structure/elite_tumor/proc/onEliteLoss() playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, FALSE, 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_WARNING("[src] begins to convulse violently before beginning to dissipate.")) + visible_message(SPAN_WARNING("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) if(mychild.loot_drop != null && prob(50)) @@ -390,7 +390,7 @@ While using this makes the system rely on OnFire, it still gives options for tim var/turf/T = get_turf(src) for(var/mob/M in GLOB.player_list) if(M.z == z && M.client) - to_chat(M, "Thunder rumbles. Light glows in the distance. Something big happened... somewhere.") + to_chat(M, SPAN_DANGER("Thunder rumbles. Light glows in the distance. Something big happened... somewhere.")) M.playsound_local(T, null, 100, FALSE, 0, FALSE, pressure_affected = FALSE, S = elite_sound) M.flash_screen_color("#FF0000", 2.5 SECONDS) else @@ -398,17 +398,17 @@ While using this makes the system rely on OnFire, it still gives options for tim if(times_won == 1) mychild.playsound_local(get_turf(mychild), 'sound/magic/cult_spell.ogg', 40, FALSE) var/list/text = list() - text += "As the life in the activator's eyes fade, the forcefield around you dies out and you feel your power subside." - text += "Despite this inferno being your home, you feel as if you aren't welcome here anymore." - text += "Without any guidance, your purpose is now for you to decide.\n" + text += SPAN_WARNING("As the life in the activator's eyes fade, the forcefield around you dies out and you feel your power subside.") + text += SPAN_WARNING("Despite this inferno being your home, you feel as if you aren't welcome here anymore.") + text += SPAN_WARNING("Without any guidance, your purpose is now for you to decide.\n") text += "Your max health has been halved, but can now heal by standing on your tumor. Note, it's your only way to heal." text += "Bear 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." text += "Also, be wary of your fellow inhabitants, they likely won't be happy to see you! \n" text += "Note that you are a lavaland monster, and thus not allied to the station." text += "You should not cooperate or act friendly with any station crew unless under extreme circumstances!" - text += "Do not attack the Mining Station or Labour Camp, unless the Shaft Miner you are actively fighting runs into the Station/Camp." - text += "After they are killed, you must withdraw. If you wish to continue attacking the Station, you MUST ahelp." - text += "If teleported to the Station by jaunter, you are allowed to attack people on Station, until you get killed." + text += SPAN_WARNING("Do not attack the Mining Station or Labour Camp, unless the Shaft Miner you are actively fighting runs into the Station/Camp.") + text += SPAN_WARNING("After they are killed, you must withdraw. If you wish to continue attacking the Station, you MUST ahelp.") + text += SPAN_WARNING("If teleported to the Station by jaunter, you are allowed to attack people on Station, until you get killed.") to_chat(mychild, text.Join(" ")) QDEL_NULL(proximity_monitor) @@ -436,9 +436,9 @@ While using this makes the system rely on OnFire, it still gives options for tim E.faction = list("\ref[user]") E.friends += user E.revive() - user.visible_message("[user] stabs [E] with [src], reviving it.") + user.visible_message(SPAN_NOTICE("[user] stabs [E] with [src], reviving it.")) SEND_SOUND(E, 'sound/magic/cult_spell.ogg') - to_chat(E, "You have been revived by [user], and you owe [user] a great debt. Assist [user.p_them()] in achieving [user.p_their()] goals, regardless of risk.") + to_chat(E, SPAN_USERDANGER("You have been revived by [user], and you owe [user] a great debt. Assist [user.p_them()] in achieving [user.p_their()] goals, regardless of risk.")) to_chat(E, "Note that you now share the loyalties of [user]. You are expected not to intentionally sabotage their faction unless commanded to!") if(user.mind.special_role) E.maxHealth = 300 @@ -451,7 +451,7 @@ While using this makes the system rely on OnFire, it still gives options for tim E.del_on_death = TRUE qdel(src) else - to_chat(user, "[src] only works on the corpse of a sentient lavaland elite.") + to_chat(user, SPAN_NOTICE("[src] only works on the corpse of a sentient lavaland elite.")) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm index f4ef004e413..e0725748285 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm @@ -53,25 +53,25 @@ /datum/action/innate/elite_attack/tentacle_patch name = "Tentacle Patch" button_icon_state = "tentacle_patch" - chosen_message = "You are now attacking with a patch of tentacles." + chosen_message = SPAN_BOLDWARNING("You are now attacking with a patch of tentacles.") chosen_attack_num = TENTACLE_PATCH /datum/action/innate/elite_attack/spawn_children name = "Spawn Children" button_icon_state = "spawn_children" - chosen_message = "You will spawn two children at your location to assist you in combat. You can have up to 8." + chosen_message = SPAN_BOLDWARNING("You will spawn two children at your location to assist you in combat. You can have up to 8.") chosen_attack_num = SPAWN_CHILDREN /datum/action/innate/elite_attack/rage name = "Rage" button_icon_state = "rage" - chosen_message = "You will temporarily increase your movement speed." + chosen_message = SPAN_BOLDWARNING("You will temporarily increase your movement speed.") chosen_attack_num = RAGE /datum/action/innate/elite_attack/call_children name = "Call Children" button_icon_state = "call_children" - chosen_message = "You will summon your children to your location." + chosen_message = SPAN_BOLDWARNING("You will summon your children to your location.") chosen_attack_num = CALL_CHILDREN /mob/living/simple_animal/hostile/asteroid/elite/broodmother/Destroy() @@ -123,25 +123,25 @@ 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 + 3 SECONDS * revive_multiplier() - visible_message("The ground churns behind [src]!") + visible_message(SPAN_DANGER("The ground churns behind [src]!")) for(var/i in 1 to 2) if(length(children_list) >= 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_DANGER("[newchild] appears below [src]!")) newchild.mother = src children_list += newchild /mob/living/simple_animal/hostile/asteroid/elite/broodmother/proc/rage() ranged_cooldown = world.time + 5 SECONDS * revive_multiplier() - visible_message("[src] starts picking up speed!") + visible_message(SPAN_WARNING("[src] starts picking up speed!")) color = "#FF0000" speed = 0 move_to_delay = 3 @@ -154,7 +154,7 @@ /mob/living/simple_animal/hostile/asteroid/elite/broodmother/proc/call_children() ranged_cooldown = world.time + 4 SECONDS * revive_multiplier() - visible_message("The ground shakes near [src]!") + visible_message(SPAN_WARNING("The ground shakes near [src]!")) var/list/directions = GLOB.cardinal.Copy() + GLOB.diagonals.Copy() for(var/mob/living/child in children_list) var/spawndir = pick_n_take(directions) @@ -202,14 +202,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 its tentacles under [target]!") + visible_message(SPAN_WARNING("[src] digs 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(!QDELETED(mother)) mother.children_list -= src - visible_message("[src] explodes!") + visible_message(SPAN_WARNING("[src] explodes!")) explosion(src, flame_range = 3, adminlog = FALSE, cause = "[name] death") new /obj/item/stack/sheet/animalhide/goliath_hide(loc) new /obj/effect/gibspawner/human(get_turf(src)) @@ -221,7 +221,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(1 SECONDS) L.KnockDown(2.5 SECONDS) L.adjustBruteLoss(rand(20,25)) diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm index 96d32d9f5df..3a8ad2e5fea 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm @@ -75,25 +75,25 @@ /datum/action/innate/elite_attack/herald_trishot name = "Triple Shot" button_icon_state = "herald_trishot" - chosen_message = "You are now firing three shots in your chosen direction." + chosen_message = SPAN_BOLDWARNING("You are now firing three shots in your chosen direction.") chosen_attack_num = HERALD_TRISHOT /datum/action/innate/elite_attack/herald_directionalshot name = "Circular Shot" button_icon_state = "herald_directionalshot" - chosen_message = "You are firing projectiles in all directions." + chosen_message = SPAN_BOLDWARNING("You are firing projectiles in all directions.") chosen_attack_num = HERALD_DIRECTIONALSHOT /datum/action/innate/elite_attack/herald_teleshot name = "Teleport Shot" button_icon_state = "herald_teleshot" - chosen_message = "You will now fire a shot which teleports you where it lands." + chosen_message = SPAN_BOLDWARNING("You will now fire a shot which teleports you where it lands.") chosen_attack_num = HERALD_TELESHOT /datum/action/innate/elite_attack/herald_mirror name = "Summon Mirror" button_icon_state = "herald_mirror" - chosen_message = "You will spawn a mirror which duplicates your attacks." + chosen_message = SPAN_BOLDWARNING("You will spawn a mirror which duplicates your attacks.") chosen_attack_num = HERALD_MIRROR /mob/living/simple_animal/hostile/asteroid/elite/herald/OpenFire() @@ -299,23 +299,23 @@ starting_mirror = i if(!found_mirror) - to_chat(usr, "You are not close enough to a working mirror to teleport!") + to_chat(usr, SPAN_WARNING("You are not close enough to a working mirror to teleport!")) return var/input_mirror = tgui_input_list(usr, "Choose a mirror to teleport to.", "Mirror to Teleport to", mirrors_to_use) var/obj/chosen = mirrors_to_use[input_mirror] if(chosen == null) return - usr.visible_message("[usr] starts to crawl into [starting_mirror]...", \ - "You start to crawl into the [starting_mirror]...") + usr.visible_message(SPAN_WARNING("[usr] starts to crawl into [starting_mirror]..."), \ + SPAN_NOTICE("You start to crawl into the [starting_mirror]...")) if(do_after(usr, 2 SECONDS, target = usr)) var/turf/destination = get_turf(chosen) if(QDELETED(chosen) || !usr|| HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED) || !chosen || (get_dist(src, starting_mirror) > 1 || destination.z != usr.z)) return - usr.visible_message("[usr] crawls into the [starting_mirror], and [usr.p_they()] disappear into it!", \ - "You crawl into the [starting_mirror]...") + usr.visible_message(SPAN_WARNING("[usr] crawls into the [starting_mirror], and [usr.p_they()] disappear into it!"), \ + SPAN_NOTICE("You crawl into the [starting_mirror]...")) usr.forceMove(destination) - usr.visible_message("[usr] crawls out of [chosen], causing it to shatter!", \ - "You crawl out of your own reflection, shattering the mirror!") + usr.visible_message(SPAN_WARNING("[usr] crawls out of [chosen], causing it to shatter!"), \ + SPAN_WARNING("You crawl out of your own reflection, shattering the mirror!")) if(istype(chosen, /obj/structure/mirror)) var/obj/structure/mirror/M = chosen M.obj_break("brute") diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.dm index 96626c818fe..255e9ddc6c8 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.dm @@ -56,25 +56,25 @@ /datum/action/innate/elite_attack/legionnaire_charge name = "Legionnaire Charge" button_icon_state = "legionnaire_charge" - chosen_message = "You will attempt to grab your opponent and throw them." + chosen_message = SPAN_BOLDWARNING("You will attempt to grab your opponent and throw them.") chosen_attack_num = LEGIONNAIRE_CHARGE /datum/action/innate/elite_attack/head_detach name = "Release Head" button_icon_state = "head_detach" - chosen_message = "You will now detach your head or kill it if it is already released." + chosen_message = SPAN_BOLDWARNING("You will now detach your head or kill it if it is already released.") chosen_attack_num = HEAD_DETACH /datum/action/innate/elite_attack/bonfire_teleport name = "Bonfire Teleport" button_icon_state = "bonfire_teleport" - chosen_message = "You will leave a bonfire. Second use will let you swap positions with it indefintiely. Using this move on the same tile as your active bonfire removes it." + chosen_message = SPAN_BOLDWARNING("You will leave a bonfire. Second use will let you swap positions with it indefintiely. Using this move on the same tile as your active bonfire removes it.") chosen_attack_num = BONFIRE_TELEPORT /datum/action/innate/elite_attack/spew_smoke name = "Spew Smoke" button_icon_state = "spew_smoke" - chosen_message = "Your head will spew smoke in an area, wherever it may be." + chosen_message = SPAN_BOLDWARNING("Your head will spew smoke in an area, wherever it may be.") chosen_attack_num = SPEW_SMOKE /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/Destroy() @@ -128,7 +128,7 @@ new /obj/effect/temp_visual/dragon_swoop/legionnaire(T) T = get_step(T, dir_to_target) playsound(src, 'sound/misc/demon_attack1.ogg', 200, 1) - visible_message("[src] prepares to charge!") + visible_message(SPAN_DANGER("[src] prepares to charge!")) addtimer(CALLBACK(src, PROC_REF(legionnaire_charge_to), dir_to_target, 0), 4) /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/legionnaire_charge_to(move_dir, times_ran, list/hit_targets = list()) @@ -162,8 +162,8 @@ if(faction_check_mob(L)) charging = FALSE return - visible_message("[src] tramples and kicks [L]!") - to_chat(L, "[src] tramples you and kicks you away!") + visible_message(SPAN_DANGER("[src] tramples and kicks [L]!")) + to_chat(L, SPAN_USERDANGER("[src] tramples you and kicks you away!")) L.throw_at(throwtarget, 10, 1, src) L.Weaken(1 SECONDS) //Pain Train has no breaks. if(L in hit_targets) @@ -208,7 +208,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_DANGER("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 + 2 SECONDS * revive_multiplier() @@ -217,7 +217,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_WARNING("[src] summons a bonfire on [get_turf(src)]!")) return else var/turf/legionturf = get_turf(src) @@ -227,9 +227,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_DANGER("[src] melts down into a burning pile of bones!")) forceMove(pileturf) - visible_message("[src] forms from the bonfire!") + visible_message(SPAN_DANGER("[src] forms from the bonfire!")) mypile.forceMove(legionturf) /mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/spew_smoke() @@ -240,11 +240,11 @@ else smoke_location = myhead if(myhead != null) - myhead.visible_message("[myhead] spews smoke from its maw!") + myhead.visible_message(SPAN_DANGER("[myhead] spews smoke from its maw!")) else if(!has_head) - visible_message("[src] spews smoke from the tip of their spine!") + visible_message(SPAN_DANGER("[src] spews smoke from the tip of their spine!")) else - visible_message("[src] spews smoke from its maw!") + visible_message(SPAN_DANGER("[src] spews smoke from its maw!")) var/datum/effect_system/smoke_spread/smoke = new smoke.set_up(6, FALSE, smoke_location) smoke.attach(smoke_location) @@ -347,10 +347,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_WARNING("[LivingUser] shakes the [src] and summons a legion skull!")) var/mob/living/basic/mining/hivelordbrood/legion/LegionSkull = new /mob/living/basic/mining/hivelordbrood/legion(LivingUser.loc) LegionSkull.faction = LivingUser.faction.Copy() next_use_time = world.time + 4 SECONDS diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm index 4a2b362ee6b..5bbcf60e22c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm @@ -57,25 +57,25 @@ /datum/action/innate/elite_attack/chaser_burst name = "Chaser Burst" button_icon_state = "singular_shot" - chosen_message = "You fire a chaser after all mobs in view." + chosen_message = SPAN_BOLDWARNING("You fire a chaser after all mobs in view.") chosen_attack_num = CHASER_BURST /datum/action/innate/elite_attack/magic_box name = "Magic Box" button_icon_state = "magic_box" - chosen_message = "You are now attacking with a box of magic squares." + chosen_message = SPAN_BOLDWARNING("You are now attacking with a box of magic squares.") chosen_attack_num = MAGIC_BOX /datum/action/innate/elite_attack/pandora_teleport name = "Line Teleport" button_icon_state = "pandora_teleport" - chosen_message = "You will now teleport to your target." + chosen_message = SPAN_BOLDWARNING("You will now teleport to your target.") chosen_attack_num = PANDORA_TELEPORT /datum/action/innate/elite_attack/aoe_squares name = "AOE Blast" button_icon_state = "aoe_squares" - chosen_message = "Your attacks will spawn an AOE blast at your target location." + chosen_message = SPAN_BOLDWARNING("Your attacks will spawn an AOE blast at your target location.") chosen_attack_num = AOE_SQUARES /mob/living/simple_animal/hostile/asteroid/elite/pandora/OpenFire() @@ -168,7 +168,7 @@ for(var/t in RANGE_TURFS(1, source)) new /obj/effect/temp_visual/hierophant/blast/damaging/pandora(t, src, TRUE) animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out - visible_message("[src] fades out!") + visible_message(SPAN_HIEROPHANT("[src] fades out!")) set_density(FALSE) addtimer(CALLBACK(src, PROC_REF(pandora_teleport_3), T), 2) @@ -176,7 +176,7 @@ forceMove(T) animate(src, alpha = 255, time = 2, easing = EASE_IN) //fade IN set_density(TRUE) - visible_message("[src] fades in!") + visible_message(SPAN_HIEROPHANT("[src] fades in!")) /mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/aoe_squares(target) ranged_cooldown = world.time + cooldown_time * 2 diff --git a/code/modules/mob/living/simple_animal/hostile/mining/mining.dm b/code/modules/mob/living/simple_animal/hostile/mining/mining.dm index 689cf8c8b5e..78361415ec1 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/mining.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/mining.dm @@ -37,7 +37,7 @@ Aggro() if(P.damage < 30 && P.damage_type != BRUTE && has_laser_resist) 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 @@ -46,7 +46,7 @@ if(stat == CONSCIOUS) Aggro() if(T.throwforce <= 20) - visible_message("[T] [throw_message] [src.name]!") + visible_message(SPAN_NOTICE("[T] [throw_message] [src.name]!")) return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index 806a8197038..d0624305d57 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -35,9 +35,9 @@ /mob/living/simple_animal/hostile/mushroom/examine(mob/user) . = ..() if(health >= maxHealth) - . += "It looks healthy." + . += SPAN_NOTICE("It looks healthy.") else - . += "It looks like it's been roughed up." + . += SPAN_NOTICE("It looks like it's been roughed up.") /mob/living/simple_animal/hostile/mushroom/Life(seconds, times_fired) ..() @@ -93,7 +93,7 @@ M.visible_message("[M] chews a bit on [src].") faint_ticker++ return TRUE - M.visible_message("[M] devours [src]!") + M.visible_message(SPAN_WARNING("[M] devours [src]!")) var/level_gain = (powerlevel - M.powerlevel) if(level_gain >= -1 && !bruised && !M.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 @@ -124,7 +124,7 @@ overlays += 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() UpdateMushroomCap() @@ -144,7 +144,7 @@ /mob/living/simple_animal/hostile/mushroom/proc/Bruise() if(!bruised && stat == CONSCIOUS) - src.visible_message("[src] was bruised!") + src.visible_message(SPAN_NOTICE("[src] was bruised!")) bruised = 1 /mob/living/simple_animal/hostile/mushroom/item_interaction(mob/living/user, obj/item/I, list/modifiers) @@ -153,7 +153,7 @@ Recover() qdel(I) else - to_chat(user, "[src] won't eat it!") + to_chat(user, SPAN_NOTICE("[src] won't eat it!")) return ITEM_INTERACT_COMPLETE /mob/living/simple_animal/hostile/mushroom/attacked_by(obj/item/attacker, mob/living/user) diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 2c56e03cd5e..782cb9c9293 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -17,17 +17,17 @@ /obj/structure/spawner/nether/examine(mob/user) . = ..() if(isskeleton(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) . = ..() if(isskeleton(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() @@ -41,7 +41,7 @@ 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." - visible_message("[M] reemerges from the link!") + visible_message(SPAN_WARNING("[M] reemerges from the link!")) blank.held_body = M M.forceMove(blank) diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate_mobs.dm b/code/modules/mob/living/simple_animal/hostile/syndicate_mobs.dm index 440f029d36b..c84c9efddff 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate_mobs.dm @@ -475,7 +475,7 @@ /mob/living/simple_animal/hostile/syndicate/attack_hand(mob/living/user) if(melee_type == MELEE_WEAPON_DSWORD && prob(deflect_chance)) - visible_message("[src] deflects [user]'s punch with its double-bladed sword!") + visible_message(SPAN_BOLDWARNING("[src] deflects [user]'s punch with its double-bladed sword!")) do_attack_animation(src) user.changeNext_move(CLICK_CD_MELEE) user.attack_animal(src) @@ -483,7 +483,7 @@ return FINISH_ATTACK if(prob(parry_chance)) - visible_message("[src] parries [user]!") + visible_message(SPAN_BOLDWARNING("[src] parries [user]!")) do_attack_animation(src) user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) @@ -494,7 +494,7 @@ /mob/living/simple_animal/hostile/syndicate/attack_by(obj/item/O, mob/living/user, params) if(melee_type == MELEE_WEAPON_DSWORD && prob(deflect_chance)) - visible_message("[src] deflects [O] with its double-bladed sword!") + visible_message(SPAN_BOLDWARNING("[src] deflects [O] with its double-bladed sword!")) do_attack_animation(src) user.changeNext_move(CLICK_CD_MELEE) user.attack_animal(src) @@ -502,7 +502,7 @@ return FINISH_ATTACK if(prob(parry_chance)) - visible_message("[src] parries [O]!") + visible_message(SPAN_BOLDWARNING("[src] parries [O]!")) do_attack_animation(src) user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) @@ -519,12 +519,12 @@ do_attack_animation(src) playsound(src, 'sound/weapons/effects/ric3.ogg', clamp(maxHealth-health, 40, 120), TRUE) Proj.reflect_back(src) - visible_message("[src] reflects [Proj] with its [syndie_flags & ESHIELD ? "shield" : "sword"]!") + visible_message(SPAN_DANGER("[src] reflects [Proj] with its [syndie_flags & ESHIELD ? "shield" : "sword"]!")) return -1 if(melee_type != MELEE_WEAPON_NONE && prob(parry_chance)) do_attack_animation(src) - visible_message("[src] parries [Proj]!") + visible_message(SPAN_DANGER("[src] parries [Proj]!")) playsound(src, 'sound/weapons/parry.ogg', clamp(maxHealth-health, 40, 120)) return @@ -688,7 +688,7 @@ if(istype(loc, /obj/structure/closet)) var/obj/structure/closet/O = loc forceMove(get_turf(src)) - visible_message("[src] smashes their way out of [O]!") + visible_message(SPAN_BOLDWARNING("[src] smashes their way out of [O]!")) qdel(O) raise_alert("[src] reported being trapped in a locker.") raised_alert = FALSE @@ -781,7 +781,7 @@ loot = list() // Explodes, doesn't drop loot. /mob/living/simple_animal/hostile/syndicate/depot/modsuit/backup/death() - visible_message("[src] explodes!") + visible_message(SPAN_WARNING("[src] explodes!")) playsound(src, 'sound/items/timer.ogg', 30, FALSE) explosion(src, 0, 4, 4, flame_range = 2, adminlog = FALSE, cause = "[name] autogib") qdel(src) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm index 45003d25e2d..01f32d85930 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm @@ -136,19 +136,19 @@ if(!web_type) return if(!isturf(loc)) - to_chat(src, "Webs can only be spun while standing on a floor.") + to_chat(src, SPAN_DANGER("Webs can only be spun while standing on a floor.")) return var/turf/mylocation = loc - visible_message("[src] begins to secrete a sticky substance.") + visible_message(SPAN_NOTICE("[src] begins to secrete a sticky substance.")) if(do_after(src, delay_web, target = loc)) if(loc != mylocation) return else if(isspaceturf(loc)) - to_chat(src, "Webs cannot be spun in space.") + to_chat(src, SPAN_DANGER("Webs cannot be spun in space.")) else var/obj/structure/spider/terrorweb/T = locate() in get_turf(src) if(T) - to_chat(src, "There is already a web here.") + to_chat(src, SPAN_DANGER("There is already a web here.")) else var/obj/structure/spider/terrorweb/W = new web_type(loc) W.creator_ckey = ckey @@ -186,7 +186,7 @@ /obj/structure/spider/terrorweb/proc/on_atom_entered(datum/source, atom/movable/entered) if(isliving(entered) && !isterrorspider(entered)) var/mob/living/M = entered - to_chat(M, "You get stuck in [src] for a moment.") + to_chat(M, SPAN_USERDANGER("You get stuck in [src] for a moment.")) M.Weaken(8 SECONDS) if(iscarbon(M)) web_special_ability(M) @@ -204,7 +204,7 @@ /obj/structure/spider/terrorweb/bullet_act(obj/projectile/Proj) if(Proj.damage_type != BRUTE && Proj.damage_type != BURN) - visible_message("[src] is undamaged by [Proj]!") + visible_message(SPAN_DANGER("[src] is undamaged by [Proj]!")) // Webs don't care about disablers, tasers, etc. Or toxin damage. They're organic, but not alive. return ..() @@ -241,7 +241,7 @@ if(length(choices)) cocoon_target = tgui_input_list(src, "What do you wish to cocoon?", "Cocoon Selection", choices) else - to_chat(src, "There is nothing nearby you can wrap.") + to_chat(src, SPAN_DANGER("There is nothing nearby you can wrap.")) /mob/living/simple_animal/hostile/poison/terror_spider/proc/DoWrap() if(cocoon_target && busy != SPINNING_COCOON) @@ -249,7 +249,7 @@ cocoon_target = null return busy = SPINNING_COCOON - visible_message("[src] begins to secrete a sticky substance around [cocoon_target].") + visible_message(SPAN_NOTICE("[src] begins to secrete a sticky substance around [cocoon_target].")) stop_automated_movement = TRUE GLOB.move_manager.stop_looping(src) if(do_after(src, 40, target = cocoon_target.loc)) @@ -276,10 +276,10 @@ if(iscarbon(L)) regen_points += regen_points_per_kill fed++ - visible_message("[src] sticks a proboscis into [L] and sucks a viscous substance out.") - to_chat(src, "You feel invigorated!") + visible_message(SPAN_DANGER("[src] sticks a proboscis into [L] and sucks a viscous substance out.")) + to_chat(src, SPAN_NOTICE("You feel invigorated!")) else - visible_message("[src] wraps [L] in a web.") + visible_message(SPAN_DANGER("[src] wraps [L] in a web.")) large_cocoon = 1 last_cocoon_object = 0 L.loc = C @@ -301,7 +301,7 @@ if(C.welded) valid_target = TRUE if(!valid_target) - to_chat(src, "No welded vent or scrubber nearby!") + to_chat(src, SPAN_WARNING("No welded vent or scrubber nearby!")) return playsound(get_turf(src), 'sound/machines/airlock_alien_prying.ogg', 50, 0) if(do_after(src, 40, target = loc)) @@ -311,7 +311,7 @@ P.update_icon() P.update_pipe_image() forceMove(P.loc) - P.visible_message("[src] smashes the welded cover off [P]!") + P.visible_message(SPAN_DANGER("[src] smashes the welded cover off [P]!")) return for(var/obj/machinery/atmospherics/unary/vent_scrubber/C in range(1, get_turf(src))) if(C.welded) @@ -319,7 +319,7 @@ C.update_icon() C.update_pipe_image() forceMove(C.loc) - C.visible_message("[src] smashes the welded cover off [C]!") + C.visible_message(SPAN_DANGER("[src] smashes the welded cover off [C]!")) return - to_chat(src, "There is no welded vent or scrubber close enough to do this.") + to_chat(src, SPAN_DANGER("There is no welded vent or scrubber close enough to do this.")) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm index 0cf9241dc83..b27de16c181 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/black.dm @@ -38,15 +38,15 @@ L.apply_damage(30, STAMINA) if(L.can_inject(null, FALSE, inject_target, FALSE) || (HAS_TRAIT(L, TRAIT_HANDS_BLOCKED) && HAS_TRAIT(L, TRAIT_IMMOBILIZED))) L.reagents.add_reagent("terror_black_toxin", 30) // inject our special poison - visible_message("[src] buries its long fangs deep into the [inject_target] of [target]!") + visible_message(SPAN_DANGER("[src] buries its long fangs deep into the [inject_target] of [target]!")) else - visible_message("[src] bites [target], but cannot inject venom into [target.p_their()] [inject_target]!") + visible_message(SPAN_DANGER("[src] bites [target], but cannot inject venom into [target.p_their()] [inject_target]!")) if(!ckey && (!(target in enemies) || L.reagents.has_reagent("terror_black_toxin", 60))) step_away(src, L) step_away(src, L) LoseTarget() step_away(src, L) - visible_message("[src] jumps away from [L]!") + visible_message(SPAN_NOTICE("[src] jumps away from [L]!")) /obj/structure/spider/terrorweb/black @@ -58,5 +58,5 @@ if(!C.reagents.has_reagent("terror_black_toxin", 60)) var/inject_target = pick("chest","head") if(C.can_inject(null, FALSE, inject_target, FALSE)) - to_chat(C, "[src] slices into you!") + to_chat(C, SPAN_DANGER("[src] slices into you!")) C.reagents.add_reagent("terror_black_toxin", 30) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress_terror.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress_terror.dm index 50c40db56d7..bc091d0a21b 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress_terror.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/empress_terror.dm @@ -50,7 +50,7 @@ var/eggtype = tgui_input_list(src, "What kind of eggs?", "Egg laying", list(TS_DESC_QUEEN, TS_DESC_MOTHER, TS_DESC_PRINCE, TS_DESC_PRINCESS, TS_DESC_RED, TS_DESC_GRAY, TS_DESC_GREEN, TS_DESC_BLACK, TS_DESC_PURPLE, TS_DESC_WHITE, TS_DESC_BROWN)) var/numlings = input("How many in the batch?") as null|anything in list(1, 2, 3, 4, 5, 10, 15, 20, 30, 40, 50) if(eggtype == null || numlings == null) - to_chat(src, "Cancelled.") + to_chat(src, SPAN_DANGER("Cancelled.")) return switch(eggtype) if(TS_DESC_RED) @@ -76,7 +76,7 @@ if(TS_DESC_QUEEN) DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/queen, numlings) else - to_chat(src, "Unrecognized egg type.") + to_chat(src, SPAN_DANGER("Unrecognized egg type.")) /mob/living/simple_animal/hostile/poison/terror_spider/queen/empress/proc/EmpressLings() var/numlings = input("How many?") as null|anything in list(10, 20, 30, 40, 50) @@ -100,12 +100,12 @@ var/mob/living/simple_animal/hostile/poison/terror_spider/T = thing if(T.spider_tier < spider_tier) T.degenerate = TRUE - to_chat(T, "Through the hivemind, the raw power of [src] floods into your body, burning it from the inside out!") + to_chat(T, SPAN_USERDANGER("Through the hivemind, the raw power of [src] floods into your body, burning it from the inside out!")) for(var/obj/structure/spider/eggcluster/terror_eggcluster/T in GLOB.ts_egg_list) qdel(T) for(var/mob/living/basic/spiderling/terror_spiderling/T in GLOB.ts_spiderling_list) qdel(T) - to_chat(src, "All Terror Spiders, except yourself, will die off shortly.") + to_chat(src, SPAN_USERDANGER("All Terror Spiders, except yourself, will die off shortly.")) /obj/projectile/terrorqueenspit/empress damage = 90 diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm index a398fd93439..a022da413e3 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/gray.dm @@ -46,11 +46,11 @@ if(W) melee_damage_lower = initial(melee_damage_lower) * 2 melee_damage_upper = initial(melee_damage_upper) * 2 - visible_message("[src] savagely mauls [target] while [L.p_theyre()] stuck in the web!") + visible_message(SPAN_DANGER("[src] savagely mauls [target] while [L.p_theyre()] stuck in the web!")) else melee_damage_lower = initial(melee_damage_lower) melee_damage_upper = initial(melee_damage_upper) - visible_message("[src] bites [target]!") + visible_message(SPAN_DANGER("[src] bites [target]!")) L.attack_animal(src) /mob/living/simple_animal/hostile/poison/terror_spider/gray/spider_special_action() diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm index 3b50711640d..c19c291a855 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/green.dm @@ -34,10 +34,10 @@ /mob/living/simple_animal/hostile/poison/terror_spider/green/proc/DoLayGreenEggs() var/obj/structure/spider/eggcluster/E = locate() in get_turf(src) if(E) - to_chat(src, "There is already a cluster of eggs here!") + to_chat(src, SPAN_NOTICE("There is already a cluster of eggs here!")) return if(fed < feedings_to_lay) - to_chat(src, "You must wrap more humanoid prey before you can do this!") + to_chat(src, SPAN_WARNING("You must wrap more humanoid prey before you can do this!")) return var/list/eggtypes = list(TS_DESC_RED, TS_DESC_GRAY, TS_DESC_GREEN) var/list/spider_array = CountSpidersDetailed(FALSE) @@ -49,17 +49,17 @@ if(client) eggtype = tgui_input_list(src, "What kind of eggs?", "Egg Laying", eggtypes) if(!(eggtype in eggtypes)) - to_chat(src, "Unrecognized egg type.") + to_chat(src, SPAN_DANGER("Unrecognized egg type.")) return FALSE if(!isturf(loc)) // This has to be checked after we ask the user what egg type. Otherwise they could trigger prompt THEN move into a vent. - to_chat(src, "Eggs can only be laid while standing on a floor.") + to_chat(src, SPAN_DANGER("Eggs can only be laid while standing on a floor.")) return if(fed < feedings_to_lay) // We have to check this again after the popup, to account for people spam-clicking the button, then doing all the popups at once. - to_chat(src, "You must wrap more humanoid prey before you can do this!") + to_chat(src, SPAN_WARNING("You must wrap more humanoid prey before you can do this!")) return - visible_message("[src] lays a cluster of eggs.") + visible_message(SPAN_NOTICE("[src] lays a cluster of eggs.")) if(eggtype == TS_DESC_RED) DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/red, 1) else if(eggtype == TS_DESC_GRAY) @@ -71,7 +71,7 @@ else if(eggtype == TS_DESC_BROWN) DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/brown, 1) else - to_chat(src, "Unrecognized egg type!") + to_chat(src, SPAN_WARNING("Unrecognized egg type!")) fed += feedings_to_lay fed -= feedings_to_lay @@ -93,9 +93,9 @@ if(L.IsStunned() || L.can_inject(null, FALSE, inject_target, FALSE)) L.AdjustEyeBlurry(20 SECONDS, 0, 120 SECONDS) // instead of having a venom that only lasts seconds, we just add the eyeblur directly. - visible_message("[src] buries its fangs deep into the [inject_target] of [target]!") + visible_message(SPAN_DANGER("[src] buries its fangs deep into the [inject_target] of [target]!")) else - visible_message("[src] bites [target], but cannot inject venom into [target.p_their()] [inject_target]!") + visible_message(SPAN_DANGER("[src] bites [target], but cannot inject venom into [target.p_their()] [inject_target]!")) /mob/living/simple_animal/hostile/poison/terror_spider/green/event_cost() if(is_station_level((get_turf(src)).z) && stat != DEAD) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm index 57135749d75..4f0f626d801 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/mother.dm @@ -63,27 +63,27 @@ return if(!isobserver(user) && !isterrorspider(user)) return - . += "[p_they(TRUE)] is carrying [length(contents)] spiderlings." + . += SPAN_NOTICE("[p_they(TRUE)] is carrying [length(contents)] spiderlings.") /mob/living/simple_animal/hostile/poison/terror_spider/mother/proc/DoCreateJelly() // Mothers create jellies, which other terrors eat to get regeneration points, just like they get from wrapping corpses. // Jellies are essentially health packs that provide healing over time. if(regen_points < jelly_cost) - to_chat(src, "You only have [regen_points] of the [jelly_cost] regeneration points you need to do this.") + to_chat(src, SPAN_DANGER("You only have [regen_points] of the [jelly_cost] regeneration points you need to do this.")) return if(!isturf(loc)) - to_chat(src, "You can only secrete jelly while standing on a floor.") + to_chat(src, SPAN_DANGER("You can only secrete jelly while standing on a floor.")) return var/turf/mylocation = get_turf(src) if(isspaceturf(mylocation)) - to_chat(src, "Cannot secrete jelly in space.") + to_chat(src, SPAN_DANGER("Cannot secrete jelly in space.")) return - visible_message("[src] begins to secrete royal jelly.") + visible_message(SPAN_NOTICE("[src] begins to secrete royal jelly.")) if(do_after_once(src, 100, target = loc, attempt_cancel_message = "You stop producing jelly.")) if(loc != mylocation) return if(regen_points < jelly_cost) - to_chat(src, "You only have [regen_points] of the [jelly_cost] regeneration points you need to do this.") + to_chat(src, SPAN_DANGER("You only have [regen_points] of the [jelly_cost] regeneration points you need to do this.")) return new /obj/structure/spider/royaljelly(loc) regen_points -= jelly_cost @@ -91,7 +91,7 @@ /mob/living/simple_animal/hostile/poison/terror_spider/mother/consume_jelly(obj/structure/spider/royaljelly/J) // Jellies give more regeneration points to the spider who eats them than they cost the mother to create. // This makes them cost-efficient. But it also means we can't let mothers eat jellies, or they could keep cycling them for infinite points. - to_chat(src, "Mothers cannot consume royal jelly.") + to_chat(src, SPAN_WARNING("Mothers cannot consume royal jelly.")) return /mob/living/simple_animal/hostile/poison/terror_spider/mother/proc/PickupSpiderlings() @@ -117,7 +117,7 @@ // Mothers can spend regen points to make existing eggs mature faster. // This lets mothers save the spiderlings from eggs that would otherwise be lost when a nest is about to get wiped out. if(regen_points < 50) - to_chat(src, "You only have [regen_points] of the 50 regeneration points required to do this.") + to_chat(src, SPAN_DANGER("You only have [regen_points] of the 50 regeneration points required to do this.")) return for(var/obj/structure/spider/eggcluster/terror_eggcluster/C in orange(0, src)) var/turf/T = get_turf(C) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/prince.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/prince.dm index 151e4383eef..f586b7021bd 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/prince.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/prince.dm @@ -107,7 +107,7 @@ T.dismantle_wall(TRUE) hit_something = TRUE if(hit_something) - visible_message("[src] slams into [hit_atom]!", "You slam into [hit_atom]!") + visible_message(SPAN_DANGER("[src] slams into [hit_atom]!"), SPAN_USERDANGER("You slam into [hit_atom]!")) playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100, TRUE) /mob/living/simple_animal/hostile/poison/terror_spider/prince/event_cost() diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/princess.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/princess.dm index eba3e0c2a18..801b2f07eb7 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/princess.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/princess.dm @@ -62,7 +62,7 @@ spider_lastspawn = world.time if(!isturf(loc)) - to_chat(src, "You cannot generate eggs while hiding in [loc].") + to_chat(src, SPAN_DANGER("You cannot generate eggs while hiding in [loc].")) return var/list/spider_array = CountSpidersDetailed(TRUE) @@ -89,12 +89,12 @@ return canlay++ if(canlay == 1) - to_chat(src, "You have an egg available to lay.") + to_chat(src, SPAN_NOTICE("You have an egg available to lay.")) else - to_chat(src, "You have [canlay] eggs available to lay.") + to_chat(src, SPAN_NOTICE("You have [canlay] eggs available to lay.")) /mob/living/simple_animal/hostile/poison/terror_spider/queen/princess/show_egg_timer() - to_chat(src, "Too soon to attempt that again. You generate a new egg every [spider_spawnfrequency / 10] seconds.") + to_chat(src, SPAN_DANGER("Too soon to attempt that again. You generate a new egg every [spider_spawnfrequency / 10] seconds.")) /mob/living/simple_animal/hostile/poison/terror_spider/queen/princess/NestMode() // Princesses don't nest. However, we still need to override this in case an AI princess calls it. diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm index 07661233b38..38600517bd6 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/purple.dm @@ -44,7 +44,7 @@ if(!degenerate && !spider_myqueen.degenerate) degenerate = TRUE spider_myqueen.DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/purple, 1) - visible_message("[src] chitters in the direction of [spider_myqueen]!") + visible_message(SPAN_NOTICE("[src] chitters in the direction of [spider_myqueen]!")) return ..() /mob/living/simple_animal/hostile/poison/terror_spider/purple/Life(seconds, times_fired) @@ -61,7 +61,7 @@ if(Q.stat == DEAD) spider_myqueen = null degenerate = TRUE - to_chat(src, "[Q] has died! Her power no longer sustains you!") + to_chat(src, SPAN_USERDANGER("[Q] has died! Her power no longer sustains you!")) return if(get_dist(src, Q) < vision_range) @@ -72,23 +72,23 @@ if(queen_visible) cycles_noqueen = 0 if(spider_debug) - to_chat(src, "[Q] visible.") + to_chat(src, SPAN_NOTICE("[Q] visible.")) else cycles_noqueen++ if(spider_debug) - to_chat(src, "[Q] NOT visible. Cycles: [cycles_noqueen].") + to_chat(src, SPAN_DANGER("[Q] NOT visible. Cycles: [cycles_noqueen].")) var/area/A = get_area(spider_myqueen) switch(cycles_noqueen) if(6) // one minute without queen sighted - to_chat(src, "You have become separated from [Q]. Return to her in [A].") + to_chat(src, SPAN_DANGER("You have become separated from [Q]. Return to her in [A].")) if(12) // two minutes without queen sighted - to_chat(src, "Your long separation from [Q] weakens you. Return to her in [A].") + to_chat(src, SPAN_DANGER("Your long separation from [Q] weakens you. Return to her in [A].")) if(18) // three minutes without queen sighted, kill them. degenerate = TRUE - to_chat(src, "Your link to [Q] has been broken! Your life force starts to drain away!") + to_chat(src, SPAN_USERDANGER("Your link to [Q] has been broken! Your life force starts to drain away!")) melee_damage_lower = 5 melee_damage_upper = 10 diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen_terror.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen_terror.dm index 8cc83b817e3..dd1183d506e 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen_terror.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/queen_terror.dm @@ -80,9 +80,9 @@ spider_lastspawn = world.time canlay += getSpiderLevel() if(canlay == 1) - to_chat(src, "You have an egg available to lay.") + to_chat(src, SPAN_NOTICE("You have an egg available to lay.")) else if(canlay > 1) - to_chat(src, "You have [canlay] eggs available to lay.") + to_chat(src, SPAN_NOTICE("You have [canlay] eggs available to lay.")) /mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/getSpiderLevel() @@ -106,10 +106,10 @@ if(T.spider_myqueen != src) continue if(prob(50) || T.spider_tier >= spider_tier) - to_chat(T, "\The psychic backlash from the death of [src] crashes into your mind! Somehow... you find a way to keep going!") + to_chat(T, SPAN_USERDANGER("\The psychic backlash from the death of [src] crashes into your mind! Somehow... you find a way to keep going!")) continue - T.visible_message("[T] writhes in pain!") - to_chat(T, "\The psychic backlash from the death of [src] overwhelms you! You feel the life start to drain out of you...") + T.visible_message(SPAN_DANGER("[T] writhes in pain!")) + to_chat(T, SPAN_USERDANGER("\The psychic backlash from the death of [src] overwhelms you! You feel the life start to drain out of you...")) T.degenerate = TRUE for(var/mob/living/basic/spiderling/terror_spiderling/T in GLOB.ts_spiderling_list) if(T.spider_myqueen && T.spider_myqueen == src) @@ -162,10 +162,10 @@ if(ok_to_nest && entry_vent) nest_vent = entry_vent neststep = 1 - visible_message("\The [src] settles down, starting to build a nest.") + visible_message(SPAN_DANGER("\The [src] settles down, starting to build a nest.")) else if(entry_vent) if(!path_to_vent) - visible_message("\The [src] looks around warily - then seeks a better nesting ground.") + visible_message(SPAN_DANGER("\The [src] looks around warily - then seeks a better nesting ground.")) path_to_vent = TRUE else neststep = -1 @@ -236,14 +236,14 @@ ai_ventcrawls = FALSE environment_smash = ENVIRONMENT_SMASH_RWALLS DoQueenScreech(8, 100, 8, 100) - to_chat(src, "You have matured to your egglaying stage. You can now smash through walls, and lay eggs, but can no longer ventcrawl.") + to_chat(src, SPAN_NOTICE("You have matured to your egglaying stage. You can now smash through walls, and lay eggs, but can no longer ventcrawl.")) /mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/LayQueenEggs() if(stat == DEAD) return if(!hasnested) - to_chat(src, "You must nest before doing this.") + to_chat(src, SPAN_DANGER("You must nest before doing this.")) return if(canlay < 1) show_egg_timer() @@ -254,10 +254,10 @@ var/eggtype = tgui_input_list(src, "What kind of eggs?", "Laying Eggs", eggtypes) if(canlay < 1) // this was checked before input() but we have to check again to prevent them spam-clicking the popup. - to_chat(src, "Too soon to lay another egg.") + to_chat(src, SPAN_DANGER("Too soon to lay another egg.")) return if(!(eggtype in eggtypes)) - to_chat(src, "Unrecognized egg type.") + to_chat(src, SPAN_DANGER("Unrecognized egg type.")) return FALSE // Multiple of eggtypes_uncapped can be laid at once. Other types must be laid one at a time (to prevent exploits) @@ -270,15 +270,15 @@ else if(canlay == 2) numlings = input("How many in the batch?") as null|anything in list(1, 2) if(eggtype == null || numlings == null) - to_chat(src, "Cancelled.") + to_chat(src, SPAN_DANGER("Cancelled.")) return if(!isturf(loc)) - to_chat(src, "Eggs can only be laid while standing on a floor.") + to_chat(src, SPAN_DANGER("Eggs can only be laid while standing on a floor.")) return // Actually lay the eggs. if(canlay < numlings) // We have to check this again after the popups, to account for people spam-clicking the button, then doing all the popups at once. - to_chat(src, "Too soon to do this again!") + to_chat(src, SPAN_WARNING("Too soon to do this again!")) return canlay -= numlings eggslaid += numlings @@ -302,14 +302,14 @@ if(TS_DESC_PRINCESS) DoLayTerrorEggs(/mob/living/simple_animal/hostile/poison/terror_spider/queen/princess, numlings) else - to_chat(src, "Unrecognized egg type.") + to_chat(src, SPAN_DANGER("Unrecognized egg type.")) /mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/show_egg_timer() var/remainingtime = round(((spider_lastspawn + spider_spawnfrequency) - world.time) / 10, 1) if(remainingtime > 0) - to_chat(src, "Too soon to attempt that again. Wait another [num2text(remainingtime)] seconds.") + to_chat(src, SPAN_DANGER("Too soon to attempt that again. Wait another [num2text(remainingtime)] seconds.")) else - to_chat(src, "Too soon to attempt that again. Wait just a few more seconds...") + to_chat(src, SPAN_DANGER("Too soon to attempt that again. Wait just a few more seconds...")) /mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/ListAvailableEggTypes() if(MinutesAlive() >= 20) @@ -329,7 +329,7 @@ /mob/living/simple_animal/hostile/poison/terror_spider/queen/proc/DoQueenScreech(light_range, light_chance, camera_range, camera_chance) - visible_message("[src] emits a bone-chilling shriek!") + visible_message(SPAN_USERDANGER("[src] emits a bone-chilling shriek!")) for(var/obj/machinery/light/L in orange(light_range, src)) if(L.on && prob(light_chance)) L.break_light_tube() @@ -344,8 +344,8 @@ return if(!isobserver(user) && !isterrorspider(user)) return - . += "[p_they(TRUE)] has laid [eggslaid] egg[eggslaid != 1 ? "s" : ""]." - . += "[p_they(TRUE)] has lived for [MinutesAlive()] minutes." + . += SPAN_NOTICE("[p_they(TRUE)] has laid [eggslaid] egg[eggslaid != 1 ? "s" : ""].") + . += SPAN_NOTICE("[p_they(TRUE)] has lived for [MinutesAlive()] minutes.") /mob/living/simple_animal/hostile/poison/terror_spider/queen/event_cost() if(is_station_level((get_turf(src)).z) && stat != DEAD) diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/red.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/red.dm index 59917c3b16e..4dc8c5fe31d 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/red.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/red.dm @@ -36,24 +36,24 @@ if(enrage == 0) if(health < maxHealth) enrage = 1 - visible_message("[src] growls, flexing its fangs!") + visible_message(SPAN_DANGER("[src] growls, flexing its fangs!")) melee_damage_lower = melee_damage_lower_rage1 melee_damage_upper = melee_damage_upper_rage1 else if(enrage == 1) if(health == maxHealth) enrage = 0 - visible_message("[src] retracts its fangs a little.") + visible_message(SPAN_NOTICE("[src] retracts its fangs a little.")) melee_damage_lower = melee_damage_lower_rage0 melee_damage_upper = melee_damage_upper_rage0 else if(health < (maxHealth/2)) enrage = 2 - visible_message("[src] growls, spreading its fangs wide!") + visible_message(SPAN_DANGER("[src] growls, spreading its fangs wide!")) melee_damage_lower = melee_damage_lower_rage2 melee_damage_upper = melee_damage_upper_rage2 else if(enrage == 2) if(health > (maxHealth/2)) enrage = 1 - visible_message("[src] retracts its fangs a little.") + visible_message(SPAN_NOTICE("[src] retracts its fangs a little.")) melee_damage_lower = melee_damage_lower_rage1 melee_damage_upper = melee_damage_upper_rage1 return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_ai.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_ai.dm index 9a4879fcd65..c309a5cb2d8 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_ai.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_ai.dm @@ -125,7 +125,7 @@ CreatePath(entry_vent) step_to(src,entry_vent) if(spider_debug) - visible_message("[src] moves towards the vent [entry_vent].") + visible_message(SPAN_NOTICE("[src] moves towards the vent [entry_vent].")) else path_to_vent = FALSE else if(ai_break_lights && world.time > (last_break_light + freq_break_light)) @@ -136,14 +136,14 @@ L.on = TRUE L.break_light_tube() do_attack_animation(L) - visible_message("[src] smashes the [L.name].") + visible_message(SPAN_DANGER("[src] smashes the [L.name].")) return else if(ai_spins_webs && web_type && world.time > (last_spins_webs + freq_spins_webs)) last_spins_webs = world.time var/obj/structure/spider/terrorweb/T = locate() in get_turf(src) if(!T) new web_type(loc) - visible_message("[src] puts up some spider webs.") + visible_message(SPAN_NOTICE("[src] puts up some spider webs.")) else if(ai_ventcrawls && world.time > (last_ventcrawl_time + my_ventcrawl_freq)) if(prob(idle_ventcrawl_chance)) last_ventcrawl_time = world.time @@ -212,7 +212,7 @@ CreatePath(cocoon_target) step_to(src,cocoon_target) if(spider_debug) - visible_message("[src] moves towards [cocoon_target] to cocoon it.") + visible_message(SPAN_NOTICE("[src] moves towards [cocoon_target] to cocoon it.")) /mob/living/simple_animal/hostile/poison/terror_spider/proc/seek_cocoon_target() last_cocoon_object = world.time @@ -251,7 +251,7 @@ try_open_airlock(A) for(var/obj/machinery/door/firedoor/F in view(1, src)) if(tgt_dir == get_dir(src, F) && F.density && !F.welded) - visible_message("[src] pries open the firedoor!") + visible_message(SPAN_DANGER("[src] pries open the firedoor!")) F.open() else @@ -271,7 +271,7 @@ if(ai_ventbreaker && entry_vent.welded) entry_vent.welded = FALSE entry_vent.update_icon() - entry_vent.visible_message("[src] smashes the welded cover off [entry_vent]!") + entry_vent.visible_message(SPAN_DANGER("[src] smashes the welded cover off [entry_vent]!")) var/list/vents = list() for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in entry_vent.parent.other_atmosmch) vents.Add(temp_vent) @@ -279,7 +279,7 @@ entry_vent = null return var/obj/machinery/atmospherics/unary/vent_pump/exit_vent = pick(vents) - visible_message("[src] scrambles into the ventilation ducts!", "You hear something squeezing through the ventilation ducts.") + visible_message("[src] scrambles into the ventilation ducts!", SPAN_NOTICE("You hear something squeezing through the ventilation ducts.")) spawn(rand(20,60)) var/original_location = loc forceMove(exit_vent) @@ -290,7 +290,7 @@ entry_vent = null return if(prob(50)) - audible_message("You hear something squeezing through the ventilation ducts.") + audible_message(SPAN_NOTICE("You hear something squeezing through the ventilation ducts.")) spawn(travel_time) if(!exit_vent || (exit_vent.welded && !ai_ventbreaker)) forceMove(original_location) @@ -300,7 +300,7 @@ exit_vent.welded = FALSE exit_vent.update_icon() exit_vent.update_pipe_image() - exit_vent.visible_message("[src] smashes the welded cover off [exit_vent]!") + exit_vent.visible_message(SPAN_DANGER("[src] smashes the welded cover off [exit_vent]!")) playsound(exit_vent.loc, 'sound/machines/airlock_alien_prying.ogg', 50, 0) forceMove(exit_vent.loc) entry_vent = null diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_ghost_interaction.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_ghost_interaction.dm index c5d8473379b..4d783ccd9f3 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_ghost_interaction.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_ghost_interaction.dm @@ -30,7 +30,7 @@ if(!O.check_ahud_rejoin_eligibility()) error_on_humanize = "You have enabled antag HUD and are unable to re-enter the round." if(jobban_isbanned(user, ROLE_SYNDICATE) || jobban_isbanned(user, ROLE_TSPIDER)) - to_chat(user, "You are jobbanned from role of syndicate and/or terror spider.") + to_chat(user, SPAN_WARNING("You are jobbanned from role of syndicate and/or terror spider.")) return if(error_on_humanize == "") var/spider_ask = tgui_alert(user, humanize_prompt, "Join as Terror Spider?", list("Yes", "No")) @@ -40,7 +40,7 @@ to_chat(user, "Cannot inhabit spider: [error_on_humanize]") return if(key) - to_chat(user, "Someone else already took this spider.") + to_chat(user, SPAN_NOTICE("Someone else already took this spider.")) return key = user.key give_intro_text() diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm index 62e77046917..2f04fa758cb 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm @@ -180,13 +180,13 @@ GLOBAL_LIST_EMPTY(ts_infected_list) enemies -= target var/mob/living/simple_animal/hostile/poison/terror_spider/T = target if(T.spider_tier > spider_tier) - visible_message("[src] cowers before [target].") + visible_message(SPAN_NOTICE("[src] cowers before [target].")) else if(T.spider_tier == spider_tier) - visible_message("[src] nuzzles [target].") + visible_message(SPAN_NOTICE("[src] nuzzles [target].")) else if(T.spider_tier < spider_tier && spider_tier >= 4) target.attack_animal(src) else - visible_message("[src] harmlessly nuzzles [target].") + visible_message(SPAN_NOTICE("[src] harmlessly nuzzles [target].")) T.CheckFaction() CheckFaction() else if(istype(target, /obj/structure/spider/royaljelly)) @@ -199,7 +199,7 @@ GLOBAL_LIST_EMPTY(ts_infected_list) if(F.welded) to_chat(src, "The fire door is welded shut.") else - visible_message("[src] pries open the firedoor!") + visible_message(SPAN_DANGER("[src] pries open the firedoor!")) F.open() else to_chat(src, "Closing fire doors does not help.") @@ -228,12 +228,12 @@ GLOBAL_LIST_EMPTY(ts_infected_list) /mob/living/simple_animal/hostile/poison/terror_spider/proc/consume_jelly(obj/structure/spider/royaljelly/J) if(regen_points_per_tick >= regen_points_per_hp) - to_chat(src, "Your spider type would not get any benefit from consuming royal jelly.") + to_chat(src, SPAN_WARNING("Your spider type would not get any benefit from consuming royal jelly.")) return if(regen_points > 200) - to_chat(src, "You aren't hungry for jelly right now.") + to_chat(src, SPAN_WARNING("You aren't hungry for jelly right now.")) return - to_chat(src, "You consume the royal jelly! Regeneration speed increased!") + to_chat(src, SPAN_NOTICE("You consume the royal jelly! Regeneration speed increased!")) regen_points += regen_points_per_jelly fed++ qdel(J) @@ -250,21 +250,21 @@ GLOBAL_LIST_EMPTY(ts_infected_list) . = ..() if(stat != DEAD) if(key) - . += "[p_they(TRUE)] regards [p_their()] surroundings with a curious intelligence." + . += SPAN_WARNING("[p_they(TRUE)] regards [p_their()] surroundings with a curious intelligence.") if(health > (maxHealth*0.95)) - . += "[p_they(TRUE)] is in excellent health." + . += SPAN_NOTICE("[p_they(TRUE)] is in excellent health.") else if(health > (maxHealth*0.75)) - . += "[p_they(TRUE)] has a few injuries." + . += SPAN_NOTICE("[p_they(TRUE)] has a few injuries.") else if(health > (maxHealth*0.55)) - . += "[p_they(TRUE)] has many injuries." + . += SPAN_WARNING("[p_they(TRUE)] has many injuries.") else if(health > (maxHealth*0.25)) - . += "[p_they(TRUE)] is barely clinging on to life!" + . += SPAN_WARNING("[p_they(TRUE)] is barely clinging on to life!") if(degenerate) - . += "[p_they(TRUE)] appears to be dying." + . += SPAN_WARNING("[p_they(TRUE)] appears to be dying.") else if(health < maxHealth && regen_points > regen_points_per_kill) - . += "[p_they(TRUE)] appears to be regenerating quickly." + . += SPAN_NOTICE("[p_they(TRUE)] appears to be regenerating quickly.") if(killcount >= 1) - . += "[p_they(TRUE)] has blood dribbling from [p_their()] mouth." + . += SPAN_WARNING("[p_they(TRUE)] has blood dribbling from [p_their()] mouth.") /mob/living/simple_animal/hostile/poison/terror_spider/Initialize(mapload) . = ..() @@ -345,11 +345,11 @@ GLOBAL_LIST_EMPTY(ts_infected_list) GLOB.ts_count_alive_station-- /mob/living/simple_animal/hostile/poison/terror_spider/proc/give_intro_text() - to_chat(src, "
You are a Terror Spider!
") + to_chat(src, "
[SPAN_USERDANGER("You are a Terror Spider!")]
") to_chat(src, "
Work with other terror spiders in your hive to eliminate the crew and claim the station as your nest!
") - to_chat(src, "
Remember to follow the orders of higher tier spiders, such as princesses or queens.

") - to_chat(src, "
[spider_intro_text]

") - to_chat(src, "
For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Terror_Spider)
") + to_chat(src, "
[SPAN_DANGER("Remember to follow the orders of higher tier spiders, such as princesses or queens.")]

") + to_chat(src, "
[SPAN_BIG("[spider_intro_text]")]

") + to_chat(src, "
[SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Terror_Spider)")]
") /mob/living/simple_animal/hostile/poison/terror_spider/death(gibbed) if(can_die()) @@ -360,7 +360,7 @@ GLOBAL_LIST_EMPTY(ts_infected_list) return ..() /mob/living/simple_animal/hostile/poison/terror_spider/proc/decompose_now() - visible_message("The dead body of [src] decomposes!") + visible_message(SPAN_NOTICE("The dead body of [src] decomposes!")) gib() /mob/living/simple_animal/hostile/poison/terror_spider/proc/spider_special_action() @@ -382,11 +382,11 @@ GLOBAL_LIST_EMPTY(ts_infected_list) for(var/thing in GLOB.ts_spiderlist) var/mob/living/simple_animal/hostile/poison/terror_spider/T = thing if(T.stat != DEAD) - to_chat(T, "TerrorSense: [msgtext]") + to_chat(T, SPAN_TERRORSPIDER("TerrorSense: [msgtext]")) /mob/living/simple_animal/hostile/poison/terror_spider/proc/CheckFaction() if(length(faction) != 2 || (!("terrorspiders" in faction)) || master_commander != null) - to_chat(src, "Your connection to the hive mind has been severed!") + to_chat(src, SPAN_USERDANGER("Your connection to the hive mind has been severed!")) stack_trace("Terror spider with incorrect faction list at: [atom_loc_line(src)]") gib() @@ -394,9 +394,9 @@ GLOBAL_LIST_EMPTY(ts_infected_list) if(D.operating) return if(D.welded) - to_chat(src, "The door is welded.") + to_chat(src, SPAN_WARNING("The door is welded.")) else if(D.locked) - to_chat(src, "The door is bolted.") + to_chat(src, SPAN_WARNING("The door is bolted.")) else if(D.allowed(src)) if(D.density) D.open(TRUE) @@ -404,11 +404,11 @@ GLOBAL_LIST_EMPTY(ts_infected_list) D.close(TRUE) return TRUE else if(D.arePowerSystemsOn() && (spider_opens_doors != 2)) - to_chat(src, "The door's motors resist your efforts to force it.") + to_chat(src, SPAN_WARNING("The door's motors resist your efforts to force it.")) else if(!spider_opens_doors) - to_chat(src, "Your type of spider is not strong enough to force open doors.") + to_chat(src, SPAN_WARNING("Your type of spider is not strong enough to force open doors.")) else - visible_message("[src] forces the door!") + visible_message(SPAN_DANGER("[src] forces the door!")) playsound(src.loc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) if(D.density) D.open(TRUE) @@ -454,13 +454,13 @@ GLOBAL_LIST_EMPTY(ts_infected_list) /mob/living/simple_animal/hostile/poison/terror_spider/proc/DoRemoteView() if(!isturf(loc)) // This check prevents spiders using this ability while inside an atmos pipe, which will mess up their vision - to_chat(src, "You must be standing on a floor to do this.") + to_chat(src, SPAN_WARNING("You must be standing on a floor to do this.")) return if(client && (client.eye != client.mob)) reset_perspective() return if(health != maxHealth) - to_chat(src, "You must be at full health to do this!") + to_chat(src, SPAN_WARNING("You must be at full health to do this!")) return var/list/targets = list() targets += src // ensures that self is always at top of the list @@ -475,7 +475,7 @@ GLOBAL_LIST_EMPTY(ts_infected_list) /mob/living/simple_animal/hostile/poison/terror_spider/adjustHealth(amount, updating_health = TRUE) if(client && (client.eye != client.mob) && ismob(client.eye)) // the ismob check is required because client.eye can = atmos machines if a spider is in the vent - to_chat(src, "Cancelled remote view due to being under attack!") + to_chat(src, SPAN_WARNING("Cancelled remote view due to being under attack!")) reset_perspective() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm index 4ba84b3bdde..398773a5ce7 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/white.dm @@ -45,7 +45,7 @@ L.apply_damage(30, STAMINA) if(L.can_inject(null, FALSE, inject_target, FALSE) || (HAS_TRAIT(L, TRAIT_HANDS_BLOCKED) && HAS_TRAIT(L, TRAIT_IMMOBILIZED))) if(!IsTSInfected(L) && ishuman(L)) - visible_message("[src] buries its long fangs deep into the [inject_target] of [L]!") + visible_message(SPAN_DANGER("[src] buries its long fangs deep into the [inject_target] of [L]!")) new /obj/item/organ/internal/body_egg/terror_eggs(L) if(!ckey) LoseTarget() @@ -96,5 +96,5 @@ if(!IsTSInfected(C) && ishuman(C)) var/inject_target = pick("chest","head") if(C.can_inject(null, FALSE, inject_target, FALSE)) - to_chat(C, "[src] slices into you!") + to_chat(C, SPAN_DANGER("[src] slices into you!")) new /obj/item/organ/internal/body_egg/terror_eggs(C) diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm index 023b12691f9..f0daabaa397 100644 --- a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm +++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm @@ -26,7 +26,7 @@ addtimer(CALLBACK(src, PROC_REF(bear_fruit)), growth_time) /obj/structure/alien/resin/flower_bud_enemy/proc/bear_fruit() - 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) @@ -42,7 +42,7 @@ var/mob/living/L = entered if(!("vines" in L.faction)) 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.")) /mob/living/simple_animal/hostile/venus_human_trap name = "venus human trap" @@ -98,7 +98,7 @@ if(A.density && A != L) continue grasping if(prob(grasp_chance)) - to_chat(L, "\The [src] has you entangled!") + to_chat(L, SPAN_USERDANGER("\The [src] has you entangled!")) grasping[L] = Beam(L, "vine", time=INFINITY, maxdistance=5, beam_type=/obj/effect/ebeam/vine) break //only take 1 new victim per cycle diff --git a/code/modules/mob/living/simple_animal/hostile/winter_mobs.dm b/code/modules/mob/living/simple_animal/hostile/winter_mobs.dm index b28dd794cd2..b92361b45d2 100644 --- a/code/modules/mob/living/simple_animal/hostile/winter_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/winter_mobs.dm @@ -91,7 +91,7 @@ /mob/living/simple_animal/hostile/winter/santa/stage_1 desc = "GET THE FAT MAN!" next_stage = /mob/living/simple_animal/hostile/winter/santa/stage_2 - death_message = "HO HO HO! YOU THOUGHT IT WOULD BE THIS EASY?!?" + death_message = SPAN_DANGER("HO HO HO! YOU THOUGHT IT WOULD BE THIS EASY?!?") speed = 2 melee_damage_lower = 10 melee_damage_upper = 20 @@ -100,7 +100,7 @@ /mob/living/simple_animal/hostile/winter/santa/stage_2 desc = "GET THE FAT MAN AGAIN!" next_stage = /mob/living/simple_animal/hostile/winter/santa/stage_3 - death_message = "YOU'VE BEEN VERY NAUGHTY! PREPARE TO DIE!" + death_message = SPAN_DANGER("YOU'VE BEEN VERY NAUGHTY! PREPARE TO DIE!") maxHealth = 200 //DID YOU REALLY BELIEVE IT WOULD BE THIS EASY!??!! health = 200 ranged = TRUE @@ -112,7 +112,7 @@ /mob/living/simple_animal/hostile/winter/santa/stage_3 desc = "WHY WON'T HE DIE ALREADY!?" next_stage = /mob/living/simple_animal/hostile/winter/santa/stage_4 - death_message = "FACE MY FINAL FORM AND KNOW DESPAIR!" + death_message = SPAN_DANGER("FACE MY FINAL FORM AND KNOW DESPAIR!") maxHealth = 250 health = 250 ranged = TRUE @@ -136,10 +136,10 @@ /mob/living/simple_animal/hostile/winter/santa/stage_4/death(gibbed) if(can_die()) - to_chat(world, "
") - to_chat(world, "THE FAT MAN HAS FALLEN!") - to_chat(world, "SANTA CLAUS HAS BEEN DEFEATED!") - to_chat(world, "
") + to_chat(world, SPAN_NOTICE("
")) + to_chat(world, SPAN_NOTICE("THE FAT MAN HAS FALLEN!")) + to_chat(world, SPAN_NOTICE("SANTA CLAUS HAS BEEN DEFEATED!")) + to_chat(world, SPAN_NOTICE("
")) // Only execute the below if we successfully died . = ..() if(!.) diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index aff1dc8887a..41ab4a80631 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -372,7 +372,7 @@ else //This should ensure that we only grab the item we want, and make sure it's not already collected on our perch if(!parrot_perch || parrot_interest.loc != parrot_perch.loc) try_grab_item(parrot_interest) - 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]!"), "You hear the sounds of wings flapping furiously.") parrot_interest = null parrot_state = PARROT_SWOOP|PARROT_RETURN @@ -532,15 +532,15 @@ return FALSE if(length(grabbed_by)) - to_chat(src, "You are being grabbed!") + to_chat(src, SPAN_WARNING("You are being grabbed!")) return FALSE if(held_item) - to_chat(src, "You are already holding [held_item]") + to_chat(src, SPAN_WARNING("You are already holding [held_item]")) return TRUE if(istype(loc, /obj/machinery/disposal) || istype(loc, /obj/structure/disposalholder)) - to_chat(src, "You are inside a disposal chute!") + to_chat(src, SPAN_WARNING("You are inside a disposal chute!")) return TRUE for(var/obj/item/I in view(1, src)) @@ -551,7 +551,7 @@ continue try_grab_item(I) - 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]!"), "You hear the sounds of wings flapping furiously.") return held_item to_chat(src, "There is nothing of interest to take.") @@ -566,11 +566,11 @@ return FALSE if(length(grabbed_by)) - to_chat(src, "You are being grabbed!") + to_chat(src, SPAN_WARNING("You are being grabbed!")) return FALSE if(held_item) - to_chat(src, "You are already holding [held_item]") + to_chat(src, SPAN_WARNING("You are already holding [held_item]")) return TRUE var/obj/item/stolen_item = null @@ -584,10 +584,10 @@ if(stolen_item && C.drop_item_to_ground(stolen_item)) try_grab_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!"), "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 FALSE /mob/living/simple_animal/parrot/verb/drop_held_item_player() @@ -610,7 +610,7 @@ return FALSE if(!held_item) - to_chat(src, "You have nothing to drop!") + to_chat(src, SPAN_WARNING("You have nothing to drop!")) return FALSE if(!drop_gently) @@ -645,7 +645,7 @@ icon_state = "parrot_sit" REMOVE_TRAIT(src, TRAIT_FLYING, INNATE_TRAIT) 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 /** diff --git a/code/modules/mob/living/simple_animal/parrot_stripping.dm b/code/modules/mob/living/simple_animal/parrot_stripping.dm index f1be160dad4..ed6cc1623e6 100644 --- a/code/modules/mob/living/simple_animal/parrot_stripping.dm +++ b/code/modules/mob/living/simple_animal/parrot_stripping.dm @@ -15,7 +15,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 @@ -34,7 +34,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( parrot_source.update_available_channels() parrot_source.update_speak() - to_chat(user, "You fit [radio] onto [source].") + to_chat(user, SPAN_NOTICE("You fit [radio] onto [source].")) /datum/strippable_item/parrot_headset/start_unequip(atom/source, mob/user) . = ..() diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index e7a464b8062..da1762b6a47 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -188,10 +188,10 @@ /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.") return if(IsSleeping()) - . += "Upon closer examination, [p_they()] appear[p_s()] to be asleep." + . += SPAN_NOTICE("Upon closer examination, [p_they()] appear[p_s()] to be asleep.") /mob/living/simple_animal/updatehealth(reason = "none given") ..(reason) @@ -341,9 +341,9 @@ if(death_sound) playsound(get_turf(src),death_sound, 200, 1) if(deathmessage) - visible_message("\The [src] [deathmessage]") + visible_message(SPAN_DANGER("\The [src] [deathmessage]")) else if(!del_on_death) - visible_message("\The [src] stops moving...") + visible_message(SPAN_DANGER("\The [src] stops moving...")) if(HAS_TRAIT(src, TRAIT_XENOBIO_SPAWNED)) SSmobs.xenobiology_mobs-- if(del_on_death) diff --git a/code/modules/mob/living/simple_animal/slime/slime_life.dm b/code/modules/mob/living/simple_animal/slime/slime_life.dm index ae1d826b1b9..6efacd2ec56 100644 --- a/code/modules/mob/living/simple_animal/slime/slime_life.dm +++ b/code/modules/mob/living/simple_animal/slime/slime_life.dm @@ -116,7 +116,7 @@ if(bodytemperature <= (T0C - 40)) // stun temperature Tempstun = TRUE throw_alert("temp", /atom/movable/screen/alert/cold, 3) - to_chat(src,"You suddenly freeze up, you cannot move!") + to_chat(src,SPAN_USERDANGER("You suddenly freeze up, you cannot move!")) if(bodytemperature <= (T0C - 50)) // hurt temperature if(bodytemperature <= 50) // sqrting negative numbers is bad @@ -126,7 +126,7 @@ else if(Tempstun) - to_chat(src,"You suddenly unthaw!") + to_chat(src,SPAN_WARNING("You suddenly unthaw!")) Tempstun = FALSE updatehealth("handle environment") diff --git a/code/modules/mob/living/simple_animal/slime/slime_mob.dm b/code/modules/mob/living/simple_animal/slime/slime_mob.dm index f329ebb7df3..7f344a1c5a3 100644 --- a/code/modules/mob/living/simple_animal/slime/slime_mob.dm +++ b/code/modules/mob/living/simple_animal/slime/slime_mob.dm @@ -301,8 +301,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() @@ -324,7 +324,7 @@ /mob/living/simple_animal/slime/attack_hulk(mob/living/carbon/human/user) if(user.a_intent == INTENT_HARM) 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 discipline_slime(user) return ..() @@ -334,26 +334,26 @@ M.do_attack_animation(src, ATTACK_EFFECT_DISARM) if(buckled == M) if(prob(60)) - M.visible_message("[M] attempts to wrestle \the [name] off!", \ - "You attempt to wrestle \the [name] off!") + M.visible_message(SPAN_WARNING("[M] 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 - M.visible_message("[M] manages to wrestle \the [name] off!", \ - "You manage to wrestle \the [name] off!") + M.visible_message(SPAN_WARNING("[M] 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(M) else if(prob(30)) - buckled.visible_message("[M] attempts to wrestle \the [name] off of [buckled]!", \ - "[M] attempts to wrestle \the [name] off of you!") + buckled.visible_message(SPAN_WARNING("[M] attempts to wrestle \the [name] off of [buckled]!"), \ + SPAN_WARNING("[M] attempts to wrestle \the [name] off of you!")) playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) else - buckled.visible_message("[M] manages to wrestle \the [name] off of [buckled]!", \ - "[M] manage to wrestle \the [name] off of you!") + buckled.visible_message(SPAN_WARNING("[M] manages to wrestle \the [name] off of [buckled]!"), \ + SPAN_NOTICE("[M] manage to wrestle \the [name] off of you!")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) discipline_slime(M) @@ -384,30 +384,30 @@ return ITEM_INTERACT_COMPLETE if(istype(I, /obj/item/xeno_organ) && stat == CONSCIOUS) if(!is_adult) - to_chat(user, "The slime is not old enough yet to process organs!") + to_chat(user, SPAN_NOTICE("The slime is not old enough yet to process organs!")) return ITEM_INTERACT_COMPLETE if(holding_organ) - to_chat(user, "The slime is already processing an organ!") + to_chat(user, SPAN_WARNING("The slime is already processing an organ!")) return ITEM_INTERACT_COMPLETE if(trained) if(src.mind) - src.visible_message("Sentient slimes are unable to process organs!") + src.visible_message(SPAN_NOTICE("Sentient slimes are unable to process organs!")) return ITEM_INTERACT_COMPLETE if(user.transfer_item_to(I, src, force = TRUE)) holding_organ = I - src.visible_message("The slime gently pulls the offered organ into itself.") + src.visible_message(SPAN_NOTICE("The slime gently pulls the offered organ into itself.")) update_appearance(UPDATE_OVERLAYS) return ITEM_INTERACT_COMPLETE else - to_chat(user, "The slime seems puzzled at what you want it to do with the organ! It needs to be trained first.") + to_chat(user, SPAN_NOTICE("The slime seems puzzled at what you want it to do with the organ! It needs to be trained first.")) return ITEM_INTERACT_COMPLETE if(istype(I, /obj/item/stack/sheet/mineral/plasma) && stat == CONSCIOUS) //Let's you feed slimes plasma. var/obj/item/stack/sheet/mineral/plasma/S = I if(S.amount < 5) - to_chat(user, "You need at least five sheets of plasma to feed the slime!") + to_chat(user, SPAN_NOTICE("You need at least five sheets of plasma to feed the slime!")) return ITEM_INTERACT_COMPLETE new /obj/effect/temp_visual/heart(loc) - visible_message("[user] feeds the slime some plasma. It chirps happily!", "[user] feeds you a few sheets of plasma! Yummy!!!") + visible_message(SPAN_NOTICE("[user] feeds the slime some plasma. It chirps happily!"), SPAN_NOTICE("[user] feeds you a few sheets of plasma! Yummy!!!")) S.use(5) if(Discipline) if(!trained) @@ -421,7 +421,7 @@ if(prob(25)) user.do_attack_animation(src) user.changeNext_move(CLICK_CD_MELEE) - to_chat(user, "[I] passes right through [src]!") + to_chat(user, SPAN_DANGER("[I] passes right through [src]!")) return ITEM_INTERACT_COMPLETE if(Discipline && prob(50) && !trained) // wow, buddy, why am I getting attacked?? Discipline = 0 @@ -429,7 +429,7 @@ if(trained && prob(20)) // trained slimes are more resistant to losing discipline trained = FALSE name = initial(name) - visible_message("[src] gets spooked and cowers from [user]!") + visible_message(SPAN_WARNING("[src] gets spooked and cowers from [user]!")) /mob/living/simple_animal/slime/attacked_by(obj/item/I, mob/living/user) if(..()) @@ -464,10 +464,10 @@ . = ..() . += "This is [bicon(src)] \a [src]!" if(stat == DEAD) - . += "It is limp and unresponsive." + . += SPAN_DEADSAY("It is limp and unresponsive.") else if(stat == UNCONSCIOUS) // Slime stasis - . += "It appears to be alive but unresponsive." + . += SPAN_DEADSAY("It appears to be alive but unresponsive.") if(getBruteLoss()) . += "" if(getBruteLoss() < 40) @@ -485,10 +485,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!") . += "" @@ -553,7 +553,7 @@ /mob/living/simple_animal/slime/proc/eject_organ() holding_organ.forceMove(loc) - visible_message("[src] drops \the [holding_organ.name] as it splits!") + visible_message(SPAN_NOTICE("[src] drops \the [holding_organ.name] as it splits!")) holding_organ = null update_appearance() diff --git a/code/modules/mob/living/simple_animal/slime/slime_powers.dm b/code/modules/mob/living/simple_animal/slime/slime_powers.dm index e167ac0b8b4..a7623074955 100644 --- a/code/modules/mob/living/simple_animal/slime/slime_powers.dm +++ b/code/modules/mob/living/simple_animal/slime/slime_powers.dm @@ -30,7 +30,7 @@ choices += C if(!length(choices)) - to_chat(src, "No subjects nearby to feed on!") + to_chat(src, SPAN_WARNING("No subjects nearby to feed on!")) return var/mob/living/M = tgui_input_list(src, "Who do you wish to feed on?", "Feeding Selection", choices) @@ -74,31 +74,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 @@ -106,10 +106,10 @@ M.unbuckle_all_mobs(force = TRUE) //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] has latched onto [M]!", \ - "[name] has latched onto [M]!") + M.visible_message(SPAN_DANGER("[name] has latched onto [M]!"), \ + SPAN_USERDANGER("[name] has latched 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) @@ -119,8 +119,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] has let go of [buckled]!", \ - "I stopped feeding.") + visible_message(SPAN_WARNING("[src] has let go of [buckled]!"), \ + SPAN_NOTICE("I stopped feeding.")) layer = initial(layer) unbuckle(force=TRUE) diff --git a/code/modules/mob/living/taste.dm b/code/modules/mob/living/taste.dm index 095a6e54da3..8e896f898b3 100644 --- a/code/modules/mob/living/taste.dm +++ b/code/modules/mob/living/taste.dm @@ -21,7 +21,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/mob.dm b/code/modules/mob/mob.dm index c1b80ebedba..ca83ec350b4 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -103,16 +103,16 @@ if(!environment) return - var/t = "Coordinates: [x],[y] \n" - t+= "Temperature: [environment.temperature()] \n" - t+= "Nitrogen: [environment.nitrogen()] \n" - t+= "Oxygen: [environment.oxygen()] \n" - t+= "Plasma : [environment.toxins()] \n" - t+= "Carbon Dioxide: [environment.carbon_dioxide()] \n" - t+= "N2O: [environment.sleeping_agent()] \n" - t+= "Agent B: [environment.agent_b()] \n" - t+= "Hydrogen: [environment.hydrogen()] \n" - t+= "Water Vapor: [environment.water_vapor()] \n" + var/t = SPAN_NOTICE("Coordinates: [x],[y] \n") + t+= SPAN_WARNING("Temperature: [environment.temperature()] \n") + t+= SPAN_NOTICE("Nitrogen: [environment.nitrogen()] \n") + t+= SPAN_NOTICE("Oxygen: [environment.oxygen()] \n") + t+= SPAN_NOTICE("Plasma : [environment.toxins()] \n") + t+= SPAN_NOTICE("Carbon Dioxide: [environment.carbon_dioxide()] \n") + t+= SPAN_NOTICE("N2O: [environment.sleeping_agent()] \n") + t+= SPAN_NOTICE("Agent B: [environment.agent_b()] \n") + t+= SPAN_NOTICE("Hydrogen: [environment.hydrogen()] \n") + t+= SPAN_NOTICE("Water Vapor: [environment.water_vapor()] \n") usr.show_message(t, EMOTE_VISIBLE) @@ -269,7 +269,7 @@ qdel(W) else if(!disable_warning) - to_chat(src, "You are unable to equip that.")//Only print if del_on_fail is false + to_chat(src, SPAN_WARNING("You are unable to equip that."))//Only print if del_on_fail is false return FALSE @@ -426,7 +426,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ if(ITEM_SLOT_BELT) if(!H.w_uniform) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [name].") + to_chat(H, SPAN_WARNING("You need a jumpsuit before you can attach this [name].")) return 0 if(!(slot_flags & ITEM_SLOT_BELT)) return 0 @@ -484,7 +484,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ if(ITEM_SLOT_ID) if(!H.w_uniform) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [name].") + to_chat(H, SPAN_WARNING("You need a jumpsuit before you can attach this [name].")) return 0 if(!(slot_flags & ITEM_SLOT_ID)) return 0 @@ -499,7 +499,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ return 0 if(!H.w_uniform) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [name].") + to_chat(H, SPAN_WARNING("You need a jumpsuit before you can attach this [name].")) return 0 if(w_class <= WEIGHT_CLASS_SMALL || (slot_flags & ITEM_SLOT_BOTH_POCKETS)) return 1 @@ -508,7 +508,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ return 0 if(!H.w_uniform) if(!disable_warning) - to_chat(H, "You need a jumpsuit before you can attach this [name].") + to_chat(H, SPAN_WARNING("You need a jumpsuit before you can attach this [name].")) return 0 if(w_class <= WEIGHT_CLASS_SMALL || (slot_flags & ITEM_SLOT_BOTH_POCKETS)) return 1 @@ -516,7 +516,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ if(ITEM_SLOT_SUIT_STORE) if(!H.wear_suit) if(!disable_warning) - to_chat(H, "You need a suit before you can attach this [name].") + to_chat(H, SPAN_WARNING("You need a suit before you can attach this [name].")) return 0 if(!H.wear_suit.allowed) if(!disable_warning) @@ -639,7 +639,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ if(A.invisibility > see_invisible) A = get_turf(A) if(!has_vision(information_only = TRUE) && !isobserver(src)) - to_chat(src, chat_box_regular("Something is there but you can't see it."), MESSAGE_TYPE_INFO, confidential = TRUE) + to_chat(src, chat_box_regular(SPAN_NOTICE("Something is there but you can't see it.")), MESSAGE_TYPE_INFO, confidential = TRUE) return TRUE face_atom(A) @@ -664,7 +664,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ else result = A.examine(src) if(length(A.examine_more())) - result += "You can examine [A.p_them()] again to take a closer look..." + result += SPAN_NOTICE("You can examine [A.p_them()] again to take a closer look...") client.recent_examines[ref_to_atom] = world.time + EXAMINE_MORE_WINDOW // set to when we should not examine something broadcast_examine(A) @@ -703,11 +703,11 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ examining_worn_item = TRUE - var/can_see_str = "\The [src] looks at [examined]." + var/can_see_str = SPAN_SUBTLE("\The [src] looks at [examined].") if(examining_worn_item || examining_stored_item) - can_see_str = "\The [src] looks [loc_str]" + can_see_str = SPAN_SUBTLE("\The [src] looks [loc_str]") - var/cannot_see_str = "\The [src] looks [loc_str]" + var/cannot_see_str = SPAN_SUBTLE("\The [src] looks [loc_str]") var/list/can_see_target = hearers(examined) // Don't broadcast if we can't see the item. @@ -872,17 +872,17 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ /mob/proc/update_flavor_text() if(usr != src) - to_chat(usr, "You can't change the flavor text of this mob") + to_chat(usr, SPAN_NOTICE("You can't change the flavor text of this mob")) return if(stat) - to_chat(usr, "You have to be conscious to change your flavor text") + to_chat(usr, SPAN_NOTICE("You have to be conscious to change your flavor text")) return var/msg = tgui_input_text(usr, "Set the flavor text in your 'examine' verb. The flavor text should be a physical descriptor of your character at a glance. SFW Drawn Art of your character is acceptable.", "Flavor Text", flavor_text, multiline = TRUE) if(isnull(msg)) return if(stat) - to_chat(usr, "You have to be conscious to change your flavor text") + to_chat(usr, SPAN_NOTICE("You have to be conscious to change your flavor text")) return msg = copytext(msg, 1, MAX_MESSAGE_LEN) if(dna) @@ -893,9 +893,9 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ if(flavor_text && flavor_text != "") var/msg = dna?.flavor_text ? replacetext(dna.flavor_text, "\n", " ") : replacetext(flavor_text, "\n", " ") if(length(msg) <= MAX_FLAVORTEXT_PRINT || !shrink) - return "[msg]" // There is already encoded by tgui_input + return SPAN_NOTICE("[msg]") // There is already encoded by tgui_input else - return "[copytext_preserve_html(msg, 1, MAX_FLAVORTEXT_PRINT - 3)]... More..." + return SPAN_NOTICE("[copytext_preserve_html(msg, 1, MAX_FLAVORTEXT_PRINT - 3)]... More...") /mob/proc/is_dead() return stat == DEAD @@ -918,9 +918,9 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ if(href_list["station_report"]) var/obj/item/clipboard/station_report/report = GLOB.station_report if(!istype(report)) - to_chat(src, "Nobody wrote a station report this shift!") + to_chat(src, SPAN_NOTICE("Nobody wrote a station report this shift!")) else if(!report.toppaper) - to_chat(src, "Nobody wrote a station report this shift!") + to_chat(src, SPAN_NOTICE("Nobody wrote a station report this shift!")) else if(istype(report.toppaper, /obj/item/paper_bundle)) var/obj/item/paper_bundle/report_page = report.toppaper report_page.show_content(src) @@ -956,7 +956,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ if(!Adjacent(usr)) return if(IsFrozen(src) && !is_admin(usr)) - to_chat(usr, "Interacting with admin-frozen players is not permitted.") + to_chat(usr, SPAN_BOLDANNOUNCEIC("Interacting with admin-frozen players is not permitted.")) return if(isLivingSSD(src) && M.client && M.client.send_ssd_warning(src)) return @@ -1071,11 +1071,11 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ set category = "Ghost" if(jobban_isbanned(usr, ROLE_SENTIENT)) - to_chat(usr, "You are banned from playing as sentient animals.") + to_chat(usr, SPAN_WARNING("You are banned from playing as sentient animals.")) return if(SSticker.current_state < GAME_STATE_PLAYING) - to_chat(src, "You can't respawn as an NPC before the game starts!") + to_chat(src, SPAN_WARNING("You can't respawn as an NPC before the game starts!")) return if((HAS_TRAIT(usr, TRAIT_RESPAWNABLE)) && (stat == DEAD || isobserver(usr))) @@ -1110,7 +1110,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ var/timedifference = world.time - client.persistent.time_died_as_mouse if(client.persistent.time_died_as_mouse && timedifference <= GLOB.mouse_respawn_time * 600) var/timedifference_text = time2text(GLOB.mouse_respawn_time * 600 - timedifference,"mm:ss") - to_chat(src, "You may only spawn again as a mouse more than [GLOB.mouse_respawn_time] minutes after your death. You have [timedifference_text] left.") + to_chat(src, SPAN_WARNING("You may only spawn again as a mouse more than [GLOB.mouse_respawn_time] minutes after your death. You have [timedifference_text] left.")) return FALSE //find a viable mouse candidate @@ -1118,12 +1118,12 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ if(!length(found_vents)) found_vents = get_valid_vent_spawns(min_network_size = 0) if(!length(found_vents)) - to_chat(src, "Unable to find any unwelded vents to spawn mice at.") + to_chat(src, SPAN_WARNING("Unable to find any unwelded vents to spawn mice at.")) return FALSE var/obj/vent_found = pick(found_vents) var/mob/living/basic/mouse/host = new(vent_found.loc) host.ckey = src.ckey - to_chat(host, "You are now a mouse, a small and fragile creature capable of scurrying through vents and under doors. Be careful who you reveal yourself to, for that will decide whether you receive cheese or death.") + to_chat(host, SPAN_NOTICE("You are now a mouse, a small and fragile creature capable of scurrying through vents and under doors. Be careful who you reveal yourself to, for that will decide whether you receive cheese or death.")) host.forceMove(vent_found) host.add_ventcrawl(vent_found) return TRUE @@ -1158,11 +1158,11 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \ if(issimulatedturf(location)) if(green) if(!no_text) - visible_message("[src] vomits up some green goo!","You vomit up some green goo!") + visible_message(SPAN_WARNING("[src] vomits up some green goo!"),SPAN_WARNING("You vomit up some green goo!")) add_vomit_floor(FALSE, TRUE) else if(!no_text) - visible_message("[src] pukes all over [p_themselves()]!","You puke all over yourself!") + visible_message(SPAN_WARNING("[src] pukes all over [p_themselves()]!"),SPAN_WARNING("You puke all over yourself!")) add_vomit_floor(TRUE) /mob/proc/AddSpell(datum/spell/S) @@ -1465,7 +1465,7 @@ GLOBAL_LIST_INIT(holy_areas, typecacheof(list( if(isconstruct(src) && !mind.has_antag_datum(/datum/antagonist/cultist)) return FALSE - to_chat(src, "Your powers are useless on this holy ground.") + to_chat(src, SPAN_WARNING("Your powers are useless on this holy ground.")) return TRUE /mob/proc/reset_visibility() @@ -1506,10 +1506,10 @@ GLOBAL_LIST_INIT(holy_areas, typecacheof(list( set name = "Give Kudos (OOC)" if(target == src) - to_chat(src, "You cannot give kudos to yourself!") + to_chat(src, SPAN_WARNING("You cannot give kudos to yourself!")) return - to_chat(src, "You've given kudos to [target]!") + to_chat(src, SPAN_NOTICE("You've given kudos to [target]!")) // Pretend we've always succeeded when we might not have. // This should prevent people from using it to suss anything out about mobs' states @@ -1578,8 +1578,8 @@ GLOBAL_LIST_INIT(holy_areas, typecacheof(list( if(magic_flags & MAGIC_RESISTANCE) visible_message( - "[src] pulses red as [ismob(antimagic_source) ? p_they() : antimagic_source] absorbs magic energy!", - "An intense magical aura pulses around [ismob(antimagic_source) ? "you" : antimagic_source] as it dissipates into the air!", + SPAN_WARNING("[src] pulses red as [ismob(antimagic_source) ? p_they() : antimagic_source] absorbs magic energy!"), + SPAN_USERDANGER("An intense magical aura pulses around [ismob(antimagic_source) ? "you" : antimagic_source] as it dissipates into the air!"), ) antimagic_effect = mutable_appearance('icons/effects/effects.dmi', "shield-red", ABOVE_MOB_LAYER) antimagic_color = LIGHT_COLOR_BLOOD_MAGIC @@ -1587,8 +1587,8 @@ GLOBAL_LIST_INIT(holy_areas, typecacheof(list( else if(magic_flags & MAGIC_RESISTANCE_HOLY) visible_message( - "[src] starts to glow as [ismob(antimagic_source) ? p_they() : antimagic_source] emits a halo of light!", - "A feeling of warmth washes over [ismob(antimagic_source) ? "you" : antimagic_source] as rays of light surround your body and protect you!", + SPAN_WARNING("[src] starts to glow as [ismob(antimagic_source) ? p_they() : antimagic_source] emits a halo of light!"), + SPAN_USERDANGER("A feeling of warmth washes over [ismob(antimagic_source) ? "you" : antimagic_source] as rays of light surround your body and protect you!"), ) antimagic_effect = mutable_appearance('icons/mob/genetics.dmi', "servitude", ABOVE_MOB_LAYER) antimagic_color = LIGHT_COLOR_HOLY_MAGIC @@ -1596,8 +1596,8 @@ GLOBAL_LIST_INIT(holy_areas, typecacheof(list( else if(magic_flags & MAGIC_RESISTANCE_MIND) visible_message( - "[src] forehead shines as [ismob(antimagic_source) ? p_they() : antimagic_source] repulses magic from their mind!", - "A feeling of cold splashes on [ismob(antimagic_source) ? "you" : antimagic_source] as your forehead reflects magic usering your mind!", + SPAN_WARNING("[src] forehead shines as [ismob(antimagic_source) ? p_they() : antimagic_source] repulses magic from their mind!"), + SPAN_USERDANGER("A feeling of cold splashes on [ismob(antimagic_source) ? "you" : antimagic_source] as your forehead reflects magic usering your mind!"), ) antimagic_effect = mutable_appearance('icons/mob/genetics.dmi', "telekinesishead", ABOVE_MOB_LAYER) antimagic_color = LIGHT_COLOR_DARK_BLUE diff --git a/code/modules/mob/mob_emote.dm b/code/modules/mob/mob_emote.dm index a7bf591a820..ef0bb259185 100644 --- a/code/modules/mob/mob_emote.dm +++ b/code/modules/mob/mob_emote.dm @@ -22,7 +22,7 @@ if(!length(key_emotes)) if(intentional && !force_silence) - to_chat(src, "'[emote_key]' emote does not exist. Say *help for a list.") + to_chat(src, SPAN_NOTICE("'[emote_key]' emote does not exist. Say *help for a list.")) else if(!intentional) CRASH("Emote with key [emote_key] was attempted to be called, though doesn't exist!") return FALSE @@ -38,7 +38,7 @@ if(P.try_run_emote(src, param, type_override, intentional)) return TRUE if(intentional && !silenced && !force_silence) - to_chat(src, "Unusable emote '[emote_key]'. Say *help for a list.") + to_chat(src, SPAN_NOTICE("Unusable emote '[emote_key]'. Say *help for a list.")) return FALSE /** @@ -146,7 +146,7 @@ if(G && G.affecting) if(H.buckled || G.affecting.buckled) var/who_is = H.buckled ? "You are" : "[G.affecting] is" - to_chat(user, "[who_is] buckled, you can't flip around [G.affecting.p_them()]!") + to_chat(user, SPAN_WARNING("[who_is] buckled, you can't flip around [G.affecting.p_them()]!")) return TRUE var/turf/oldloc = user.loc var/turf/newloc = G.affecting.loc @@ -190,7 +190,7 @@ return TRUE user.spin(32, 1) - to_chat(user, "You spin too much!") + to_chat(user, SPAN_WARNING("You spin too much!")) var/mob/living/L = user if(istype(L)) L.Dizzy(24 SECONDS) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index fee8438f7ca..40dcb4d2d3a 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -99,7 +99,7 @@ if(istype(assailant.buckled, /obj/tgvehicle/scooter/skateboard)) qdel(src) - to_chat(assailant, "You can't pull things along while skateboarding!") + to_chat(assailant, SPAN_WARNING("You can't pull things along while skateboarding!")) return if(get_turf(affecting) != old_turf) @@ -306,7 +306,7 @@ if(!affecting) return if(state >= GRAB_AGGRESSIVE && HAS_TRAIT(assailant, TRAIT_PACIFISM)) - to_chat(assailant, "You don't want to risk hurting [affecting]!") + to_chat(assailant, SPAN_WARNING("You don't want to risk hurting [affecting]!")) return if(state == GRAB_UPGRADING) return @@ -324,9 +324,9 @@ if(!allow_upgrade) return //if(!affecting.lying) - assailant.visible_message("[assailant] has grabbed [affecting] aggressively (now hands)!") + assailant.visible_message(SPAN_WARNING("[assailant] has grabbed [affecting] aggressively (now hands)!")) /* else - assailant.visible_message("[assailant] pins [affecting] down to the ground (now hands)!") + assailant.visible_message(SPAN_WARNING("[assailant] pins [affecting] down to the ground (now hands)!")) force_down = 1 affecting.Weaken(6 SECONDS) step_to(assailant, affecting) @@ -339,10 +339,10 @@ add_attack_logs(assailant, affecting, "Aggressively grabbed", ATKLOG_ALL) else if(state < GRAB_NECK) if(isslime(affecting)) - to_chat(assailant, "You squeeze [affecting], but nothing interesting happens.") + to_chat(assailant, SPAN_NOTICE("You squeeze [affecting], but nothing interesting happens.")) return - assailant.visible_message("[assailant] has reinforced [assailant.p_their()] grip on [affecting] (now neck)!") + assailant.visible_message(SPAN_WARNING("[assailant] has reinforced [assailant.p_their()] grip on [affecting] (now neck)!")) state = GRAB_NECK icon_state = "grabbed+1" @@ -351,11 +351,11 @@ hud.name = "kill" affecting.Stun(3 SECONDS) // Ensures the grab is able to be secured else if(state < GRAB_UPGRADING) - assailant.visible_message("[assailant] starts to tighten [assailant.p_their()] grip on [affecting]'s neck!") + assailant.visible_message(SPAN_DANGER("[assailant] starts to tighten [assailant.p_their()] grip on [affecting]'s neck!")) hud.icon_state = "kill1" state = GRAB_KILL - assailant.visible_message("[assailant] has tightened [assailant.p_their()] grip on [affecting]'s neck!") + assailant.visible_message(SPAN_DANGER("[assailant] has tightened [assailant.p_their()] grip on [affecting]'s neck!")) add_attack_logs(assailant, affecting, "Strangled") assailant.next_move = world.time + 10 @@ -388,7 +388,7 @@ switch(assailant.a_intent) if(INTENT_HELP) /*if(force_down) - to_chat(assailant, "You no longer pin [affecting] to the ground.") + to_chat(assailant, SPAN_WARNING("You no longer pin [affecting] to the ground.")) force_down = 0 return*///This is a very basic demonstration of a new feature based on attacking someone with the grab, based on intent. //This specific example would allow you to stop pinning people to the floor without moving away from them. @@ -403,7 +403,7 @@ if(last_hit_zone == "head") //This checks the hitzone the user has selected. In this specific case, they have the head selected. if(IS_HORIZONTAL(affecting)) return - assailant.visible_message("[assailant] thrusts [assailant.p_their()] head into [affecting]'s skull!") //A visible message for what is going on. + assailant.visible_message(SPAN_DANGER("[assailant] thrusts [assailant.p_their()] head into [affecting]'s skull!")) //A visible message for what is going on. var/damage = 5 var/obj/item/clothing/hat = attacker.head if(istype(hat)) @@ -415,33 +415,33 @@ /*if(last_hit_zone == "eyes") if(state < GRAB_NECK) - to_chat(assailant, "You require a better grab to do this.") + to_chat(assailant, SPAN_WARNING("You require a better grab to do this.")) return if((affected.head && affected.head.flags_cover & HEADCOVERSEYES) || \ (affected.wear_mask && affected.wear_mask.flags_cover & MASKCOVERSEYES) || \ (affected.glasses && affected.glasses.flags_cover & GLASSESCOVERSEYES)) - to_chat(assailant, "You're going to need to remove the eye covering first.") + to_chat(assailant, SPAN_DANGER("You're going to need to remove the eye covering first.")) return if(!affected.internal_bodyparts_by_name["eyes"]) - to_chat(assailant, "You cannot locate any eyes on [affecting]!") + to_chat(assailant, SPAN_DANGER("You cannot locate any eyes on [affecting]!")) return - assailant.visible_message("[assailant] presses [assailant.p_their()] fingers into [affecting]'s eyes!") - to_chat(affecting, "You feel immense pain as digits are being pressed into your eyes!") + assailant.visible_message(SPAN_DANGER("[assailant] presses [assailant.p_their()] fingers into [affecting]'s eyes!")) + to_chat(affecting, SPAN_DANGER("You feel immense pain as digits are being pressed into your eyes!")) add_attack_logs(assailant, affecting, "Eye-fucked with their fingers") var/obj/item/organ/internal/eyes/eyes = affected.get_int_organ(/obj/item/organ/internal/eyes) eyes.damage += rand(3,4) if(eyes.damage >= eyes.min_broken_damage) if(M.stat != 2) - to_chat(M, "You go blind!")*///This is a demonstration of adding a new damaging type based on intent as well as hitzone. + to_chat(M, SPAN_WARNING("You go blind!"))*///This is a demonstration of adding a new damaging type based on intent as well as hitzone. //This specific example would allow you to squish people's eyes with a GRAB_NECK. if(INTENT_DISARM) //This checks that the user is on disarm intent. /* if(state < GRAB_AGGRESSIVE) - to_chat(assailant, "You require a better grab to do this.") + to_chat(assailant, SPAN_WARNING("You require a better grab to do this.")) return if(!force_down) - assailant.visible_message("[user] is forcing [affecting] to the ground!") + assailant.visible_message(SPAN_DANGER("[user] is forcing [affecting] to the ground!")) force_down = 1 affecting.Weaken(6 SECONDS) affecting.lying = 1 @@ -450,7 +450,7 @@ affecting.setDir(SOUTH) //face up return else - to_chat(assailant, "You are already pinning [affecting] to the ground.") + to_chat(assailant, SPAN_WARNING("You are already pinning [affecting] to the ground.")) return*///This is an example of something being done with an agressive grab + disarm intent. return @@ -460,18 +460,18 @@ var/mob/living/carbon/attacker = user if(affecting.buckled) - to_chat(user, "[affecting] is buckled!") + to_chat(user, SPAN_WARNING("[affecting] is buckled!")) return - user.visible_message("[user] is attempting to devour \the [affecting]!") + user.visible_message(SPAN_DANGER("[user] is attempting to devour \the [affecting]!")) if(!do_after(user, checktime(user, affecting), target = affecting)) return if(affecting.buckled) - to_chat(user, "[affecting] is buckled!") + to_chat(user, SPAN_WARNING("[affecting] is buckled!")) return - user.visible_message("[user] devours \the [affecting]!") + user.visible_message(SPAN_DANGER("[user] devours \the [affecting]!")) if(affecting.mind) add_attack_logs(attacker, affecting, "Devoured") if(istype(affecting, /mob/living/basic/bee)) //Eating a bee will end up damaging you @@ -483,7 +483,7 @@ assailant.reagents.add_reagent(B.beegent.id, rand(1, 5)) else assailant.reagents.add_reagent("spidertoxin", 5) - user.visible_message("[user]'s mouth became bloated.", "Your mouth has been stung, it's now bloating!") + user.visible_message(SPAN_WARNING("[user]'s mouth became bloated."), SPAN_DANGER("Your mouth has been stung, it's now bloating!")) affecting.forceMove(user) LAZYADD(attacker.stomach_contents, affecting) qdel(src) diff --git a/code/modules/mob/mob_holder.dm b/code/modules/mob/mob_holder.dm index 408730c1fd3..d637d7d7ae1 100644 --- a/code/modules/mob/mob_holder.dm +++ b/code/modules/mob/mob_holder.dm @@ -78,7 +78,7 @@ H.attack_hand(grabber) to_chat(grabber, "You scoop up \the [src].") - to_chat(src, "\The [grabber] scoops you up.") + to_chat(src, SPAN_NOTICE("\The [grabber] scoops you up.")) grabber.status_flags |= PASSEMOTES return H diff --git a/code/modules/mob/mob_misc_procs.dm b/code/modules/mob/mob_misc_procs.dm index ea2c82c3604..34109301d4f 100644 --- a/code/modules/mob/mob_misc_procs.dm +++ b/code/modules/mob/mob_misc_procs.dm @@ -499,7 +499,7 @@ set category = "IC" if(IsSleeping()) - to_chat(src, "You are already sleeping.") + to_chat(src, SPAN_NOTICE("You are already sleeping.")) return if(tgui_alert(src, "You sure you want to sleep for a while?", "Sleep", list("Yes", "No")) == "Yes") SetSleeping(40 SECONDS, voluntary = TRUE) //Short nap @@ -512,9 +512,9 @@ resting = !resting // this happens before the do_mob so that you can stay resting if you are stunned. if(resting) - to_chat(src, "You are now trying to rest.") + to_chat(src, SPAN_NOTICE("You are now trying to rest.")) else - to_chat(src, "You are now trying to get up.") + to_chat(src, SPAN_NOTICE("You are now trying to get up.")) if(!do_mob(src, src, 1 SECONDS, extra_checks = list(CALLBACK(src, TYPE_PROC_REF(/mob/living, cannot_stand))), only_use_extra_checks = TRUE, hidden = TRUE)) return @@ -589,15 +589,15 @@ lname = "[keyname] ([name])" else // Everyone else (dead people who didn't ghost yet, etc.) lname = name - lname = "[lname] " - to_chat(M, "[lname][follow][message]") + lname = "[SPAN_NAME("[lname]")] " + to_chat(M, SPAN_DEADSAY("[lname][follow][message]")) if(should_show_runechat && (M.client?.prefs.toggles2 & PREFTOGGLE_2_RUNECHAT) && M.see_invisible >= subject.invisibility) M.create_chat_message(subject, raw_message, symbol = RUNECHAT_SYMBOL_DEAD) /proc/notify_ghosts(message, ghost_sound = null, enter_link = null, title = null, atom/source = null, image/alert_overlay = null, flashwindow = TRUE, action = NOTIFY_JUMP, role = null) //Easy notification of ghosts. for(var/mob/O in GLOB.player_list) if(O.client && HAS_TRAIT(O, TRAIT_RESPAWNABLE) && (!role || (role in O.client.prefs.be_special))) - to_chat(O, "[message][(enter_link) ? " [enter_link]" : ""]", MESSAGE_TYPE_DEADCHAT) + to_chat(O, SPAN_GHOSTALERT("[message][(enter_link) ? " [enter_link]" : ""]"), MESSAGE_TYPE_DEADCHAT) if(ghost_sound) SEND_SOUND(O, sound(ghost_sound)) if(flashwindow) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index a9f4ae5ca17..80ef7cb6092 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -29,7 +29,7 @@ var/mob/living/carbon/C = mob C.toggle_throw_mode() else - to_chat(usr, "This mob type cannot throw items.") + to_chat(usr, SPAN_DANGER("This mob type cannot throw items.")) /client/proc/Move_object(direct) if(mob && mob.control_object) @@ -129,7 +129,7 @@ for(var/mob/M in orange(1, mob)) if(M.pulling == mob) if(!M.incapacitated() && mob.Adjacent(M)) - to_chat(src, "You're restrained! You can't move!") + to_chat(src, SPAN_WARNING("You're restrained! You can't move!")) move_delay = world.time + 10 return 0 else @@ -246,14 +246,14 @@ move_delay = world.time + 10 if(!prob(25)) return TRUE - mob.visible_message("[mob] has broken free of [G.assailant]'s grip!") + mob.visible_message(SPAN_DANGER("[mob] has broken free of [G.assailant]'s grip!")) qdel(G) if(GRAB_NECK) move_delay = world.time + 10 if(!prob(5)) return TRUE - mob.visible_message("[mob] has broken free of [G.assailant]'s headlock!") + mob.visible_message(SPAN_DANGER("[mob] has broken free of [G.assailant]'s headlock!")) qdel(G) return FALSE @@ -312,7 +312,7 @@ if(INCORPOREAL_MOVE_HOLY_BLOCK) var/turf/simulated/floor/stepTurf = get_step(L, direct) if(stepTurf.flags & BLESSED_TILE) - to_chat(L, "Holy energies block your path.") + to_chat(L, SPAN_WARNING("Holy energies block your path.")) L.notransform = TRUE spawn(2) L.notransform = FALSE @@ -345,7 +345,7 @@ last_pushoff = world.time var/opposite_dir = turn(movement_dir, 180) if(backup.newtonian_move(opposite_dir)) //You're pushing off something movable, so it moves - to_chat(src, "You push off of [backup] to propel yourself.") + to_chat(src, SPAN_NOTICE("You push off of [backup] to propel yourself.")) return TRUE /** @@ -569,7 +569,7 @@ if(iscarbon(src)) var/mob/living/carbon/C = src if(C.legcuffed) - to_chat(C, "You are legcuffed! You cannot run until you get [C.legcuffed] removed!") + to_chat(C, SPAN_NOTICE("You are legcuffed! You cannot run until you get [C.legcuffed] removed!")) C.m_intent = MOVE_INTENT_WALK //Just incase C.hud_used.move_intent.icon_state = "walking" return diff --git a/code/modules/mob/mob_say_base.dm b/code/modules/mob/mob_say_base.dm index 67c12eafb3d..20f6900edef 100644 --- a/code/modules/mob/mob_say_base.dm +++ b/code/modules/mob/mob_say_base.dm @@ -42,15 +42,15 @@ if(client) if(!check_rights(R_ADMIN, FALSE)) if(!GLOB.dsay_enabled) - to_chat(src, "Deadchat is globally muted.") + to_chat(src, SPAN_DANGER("Deadchat is globally muted.")) return if(check_mute(client.ckey, MUTE_DEADCHAT)) - to_chat(src, "You cannot talk in deadchat (muted).") + to_chat(src, SPAN_WARNING("You cannot talk in deadchat (muted).")) return if(!(client.prefs.toggles & PREFTOGGLE_CHAT_DEAD)) - to_chat(src, "You have deadchat muted.") + to_chat(src, SPAN_DANGER("You have deadchat muted.")) return if(client.handle_spam_prevention(message, MUTE_DEADCHAT)) @@ -65,7 +65,7 @@ create_log(DEADCHAT_LOG, message) return - say_dead_direct("[pick("complains", "moans", "whines", "laments", "blubbers", "salts", "copes", "seethes", "malds")], \"[message]\"", src, raw_message=message) + say_dead_direct("[pick("complains", "moans", "whines", "laments", "blubbers", "salts", "copes", "seethes", "malds")], [SPAN_MESSAGE("\"[message]\"")]", src, raw_message=message) create_log(DEADCHAT_LOG, message) log_ghostsay(message, src) diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm index 0afd7acb56f..d4ee6bb14ac 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 = 0 as num, forcekey = 0) if(isnewplayer(src)) - to_chat(usr, "cannot convert players who have not entered yet.") + to_chat(usr, SPAN_WARNING("cannot convert players who have not entered yet.")) return if(!new_type) @@ -19,7 +19,7 @@ return if(new_type == /mob/new_player) - to_chat(usr, "cannot convert into a new_player mob type.") + to_chat(usr, SPAN_WARNING("cannot convert into a new_player mob type.")) return var/mob/M diff --git a/code/modules/mob/mob_vv.dm b/code/modules/mob/mob_vv.dm index db7140efc9a..2628aa36193 100644 --- a/code/modules/mob/mob_vv.dm +++ b/code/modules/mob/mob_vv.dm @@ -89,21 +89,21 @@ return if(QDELETED(src)) - to_chat(usr, "Mob doesn't exist anymore.") + to_chat(usr, SPAN_NOTICE("Mob doesn't exist anymore.")) return if(add_language(new_language, TRUE)) - to_chat(usr, "Added [new_language] to [src].") + to_chat(usr, SPAN_NOTICE("Added [new_language] to [src].")) message_admins("[key_name_admin(usr)] has given [key_name_admin(src)] the language [new_language]") log_admin("[key_name(usr)] has given [key_name(src)] the language [new_language]") else - to_chat(usr, "Mob already knows that language.") + to_chat(usr, SPAN_NOTICE("Mob already knows that language.")) if(href_list[VV_HK_REMLANGUAGE]) if(!check_rights(R_SPAWN)) return if(!length(languages)) - to_chat(usr, "This mob knows no languages.") + to_chat(usr, SPAN_NOTICE("This mob knows no languages.")) return var/datum/language/rem_language = tgui_input_list(usr, "Please choose a language to remove.", "Language", src.languages) @@ -112,15 +112,15 @@ return if(QDELETED(src)) - to_chat(usr, "Mob doesn't exist anymore.") + to_chat(usr, SPAN_NOTICE("Mob doesn't exist anymore.")) return if(remove_language(rem_language.name, TRUE)) - to_chat(usr, "Removed [rem_language] from [src].") + to_chat(usr, SPAN_NOTICE("Removed [rem_language] from [src].")) message_admins("[key_name_admin(usr)] has removed language [rem_language] from [key_name_admin(src)]") log_admin("[key_name(usr)] has removed language [rem_language] from [key_name(src)]") else - to_chat(usr, "Mob doesn't know that language.") + to_chat(usr, SPAN_NOTICE("Mob doesn't know that language.")) if(href_list[VV_HK_ADDVERB]) if(!check_rights(R_DEBUG)) return @@ -140,7 +140,7 @@ var/verb = input("Select a verb!", "Verbs",null) as anything in possibleverbs if(QDELETED(src)) - to_chat(usr, "Mob doesn't exist anymore.") + to_chat(usr, SPAN_NOTICE("Mob doesn't exist anymore.")) return if(!verb || verb == "Cancel") return @@ -154,7 +154,7 @@ var/verb = tgui_input_list(usr, "Please choose a verb to remove.", "Verbs", src.verbs) if(QDELETED(src)) - to_chat(usr, "Mob doesn't exist anymore.") + to_chat(usr, SPAN_NOTICE("Mob doesn't exist anymore.")) return if(!verb) return diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index eced56d06fd..3a31c0897fa 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -122,7 +122,7 @@ new_player_panel_proc() if(href_list["consent_rejected"]) client.tos_consent = FALSE - to_chat(usr, "You must consent to the terms of service before you can join!") + to_chat(usr, SPAN_WARNING("You must consent to the terms of service before you can join!")) var/datum/db_query/query = SSdbcore.NewQuery("REPLACE INTO privacy (ckey, datetime, consent) VALUES (:ckey, Now(), 0)", list( "ckey" = ckey )) @@ -136,13 +136,13 @@ if(href_list["ready"]) if(!client.tos_consent) - to_chat(usr, "You must consent to the terms of service before you can join!") + to_chat(usr, SPAN_WARNING("You must consent to the terms of service before you can join!")) return FALSE if(client.version_blocked) client.show_update_notice() return FALSE if(!ready && !client.prefs.active_character.check_any_job() && (client.prefs.active_character.alternate_option == RETURN_TO_LOBBY)) - to_chat(usr, "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(usr, 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.")) ready = FALSE return FALSE @@ -159,13 +159,13 @@ if(href_list["observe"]) if(!client.tos_consent) - to_chat(usr, "You must consent to the terms of service before you can join!") + to_chat(usr, SPAN_WARNING("You must consent to the terms of service before you can join!")) return FALSE if(client.version_blocked) client.show_update_notice() return FALSE if(!SSticker || SSticker.current_state == GAME_STATE_STARTUP) - to_chat(usr, "You must wait for the server to finish starting before you can join!") + to_chat(usr, SPAN_WARNING("You must wait for the server to finish starting before you can join!")) return FALSE if(alert(usr, "Are you sure you wish to observe? You cannot normally join the round after doing this!", "Observe", "Yes", "No") == "Yes") @@ -180,7 +180,7 @@ var/period_human_readable = "within [GLOB.configuration.general.roundstart_observer_period] minute\s" if(GLOB.configuration.general.roundstart_observer_period == 0) period_human_readable = "before the round started" - to_chat(src, "As you observed [period_human_readable], you can freely toggle antag-hud without losing respawnability, and can freely observe what other players see.") + to_chat(src, SPAN_NOTICE("As you observed [period_human_readable], you can freely toggle antag-hud without losing respawnability, and can freely observe what other players see.")) if(!check_rights(R_MOD | R_ADMIN | R_MENTOR, FALSE, src)) // admins always get aobserve add_verb(observer, list(/mob/dead/observer/proc/do_observe, /mob/dead/observer/proc/observe)) @@ -191,7 +191,7 @@ else spawn_point = locate("landmark*Observer-Start") - to_chat(src, "Now teleporting.") + to_chat(src, SPAN_NOTICE("Now teleporting.")) observer.forceMove(get_turf(spawn_point)) observer.timeofdeath = world.time // Set the time of death so that the respawn timer works correctly. client.prefs.active_character.update_preview_icon(1) @@ -217,13 +217,13 @@ if(href_list["late_join"]) if(!client.tos_consent) - to_chat(usr, "You must consent to the terms of service before you can join!") + to_chat(usr, SPAN_WARNING("You must consent to the terms of service before you can join!")) return FALSE if(client.version_blocked) client.show_update_notice() return FALSE if(!SSticker || SSticker.current_state != GAME_STATE_PLAYING) - to_chat(usr, "The round is either not ready, or has already finished...") + to_chat(usr, SPAN_WARNING("The round is either not ready, or has already finished...")) return if(!can_use_species(src, client.prefs.active_character.species)) to_chat(src, alert("You are currently not whitelisted to play [client.prefs.active_character.species].")) @@ -237,7 +237,7 @@ if(href_list["SelectedJob"]) 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(client.prefs.toggles2 & PREFTOGGLE_2_RANDOMSLOT) @@ -311,10 +311,10 @@ if(src != usr) return 0 if(!SSticker || SSticker.current_state != GAME_STATE_PLAYING) - to_chat(usr, "The round is either not ready, or has already finished...") + to_chat(usr, SPAN_WARNING("The round is either not ready, or has already finished...")) return 0 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 0 if(!IsJobAvailable(rank)) to_chat(src, alert("[rank] is not available. Please try another.")) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index be7f4f36e7e..d15743a2cfb 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -286,7 +286,7 @@ notransform = TRUE icon = null invisibility = INVISIBILITY_MAXIMUM - visible_message("[src] transforms into a gorilla!", "You transform into a gorilla! Ooga ooga!", "You hear a loud roar!") + visible_message(SPAN_WARNING("[src] transforms into a gorilla!"), SPAN_WARNING("You transform into a gorilla! Ooga ooga!"), SPAN_WARNING("You hear a loud roar!")) var/mob/living/basic/gorilla/new_gorilla if(rage) var/mob/living/basic/gorilla/rampaging/rampaging_gorilla = new (get_turf(src)) diff --git a/code/modules/mod/mod_actions.dm b/code/modules/mod/mod_actions.dm index 647f8716d5e..8c55f72e060 100644 --- a/code/modules/mod/mod_actions.dm +++ b/code/modules/mod/mod_actions.dm @@ -15,7 +15,7 @@ return FALSE var/obj/item/mod/control/mod = target if(mod.malfunctioning && prob(75)) - to_chat(usr, "The module fails to activate!") + to_chat(usr, SPAN_WARNING("The module fails to activate!")) return FALSE return TRUE diff --git a/code/modules/mod/mod_activation.dm b/code/modules/mod/mod_activation.dm index 9c79a976548..a20d311635f 100644 --- a/code/modules/mod/mod_activation.dm +++ b/code/modules/mod/mod_activation.dm @@ -18,7 +18,7 @@ if(!istype(part) || user.incapacitated()) return if(active || activating) - to_chat(user, "Deactivate the suit first!") + to_chat(user, SPAN_WARNING("Deactivate the suit first!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return var/parts_to_check = mod_parts - part @@ -42,7 +42,7 @@ /// Quickly deploys all parts (or retracts if all are on the wearer) /obj/item/mod/control/proc/quick_deploy(mob/user) if(active || activating) - to_chat(user, "Deactivate the suit first!") + to_chat(user, SPAN_WARNING("Deactivate the suit first!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE var/deploy = TRUE @@ -56,8 +56,8 @@ deploy(null, part, TRUE) else if(!deploy && part.loc != src) retract(null, part, TRUE) - wearer.visible_message("[wearer]'s [src] [deploy ? "deploys" : "retracts"] its' parts with a mechanical hiss.", - "[src] [deploy ? "deploys" : "retracts"] its' parts with a mechanical hiss.", + wearer.visible_message(SPAN_NOTICE("[wearer]'s [src] [deploy ? "deploys" : "retracts"] its' parts with a mechanical hiss."), + SPAN_NOTICE("[src] [deploy ? "deploys" : "retracts"] its' parts with a mechanical hiss."), "You hear a mechanical hiss.") playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) if(deploy) @@ -71,7 +71,7 @@ if(part.loc != src) if(!user) return FALSE - to_chat(user, "[part.name] already deployed!") + to_chat(user, SPAN_WARNING("[part.name] already deployed!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) if(part in overslotting_parts) var/obj/item/overslot = wearer.get_item_by_slot(part.slot_flags) @@ -84,15 +84,15 @@ part.set_nodrop(TRUE) if(mass) return TRUE - wearer.visible_message("[wearer]'s [part.name] deploy[part.p_s()] with a mechanical hiss.", - "[part] deploy[part.p_s()] with a mechanical hiss.", + wearer.visible_message(SPAN_NOTICE("[wearer]'s [part.name] deploy[part.p_s()] with a mechanical hiss."), + SPAN_NOTICE("[part] deploy[part.p_s()] with a mechanical hiss."), "You hear a mechanical hiss.") playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) return TRUE else if(!user) return FALSE - to_chat(user, "You already have clothing there!") + to_chat(user, SPAN_WARNING("You already have clothing there!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE @@ -101,7 +101,7 @@ if(part.loc == src) if(!user) return FALSE - to_chat(user, "You already have retracted there!") + to_chat(user, SPAN_WARNING("You already have retracted there!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) part.set_nodrop(FALSE) wearer.transfer_item_to(part, src, force = TRUE) @@ -113,8 +113,8 @@ overslotting_parts[part] = null if(mass) return TRUE - wearer.visible_message("[wearer]'s [part.name] retract[part.p_s()] back into [src] with a mechanical hiss.", - "[part] retract[part.p_s()] back into [src] with a mechanical hiss.", + wearer.visible_message(SPAN_NOTICE("[wearer]'s [part.name] retract[part.p_s()] back into [src] with a mechanical hiss."), + SPAN_NOTICE("[part] retract[part.p_s()] back into [src] with a mechanical hiss."), "You hear a mechanical hiss.") playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) @@ -122,7 +122,7 @@ /obj/item/mod/control/proc/toggle_activate(mob/user, force_deactivate = FALSE) if(!wearer) if(!force_deactivate) - to_chat(user, "Equip your suit first!") + to_chat(user, SPAN_WARNING("Equip your suit first!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE if(!force_deactivate && (SEND_SIGNAL(src, COMSIG_MOD_ACTIVATE, user) & MOD_CANCEL_ACTIVATE)) @@ -130,24 +130,24 @@ return FALSE for(var/obj/item/part as anything in mod_parts) if(!force_deactivate && part.loc == src) - to_chat(user, "Deploy all parts first!") + to_chat(user, SPAN_WARNING("Deploy all parts first!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE if(locked && !active && !allowed(user) && !force_deactivate) - to_chat(user, "Insufficient access!") + to_chat(user, SPAN_WARNING("Insufficient access!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE if(!get_charge() && !force_deactivate) - to_chat(user, "Suit is not powered!") + to_chat(user, SPAN_WARNING("Suit is not powered!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE if(open && !force_deactivate) - to_chat(user, "Close the suit panel!") + to_chat(user, SPAN_WARNING("Close the suit panel!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE if(activating) if(!force_deactivate) - to_chat(user, "Suit is already [active ? "shutting down" : "starting up"]!") + to_chat(user, SPAN_WARNING("Suit is already [active ? "shutting down" : "starting up"]!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE for(var/obj/item/mod/module/module as anything in modules) @@ -156,30 +156,30 @@ module.on_deactivation(display_message = FALSE) mod_link.end_call() activating = TRUE - to_chat(wearer, "MODsuit [active ? "shutting down" : "starting up"].") + to_chat(wearer, SPAN_NOTICE("MODsuit [active ? "shutting down" : "starting up"].")) if(do_after(wearer, activation_step_time, FALSE, target = src, allow_moving = TRUE, use_default_checks = FALSE, hidden = TRUE, allow_sleeping_or_dead = TRUE)) if(has_wearer()) - to_chat(wearer, "[boots] [active ? "relax their grip on your legs" : "seal around your feet"].") + to_chat(wearer, SPAN_NOTICE("[boots] [active ? "relax their grip on your legs" : "seal around your feet"].")) playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) seal_part(boots, seal = !active) if(do_after(wearer, activation_step_time, FALSE, target = src, allow_moving = TRUE, use_default_checks = FALSE, hidden = TRUE, allow_sleeping_or_dead = TRUE)) if(has_wearer()) - to_chat(wearer, "[gauntlets] [active ? "become loose around your fingers" : "tighten around your fingers and wrists"].") + to_chat(wearer, SPAN_NOTICE("[gauntlets] [active ? "become loose around your fingers" : "tighten around your fingers and wrists"].")) playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) seal_part(gauntlets, seal = !active) if(do_after(wearer, activation_step_time, FALSE, target = src, allow_moving = TRUE, use_default_checks = FALSE, hidden = TRUE, allow_sleeping_or_dead = TRUE)) if(has_wearer()) - to_chat(wearer, "[chestplate] [active ? "releases your chest" : "cinches tightly against your chest"].") + to_chat(wearer, SPAN_NOTICE("[chestplate] [active ? "releases your chest" : "cinches tightly against your chest"].")) playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) seal_part(chestplate, seal = !active) if(do_after(wearer, activation_step_time, FALSE, target = src, allow_moving = TRUE, use_default_checks = FALSE, hidden = TRUE, allow_sleeping_or_dead = TRUE)) if(has_wearer()) - to_chat(wearer, "[helmet] hisses [active ? "open" : "closed"].") + to_chat(wearer, SPAN_NOTICE("[helmet] hisses [active ? "open" : "closed"].")) playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) seal_part(helmet, seal = !active) if(do_after(wearer, activation_step_time, FALSE, target = src, allow_moving = TRUE, use_default_checks = FALSE, hidden = TRUE, allow_sleeping_or_dead = TRUE)) if(has_wearer()) - to_chat(wearer, "Systems [active ? "shut down. Parts unsealed. Goodbye" : "started up. Parts sealed. Welcome"], [wearer].") + to_chat(wearer, SPAN_NOTICE("Systems [active ? "shut down. Parts unsealed. Goodbye" : "started up. Parts sealed. Welcome"], [wearer].")) finish_activation(on = !active) if(active) playsound(src, 'sound/machines/synth_yes.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, frequency = 6000) diff --git a/code/modules/mod/mod_construction.dm b/code/modules/mod/mod_construction.dm index 059495b3c00..5de74daa2db 100644 --- a/code/modules/mod/mod_construction.dm +++ b/code/modules/mod/mod_construction.dm @@ -29,7 +29,7 @@ /obj/item/mod/construction/broken_core/examine(mob/user) . = ..() - . += "You could repair it with a screwdriver..." + . += SPAN_NOTICE("You could repair it with a screwdriver...") /obj/item/mod/construction/broken_core/screwdriver_act(mob/living/user, obj/item/tool) . = ..() @@ -124,7 +124,7 @@ display_text = "The assembly seems loose..." if(SCREWED_ASSEMBLY_STEP) display_text = "All it's missing is external plating..." - . += "[display_text]" + . += SPAN_NOTICE("[display_text]") /obj/item/mod/construction/shell/attackby__legacy__attackchain(obj/item/part, mob/user, params) . = ..() @@ -133,44 +133,44 @@ if(!istype(part, /obj/item/mod/core)) return if(!user.drop_item()) - to_chat(user, "[part] is stuck to you and cannot be placed into [src].") + to_chat(user, SPAN_WARNING("[part] is stuck to you and cannot be placed into [src].")) return playsound(src, 'sound/machines/click.ogg', 30, TRUE) - to_chat(user, "Core inserted.") + to_chat(user, SPAN_NOTICE("Core inserted.")) core = part core.forceMove(src) construction_step = CORE_STEP if(CORE_STEP) if(part.tool_behaviour == TOOL_SCREWDRIVER) //Construct if(part.use_tool(src, user, 0, volume = 30)) - to_chat(user, "Core screwed.") + to_chat(user, SPAN_NOTICE("Core screwed.")) construction_step = SCREWED_CORE_STEP else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct if(part.use_tool(src, user, 0, volume = 30)) core.forceMove(drop_location()) - to_chat(user, "Core removed.") + to_chat(user, SPAN_NOTICE("Core removed.")) construction_step = START_STEP if(SCREWED_CORE_STEP) if(istype(part, /obj/item/mod/construction/helmet)) //Construct if(!user.drop_item()) - to_chat(user, "[part] is stuck to you and cannot be placed into [src].") + to_chat(user, SPAN_WARNING("[part] is stuck to you and cannot be placed into [src].")) return playsound(src, 'sound/machines/click.ogg', 30, TRUE) - to_chat(user, "Helmet added.") + to_chat(user, SPAN_NOTICE("Helmet added.")) helmet = part helmet.forceMove(src) construction_step = HELMET_STEP else if(part.tool_behaviour == TOOL_SCREWDRIVER) //Deconstruct if(part.use_tool(src, user, 0, volume = 30)) - to_chat(user, "Core unscrewed.") + to_chat(user, SPAN_NOTICE("Core unscrewed.")) construction_step = CORE_STEP if(HELMET_STEP) if(istype(part, /obj/item/mod/construction/chestplate)) //Construct if(!user.drop_item()) - to_chat(user, "[part] is stuck to you and cannot be placed into [src].") + to_chat(user, SPAN_WARNING("[part] is stuck to you and cannot be placed into [src].")) return playsound(src, 'sound/machines/click.ogg', 30, TRUE) - to_chat(user, "Chestplate added.") + to_chat(user, SPAN_NOTICE("Chestplate added.")) forceMove(src) chestplate = part chestplate.forceMove(src) @@ -178,60 +178,60 @@ else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct if(part.use_tool(src, user, 0, volume = 30)) helmet.forceMove(drop_location()) - to_chat(user, "Helmet removed.") + to_chat(user, SPAN_NOTICE("Helmet removed.")) helmet = null construction_step = SCREWED_CORE_STEP if(CHESTPLATE_STEP) if(istype(part, /obj/item/mod/construction/gauntlets)) //Construct if(!user.drop_item()) - to_chat(user, "[part] is stuck to you and cannot be placed into [src].") + to_chat(user, SPAN_WARNING("[part] is stuck to you and cannot be placed into [src].")) return playsound(src, 'sound/machines/click.ogg', 30, TRUE) - to_chat(user, "Gauntlets added.") + to_chat(user, SPAN_NOTICE("Gauntlets added.")) gauntlets = part gauntlets.forceMove(src) construction_step = GAUNTLETS_STEP else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct if(part.use_tool(src, user, 0, volume = 30)) chestplate.forceMove(drop_location()) - to_chat(user, "Chestplate removed.") + to_chat(user, SPAN_NOTICE("Chestplate removed.")) chestplate = null construction_step = HELMET_STEP if(GAUNTLETS_STEP) if(istype(part, /obj/item/mod/construction/boots)) //Construct if(!user.drop_item()) - to_chat(user, "[part] is stuck to you and cannot be placed into [src].") + to_chat(user, SPAN_WARNING("[part] is stuck to you and cannot be placed into [src].")) return playsound(src, 'sound/machines/click.ogg', 30, TRUE) - to_chat(user, "Boots added.") + to_chat(user, SPAN_NOTICE("Boots added.")) boots = part boots.forceMove(src) construction_step = BOOTS_STEP else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct if(part.use_tool(src, user, 0, volume = 30)) gauntlets.forceMove(drop_location()) - to_chat(user, "Gauntlets removed.") + to_chat(user, SPAN_NOTICE("Gauntlets removed.")) gauntlets = null construction_step = CHESTPLATE_STEP if(BOOTS_STEP) if(part.tool_behaviour == TOOL_WRENCH) //Construct if(part.use_tool(src, user, 0, volume = 30)) - to_chat(user, "Assembly secured.") + to_chat(user, SPAN_NOTICE("Assembly secured.")) construction_step = WRENCHED_ASSEMBLY_STEP else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct if(part.use_tool(src, user, 0, volume = 30)) boots.forceMove(drop_location()) - to_chat(user, "Boots removed.") + to_chat(user, SPAN_NOTICE("Boots removed.")) boots = null construction_step = GAUNTLETS_STEP if(WRENCHED_ASSEMBLY_STEP) if(part.tool_behaviour == TOOL_SCREWDRIVER) //Construct if(part.use_tool(src, user, 0, volume = 30)) - to_chat(user, "Assembly screwed.") + to_chat(user, SPAN_NOTICE("Assembly screwed.")) construction_step = SCREWED_ASSEMBLY_STEP else if(part.tool_behaviour == TOOL_WRENCH) //Deconstruct if(part.use_tool(src, user, 0, volume = 30)) - to_chat(user, "Assembly unsecured.") + to_chat(user, SPAN_NOTICE("Assembly unsecured.")) construction_step = BOOTS_STEP if(SCREWED_ASSEMBLY_STEP) if(istype(part, /obj/item/mod/construction/plating)) //Construct @@ -244,10 +244,10 @@ qdel(external_plating) qdel(src) user.put_in_hands(mod) - to_chat(user, "Suit finished!") + to_chat(user, SPAN_NOTICE("Suit finished!")) else if(part.tool_behaviour == TOOL_SCREWDRIVER) //Construct if(part.use_tool(src, user, 0, volume = 30)) - to_chat(user, "Assembly unscrewed.") + to_chat(user, SPAN_NOTICE("Assembly unscrewed.")) construction_step = SCREWED_ASSEMBLY_STEP update_icon(UPDATE_ICON_STATE) diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index 6b4a6ed00d8..b1da638e1c3 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -315,7 +315,7 @@ if(istype(over_object, /atom/movable/screen/inventory/hand)) for(var/obj/item/part as anything in mod_parts) if(part.loc != src) - to_chat(wearer, "Retract parts first!") + to_chat(wearer, SPAN_WARNING("Retract parts first!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, FALSE, SILENCED_SOUND_EXTRARANGE) return if(!M.unequip(src, force = TRUE)) @@ -341,7 +341,7 @@ return TRUE if(open) if(!core) - to_chat(user, "There is no core!") + to_chat(user, SPAN_WARNING("There is no core!")) return TRUE wrench.play_tool_sound(src, 100) if(!wrench.use_tool(src, user, 3 SECONDS) || !open) @@ -368,7 +368,7 @@ var/obj/item/linked_thing = locateUID(M.buffer_uid) if(!linked_thing) - to_chat(user, "You save the frequency of [src] to the buffer.") + to_chat(user, SPAN_NOTICE("You save the frequency of [src] to the buffer.")) M.buffer_uid = UID() return TRUE if(ismodcontrol(linked_thing)) @@ -378,12 +378,12 @@ return FALSE switch(response) if("Copy") - to_chat(user, "You save the frequency of [src] to the buffer.") + to_chat(user, SPAN_NOTICE("You save the frequency of [src] to the buffer.")) M.buffer_uid = UID() return TRUE if("Imprint") mod_link.frequency = chosen_control.mod_link.frequency - to_chat(user, "You imprint the frequency to [src].") + to_chat(user, SPAN_NOTICE("You imprint the frequency to [src].")) return TRUE else var/obj/item/clothing/neck/link_scryer/chosen_scryer = linked_thing @@ -392,12 +392,12 @@ return FALSE switch(response) if("Copy") - to_chat(user, "You save the frequency of [src] to the buffer.") + to_chat(user, SPAN_NOTICE("You save the frequency of [src] to the buffer.")) M.buffer_uid = UID() return TRUE if("Imprint") mod_link.frequency = chosen_scryer.mod_link.frequency - to_chat(user, "You imprint the frequency to [src].") + to_chat(user, SPAN_NOTICE("You imprint the frequency to [src].")) return TRUE @@ -405,26 +405,26 @@ if(..()) return TRUE if(active || activating || locate(/mob/living/silicon/ai) in src) - to_chat(user, "Deactivate the suit first!") + to_chat(user, SPAN_WARNING("Deactivate the suit first!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE - to_chat(user, "[open ? "Closing" : "Opening"] cover...") + to_chat(user, SPAN_NOTICE("[open ? "Closing" : "Opening"] cover...")) screwdriver.play_tool_sound(src, 100) if(screwdriver.use_tool(src, user, 1 SECONDS)) if(active || activating) - to_chat(user, "Deactivate the suit first!") - to_chat(user, "Cover [open ? "closed" : "opened"]") + to_chat(user, SPAN_WARNING("Deactivate the suit first!")) + to_chat(user, SPAN_NOTICE("Cover [open ? "closed" : "opened"]")) open = !open return TRUE /obj/item/mod/control/crowbar_act(mob/living/user, obj/item/crowbar) . = ..() if(!open) - to_chat(user, "Open the cover first!") + to_chat(user, SPAN_WARNING("Open the cover first!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE if(!allowed(user)) - to_chat(user, "Insufficient access!") + to_chat(user, SPAN_WARNING("Insufficient access!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return if(seconds_electrified && get_charge() && shock(user)) @@ -446,14 +446,14 @@ crowbar.play_tool_sound(src, 100) SEND_SIGNAL(src, COMSIG_MOD_MODULE_REMOVED, user) return TRUE - to_chat(user, "No modules!") + to_chat(user, SPAN_WARNING("No modules!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE /obj/item/mod/control/attackby__legacy__attackchain(obj/item/attacking_item, mob/living/user, params) if(istype(attacking_item, /obj/item/mod/module)) if(!open) - to_chat(user, "Open the cover first!") + to_chat(user, SPAN_WARNING("Open the cover first!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE install(attacking_item, user) @@ -461,11 +461,11 @@ return TRUE else if(istype(attacking_item, /obj/item/mod/core)) if(!open) - to_chat(user, "Open the cover first!") + to_chat(user, SPAN_WARNING("Open the cover first!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE if(core) - to_chat(user, "Core already installed!") + to_chat(user, SPAN_WARNING("Core already installed!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE var/obj/item/mod/core/attacking_core = attacking_item @@ -479,13 +479,13 @@ return TRUE else if(istype(attacking_item, /obj/item/stock_parts/cell)) if(!core) - to_chat(user, "There is no core installed!") + to_chat(user, SPAN_WARNING("There is no core installed!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE core.on_attackby(attacking_item, user, params) else if(istype(attacking_item, /obj/item/stack/ore/plasma) || istype(attacking_item, /obj/item/stack/sheet/mineral/plasma)) if(!core) - to_chat(user, "There is no core installed!") + to_chat(user, SPAN_WARNING("There is no core installed!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE core.on_attackby(attacking_item, user, params) @@ -677,7 +677,7 @@ return if(user) if(!user.drop_item()) - to_chat(user, "[new_module] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[new_module] is stuck to your hand!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return new_module.forceMove(src) diff --git a/code/modules/mod/mod_core.dm b/code/modules/mod/mod_core.dm index 504d63c62e3..d8d4b641695 100644 --- a/code/modules/mod/mod_core.dm +++ b/code/modules/mod/mod_core.dm @@ -193,11 +193,11 @@ /obj/item/mod/core/standard/proc/mod_uninstall_cell(mob/living/user) if(!cell) - to_chat(user, "No cell installed!") + to_chat(user, SPAN_WARNING("No cell installed!")) return if(!do_after(user, 1.5 SECONDS, target = user)) return - to_chat(user, "You remove the cell.") + to_chat(user, SPAN_NOTICE("You remove the cell.")) playsound(mod, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) var/obj/item/cell_to_move = cell cell_to_move.forceMove(drop_location()) @@ -207,16 +207,16 @@ /obj/item/mod/core/standard/on_attackby(obj/item/attacking_item, mob/user, params) if(istype(attacking_item, /obj/item/stock_parts/cell)) if(!mod.open) - to_chat(user, "Open the cover first!") + to_chat(user, SPAN_WARNING("Open the cover first!")) playsound(mod, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return NONE if(cell) - to_chat(user, "Cell already installed!") + to_chat(user, SPAN_WARNING("Cell already installed!")) playsound(mod, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return COMPONENT_SKIP_AFTERATTACK user.drop_item() install_cell(attacking_item) - to_chat(user, "You install the cell.") + to_chat(user, SPAN_NOTICE("You install the cell.")) playsound(mod, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) mod.update_charge_alert() return COMPONENT_SKIP_AFTERATTACK @@ -299,12 +299,12 @@ if(!charge_given) return FALSE if(charge_amount() == max_charge_amount()) - to_chat(user, "[src] is already fully charged!") + to_chat(user, SPAN_NOTICE("[src] is already fully charged!")) // We didn't succeed but we don't want to treat it as an attackby return TRUE var/uses_needed = min(plasma.amount, ((max_charge_amount() - charge_amount()) / 2000)) if(!plasma.use(uses_needed)) return FALSE add_charge(uses_needed * 2000) - to_chat(user, "You insert [plasma] in [src], recharging it.") + to_chat(user, SPAN_NOTICE("You insert [plasma] in [src], recharging it.")) return TRUE diff --git a/code/modules/mod/mod_link.dm b/code/modules/mod/mod_link.dm index 4d7868d92d1..ff53d446a33 100644 --- a/code/modules/mod/mod_link.dm +++ b/code/modules/mod/mod_link.dm @@ -169,11 +169,11 @@ /obj/item/clothing/neck/link_scryer/examine(mob/user) . = ..() if(cell) - . += "The battery charge reads [cell.percent()]%. Use a Screwdriver to remove it." + . += SPAN_NOTICE("The battery charge reads [cell.percent()]%. Use a Screwdriver to remove it.") else - . += "It is missing a battery, one can be installed by clicking with a power cell on it." - . += "The MODlink ID is [mod_link.id], frequency is [mod_link.frequency || "unset"]. Use a multitool to copy/imprint frequency." - . += "Use in hand to set name." + . += SPAN_NOTICE("It is missing a battery, one can be installed by clicking with a power cell on it.") + . += SPAN_NOTICE("The MODlink ID is [mod_link.id], frequency is [mod_link.frequency || "unset"]. Use a multitool to copy/imprint frequency.") + . += SPAN_NOTICE("Use in hand to set name.") /obj/item/clothing/neck/link_scryer/equipped(mob/living/user, slot) . = ..() @@ -189,10 +189,10 @@ if(!user.is_holding(src)) return if(!new_label) - to_chat(user, "That name is invalid!") + to_chat(user, SPAN_WARNING("That name is invalid!")) return label = new_label - to_chat(user, "You set the name as [label].") + to_chat(user, SPAN_NOTICE("You set the name as [label].")) update_appearance(UPDATE_NAME) @@ -206,7 +206,7 @@ var/obj/item/linked_thing = locateUID(M.buffer_uid) if(!linked_thing) - to_chat(user, "You save the frequency of [src] to the buffer.") + to_chat(user, SPAN_NOTICE("You save the frequency of [src] to the buffer.")) M.buffer_uid = UID() return TRUE if(ismodcontrol(linked_thing)) @@ -216,12 +216,12 @@ return FALSE switch(response) if("Copy") - to_chat(user, "You save the frequency of [src] to the buffer.") + to_chat(user, SPAN_NOTICE("You save the frequency of [src] to the buffer.")) M.buffer_uid = UID() return TRUE if("Imprint") mod_link.frequency = chosen_control.mod_link.frequency - to_chat(user, "You imprint the frequency to [src].") + to_chat(user, SPAN_NOTICE("You imprint the frequency to [src].")) return TRUE else var/obj/item/clothing/neck/link_scryer/chosen_scryer = linked_thing @@ -230,12 +230,12 @@ return FALSE switch(response) if("Copy") - to_chat(user, "You save the frequency of [src] to the buffer.") + to_chat(user, SPAN_NOTICE("You save the frequency of [src] to the buffer.")) M.buffer_uid = UID() return TRUE if("Imprint") mod_link.frequency = chosen_scryer.mod_link.frequency - to_chat(user, "You imprint the frequency to [src].") + to_chat(user, SPAN_NOTICE("You imprint the frequency to [src].")) return TRUE /obj/item/clothing/neck/link_scryer/get_cell() @@ -251,11 +251,11 @@ if(cell || !istype(O, /obj/item/stock_parts/cell)) return if(!user.drop_item()) - to_chat(user, "[O] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[O] is stuck to your hand!")) return O.forceMove(src) cell = O - to_chat(user, "You load [O] into [src].") + to_chat(user, SPAN_NOTICE("You load [O] into [src].")) /obj/item/clothing/neck/link_scryer/update_name(updates) . = ..() @@ -270,7 +270,7 @@ . = ..() if(!cell) return - to_chat(user, "You remove [cell] from [src].") + to_chat(user, SPAN_NOTICE("You remove [cell] from [src].")) user.put_in_hands(cell) return @@ -416,23 +416,23 @@ if(!frequency) return if(!istype(called)) - to_chat(user, "That target is invalid!") + to_chat(user, SPAN_WARNING("That target is invalid!")) return var/mob/living/link_user = get_user_callback.Invoke() if(!link_user) return if(HAS_TRAIT(link_user, TRAIT_IN_CALL)) - to_chat(user, "You are already calling someone!") + to_chat(user, SPAN_WARNING("You are already calling someone!")) return var/mob/living/link_target = called.get_user_callback.Invoke() if(!link_target) - to_chat(user, "That target is invalid!") + to_chat(user, SPAN_WARNING("That target is invalid!")) return if(HAS_TRAIT(link_target, TRAIT_IN_CALL)) - to_chat(user, "The person you are calling is already in a call!") + to_chat(user, SPAN_WARNING("The person you are calling is already in a call!")) return if(!can_call_callback.Invoke() || !called.can_call_callback.Invoke()) - to_chat(user, "You are unable to call at this time!") + to_chat(user, SPAN_WARNING("You are unable to call at this time!")) return link_target.playsound_local(get_turf(called.holder), 'sound/weapons/ring.ogg', 15, TRUE) var/atom/movable/screen/alert/modlink_call/alert = link_target.throw_alert("[UID()]_modlink", /atom/movable/screen/alert/modlink_call) @@ -500,7 +500,7 @@ /proc/call_link(mob/user, datum/mod_link/calling_link) if(!calling_link.frequency) - to_chat(user, "The frequency isn't set!") + to_chat(user, SPAN_WARNING("The frequency isn't set!")) return var/list/callers = list() for(var/id in GLOB.mod_link_ids) @@ -513,7 +513,7 @@ continue callers["[link.holder] ([id])"] = id if(!length(callers)) - to_chat(user, "There are no targets on freq [calling_link.frequency].") + to_chat(user, SPAN_NOTICE("There are no targets on freq [calling_link.frequency].")) return var/chosen_link = tgui_input_list(user, "Choose ID to call from [calling_link.frequency] frequency", "MODlink", callers) if(!chosen_link) @@ -557,5 +557,5 @@ var/datum/mod_link/link_caller = locateUID(link_caller_uid) if(!user || !link_caller) return ..() - to_chat(user, "[end_message]") + to_chat(user, SPAN_NOTICE("[end_message]")) return ..() diff --git a/code/modules/mod/mod_paint.dm b/code/modules/mod/mod_paint.dm index 7454c94b44c..ff4c64f1d76 100644 --- a/code/modules/mod/mod_paint.dm +++ b/code/modules/mod/mod_paint.dm @@ -15,13 +15,13 @@ return ..() var/obj/item/mod/control/mod = target if(mod.active || mod.activating) - to_chat(user, "Deactivate the suit!") + to_chat(user, SPAN_WARNING("Deactivate the suit!")) return FINISH_ATTACK if(!istype(mod.theme, compatible_theme)) - to_chat(user, "Theme is not compatible!") + to_chat(user, SPAN_WARNING("Theme is not compatible!")) return FINISH_ATTACK mod.set_mod_skin(skin) - to_chat(user, "You apply the theme to [mod].") + to_chat(user, SPAN_NOTICE("You apply the theme to [mod].")) qdel(src) return FINISH_ATTACK diff --git a/code/modules/mod/mod_ui.dm b/code/modules/mod/mod_ui.dm index 3bdbd35a8db..2d35f33444d 100644 --- a/code/modules/mod/mod_ui.dm +++ b/code/modules/mod/mod_ui.dm @@ -61,11 +61,11 @@ if(.) return if(locked && !allowed(usr)) - to_chat(usr, "Insufficient access!") + to_chat(usr, SPAN_WARNING("Insufficient access!")) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return if(malfunctioning && prob(75)) - to_chat(usr, "ERROR!") + to_chat(usr, SPAN_WARNING("ERROR!")) return switch(action) if("call") @@ -75,7 +75,7 @@ mod_link.end_call() if("lock") locked = !locked - to_chat(usr, "ID [locked ? "locked" : "unlocked"].") + to_chat(usr, SPAN_NOTICE("ID [locked ? "locked" : "unlocked"].")) if("activate") toggle_activate(usr) if("select") diff --git a/code/modules/mod/modules/_modules.dm b/code/modules/mod/modules/_modules.dm index a0b85e5dfa3..2e978089d9e 100644 --- a/code/modules/mod/modules/_modules.dm +++ b/code/modules/mod/modules/_modules.dm @@ -87,7 +87,7 @@ /obj/item/mod/module/proc/on_select() if(((!mod.active || mod.activating) && !(allow_flags & MODULE_ALLOW_INACTIVE)) || module_type == MODULE_PASSIVE) if(mod.wearer) - to_chat(mod.wearer, "Module is not active!") + to_chat(mod.wearer, SPAN_WARNING("Module is not active!")) return if(module_type != MODULE_USABLE) if(active) @@ -101,10 +101,10 @@ /// Called when the module is activated /obj/item/mod/module/proc/on_activation() if(!COOLDOWN_FINISHED(src, cooldown_timer)) - to_chat(mod.wearer, "Module is on cooldown!") + to_chat(mod.wearer, SPAN_WARNING("Module is on cooldown!")) return FALSE if(!mod.active || mod.activating || !mod.get_charge()) - to_chat(mod.wearer, "Module is unpowered!") + to_chat(mod.wearer, SPAN_WARNING("Module is unpowered!")) return FALSE if(SEND_SIGNAL(src, COMSIG_MODULE_TRIGGERED, mod.wearer) & MOD_ABORT_USE) return FALSE @@ -114,11 +114,11 @@ mod.selected_module = src if(device) if(mod.wearer.put_in_hands(device)) - to_chat(mod.wearer, "[device] extended.") + to_chat(mod.wearer, SPAN_NOTICE("[device] extended.")) RegisterSignal(mod.wearer, COMSIG_ATOM_EXITED, PROC_REF(on_exit)) RegisterSignal(mod.wearer, COMSIG_MOB_WILLINGLY_DROP, PROC_REF(dropkey)) else - to_chat(mod.wearer, "You cannot extend [device]!") + to_chat(mod.wearer, SPAN_WARNING("You cannot extend [device]!")) if(device.loc != src) device.forceMove(src) return FALSE @@ -127,10 +127,10 @@ if(!mod.wearer || !(mod.wearer.client.prefs.toggles2 & PREFTOGGLE_2_MOD_ACTIVATION_METHOD)) used_button = "Alt Click" update_signal(used_button) - to_chat(mod.wearer, "[src] activated, [used_button] to use.") + to_chat(mod.wearer, SPAN_NOTICE("[src] activated, [used_button] to use.")) else COOLDOWN_START(src, cooldown_timer, cooldown_time) //We don't want to put active modules on cooldown when selected - to_chat(mod.wearer, "[src] activated.") + to_chat(mod.wearer, SPAN_NOTICE("[src] activated.")) active = TRUE mod.update_mod_overlays() //mod.wearer.update_clothing(mod.slot_flags) @@ -143,9 +143,9 @@ if(module_type == MODULE_ACTIVE) mod.selected_module = null if(display_message && device) - to_chat(mod.wearer, "[device] retracted.") + to_chat(mod.wearer, SPAN_NOTICE("[device] retracted.")) else if(display_message) - to_chat(mod.wearer, "[src] deactivated.") + to_chat(mod.wearer, SPAN_NOTICE("[src] deactivated.")) if(device) mod.wearer.transfer_item_to(device, src, force = TRUE) @@ -155,7 +155,7 @@ UnregisterSignal(mod.wearer, used_signal) used_signal = null else if(display_message) - to_chat(mod.wearer, "[src] deactivated.") + to_chat(mod.wearer, SPAN_NOTICE("[src] deactivated.")) //mod.wearer.update_clothing(mod.slot_flags) SEND_SIGNAL(src, COMSIG_MODULE_DEACTIVATED, mod.wearer) mod.update_mod_overlays() @@ -164,10 +164,10 @@ /// Called when the module is used /obj/item/mod/module/proc/on_use() if(!COOLDOWN_FINISHED(src, cooldown_timer)) - to_chat(mod.wearer, "Module is on cooldown!") + to_chat(mod.wearer, SPAN_WARNING("Module is on cooldown!")) return FALSE if(!check_power(use_power_cost)) - to_chat(mod.wearer, "Module costs too much power to use!") + to_chat(mod.wearer, SPAN_WARNING("Module costs too much power to use!")) return FALSE if(SEND_SIGNAL(src, COMSIG_MODULE_TRIGGERED, mod.wearer) & MOD_ABORT_USE) return FALSE @@ -383,7 +383,7 @@ /obj/item/mod/module/anomaly_locked/on_select() if(!core) - to_chat(mod.wearer, "ERROR. NO CORE INSTALLED!") + to_chat(mod.wearer, SPAN_WARNING("ERROR. NO CORE INSTALLED!")) return return ..() @@ -400,12 +400,12 @@ /obj/item/mod/module/anomaly_locked/attackby__legacy__attackchain(obj/item/item, mob/living/user, params) if(item.type in accepted_anomalies) if(core) - to_chat(user, "A core is already installed!") + to_chat(user, SPAN_WARNING("A core is already installed!")) return if(!user.drop_item()) return core = item - to_chat(user, "You install [item].") + to_chat(user, SPAN_NOTICE("You install [item].")) playsound(src, 'sound/machines/click.ogg', 30, TRUE) update_icon(UPDATE_ICON_STATE) core.forceMove(src) @@ -415,11 +415,11 @@ /obj/item/mod/module/anomaly_locked/screwdriver_act(mob/living/user, obj/item/tool) . = ..() if(!core) - to_chat(user, "A core is not installed!") + to_chat(user, SPAN_WARNING("A core is not installed!")) return if(!do_after(user, 3 SECONDS, target = src)) return - to_chat(user, "You remove [core].") + to_chat(user, SPAN_NOTICE("You remove [core].")) core.forceMove(drop_location()) if(Adjacent(user) && !issilicon(user)) user.put_in_hands(core) diff --git a/code/modules/mod/modules/module_kinesis.dm b/code/modules/mod/modules/module_kinesis.dm index 067fd9ebe7b..41e5fe4ecfb 100644 --- a/code/modules/mod/modules/module_kinesis.dm +++ b/code/modules/mod/modules/module_kinesis.dm @@ -66,10 +66,10 @@ clear_grab(playsound = FALSE) return if(!range_check(target)) - to_chat(mod.wearer, "[target] is too far away!") + to_chat(mod.wearer, SPAN_WARNING("[target] is too far away!")) return if(!can_grab(target)) - to_chat(mod.wearer, "[target] can not be grabbed!") + to_chat(mod.wearer, SPAN_WARNING("[target] can not be grabbed!")) return drain_power(use_power_cost) grabbed_atom = target @@ -99,7 +99,7 @@ clear_grab() return if(!range_check(grabbed_atom)) - to_chat(mod.wearer, "[grabbed_atom] is too far away!") + to_chat(mod.wearer, SPAN_WARNING("[grabbed_atom] is too far away!")) clear_grab() return beam.forceMove(get_turf(mod.wearer)) diff --git a/code/modules/mod/modules/module_pathfinder.dm b/code/modules/mod/modules/module_pathfinder.dm index f86588ea01e..e4df607d821 100644 --- a/code/modules/mod/modules/module_pathfinder.dm +++ b/code/modules/mod/modules/module_pathfinder.dm @@ -27,9 +27,9 @@ /obj/item/mod/module/pathfinder/examine(mob/user) . = ..() if(implant) - . += "Use it on a human to implant them." + . += SPAN_NOTICE("Use it on a human to implant them.") else - . += "The implant is missing." + . += SPAN_WARNING("The implant is missing.") /obj/item/mod/module/pathfinder/attack__legacy__attackchain(mob/living/target, mob/living/user, params) if(!ishuman(target) || !implant) @@ -37,12 +37,12 @@ if(!do_after(user, 1.5 SECONDS, target = target)) return if(!implant.implant(target, user)) - to_chat(user, "Unable to implant [target]!") + to_chat(user, SPAN_WARNING("Unable to implant [target]!")) return if(target == user) - to_chat(user, "You implant yourself with [implant].") + to_chat(user, SPAN_NOTICE("You implant yourself with [implant].")) else - target.visible_message("[user] implants [target].", "[user] implants you with [implant].") + target.visible_message(SPAN_NOTICE("[user] implants [target]."), SPAN_NOTICE("[user] implants you with [implant].")) playsound(src, 'sound/effects/spray.ogg', 30, TRUE, -6) icon_state = "pathfinder_empty" implant = null @@ -94,32 +94,32 @@ /obj/item/bio_chip/mod/proc/recall() target = get_turf(imp_in) if(!module?.mod) - to_chat(imp_in, "Module is not attached to a suit!") + to_chat(imp_in, SPAN_WARNING("Module is not attached to a suit!")) return FALSE if(module.mod.open) - to_chat(imp_in, "Suit is open!") + to_chat(imp_in, SPAN_WARNING("Suit is open!")) return FALSE if(length(path)) - to_chat(imp_in, "Suit is already on the way!") + to_chat(imp_in, SPAN_WARNING("Suit is already on the way!")) return FALSE if(ismob(get_atom_on_turf(module.mod))) - to_chat(imp_in, "Suit is being worn!") + to_chat(imp_in, SPAN_WARNING("Suit is being worn!")) return FALSE if(module.mod.loc != get_turf(module.mod)) - to_chat(imp_in, "Suit contained inside of something!") + to_chat(imp_in, SPAN_WARNING("Suit contained inside of something!")) return FALSE if(module.z != z || get_dist(imp_in, module.mod) > 150) - to_chat(imp_in, "Suit is too far away!") + to_chat(imp_in, SPAN_WARNING("Suit is too far away!")) return FALSE if(!ishuman(imp_in)) //Need to be specific - to_chat(imp_in, "The implant does not recognize you as a known species!") + to_chat(imp_in, SPAN_WARNING("The implant does not recognize you as a known species!")) return FALSE var/mob/living/carbon/human/H = imp_in set_path(get_path_to(module.mod, target, 150, access = H?.wear_id.GetAccess(), simulated_only = FALSE)) //Yes, science proves jetpacks work in space. More at 11. if(!length(path)) //Cannot reach target. Give up and announce the issue. - to_chat(H, "No viable path found!") + to_chat(H, SPAN_WARNING("No viable path found!")) return FALSE - to_chat(H, "Suit on route!") + to_chat(H, SPAN_NOTICE("Suit on route!")) animate(module.mod, 0.2 SECONDS, pixel_x = 0, pixel_y = 0) module.mod.add_overlay(jet_icon) RegisterSignal(module.mod, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) @@ -138,7 +138,7 @@ module.mod.transform = matrix() UnregisterSignal(module.mod, COMSIG_MOVABLE_MOVED) if(!successful) - to_chat(imp_in, "Lost connection to suit!") + to_chat(imp_in, SPAN_WARNING("Lost connection to suit!")) path = list() //Stopping endless end_recall with luck. /obj/item/bio_chip/mod/proc/on_move(atom/movable/source, atom/old_loc, dir, forced) @@ -231,7 +231,7 @@ return var/obj/item/bio_chip/mod/implant = target if(!COOLDOWN_FINISHED(src, recall_cooldown)) - to_chat(usr, "On cooldown!") + to_chat(usr, SPAN_WARNING("On cooldown!")) return if(implant.recall()) COOLDOWN_START(src, recall_cooldown, 15 SECONDS) diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm index 7189ffde5d2..8588b888ec8 100644 --- a/code/modules/mod/modules/modules_antag.dm +++ b/code/modules/mod/modules/modules_antag.dm @@ -53,7 +53,7 @@ if(!.) return playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - to_chat(mod.wearer, "Armor deployed, EVA disabled, speed increased.") + to_chat(mod.wearer, SPAN_NOTICE("Armor deployed, EVA disabled, speed increased.")) actual_speed_added = max(0, min(mod.slowdown_active, speed_added / 5)) var/list/parts = mod.mod_parts + mod for(var/obj/item/part as anything in parts) @@ -72,7 +72,7 @@ return if(!deleting) playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - to_chat(mod.wearer, "Armor retracted, EVA enabled, speed decreased.") + to_chat(mod.wearer, SPAN_NOTICE("Armor retracted, EVA enabled, speed decreased.")) var/list/parts = mod.mod_parts + mod for(var/obj/item/part as anything in parts) part.armor = part.armor.detachArmor(armor_mod_2.armor) @@ -193,7 +193,7 @@ return if(mod.wearer.buckled) return - mod.wearer.visible_message("[mod.wearer] starts charging a kick!") + mod.wearer.visible_message(SPAN_WARNING("[mod.wearer] starts charging a kick!")) playsound(src, 'sound/items/modsuit/loader_charge.ogg', 75, TRUE) animate(mod.wearer, 0.3 SECONDS, pixel_z = 16, flags = ANIMATION_RELATIVE, easing = SINE_EASING|EASE_OUT) addtimer(CALLBACK(mod.wearer, TYPE_PROC_REF(/atom, SpinAnimation), 3, 2), 0.3 SECONDS) @@ -227,7 +227,7 @@ living_target.apply_damage(damage, BRUTE, mod.wearer.zone_selected) add_attack_logs(mod.wearer, target, "[target] was charged by [mod.wearer]'s [src]", ATKLOG_ALMOSTALL) living_target.KnockDown(knockdown_time) - mod.wearer.visible_message("[mod.wearer] crashes into [target], knocking them over!", "You violently crash into [target]!") + mod.wearer.visible_message(SPAN_DANGER("[mod.wearer] crashes into [target], knocking them over!"), SPAN_USERDANGER("You violently crash into [target]!")) else return mod.wearer.do_attack_animation(target, ATTACK_EFFECT_SMASH) @@ -305,7 +305,7 @@ /obj/item/mod/module/stealth/proc/unstealth(datum/source) SIGNAL_HANDLER - to_chat(mod.wearer, "[src] gets discharged from contact!") + to_chat(mod.wearer, SPAN_WARNING("[src] gets discharged from contact!")) do_sparks(2, TRUE, src) drain_power(use_power_cost) COOLDOWN_START(src, cooldown_timer, cooldown_time) //Put it on cooldown. @@ -403,7 +403,7 @@ camera = new /obj/machinery/camera/portable(src, FALSE) camera.network = list("ERT") camera.c_tag = wearer.name - to_chat(wearer, "User scanned as [camera.c_tag]. Camera activated.") + to_chat(wearer, SPAN_NOTICE("User scanned as [camera.c_tag]. Camera activated.")) /obj/item/mod/module/ert_camera/Destroy() QDEL_NULL(camera) @@ -438,7 +438,7 @@ /obj/item/mod/module/chameleon/on_use() if(mod.active || mod.activating) - to_chat(mod.wearer, "Your suit is already active!") + to_chat(mod.wearer, SPAN_WARNING("Your suit is already active!")) return . = ..() if(!.) diff --git a/code/modules/mod/modules/modules_engineering.dm b/code/modules/mod/modules/modules_engineering.dm index 9d52eb4ccd2..811b7ff9af1 100644 --- a/code/modules/mod/modules/modules_engineering.dm +++ b/code/modules/mod/modules/modules_engineering.dm @@ -107,7 +107,7 @@ /obj/item/mod/module/tether/on_use() if(has_gravity(get_turf(src))) - to_chat(mod.wearer, "Too much gravity to use the tether!") + to_chat(mod.wearer, SPAN_WARNING("Too much gravity to use the tether!")) playsound(src, 'sound/weapons/gun_interactions/dry_fire.ogg', 25, TRUE) return FALSE return ..() diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm index ce9b8c72c38..5bba41e05df 100644 --- a/code/modules/mod/modules/modules_general.dm +++ b/code/modules/mod/modules/modules_general.dm @@ -231,7 +231,7 @@ /obj/item/mod/module/flashlight/on_activation() if(!COOLDOWN_FINISHED(src, activation_cooldown)) - to_chat(mod.wearer, "[src] isn't ready after being shut down!") + to_chat(mod.wearer, SPAN_WARNING("[src] isn't ready after being shut down!")) return . = ..() if(!.) @@ -264,7 +264,7 @@ if(isnull(value)) return if(is_color_dark(value, 50)) - to_chat(mod.wearer, ("That is too dark")) + to_chat(mod.wearer, (SPAN_WARNING("That is too dark"))) return light_color = value mod.wearer.regenerate_icons() @@ -279,7 +279,7 @@ on_deactivation(FALSE) COOLDOWN_START(src, activation_cooldown, 20 SECONDS) - to_chat(mod.wearer, "Your [name] shuts off!") + to_chat(mod.wearer, SPAN_WARNING("Your [name] shuts off!")) ///Dispenser - Dispenses an item after a time passes. /obj/item/mod/module/dispenser diff --git a/code/modules/mod/modules/modules_maint.dm b/code/modules/mod/modules/modules_maint.dm index 338d1cb4c0a..2a0f135f118 100644 --- a/code/modules/mod/modules/modules_maint.dm +++ b/code/modules/mod/modules/modules_maint.dm @@ -42,10 +42,10 @@ return . = TRUE if(dont_let_you_come_back) - to_chat(user, "You disable the retraction blocking systems.") + to_chat(user, SPAN_NOTICE("You disable the retraction blocking systems.")) dont_let_you_come_back = FALSE return - to_chat(user, "You enable the retraction blocking systems, which will block people from retracting the modsuit for 10 seconds.") + to_chat(user, SPAN_NOTICE("You enable the retraction blocking systems, which will block people from retracting the modsuit for 10 seconds.")) dont_let_you_come_back = TRUE @@ -53,7 +53,7 @@ /obj/item/mod/module/springlock/proc/on_wearer_exposed(atom/source, list/reagents, datum/reagents/source_reagents, methods, volume_modifier, show_message) SIGNAL_HANDLER remove_retraction_block() //No double signals - to_chat(mod.wearer, "[src] makes an ominous click sound...") + to_chat(mod.wearer, SPAN_DANGER("[src] makes an ominous click sound...")) incoming_jumpscare = TRUE playsound(src, 'sound/items/modsuit/springlock.ogg', 75, TRUE) addtimer(CALLBACK(src, PROC_REF(snap_shut)), rand(3 SECONDS, 5 SECONDS)) @@ -63,7 +63,7 @@ /obj/item/mod/module/springlock/proc/on_activate_spring_block(datum/source, user) SIGNAL_HANDLER - to_chat(mod.wearer, "The springlocks aren't responding...?") + to_chat(mod.wearer, SPAN_USERDANGER("The springlocks aren't responding...?")) return MOD_CANCEL_ACTIVATE ///Removes the retraction blocker from the springlock so long as they are not about to be killed @@ -76,7 +76,7 @@ UnregisterSignal(mod, COMSIG_MOD_ACTIVATE) if(!mod.wearer) //while there is a guaranteed user when on_wearer_exposed() fires, that isn't the same case for this proc return - mod.wearer.visible_message("[src] inside [mod.wearer]'s [mod.name] snaps shut, mutilating the user inside!", "*SNAP*") + mod.wearer.visible_message(SPAN_DANGER("[src] inside [mod.wearer]'s [mod.name] snaps shut, mutilating the user inside!"), SPAN_BIGGERDANGER("*SNAP*")) mod.wearer.emote("scream") playsound(mod.wearer, 'sound/effects/snap.ogg', 75, TRUE, frequency = 0.5) playsound(mod.wearer, 'sound/effects/splat.ogg', 50, TRUE, frequency = 0.5) diff --git a/code/modules/mod/modules/modules_medical.dm b/code/modules/mod/modules/modules_medical.dm index 6663ed58790..c0a63990aec 100644 --- a/code/modules/mod/modules/modules_medical.dm +++ b/code/modules/mod/modules/modules_medical.dm @@ -79,7 +79,7 @@ /obj/item/mod_defib/proc/on_cooldown_expire(obj/item/defib) SIGNAL_HANDLER // COMSIG_DEFIB_READY on_cooldown = FALSE - visible_message("[src] beeps: Defibrillation unit ready.") + visible_message(SPAN_NOTICE("[src] beeps: Defibrillation unit ready.")) playsound(get_turf(src), 'sound/machines/defib_ready.ogg', 50, FALSE) update_icon(UPDATE_ICON_STATE) diff --git a/code/modules/mod/modules/modules_science.dm b/code/modules/mod/modules/modules_science.dm index ad42c96dce3..693be0600db 100644 --- a/code/modules/mod/modules/modules_science.dm +++ b/code/modules/mod/modules/modules_science.dm @@ -57,7 +57,7 @@ distance = dy if(distance > explosion_detection_dist) return - to_chat(mod.wearer, "Explosion detected! Epicenter: [devastation_range], Outer: [heavy_impact_range], Shock: [light_impact_range]") + to_chat(mod.wearer, SPAN_NOTICE("Explosion detected! Epicenter: [devastation_range], Outer: [heavy_impact_range], Shock: [light_impact_range]")) ///Teleporter - Lets the user teleport to a nearby location. /obj/item/mod/module/anomaly_locked/teleporter diff --git a/code/modules/mod/modules/modules_security.dm b/code/modules/mod/modules/modules_security.dm index a28c853c069..50937d24e4d 100644 --- a/code/modules/mod/modules/modules_security.dm +++ b/code/modules/mod/modules/modules_security.dm @@ -24,20 +24,20 @@ if(!holstered) var/obj/item/gun/holding = mod.wearer.get_active_hand() if(!holding) - to_chat(mod.wearer, "Nothing to holster!") + to_chat(mod.wearer, SPAN_WARNING("Nothing to holster!")) return if(!istype(holding) || holding.w_class > WEIGHT_CLASS_NORMAL) //god no holstering a BSG / combat shotgun - to_chat(mod.wearer, "It's too big to fit!") + to_chat(mod.wearer, SPAN_WARNING("It's too big to fit!")) return holstered = holding - mod.wearer.visible_message("[mod.wearer] holsters [holstered].", "You holster [holstered].") + mod.wearer.visible_message(SPAN_NOTICE("[mod.wearer] holsters [holstered]."), SPAN_NOTICE("You holster [holstered].")) mod.wearer.unequip(mod.wearer.get_active_hand()) holstered.forceMove(src) else if(mod.wearer.put_in_active_hand(holstered)) - mod.wearer.visible_message("[mod.wearer] draws [msg], ready to shoot!", \ - "You draw [msg], ready to shoot!") + mod.wearer.visible_message(SPAN_WARNING("[mod.wearer] draws [msg], ready to shoot!"), \ + SPAN_WARNING("You draw [msg], ready to shoot!")) else - to_chat(mod.wearer, "You need an empty hand to draw [holstered]!") + to_chat(mod.wearer, SPAN_WARNING("You need an empty hand to draw [holstered]!")) /obj/item/mod/module/holster/on_uninstall(deleting = FALSE) if(holstered) @@ -128,7 +128,7 @@ new /obj/effect/temp_visual/sonar_ping(mod.wearer.loc, mod.wearer, creature) creatures_detected++ playsound(mod.wearer, 'sound/effects/ping_hit.ogg', vol = 75, vary = TRUE, extrarange = 9) // Should be audible for the radius of the sonar - to_chat(mod.wearer, ("You slam your fist into the ground, sending out a sonic wave that detects [creatures_detected] living beings nearby!")) + to_chat(mod.wearer, (SPAN_NOTICE("You slam your fist into the ground, sending out a sonic wave that detects [creatures_detected] living beings nearby!"))) /obj/effect/temp_visual/sonar_ping duration = 3 SECONDS diff --git a/code/modules/mod/modules/modules_supply.dm b/code/modules/mod/modules/modules_supply.dm index f3e9045f3f0..5b7396ec97e 100644 --- a/code/modules/mod/modules/modules_supply.dm +++ b/code/modules/mod/modules/modules_supply.dm @@ -74,7 +74,7 @@ dropped_crate.forceMove(target_turf) drain_power(use_power_cost) else - to_chat(mod.wearer, "Invalid target!") + to_chat(mod.wearer, SPAN_WARNING("Invalid target!")) /obj/item/mod/module/clamp/on_suit_deactivation(deleting = FALSE) if(deleting) @@ -85,12 +85,12 @@ /obj/item/mod/module/clamp/proc/check_crate_pickup(atom/movable/target) if(length(stored_crates) >= max_crates) - to_chat(mod.wearer, "Too many crates!") + to_chat(mod.wearer, SPAN_WARNING("Too many crates!")) return FALSE for(var/mob/living/mob in target.client_mobs_in_contents) if(mob.mob_size < MOB_SIZE_HUMAN) continue - to_chat(mod.wearer, "Too heavy!") + to_chat(mod.wearer, SPAN_WARNING("Too heavy!")) return FALSE return TRUE @@ -223,7 +223,7 @@ var/atom/movable/plane_master_controller/pm_controller = mod.wearer.hud_used.plane_master_controllers[PLANE_MASTERS_GAME] for(var/key in pm_controller.controlled_planes) animate(pm_controller.controlled_planes[key], launch_time, transform = matrix(1.25, MATRIX_SCALE)) - mod.wearer.visible_message("[mod.wearer] starts whirring!") + mod.wearer.visible_message(SPAN_WARNING("[mod.wearer] starts whirring!")) playsound(src, 'sound/items/modsuit/loader_charge.ogg', 75, TRUE) mod.wearer.add_overlay(charge_up_overlay) var/power = launch_time @@ -268,7 +268,7 @@ locker.throw_at(target, range = 7, speed = 4, thrower = mod.wearer) return if(!istype(target, /obj/structure/closet) || !(target in view(mod.wearer))) - to_chat(mod.wearer, "Invalid target!") + to_chat(mod.wearer, SPAN_WARNING("Invalid target!")) return var/obj/structure/closet/locker = target if(locker.anchored || locker.move_resist >= MOVE_FORCE_OVERPOWERING) @@ -379,7 +379,7 @@ var/list/parts = mod.mod_parts + mod var/speed_up = FALSE if(traveled_tiles >= max_traveled_tiles) - to_chat(mod.wearer, "You are fully covered in ash!") + to_chat(mod.wearer, SPAN_NOTICE("You are fully covered in ash!")) mod.wearer.color = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,3) //make them super light animate(mod.wearer, 1 SECONDS, color = null, flags = ANIMATION_PARALLEL) playsound(src, 'sound/effects/sparks1.ogg', 100, TRUE) @@ -408,7 +408,7 @@ if(speed_up) part.slowdown += actual_speed_added if(traveled_tiles <= 0) - to_chat(mod.wearer, "You have ran out of ash!") + to_chat(mod.wearer, SPAN_WARNING("You have ran out of ash!")) mod.wearer.weather_immunities -= "ash" /obj/effect/temp_visual/light_ash @@ -434,7 +434,7 @@ /obj/item/mod/module/sphere_transform/on_activation() if(!has_gravity(get_turf(src))) - to_chat(mod.wearer, "ERROR, NO GRAVITY!") + to_chat(mod.wearer, SPAN_WARNING("ERROR, NO GRAVITY!")) return FALSE . = ..() if(!.) @@ -465,7 +465,7 @@ /obj/item/mod/module/sphere_transform/on_use() if(!lavaland_equipment_pressure_check(get_turf(src))) - to_chat(mod.wearer, "ERROR, OVER PRESSURE!") + to_chat(mod.wearer, SPAN_WARNING("ERROR, OVER PRESSURE!")) playsound(src, 'sound/weapons/gun_interactions/dry_fire.ogg', 25, TRUE) return FALSE return ..() @@ -550,7 +550,7 @@ addtimer(CALLBACK(src, PROC_REF(boom), firer), explosion_time) /obj/structure/mining_bomb/proc/boom(atom/movable/firer) - visible_message("[src] explodes!") + visible_message(SPAN_DANGER("[src] explodes!")) playsound(src, 'sound/magic/magic_missile.ogg', 200, vary = TRUE) for(var/turf/T in circleviewturfs(src, drill_power)) if(ismineralturf(T)) diff --git a/code/modules/newscaster/obj/newscaster.dm b/code/modules/newscaster/obj/newscaster.dm index c1321fcc4d2..bee98d61970 100644 --- a/code/modules/newscaster/obj/newscaster.dm +++ b/code/modules/newscaster/obj/newscaster.dm @@ -90,7 +90,7 @@ GLOBAL_LIST_EMPTY(allNewscasters) /obj/machinery/newscaster/examine(mob/user) . = ..() - . += "Alt-Click to remove the photo currently inside it." + . += SPAN_NOTICE("Alt-Click to remove the photo currently inside it.") /obj/machinery/newscaster/Destroy() GLOB.allNewscasters -= src @@ -143,17 +143,17 @@ GLOBAL_LIST_EMPTY(allNewscasters) . = TRUE if(!I.tool_use_check(user, 0)) return - to_chat(user, "Now [anchored ? "un" : ""]securing [name]") + to_chat(user, SPAN_NOTICE("Now [anchored ? "un" : ""]securing [name]")) if(!I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume)) return playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) if(stat & BROKEN) - to_chat(user, "The broken remains of [src] fall on the ground.") + to_chat(user, SPAN_WARNING("The broken remains of [src] fall on the ground.")) new /obj/item/stack/sheet/metal(loc, 5) new /obj/item/shard(loc) new /obj/item/shard(loc) else - to_chat(user, "You [anchored ? "un" : ""]secure [name].") + to_chat(user, SPAN_NOTICE("You [anchored ? "un" : ""]secure [name].")) new /obj/item/mounted/frame/display/newscaster_frame(loc) qdel(src) @@ -386,8 +386,8 @@ GLOBAL_LIST_EMPTY(allNewscasters) var/obj/item/photo/P = usr.get_active_hand() if(istype(P) && usr.transfer_item_to(P, src)) photo = P - usr.visible_message("[usr] inserts [P] into [src]'s photo slot.",\ - "You insert [P] into [src]'s photo slot.") + usr.visible_message(SPAN_NOTICE("[usr] inserts [P] into [src]'s photo slot."),\ + SPAN_NOTICE("You insert [P] into [src]'s photo slot.")) playsound(loc, 'sound/machines/terminal_insert_disc.ogg', 30, TRUE) else if(issilicon(usr)) var/mob/living/silicon/M = usr @@ -398,7 +398,7 @@ GLOBAL_LIST_EMPTY(allNewscasters) P.construct(selection) P.forceMove(src) photo = P - visible_message("[src]'s photo slot quietly whirs as it prints [P] inside it.") + visible_message(SPAN_NOTICE("[src]'s photo slot quietly whirs as it prints [P] inside it.")) playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 15, TRUE) if("eject_photo") eject_photo(usr) @@ -672,7 +672,7 @@ GLOBAL_LIST_EMPTY(allNewscasters) // Print it is_printing = TRUE playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE) - visible_message("[src] whirs as it prints a newspaper.") + visible_message(SPAN_NOTICE("[src] whirs as it prints a newspaper.")) addtimer(CALLBACK(src, PROC_REF(print_newspaper_finish)), 5 SECONDS) /** diff --git a/code/modules/newscaster/obj/newspaper.dm b/code/modules/newscaster/obj/newspaper.dm index 95f68f78743..f093f133a83 100644 --- a/code/modules/newscaster/obj/newspaper.dm +++ b/code/modules/newscaster/obj/newspaper.dm @@ -39,7 +39,7 @@ /obj/item/newspaper/attack_self__legacy__attackchain(mob/user) if(rolled) - to_chat(user, "Unroll it first!") + to_chat(user, SPAN_WARNING("Unroll it first!")) return if(ishuman(user)) var/mob/living/carbon/human/human_user = user @@ -124,7 +124,7 @@ human_user << browse(dat, "window=newspaper_main;size=300x400") onclose(human_user, "newspaper_main") else - to_chat(user, "The paper is full of unintelligible symbols!") + to_chat(user, SPAN_WARNING("The paper is full of unintelligible symbols!")) /obj/item/newspaper/Topic(href, href_list) if(..()) @@ -158,18 +158,18 @@ /obj/item/newspaper/attackby__legacy__attackchain(obj/item/W, mob/user, params) if(is_pen(W)) if(rolled) - to_chat(user, "Unroll it first!") + to_chat(user, SPAN_WARNING("Unroll it first!")) return if(scribble_page == curr_page) - to_chat(user, "There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?") + to_chat(user, SPAN_NOTICE("There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?")) else var/s = tgui_input_text(user, "Write something", "Newspaper") if(!s || !Adjacent(user)) return scribble_page = curr_page scribble = s - user.visible_message("[user] scribbles something on [src].",\ - "You scribble on page number [curr_page] of [src].") + user.visible_message(SPAN_NOTICE("[user] scribbles something on [src]."),\ + SPAN_NOTICE("You scribble on page number [curr_page] of [src].")) attack_self__legacy__attackchain(user) return return ..() @@ -180,8 +180,8 @@ icon_state = "newspaper[rolled ? "_rolled" : ""]" update_icon() var/verbtext = "[rolled ? "" : "un"]roll" - user.visible_message("[user] [verbtext]s [src].",\ - "You [verbtext] [src].") + user.visible_message(SPAN_NOTICE("[user] [verbtext]s [src]."),\ + SPAN_NOTICE("You [verbtext] [src].")) name = "[rolled ? "rolled" : ""] [initial(name)]" return ..() diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index a71ce768897..4bfcdf49af5 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -22,7 +22,7 @@ spark_system.start() playsound(user, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) playsound(user, 'sound/weapons/blade1.ogg', 50, 1) - user.visible_message("[user] masterfully slices [target]!", "You masterfully slice [target]!") + user.visible_message(SPAN_DANGER("[user] masterfully slices [target]!"), SPAN_NOTICE("You masterfully slice [target]!")) target.emag_act(user) sleep(15) cooldown = 0 @@ -63,7 +63,7 @@ msg = "Your Energy Katana lands at your feet!" if(msg) - to_chat(user, "[msg]") + to_chat(user, SPAN_NOTICE("[msg]")) /obj/item/katana/energy/New() ..() diff --git a/code/modules/ninja/suit/suit_initialisation.dm b/code/modules/ninja/suit/suit_initialisation.dm index a9744ad47a0..94110b9dda5 100644 --- a/code/modules/ninja/suit/suit_initialisation.dm +++ b/code/modules/ninja/suit/suit_initialisation.dm @@ -14,30 +14,30 @@ suitBusy = 1 if(suitActive && (tgui_alert(usr, "Confirm suit systems shutdown? This cannot be halted once it has started.", "Confirm Shutdown", list("Yes", "No")) == "Yes")) - to_chat(usr, "Now de-initializing...") + to_chat(usr, SPAN_DARKMBLUE("Now de-initializing...")) sleep(15) - to_chat(usr, "Logging off, [usr.real_name]. Shutting down SpiderOS.") + to_chat(usr, SPAN_DARKMBLUE("Logging off, [usr.real_name]. Shutting down SpiderOS.")) sleep(10) - to_chat(usr, "Primary system status: OFFLINE.\nBackup system status: OFFLINE.") + to_chat(usr, SPAN_DARKMBLUE("Primary system status: OFFLINE.\nBackup system status: OFFLINE.")) sleep(5) - to_chat(usr, "VOID-shift device status: OFFLINE.\nCLOAK-tech device status: OFFLINE.") + to_chat(usr, SPAN_DARKMBLUE("VOID-shift device status: OFFLINE.\nCLOAK-tech device status: OFFLINE.")) //TODO: Shut down any active abilities sleep(10) - to_chat(usr, "Disconnecting neural-net interface... Success.") + to_chat(usr, SPAN_DARKMBLUE("Disconnecting neural-net interface... Success.")) QDEL_NULL(usr.hud_used) usr.create_mob_hud() usr.regenerate_icons() sleep(5) - to_chat(usr, "Disengaging neural-net interface... Success.") + to_chat(usr, SPAN_DARKMBLUE("Disengaging neural-net interface... Success.")) sleep(10) - to_chat(usr, "Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: FINISHED.") + to_chat(usr, SPAN_DARKMBLUE("Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: FINISHED.")) //TODO: Grant verbs toggle_suit_lock(usr) usr.regenerate_icons() @@ -45,7 +45,7 @@ suitActive = 0 else if(!suitActive) // Activate the suit. - to_chat(usr, "Now initializing...") + to_chat(usr, SPAN_DARKMBLUE("Now initializing...")) sleep(15) to_chat(usr, "Now establishing neural-net interface...") @@ -54,15 +54,15 @@ return sleep(10) - to_chat(usr, "Neural-net established. Now monitoring brainwave pattern. \nBrainwave pattern GREEN, proceeding.") + to_chat(usr, SPAN_DARKMBLUE("Neural-net established. Now monitoring brainwave pattern. \nBrainwave pattern GREEN, proceeding.")) sleep(10) - to_chat(usr, "Securing external locking mechanism...") + to_chat(usr, SPAN_DARKMBLUE("Securing external locking mechanism...")) if(!toggle_suit_lock(usr)) return sleep(5) - to_chat(usr, "Suit secured, extending neural-net interface...") + to_chat(usr, SPAN_DARKMBLUE("Suit secured, extending neural-net interface...")) QDEL_NULL(usr.hud_used) usr.hud_used = new /datum/hud/human(usr, 'icons/mob/screen_ninja.dmi', "#ffffff", 255) @@ -71,22 +71,22 @@ usr.regenerate_icons() sleep(10) - to_chat(usr, "VOID-shift device status: ONLINE.\nCLOAK-tech device status:ONLINE") + to_chat(usr, SPAN_DARKMBLUE("VOID-shift device status: ONLINE.\nCLOAK-tech device status:ONLINE")) sleep(5) - to_chat(usr, "Primary system status: ONLINE.\nBackup system status: ONLINE.") + to_chat(usr, SPAN_DARKMBLUE("Primary system status: ONLINE.\nBackup system status: ONLINE.")) if(suitCell) - to_chat(usr, "Current energy capacity: [suitCell.charge]/[suitCell.maxcharge].") + to_chat(usr, SPAN_DARKMBLUE("Current energy capacity: [suitCell.charge]/[suitCell.maxcharge].")) sleep(10) - to_chat(usr, "All systems operational. Welcome to SpiderOS, [usr.real_name].") + to_chat(usr, SPAN_DARKMBLUE("All systems operational. Welcome to SpiderOS, [usr.real_name].")) //TODO: Grant ninja verbs here. suitBusy = 0 suitActive = 1 else suitBusy = 0 - to_chat(usr, "NOTICE: Suit de-activation protocols aborted.") + to_chat(usr, SPAN_DARKMBLUE("NOTICE: Suit de-activation protocols aborted.")) else to_chat(usr, "FĆAL �Rr�R: ŧer nt recgnized, c-cntr-r䣧-ç äcked.") return diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm index 86f52ac7e11..2114af7e44b 100644 --- a/code/modules/paperwork/carbonpaper.dm +++ b/code/modules/paperwork/carbonpaper.dm @@ -37,7 +37,7 @@ copy.name = "Copy - " + c.name copy.fields = c.fields copy.updateinfolinks() - to_chat(usr, "You tear off the carbon-copy!") + to_chat(usr, SPAN_NOTICE("You tear off the carbon-copy!")) c.copied = 1 copy.iscopy = 1 copy.update_icon() diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index c2882db84a1..d649fd7900a 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -42,25 +42,25 @@ GLOBAL_VAR(station_report) // Variable to save the station report /obj/item/clipboard/examine(mob/user) . = ..() - . += "Alt-Click to remove its pen." + . += SPAN_NOTICE("Alt-Click to remove its pen.") if(in_range(user, src) && toppaper) . += toppaper.examine(user) /obj/item/clipboard/proc/penPlacement(mob/user, obj/item/pen/P, placing) if(placing) if(containedpen) - to_chat(user, "There's already a pen in [src]!") + to_chat(user, SPAN_WARNING("There's already a pen in [src]!")) return if(!is_pen(P)) return - to_chat(user, "You slide [P] into [src].") + to_chat(user, SPAN_NOTICE("You slide [P] into [src].")) user.transfer_item_to(P, src) containedpen = P else if(!containedpen) - to_chat(user, "There isn't a pen in [src] for you to remove!") + to_chat(user, SPAN_WARNING("There isn't a pen in [src] for you to remove!")) return - to_chat(user, "You remove [containedpen] from [src].") + to_chat(user, SPAN_NOTICE("You remove [containedpen] from [src].")) user.put_in_hands(containedpen) containedpen = null update_icon() @@ -99,7 +99,7 @@ GLOBAL_VAR(station_report) // Variable to save the station report if(isPaperwork(W)) //If it's a photo, paper bundle, or piece of paper, place it on the clipboard. user.unequip(W) W.forceMove(src) - to_chat(user, "You clip [W] onto [src].") + to_chat(user, SPAN_NOTICE("You clip [W] onto [src].")) playsound(loc, "pageturn", 50, 1) if(isPaperwork(W) == PAPERWORK) toppaper = W @@ -134,7 +134,7 @@ GLOBAL_VAR(station_report) // Variable to save the station report var/obj/item/P = locate(href_list["remove"]) in src if(isPaperwork(P)) usr.put_in_hands(P) - to_chat(usr, "You remove [P] from [src].") + to_chat(usr, SPAN_NOTICE("You remove [P] from [src].")) toppaper = locate(/obj/item/paper) in src if(!toppaper) //In case there's no paper, try find a paper bundle instead toppaper = locate(/obj/item/paper_bundle) in src @@ -153,7 +153,7 @@ GLOBAL_VAR(station_report) // Variable to save the station report var/obj/item/P = locate(href_list["topPaper"]) in src if(P == toppaper) return - to_chat(usr, "You flick the pages so that [P] is on top.") + to_chat(usr, SPAN_NOTICE("You flick the pages so that [P] is on top.")) playsound(loc, "pageturn", 50, 1) toppaper = P update_icon() diff --git a/code/modules/paperwork/desk_bell.dm b/code/modules/paperwork/desk_bell.dm index 051a175c8e8..a3672a4ae29 100644 --- a/code/modules/paperwork/desk_bell.dm +++ b/code/modules/paperwork/desk_bell.dm @@ -21,7 +21,7 @@ /obj/item/desk_bell/examine(mob/user) . = ..() if(!isnull(attached_signaler)) - . += "There seems to be an antenna sticking out of the base." + . += SPAN_NOTICE("There seems to be an antenna sticking out of the base.") /obj/item/desk_bell/Destroy() if(!isnull(attached_signaler)) @@ -38,10 +38,10 @@ // can only attach its on your person if(istype(I, /obj/item/assembly/signaler)) if(!in_inventory) - to_chat(user, "[src] needs to be in your inventory if you want to attach [I] to it!") + to_chat(user, SPAN_WARNING("[src] needs to be in your inventory if you want to attach [I] to it!")) return if(!isnull(attached_signaler)) - to_chat(user, "There's already a signaller attached!") + to_chat(user, SPAN_NOTICE("There's already a signaller attached!")) return var/obj/item/assembly/signaler/signal = I user.transfer_item_to(signal, src) @@ -49,8 +49,8 @@ if(signal.receiving) RegisterSignal(attached_signaler, COMSIG_ASSEMBLY_PULSED, PROC_REF(on_signal)) user.visible_message( - "[user] attaches [signal] to [src].", - "You attach [signal] to [src]." + SPAN_NOTICE("[user] attaches [signal] to [src]."), + SPAN_NOTICE("You attach [signal] to [src].") ) return ..() @@ -62,7 +62,7 @@ if(ring_cooldown > world.time || !anchored) return TRUE if(!ring_bell(user, from_signaler) && user) - to_chat(user, "[src] is silent. Some idiot broke it.") + to_chat(user, SPAN_NOTICE("[src] is silent. Some idiot broke it.")) ring_cooldown = world.time + ring_cooldown_length return TRUE @@ -92,10 +92,10 @@ /obj/item/desk_bell/screwdriver_act(mob/living/user, obj/item/tool) . = TRUE if(broken_ringer) - visible_message("[user] begins repairing [src]...", "You begin repairing [src]...") + visible_message(SPAN_NOTICE("[user] begins repairing [src]..."), SPAN_NOTICE("You begin repairing [src]...")) tool.play_tool_sound(src) if(tool.use_tool(src, user, 5 SECONDS)) - user.visible_message("[user] repairs [src].", "You repair [src].") + user.visible_message(SPAN_NOTICE("[user] repairs [src]."), SPAN_NOTICE("You repair [src].")) playsound(user, 'sound/items/change_drill.ogg', 50, vary = TRUE) broken_ringer = FALSE times_rang = 0 @@ -106,9 +106,9 @@ /obj/item/desk_bell/wrench_act(mob/living/user, obj/item/tool) . = TRUE if(user.a_intent == INTENT_HARM && !in_inventory) - visible_message("[user] begins taking apart [src]...", "You begin taking apart [src]...") + visible_message(SPAN_NOTICE("[user] begins taking apart [src]..."), SPAN_NOTICE("You begin taking apart [src]...")) if(tool.use_tool(src, user, 5 SECONDS, volume = tool.tool_volume)) - visible_message("[user] takes apart [src].", "You take apart [src].") + visible_message(SPAN_NOTICE("[user] takes apart [src]."), SPAN_NOTICE("You take apart [src].")) playsound(user, 'sound/items/deconstruct.ogg', 50, vary = TRUE) new /obj/item/stack/sheet/metal(drop_location(), 2) qdel(src) @@ -129,7 +129,7 @@ if(attached_signaler) // in inventory if(!tool.use_tool(src, user, 0.5 SECONDS, volume = tool.tool_volume)) return TRUE - to_chat(user, "You remove [attached_signaler].") + to_chat(user, SPAN_NOTICE("You remove [attached_signaler].")) user.put_in_hands(attached_signaler) UnregisterSignal(attached_signaler, COMSIG_ASSEMBLY_PULSED) attached_signaler = null @@ -137,9 +137,9 @@ /// Check if the clapper breaks, and if it does, break it /obj/item/desk_bell/proc/check_clapper(mob/living/user) if(prob(times_rang / 50) && ring_cooldown_length) - audible_message("You hear [src]'s clapper fall off its hinge.") + audible_message(SPAN_NOTICE("You hear [src]'s clapper fall off its hinge.")) if(user) - to_chat(user, "Nice job, you broke it.") + to_chat(user, SPAN_WARNING("Nice job, you broke it.")) broken_ringer = TRUE /// Ring the bell diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm index 8644ba7348b..9c5f0fbd04b 100644 --- a/code/modules/paperwork/faxmachine.dm +++ b/code/modules/paperwork/faxmachine.dm @@ -48,7 +48,7 @@ GLOBAL_LIST_EMPTY(fax_blacklist) /obj/machinery/photocopier/faxmachine/examine(mob/user) . = ..() - . += "Alt-Click [src] to remove its currently stored ID." + . += SPAN_NOTICE("Alt-Click [src] to remove its currently stored ID.") /obj/machinery/photocopier/faxmachine/proc/update_network() if(department != "Unknown") @@ -96,7 +96,7 @@ GLOBAL_LIST_EMPTY(fax_blacklist) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/folder)) - to_chat(user, "The [src] can't accept folders!") + to_chat(user, SPAN_WARNING("The [src] can't accept folders!")) return ITEM_INTERACT_COMPLETE //early return so the parent proc doesn't suck up and items that a photocopier would take else return ..() @@ -108,10 +108,10 @@ GLOBAL_LIST_EMPTY(fax_blacklist) if(!emagged) emagged = TRUE req_one_access = list() - to_chat(user, "The transmitters realign to an unknown source!") + to_chat(user, SPAN_NOTICE("The transmitters realign to an unknown source!")) return TRUE else - to_chat(user, "You swipe the card through [src], but nothing happens.") + to_chat(user, SPAN_WARNING("You swipe the card through [src], but nothing happens.")) /obj/machinery/photocopier/faxmachine/proc/is_authenticated(mob/user) if(authenticated) @@ -171,13 +171,13 @@ GLOBAL_LIST_EMPTY(fax_blacklist) if("auth") // log in/out if(!is_authenticated && scan) if(scan.registered_name in GLOB.fax_blacklist) - to_chat(usr, "Login rejected: individual is blacklisted from fax network.") + to_chat(usr, SPAN_WARNING("Login rejected: individual is blacklisted from fax network.")) playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0) . = FALSE else if(check_access(scan)) authenticated = TRUE else // ID doesn't have access to this machine - to_chat(usr, "Login rejected: ID card does not have required access.") + to_chat(usr, SPAN_WARNING("Login rejected: ID card does not have required access.")) playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0) . = FALSE else if(is_authenticated) @@ -188,7 +188,7 @@ GLOBAL_LIST_EMPTY(fax_blacklist) if(ishuman(usr)) if(!usr.get_active_hand() && Adjacent(usr)) usr.put_in_hands(copyitem) - to_chat(usr, "You eject [copyitem] from [src].") + to_chat(usr, SPAN_NOTICE("You eject [copyitem] from [src].")) copyitem = null else var/obj/item/I = usr.get_active_hand() @@ -196,10 +196,10 @@ GLOBAL_LIST_EMPTY(fax_blacklist) usr.drop_item() copyitem = I I.forceMove(src) - to_chat(usr, "You insert [I] into [src].") + to_chat(usr, SPAN_NOTICE("You insert [I] into [src].")) flick(insert_anim, src) else - to_chat(usr, "[src] only accepts paper, paper bundles, and photos.") + to_chat(usr, SPAN_WARNING("[src] only accepts paper, paper bundles, and photos.")) . = FALSE if("rename") // rename the item that is currently in the fax machine if(copyitem) @@ -247,7 +247,7 @@ GLOBAL_LIST_EMPTY(fax_blacklist) var/cooldown_seconds = cooldown_seconds() if(cooldown_seconds > 0) playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0) - to_chat(usr, "[src] is not ready for another [cooldown_seconds] seconds.") + to_chat(usr, SPAN_WARNING("[src] is not ready for another [cooldown_seconds] seconds.")) return send_admin_fax(usr, destination) sendcooldown = world.time + cooldown_time @@ -284,14 +284,14 @@ GLOBAL_LIST_EMPTY(fax_blacklist) return if(scan) - to_chat(user, "You remove [scan] from [src].") + to_chat(user, SPAN_NOTICE("You remove [scan] from [src].")) if(!user.get_active_hand()) user.put_in_hands(scan) else if(!user.put_in_inactive_hand(scan)) scan.forceMove(get_turf(src)) scan = null else - to_chat(user, "There is nothing to remove from [src].") + to_chat(user, SPAN_NOTICE("There is nothing to remove from [src].")) /obj/machinery/photocopier/faxmachine/proc/sendfax(destination, mob/sender) use_power(active_power_consumption) @@ -411,7 +411,7 @@ GLOBAL_LIST_EMPTY(fax_blacklist) return round((sendcooldown - world.time) / 10) /obj/machinery/photocopier/faxmachine/proc/message_admins(mob/sender, faxname, faxtype, obj/item/sent, font_colour="#9A04D1") - var/msg = "[faxname]: [key_name_admin(sender)] | REPLY: (RADIO) (FAX) ([ADMIN_SM(sender,"SM")]) | REJECT: (TEMPLATE) ([ADMIN_BSA(sender,"BSA")]) (EVILFAX) : Receiving '[sent.name]' via secure connection... view message" + var/msg = "[SPAN_BOLDNOTICE("[faxname]: [key_name_admin(sender)] | REPLY: (RADIO) (FAX) ([ADMIN_SM(sender,"SM")]) | REJECT: (TEMPLATE) ([ADMIN_BSA(sender,"BSA")]) (EVILFAX) ")]: Receiving '[sent.name]' via secure connection... view message" var/fax_sound = sound('sound/effects/adminhelp.ogg') for(var/client/C in GLOB.admins) if(check_rights(R_EVENT, 0, C.mob)) diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index 85ae2fd67b6..c02e27c7263 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -48,7 +48,7 @@ if(insert(O, user)) return ITEM_INTERACT_COMPLETE if(user.a_intent != INTENT_HARM) - to_chat(user, "You can't put [O.name] in [src]!") + to_chat(user, SPAN_WARNING("You can't put [O.name] in [src]!")) return ITEM_INTERACT_COMPLETE return ..() @@ -80,9 +80,9 @@ if(prob(25)) step_rand(I) SStgui.update_uis(src) - 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/ui_state(mob/user) return GLOB.default_state @@ -128,7 +128,7 @@ return if(!user.unequip(O)) return - to_chat(user, "You put [O.name] in [src].") + to_chat(user, SPAN_NOTICE("You put [O.name] in [src].")) O.loc = src SStgui.update_uis(src) icon_state = "[initial(icon_state)]-open" diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 35f357f3e22..fdd802e60a5 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -38,7 +38,7 @@ if(istype(W, /obj/item/paper) || istype(W, /obj/item/photo) || istype(W, /obj/item/paper_bundle) || istype(W, /obj/item/documents)) user.drop_item() W.loc = src - to_chat(user, "You put [W] into [src].") + to_chat(user, SPAN_NOTICE("You put [W] into [src].")) update_icon(UPDATE_OVERLAYS) else if(is_pen(W)) rename_interactive(user, W) diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index 2855f576156..7bde63f4a36 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -14,13 +14,13 @@ /obj/item/hand_labeler/examine(mob/user) . = ..() - . += "There [labels_left == 1 ? "is" : "are"] [labels_left] label\s remaining." + . += SPAN_NOTICE("There [labels_left == 1 ? "is" : "are"] [labels_left] label\s remaining.") if(label) - . += "The label is currently set to \"[label]\"." + . += SPAN_NOTICE("The label is currently set to \"[label]\".") /obj/item/hand_labeler/interact_with_atom(atom/target, mob/living/user, list/modifiers) if(iseffect(target)) - to_chat(user, "\The [target] doesn't seem solid enough to label!") + to_chat(user, SPAN_WARNING("\The [target] doesn't seem solid enough to label!")) return ITEM_INTERACT_COMPLETE if(!mode == LABEL_MODE_OFF) apply_label(target, user) @@ -31,35 +31,35 @@ /obj/item/hand_labeler/proc/remove_label(atom/target, mob/living/user) if(SEND_SIGNAL(target, COMSIG_LABEL_REMOVE)) // sends a signal to label.dm playsound(target, 'sound/items/poster_ripped.ogg', 20, TRUE) - to_chat(user, "You remove the label from [target].") + to_chat(user, SPAN_WARNING("You remove the label from [target].")) return TRUE /obj/item/hand_labeler/proc/apply_label(atom/target, mob/living/user) 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(ismob(target)) - 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 if(mode == LABEL_MODE_GOAL) if(isturf(target)) - to_chat(user, "You can't just claim a bit of [target] as yours!") + to_chat(user, SPAN_WARNING("You can't just claim a bit of [target] as yours!")) return - user.visible_message("[user] labels [target] as part of a secondary goal for [label].", \ - "You label [target] as part of a secondary goal for [label].") + user.visible_message(SPAN_NOTICE("[user] labels [target] as part of a secondary goal for [label]."), \ + SPAN_NOTICE("You label [target] as part of a secondary goal for [label].")) target.AddComponent(/datum/component/label/goal, label) return if(length(target.name) + length(label) > 64) - to_chat(user, "Label too big!") + to_chat(user, SPAN_WARNING("Label too big!")) return - user.visible_message("[user] labels [target] as [label].", \ - "You label [target] as [label].") + user.visible_message(SPAN_NOTICE("[user] labels [target] as [label]."), \ + SPAN_NOTICE("You label [target] as [label].")) investigate_log("[key_name(user)] ([ADMIN_FLW(user,"FLW")]) labelled \"[target]\" ([ADMIN_VV(target, "VV")]) with \"[label]\" at [COORD(target.loc)] [ADMIN_JMP(target)].", INVESTIGATE_RENAME) // Investigate goes BEFORE rename so the original name is preserved in the log target.AddComponent(/datum/component/label, label) playsound(target, 'sound/items/handling/component_pickup.ogg', 20, TRUE) @@ -74,23 +74,23 @@ mode = !mode icon_state = "labeler[mode]" if(mode) - to_chat(user, "You turn on \the [src].") + to_chat(user, SPAN_NOTICE("You turn on \the [src].")) //Now let them chose the text. var/str = reject_bad_text(tgui_input_text(user,"Label text?", "Set label")) if(!str || !length(str)) - to_chat(user, "Invalid text.") + to_chat(user, SPAN_NOTICE("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 \the [src].") + to_chat(user, SPAN_NOTICE("You turn off \the [src].")) /obj/item/hand_labeler/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(..()) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/hand_labeler_refill)) - to_chat(user, "You insert [used] into [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into [src].")) user.drop_item() qdel(used) labels_left = initial(labels_left) //Yes, it's capped at its initial value @@ -98,12 +98,12 @@ else if(istype(used, /obj/item/card/id)) var/obj/item/card/id/id = used if(istype(id, /obj/item/card/id/guest) || !id.registered_name) - to_chat(user, "Invalid ID card.") + to_chat(user, SPAN_WARNING("Invalid ID card.")) return ITEM_INTERACT_COMPLETE else label = id.registered_name mode = LABEL_MODE_GOAL - to_chat(user, "You configure the hand labeler with [used].") + to_chat(user, SPAN_NOTICE("You configure the hand labeler with [used].")) icon_state = "labeler1" return ITEM_INTERACT_COMPLETE diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index bd8cef587a2..d354d47a939 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -69,14 +69,14 @@ /obj/item/paper/examine(mob/user) . = ..() - . += "Alt-Click [src] with a pen in hand to rename it." + . += SPAN_NOTICE("Alt-Click [src] with a pen in hand to rename it.") if(user.is_literate()) if(in_range(user, src) || isobserver(user)) show_content(user) else - . += "You have to go closer if you want to read it." + . += SPAN_NOTICE("You have to go closer if you want to read it.") else - . += "You don't know how to read." + . += SPAN_NOTICE("You don't know how to read.") /obj/item/paper/proc/show_content(mob/user, forceshow = 0, forcestars = 0, infolinks = 0, view = 1) var/datum/asset/assets = get_asset_datum(/datum/asset/simple/paper) @@ -116,10 +116,10 @@ /obj/item/paper/proc/rename(mob/user) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - to_chat(user, "You cut yourself on the paper.") + to_chat(user, SPAN_WARNING("You cut yourself on the paper.")) return if(!user.is_literate()) - to_chat(user, "You don't know how to read.") + to_chat(user, SPAN_NOTICE("You don't know how to read.")) return var/n_name = rename_interactive(usr) if(isnull(n_name)) @@ -157,20 +157,20 @@ return ..() var/mob/living/carbon/human/H = M if(user.zone_selected == "eyes") - user.visible_message("[user] holds up a paper and shows it to [H].", - "You show the paper to [H].") + user.visible_message(SPAN_NOTICE("[user] holds up a paper and shows it to [H]."), + SPAN_NOTICE("You show the paper to [H].")) to_chat(H, "Read \the [src]") else if(user.zone_selected == "mouth") if(H == user) - to_chat(user, "You wipe off your face with [src].") + to_chat(user, SPAN_NOTICE("You wipe off your face with [src].")) else - user.visible_message("[user] begins to wipe [H]'s face clean with \the [src].", - "You begin to wipe off [H]'s face.") + user.visible_message(SPAN_WARNING("[user] begins to wipe [H]'s face clean with \the [src]."), + SPAN_NOTICE("You begin to wipe off [H]'s face.")) if(!do_after(user, 1 SECONDS, target = H) || !do_after(H, 1 SECONDS, FALSE)) // user needs to keep their active hand, H does not. return - user.visible_message("[user] wipes [H]'s face clean with \the [src].", - "You wipe off [H]'s face.") + user.visible_message(SPAN_NOTICE("[user] wipes [H]'s face clean with \the [src]."), + SPAN_NOTICE("You wipe off [H]'s face.")) H.lip_style = null H.lip_color = null @@ -184,18 +184,18 @@ var/mob/living/simple_animal/pet/dog/D = M D.changeNext_move(CLICK_CD_MELEE) if(world.time < D.last_eaten + 30 SECONDS) - to_chat(D, "You are too full to try eating [src] now.") + to_chat(D, SPAN_WARNING("You are too full to try eating [src] now.")) return - D.visible_message("[D] starts chewing the corner of [src]!", - "You start chewing the corner of [src].", - "You hear a quiet gnawing, and the sound of paper rustling.") + D.visible_message(SPAN_WARNING("[D] starts chewing the corner of [src]!"), + SPAN_NOTICE("You start chewing the corner of [src]."), + SPAN_WARNING("You hear a quiet gnawing, and the sound of paper rustling.")) playsound(src, 'sound/effects/pageturn2.ogg', 100, TRUE) if(!do_after(D, 10 SECONDS, FALSE, src)) return if(world.time < D.last_eaten + 30 SECONDS) // Check again to prevent eating multiple papers at once. - to_chat(D, "You are too full to try eating [src] now.") + to_chat(D, SPAN_WARNING("You are too full to try eating [src] now.")) return D.last_eaten = world.time @@ -212,13 +212,13 @@ P.update_icon() qdel(src) - D.visible_message("[D] finishes eating [src][message_ending]", - "You finish eating [src][message_ending]") + D.visible_message(SPAN_WARNING("[D] finishes eating [src][message_ending]"), + SPAN_NOTICE("You finish eating [src][message_ending]")) D.emote("bark") // 10% chance of the paper just being eaten entirely. else - D.visible_message("[D] swallows [src] whole!", "You swallow [src] whole. Tasty!") + D.visible_message(SPAN_WARNING("[D] swallows [src] whole!"), SPAN_NOTICE("You swallow [src] whole. Tasty!")) playsound(D, 'sound/items/eatfood.ogg', 50, TRUE) qdel(src) @@ -322,7 +322,7 @@ /obj/item/paper/vv_edit_var(var_name, var_value) if((var_name == "info") && blacklist.Find(var_value)) //uh oh, they tried to be naughty - message_admins("EXPLOIT WARNING: ADMIN [usr.ckey] attempted to write paper containing JS abusable tags!") + message_admins("[SPAN_DANGER("EXPLOIT WARNING: ADMIN")] [usr.ckey] attempted to write paper containing JS abusable tags!") log_admin("EXPLOIT WARNING: ADMIN [usr.ckey] attempted to write paper containing JS abusable tags") return FALSE return ..() @@ -335,7 +335,7 @@ if(loc != usr && !Adjacent(usr) && !((istype(loc, /obj/item/clipboard) || istype(loc, /obj/item/folder)) && ((usr in get_turf(src)) || loc.Adjacent(usr)))) return // If paper is not in usr, then it must be near them, or in a clipboard or folder, which must be in or near usr if(blacklist.Find(input_element)) //uh oh, they tried to be naughty - message_admins("EXPLOIT WARNING: [usr.ckey] attempted to write paper containing JS abusable tags!") + message_admins("[SPAN_DANGER("EXPLOIT WARNING: ")] [usr.ckey] attempted to write paper containing JS abusable tags!") log_admin("EXPLOIT WARNING: [usr.ckey] attempted to write paper containing JS abusable tags") return FALSE input_element = parsepencode(input_element, item_write, usr) // Encode everything from pencode to html @@ -399,7 +399,7 @@ if(dist < 2) show_content(usr) else - to_chat(usr, "I'm too far away from \the [src] to read it.") + to_chat(usr, SPAN_NOTICE("I'm too far away from \the [src] to read it.")) /obj/item/paper/attackby__legacy__attackchain(obj/item/P, mob/living/user, params) ..() @@ -415,7 +415,7 @@ if(istype(P, /obj/item/paper/carbon)) var/obj/item/paper/carbon/C = P if(!C.iscopy && !C.copied) - to_chat(user, "Take off the carbon copy first.") + to_chat(user, SPAN_NOTICE("Take off the carbon copy first.")) add_fingerprint(user) return var/obj/item/paper_bundle/B = new(src.loc, FALSE) @@ -453,7 +453,7 @@ src.loc = get_turf(h_user) if(h_user.client) h_user.client.screen -= src h_user.put_in_hands(B) - to_chat(user, "You clip [P] to [(src.name == "paper") ? "the paper" : src.name].") + to_chat(user, SPAN_NOTICE("You clip [P] to [(src.name == "paper") ? "the paper" : src.name].")) forceMove(B) P.loc = B B.amount++ @@ -469,7 +469,7 @@ //openhelp(user) return else - to_chat(user, "You don't know how to write!") + to_chat(user, SPAN_WARNING("You don't know how to write!")) else if(istype(P, /obj/item/stamp)) if((!in_range(src, usr) && loc != user && !( istype(loc, /obj/item/clipboard)) && loc.loc != user && user.get_active_hand() != P)) @@ -477,18 +477,18 @@ if(istype(P, /obj/item/stamp/clown)) if(!clown) - to_chat(user, "You are totally unable to use the stamp. HONK!") + to_chat(user, SPAN_NOTICE("You are totally unable to use the stamp. HONK!")) return stamp(P) - to_chat(user, "You stamp the paper with your rubber stamp.") + to_chat(user, SPAN_NOTICE("You stamp the paper with your rubber stamp.")) playsound(user, 'sound/items/handling/standard_stamp.ogg', 50, vary = TRUE) if(P.get_heat()) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(10)) - user.visible_message("[user] accidentally ignites [user.p_themselves()]!", \ - "You miss the paper and accidentally light yourself on fire!") + user.visible_message(SPAN_WARNING("[user] accidentally ignites [user.p_themselves()]!"), \ + SPAN_USERDANGER("You miss the paper and accidentally light yourself on fire!")) user.drop_item_to_ground(P) user.adjust_fire_stacks(1) user.IgniteMob() @@ -498,7 +498,7 @@ return user.drop_item_to_ground(src) - user.visible_message("[user] lights [src] ablaze with [P]!", "You light [src] on fire!") + user.visible_message(SPAN_DANGER("[user] lights [src] ablaze with [P]!"), SPAN_DANGER("You light [src] on fire!")) fire_act() add_fingerprint(user) @@ -938,7 +938,7 @@ evilpaper_selfdestruct() else if(mytarget) - to_chat(user,"This page appears to be covered in some sort of bizzare code. The only bit you recognize is the name of [mytarget]. Perhaps [mytarget] can make sense of it?") + to_chat(user,SPAN_NOTICE("This page appears to be covered in some sort of bizzare code. The only bit you recognize is the name of [mytarget]. Perhaps [mytarget] can make sense of it?")) else evilpaper_selfdestruct() @@ -974,31 +974,31 @@ if(iscarbon(target)) var/obj/machinery/photocopier/faxmachine/fax = locateUID(faxmachineid) if(myeffect == "Borgification") - to_chat(target,"You seem to comprehend the AI a little better. Why are your muscles so stiff?") + to_chat(target,SPAN_USERDANGER("You seem to comprehend the AI a little better. Why are your muscles so stiff?")) target.ForceContractDisease(new /datum/disease/transformation/robot(0)) else if(myeffect == "Corgification") - to_chat(target,"You hear distant howling as the world seems to grow bigger around you. Boy, that itch sure is getting worse!") + to_chat(target,SPAN_USERDANGER("You hear distant howling as the world seems to grow bigger around you. Boy, that itch sure is getting worse!")) target.ForceContractDisease(new /datum/disease/transformation/corgi(0)) else if(myeffect == "Death By Fire") - to_chat(target,"You feel hotter than usual. Maybe you should lowe-wait, is that your hand melting?") + to_chat(target,SPAN_USERDANGER("You feel hotter than usual. Maybe you should lowe-wait, is that your hand melting?")) var/turf/simulated/T = get_turf(target) var/obj/effect/hotspot/hotspot = new /obj/effect/hotspot/fake(T) hotspot.temperature = 1000 hotspot.recolor() target.adjustFireLoss(150) // hard crit, the burning takes care of the rest. else if(myeffect == "Total Brain Death") - to_chat(target,"You see a message appear in front of you in bright red letters: YHWH-3 ACTIVATED. TERMINATION IN 3 SECONDS") + to_chat(target,SPAN_USERDANGER("You see a message appear in front of you in bright red letters: YHWH-3 ACTIVATED. TERMINATION IN 3 SECONDS")) ADD_TRAIT(target, TRAIT_BADDNA, "evil_fax") target.adjustBrainLoss(125) else if(myeffect == "Honk Tumor") if(!target.get_int_organ(/obj/item/organ/internal/honktumor)) var/obj/item/organ/internal/organ = new /obj/item/organ/internal/honktumor - to_chat(target,"Life seems funnier, somehow.") + to_chat(target,SPAN_USERDANGER("Life seems funnier, somehow.")) organ.insert(target) else if(myeffect == "Cluwne") if(ishuman(target)) var/mob/living/carbon/human/H = target - to_chat(H, "You feel surrounded by sadness. Sadness... and HONKS!") + to_chat(H, SPAN_USERDANGER("You feel surrounded by sadness. Sadness... and HONKS!")) H.makeCluwne() else if(myeffect == "Demote") GLOB.major_announcement.Announce("[target.real_name] is hereby demoted to the rank of Assistant. Process this demotion immediately. Failure to comply with these orders is grounds for termination.","CC Demotion Order", force_translation = TRUE) @@ -1031,7 +1031,7 @@ evilpaper_selfdestruct() /obj/item/paper/evilfax/proc/evilpaper_selfdestruct() - visible_message("[src] spontaneously catches fire, and burns up!") + visible_message(SPAN_DANGER("[src] spontaneously catches fire, and burns up!")) qdel(src) /obj/item/paper/pickup(user) diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 4b42e3d82df..05722c6f9ff 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -31,14 +31,14 @@ if(istype(P, /obj/item/paper/carbon)) var/obj/item/paper/carbon/C = P if(!C.iscopy && !C.copied) - to_chat(user, "Take off the carbon copy first.") + to_chat(user, SPAN_NOTICE("Take off the carbon copy first.")) add_fingerprint(user) return amount++ if(screen == 2) screen = 1 - to_chat(user, "You add [(P.name == "paper") ? "the paper" : P.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].") + to_chat(user, SPAN_NOTICE("You add [(P.name == "paper") ? "the paper" : P.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].")) user.transfer_item_to(P, src) if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -50,7 +50,7 @@ photos++ if(screen == 2) screen = 1 - to_chat(user, "You add [(W.name == "photo") ? "the photo" : W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].") + to_chat(user, SPAN_NOTICE("You add [(W.name == "photo") ? "the photo" : W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].")) user.transfer_item_to(W, src) else if(W.get_heat()) @@ -63,7 +63,7 @@ src.amount++ if(screen == 2) screen = 1 - to_chat(user, "You add \the [W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].") + to_chat(user, SPAN_NOTICE("You add \the [W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].")) qdel(W) else @@ -92,12 +92,12 @@ /obj/item/paper_bundle/examine(mob/user) . = ..() - . += "Alt-Click [src] with a pen in hand to rename it." - . += "Alt-Shift-Click [src] to undo the paper bundle." + . += SPAN_NOTICE("Alt-Click [src] with a pen in hand to rename it.") + . += SPAN_NOTICE("Alt-Shift-Click [src] to undo the paper bundle.") if(in_range(user, src)) show_content(user) else - . += "It is too far away." + . += SPAN_NOTICE("It is too far away.") /obj/item/paper_bundle/proc/show_content(mob/user as mob) var/dat = {""} @@ -159,7 +159,7 @@ if(href_list["remove"]) var/obj/item/W = get_page() usr.put_in_hands(W) - to_chat(usr, "You remove [W] from the bundle.") + to_chat(usr, SPAN_NOTICE("You remove [W] from the bundle.")) if(amount == 1) var/obj/item/paper/P = get_page(1) usr.unequip(src) @@ -182,7 +182,7 @@ amount-- update_icon() else - to_chat(usr, "You need to hold it in your hands to change pages.") + to_chat(usr, SPAN_NOTICE("You need to hold it in your hands to change pages.")) if(ismob(loc)) attack_self__legacy__attackchain(loc) @@ -205,7 +205,7 @@ if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) return - to_chat(user, "You loosen the bundle.") + to_chat(user, SPAN_NOTICE("You loosen the bundle.")) for(var/obj/O in src) O.forceMove(get_turf(user)) diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 153d1db4cf4..b5e99b19c4f 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -94,9 +94,9 @@ user.put_in_hands(P) P.add_fingerprint(user) P.scatter_atom() - to_chat(user, "You take [P] out of [src].") + to_chat(user, SPAN_NOTICE("You take [P] out of [src].")) else - to_chat(user, "[src] is empty!") + to_chat(user, SPAN_NOTICE("[src] is empty!")) add_fingerprint(user) return @@ -106,7 +106,7 @@ if(istype(i)) user.drop_item() i.loc = src - to_chat(user, "You put [i] in [src].") + to_chat(user, SPAN_NOTICE("You put [i] in [src].")) papers.Add(i) amount++ else @@ -117,9 +117,9 @@ . = ..() if(in_range(user, src)) if(amount) - . += "There " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin." + . += SPAN_NOTICE("There " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin.") else - . += "There are no papers in the bin." + . += SPAN_NOTICE("There are no papers in the bin.") /obj/item/paper_bin/update_icon_state() @@ -146,9 +146,9 @@ P = new /obj/item/paper/carbon P.loc = user.loc user.put_in_hands(P) - to_chat(user, "You take [P] out of [src].") + to_chat(user, SPAN_NOTICE("You take [P] out of [src].")) else - to_chat(user, "[src] is empty!") + to_chat(user, SPAN_NOTICE("[src] is empty!")) add_fingerprint(user) return diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index d30bf50b70f..a4536e10e8c 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -31,7 +31,7 @@ /obj/item/paperplane/suicide_act(mob/living/user) user.Stun(20 SECONDS) - user.visible_message("[user] jams [name] in [user.p_their()] nose. It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] jams [name] in [user.p_their()] nose. It looks like [user.p_theyre()] trying to commit suicide!")) user.EyeBlurry(12 SECONDS) var/obj/item/organ/internal/eyes/E = user.get_int_organ(/obj/item/organ/internal/eyes) if(E) @@ -50,7 +50,7 @@ . += "paperplane_[initial(stamp.icon_state)]" /obj/item/paperplane/attack_self__legacy__attackchain(mob/user) // Unfold the paper plane - to_chat(user, "You unfold [src].") + to_chat(user, SPAN_NOTICE("You unfold [src].")) if(internal_paper) internal_paper.forceMove(get_turf(src)) user.put_in_hands(internal_paper) @@ -61,7 +61,7 @@ ..() if(is_pen(P) || istype(P, /obj/item/toy/crayon)) - to_chat(user, "You should unfold [src] before changing it.") + to_chat(user, SPAN_NOTICE("You should unfold [src] before changing it.")) return else if(istype(P, /obj/item/stamp)) //we don't randomize stamps on a paperplane @@ -70,8 +70,8 @@ else if(P.get_heat()) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(10)) - user.visible_message("[user] accidentally ignites [user.p_themselves()]!", \ - "You miss [src] and accidentally light yourself on fire!") + user.visible_message(SPAN_WARNING("[user] accidentally ignites [user.p_themselves()]!"), \ + SPAN_USERDANGER("You miss [src] and accidentally light yourself on fire!")) user.drop_item_to_ground(P) user.adjust_fire_stacks(1) user.IgniteMob() @@ -80,7 +80,7 @@ if(!in_range(user, src)) //to prevent issues as a result of telepathically lighting a paper return user.drop_item_to_ground(src) - user.visible_message("[user] lights [src] on fire with [P]!", "You lights [src] on fire!") + user.visible_message(SPAN_DANGER("[user] lights [src] on fire with [P]!"), SPAN_DANGER("You lights [src] on fire!")) fire_act() add_fingerprint(user) @@ -98,7 +98,7 @@ return if(H.glasses && H.glasses.flags_cover & GLASSESCOVERSEYES) return - visible_message("[src] hits [H] in the eye!") + visible_message(SPAN_DANGER("[src] hits [H] in the eye!")) H.EyeBlurry(12 SECONDS) H.Weaken(4 SECONDS) var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) @@ -110,9 +110,9 @@ if(istype(user)) if((!in_range(src, user)) || user.stat || user.restrained()) return - 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.unequip(src) // forceMove happens in paperplane/Initialize I = new /obj/item/paperplane(user, src) user.put_in_hands(I) else - to_chat(user, "You lack the dexterity to fold [src].") + to_chat(user, SPAN_NOTICE("You lack the dexterity to fold [src].")) diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 588ac6ee844..f9ce242b2d4 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -23,7 +23,7 @@ pressure_resistance = 2 /obj/item/pen/suicide_act(mob/user) - to_chat(viewers(user), "[user] starts scribbling numbers over [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit sudoku!") + to_chat(viewers(user), SPAN_SUICIDE("[user] starts scribbling numbers over [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit sudoku!")) return BRUTELOSS /obj/item/pen/blue @@ -160,7 +160,7 @@ var/fraction = min(transfer_amount / reagents.total_volume, 1) reagents.reaction(M, REAGENT_INGEST, fraction) transfered = reagents.trans_to(M, transfer_amount) - to_chat(user, "You sneakily stab [M] with the pen.") + to_chat(user, SPAN_WARNING("You sneakily stab [M] with the pen.")) add_attack_logs(user, M, "Stabbed with (sleepy) [src]. [transfered]u of reagents transfered from pen containing [english_list(contained)].") return TRUE @@ -225,8 +225,8 @@ M.apply_damage(40, STAMINA) //Just enough to slow M.KnockDown(2 SECONDS) M.visible_message( - "[user] stabs [M] in the back!", - "[user] stabs you in the back! The energy blade makes you collapse in pain!" + SPAN_WARNING("[user] stabs [M] in the back!"), + SPAN_USERDANGER("[user] stabs you in the back! The energy blade makes you collapse in pain!") ) playsound(loc, backstab_sound, 5, TRUE, ignore_walls = FALSE, falloff_distance = 0) @@ -242,22 +242,22 @@ return !isnull(cig) if(!active) - to_chat(user, "You need to activate [src] before you can light anything with it!") + to_chat(user, SPAN_WARNING("You need to activate [src] before you can light anything with it!")) return TRUE if(target == user) user.visible_message( "[user] makes a violent slashing motion, barely missing [user.p_their()] nose as light flashes! \ [user.p_they(TRUE)] light[user.p_s()] [user.p_their()] [cig] with [src] in the process.", - "You casually slash [src] at [cig], lighting it with the blade.", - "You hear an energy blade slashing something!" + SPAN_NOTICE("You casually slash [src] at [cig], lighting it with the blade."), + SPAN_DANGER("You hear an energy blade slashing something!") ) else user.visible_message( "[user] makes a violent slashing motion, barely missing the nose of [target] as light flashes! \ [user.p_they(TRUE)] light[user.p_s()] [cig] in the mouth of [target] with [src] in the process.", - "You casually slash [src] at [cig] in the mouth of [target], lighting it with the blade.", - "You hear an energy blade slashing something!" + SPAN_NOTICE("You casually slash [src] at [cig] in the mouth of [target], lighting it with the blade."), + SPAN_DANGER("You hear an energy blade slashing something!") ) user.do_attack_animation(target) playsound(user.loc, hitsound, 5, TRUE, ignore_walls = FALSE, falloff_distance = 0) @@ -278,7 +278,7 @@ embed_chance = initial(embed_chance) throwforce = initial(throwforce) playsound(user, 'sound/weapons/saberoff.ogg', 2, 1) - to_chat(user, "[src] can now be concealed.") + to_chat(user, SPAN_WARNING("[src] can now be concealed.")) set_light(0) else active = TRUE @@ -290,7 +290,7 @@ embed_chance = 100 //rule of cool throwforce = 35 playsound(user, 'sound/weapons/saberon.ogg', 2, TRUE) - to_chat(user, "[src] is now active.") + to_chat(user, SPAN_WARNING("[src] is now active.")) set_light(brightness_on, 1) set_sharpness(active) update_icon() @@ -326,13 +326,13 @@ /obj/item/pen/multi/poison/on_write(obj/item/paper/P, mob/user) if(current_poison) if(P.contact_poison) - to_chat(user, "[P] is already coated.") + to_chat(user, SPAN_WARNING("[P] is already coated.")) else P.contact_poison = current_poison P.contact_poison_volume = 20 P.contact_poison_poisoner = user.name add_attack_logs(user, P, "Poison pen'ed") - to_chat(user, "You apply the poison to [P].") + to_chat(user, SPAN_WARNING("You apply the poison to [P].")) // MARK: CHAMELEON PEN /obj/item/pen/chameleon diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 2e1ec1596dd..c9e484c82f7 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -67,7 +67,7 @@ /obj/machinery/photocopier/proc/papercopy(obj/item/paper/copy, scanning = FALSE, bundled = FALSE) if(!scanning) if(toner < 1) - visible_message("A yellow light on [src] flashes, indicating there's not enough toner to finish the operation.") + visible_message(SPAN_NOTICE("A yellow light on [src] flashes, indicating there's not enough toner to finish the operation.")) return null total_copies++ var/obj/item/paper/c = new /obj/item/paper (loc) @@ -115,7 +115,7 @@ /obj/machinery/photocopier/proc/photocopy(obj/item/photo/photocopy, scanning = FALSE, bundled = FALSE) if(!scanning) //If we're just storing this as a file inside the copier then we don't expend toner if(toner < 5) - visible_message("A yellow light on [src] flashes, indicating there's not enough toner to finish the operation.") + visible_message(SPAN_NOTICE("A yellow light on [src] flashes, indicating there's not enough toner to finish the operation.")) return null total_copies++ @@ -138,7 +138,7 @@ /obj/machinery/photocopier/proc/copyass(scanning = FALSE) if(!scanning) //If we're just storing this as a file inside the copier then we don't expend toner if(toner < 5) - visible_message("A yellow light on [src] flashes, indicating there's not enough toner to finish the operation.") + visible_message(SPAN_NOTICE("A yellow light on [src] flashes, indicating there's not enough toner to finish the operation.")) return null total_copies++ @@ -152,7 +152,7 @@ H.emote("scream") else copymob.apply_damage(30, BURN) - to_chat(copymob, "Something smells toasty...") + to_chat(copymob, SPAN_NOTICE("Something smells toasty...")) if(ishuman(copymob)) //Suit checks are in check_mob var/mob/living/carbon/human/H = copymob temp_img = icon('icons/obj/butts.dmi', H.dna.species.butt_sprite) @@ -224,28 +224,28 @@ /obj/machinery/photocopier/proc/remove_document() if(copying) - to_chat(usr, "[src] is busy, try again in a few seconds.") + to_chat(usr, SPAN_WARNING("[src] is busy, try again in a few seconds.")) return if(copyitem) copyitem.forceMove(get_turf(src)) if(ishuman(usr)) usr.put_in_hands(copyitem) - to_chat(usr, "You take \the [copyitem] out of \the [src].") + to_chat(usr, SPAN_NOTICE("You take \the [copyitem] out of \the [src].")) copyitem = null else if(check_mob()) - to_chat(copymob, "You feel a slight pressure on your ass.") + to_chat(copymob, SPAN_NOTICE("You feel a slight pressure on your ass.")) atom_say("Attention: Unable to remove large object!") /obj/machinery/photocopier/proc/remove_folder() if(copying) - to_chat(usr, "[src] is busy, try again in a few seconds.") + to_chat(usr, SPAN_WARNING("[src] is busy, try again in a few seconds.")) return if(folder) folder.forceMove(get_turf(src)) if(ishuman(usr)) usr.put_in_hands(folder) - to_chat(usr, "You take \the [folder] out of \the [src].") + to_chat(usr, SPAN_NOTICE("You take \the [folder] out of \the [src].")) folder = null /** @@ -261,20 +261,20 @@ if(stat & (BROKEN|NOPOWER)) return FALSE if(copying) //are we in the process of copying something already? - to_chat(usr, "[src] is busy, try again in a few seconds.") + to_chat(usr, SPAN_WARNING("[src] is busy, try again in a few seconds.")) return FALSE if(!scancopy && toner <= 0) //if we're not scanning lets check early that we actually have toner - visible_message("A yellow light on [src] flashes, indicating there's not enough toner for the operation.") + visible_message(SPAN_NOTICE("A yellow light on [src] flashes, indicating there's not enough toner for the operation.")) return FALSE if(max_copies_reached) - visible_message("The printer screen reads \"MAX COPIES REACHED, PHOTOCOPIER NETWORK OFFLINE: PLEASE CONTACT SYSTEM ADMINISTRATOR\".") + visible_message(SPAN_WARNING("The printer screen reads \"MAX COPIES REACHED, PHOTOCOPIER NETWORK OFFLINE: PLEASE CONTACT SYSTEM ADMINISTRATOR\".")) return FALSE if(total_copies >= MAX_COPIES_PRINTABLE) - visible_message("The printer screen reads \"MAX COPIES REACHED, PHOTOCOPIER NETWORK OFFLINE: PLEASE CONTACT SYSTEM ADMINISTRATOR\".") + visible_message(SPAN_WARNING("The printer screen reads \"MAX COPIES REACHED, PHOTOCOPIER NETWORK OFFLINE: PLEASE CONTACT SYSTEM ADMINISTRATOR\".")) message_admins("Photocopier cap of [MAX_COPIES_PRINTABLE] paper copies reached, all photocopiers are now disabled.") max_copies_reached = TRUE if(!check_mob() && (!copyitem && !scancopy)) //is there anything in or ontop of the machine? If not, is this a scanned file? - visible_message("A red light on [src] flashes, indicating there's nothing in [src] to copy.") + visible_message(SPAN_NOTICE("A red light on [src] flashes, indicating there's nothing in [src] to copy.")) return FALSE return TRUE @@ -319,7 +319,7 @@ break toner -= 5 else - to_chat(usr, "\The [copyitem] can't be copied by \the [src], ejecting.") + to_chat(usr, SPAN_WARNING("\The [copyitem] can't be copied by \the [src], ejecting.")) copyitem.forceMove(loc) //fuckery detected! get off my photocopier... shitbird! copying = FALSE @@ -328,7 +328,7 @@ if(!cancopy()) return if(length(saved_documents) >= max_saved_documents) - to_chat(usr, "\The [copyitem] can't be scanned because the max file limit has been reached. Please delete a file to make room.") + to_chat(usr, SPAN_WARNING("\The [copyitem] can't be scanned because the max file limit has been reached. Please delete a file to make room.")) return copying = TRUE var/obj/item/O @@ -342,7 +342,7 @@ else if(copymob && copymob.loc == loc) O = copyass(scanning = TRUE) else - to_chat(usr, "\The [copyitem] can't be scanned by \the [src].") + to_chat(usr, SPAN_WARNING("\The [copyitem] can't be scanned by \the [src].")) copying = FALSE return use_power(active_power_consumption) @@ -396,7 +396,7 @@ return . = FALSE if(!COOLDOWN_FINISHED(src, copying_cooldown)) - to_chat(usr, "[src] is busy, try again in a few seconds.") + to_chat(usr, SPAN_WARNING("[src] is busy, try again in a few seconds.")) return add_fingerprint(usr) switch(action) @@ -481,38 +481,38 @@ user.drop_item() copyitem = used used.forceMove(src) - to_chat(user, "You insert \the [used] into \the [src].") + to_chat(user, SPAN_NOTICE("You insert \the [used] into \the [src].")) flick(insert_anim, src) else - to_chat(user, "There is already something in \the [src].") + to_chat(user, SPAN_NOTICE("There is already something in \the [src].")) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/toner)) if(toner <= 10) //allow replacing when low toner is affecting the print darkness user.drop_item() - to_chat(user, "You insert the toner cartridge into \the [src].") + to_chat(user, SPAN_NOTICE("You insert the toner cartridge into \the [src].")) var/obj/item/toner/T = used toner += T.toner_amount qdel(used) else - to_chat(user, "This cartridge is not yet ready for replacement! Use up the rest of the toner.") + to_chat(user, SPAN_NOTICE("This cartridge is not yet ready for replacement! Use up the rest of the toner.")) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/folder)) if(!folder) //allow replacing when low toner is affecting the print darkness user.drop_item() - to_chat(user, "You slide the [used] into \the [src].") + to_chat(user, SPAN_NOTICE("You slide the [used] into \the [src].")) folder = used used.forceMove(src) else - to_chat(user, "This cartridge is not yet ready for replacement! Use up the rest of the toner.") + to_chat(user, SPAN_NOTICE("This cartridge is not yet ready for replacement! Use up the rest of the toner.")) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/grab)) //For ass-copying. var/obj/item/grab/G = used if(ismob(G.affecting) && G.affecting != copymob) var/mob/GM = G.affecting - visible_message("[usr] drags [GM.name] onto the photocopier!") + visible_message(SPAN_WARNING("[usr] drags [GM.name] onto the photocopier!")) GM.forceMove(get_turf(src)) copymob = GM if(copyitem) @@ -540,16 +540,16 @@ return src.add_fingerprint(user) if(target == user && !user.incapacitated()) - visible_message("[usr] jumps onto [src]!") + visible_message(SPAN_WARNING("[usr] jumps onto [src]!")) else if(target != user && !user.restrained() && !user.stat && !user.IsWeakened() && !user.IsStunned() && !user.IsParalyzed()) if(target.anchored) return if(!ishuman(user)) return - visible_message("[usr] drags [target.name] onto [src]!") + visible_message(SPAN_WARNING("[usr] drags [target.name] onto [src]!")) target.forceMove(get_turf(src)) copymob = target if(copyitem) copyitem.forceMove(get_turf(src)) - visible_message("[copyitem] is shoved out of the way by [copymob]!") + visible_message(SPAN_NOTICE("[copyitem] is shoved out of the way by [copymob]!")) copyitem = null playsound(loc, 'sound/machines/ping.ogg', 50, FALSE) atom_say("Attention: Posterior Placed on Printing Plaque!") @@ -576,10 +576,10 @@ /obj/machinery/photocopier/emag_act(user as mob) if(!emagged) emagged = TRUE - to_chat(user, "You overload [src]'s laser printing mechanism.") + to_chat(user, SPAN_NOTICE("You overload [src]'s laser printing mechanism.")) return TRUE else - to_chat(user, "[src]'s laser printing mechanism is already overloaded!") + to_chat(user, SPAN_NOTICE("[src]'s laser printing mechanism is already overloaded!")) //TODO: Add an emp_act effect for photocopiers -sirryan diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index af881eb0381..f54d7c5c3d1 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -64,7 +64,7 @@ return if(user.get_active_hand() != P || !P.get_heat()) - to_chat(user, "You must hold [P] steady to burn [src].") + to_chat(user, SPAN_WARNING("You must hold [P] steady to burn [src].")) return user.visible_message("[user] burns right through [src], turning it to ash. It flutters through the air before settling on the floor in a heap.", \ @@ -83,8 +83,8 @@ if(in_range(user, src) || isobserver(user)) show(user) else - . += "It is too far away." - . += "Alt-Click [src] with a pen in hand to rename it." + . += SPAN_NOTICE("It is too far away.") + . += SPAN_NOTICE("Alt-Click [src] with a pen in hand to rename it.") /obj/item/photo/AltClick(mob/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) @@ -204,8 +204,8 @@ /obj/item/camera/examine(mob/user) . = ..() if(!digital) - . += "There is [pictures_left] photos left." - . += "Alt-Click [src] to change the photo size." + . += SPAN_NOTICE("There is [pictures_left] photos left.") + . += SPAN_NOTICE("Alt-Click [src] to change the photo size.") /obj/item/camera/spooky/CheckParts(list/parts_list) ..() @@ -239,13 +239,13 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor flashing_light = !flashing_light - to_chat(user, "You turn [src]'s flash [flashing_light ? "on" : "off"].") + to_chat(user, SPAN_NOTICE("You turn [src]'s flash [flashing_light ? "on" : "off"].")) /obj/item/camera/proc/change_size(mob/user) var/nsize = tgui_input_list(user, "Photo Size", "Pick a size of resulting photo.", list(1,3,5,7)) if(nsize) size = nsize - to_chat(user, "Camera will now take [size]x[size] photos.") + to_chat(user, SPAN_NOTICE("Camera will now take [size]x[size] photos.")) /obj/item/camera/pre_attack(atom/target, mob/living/user, params) if(..() || ismob(target)) @@ -254,7 +254,7 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor /obj/item/camera/activate_self(mob/user) . = ..() if(on_cooldown) - to_chat(user, "[src] is still on cooldown!") + to_chat(user, SPAN_NOTICE("[src] is still on cooldown!")) return on = !on if(on) @@ -266,9 +266,9 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor /obj/item/camera/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/camera_film)) if(pictures_left > 0) - to_chat(user, "[src] still has some film in it!") + to_chat(user, SPAN_NOTICE("[src] still has some film in it!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You insert [used] into [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into [src].")) user.drop_item() qdel(used) pictures_left = pictures_max @@ -423,7 +423,7 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, set_light), 0), 0.1 SECONDS) captureimage(target, user) - to_chat(user, "[pictures_left] photo\s left.") + to_chat(user, SPAN_NOTICE("[pictures_left] photo\s left.")) icon_state = icon_off handle_haunt(user) @@ -539,9 +539,9 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor /obj/item/camera/digital/examine(mob/user) . = ..() - . += "A small screen shows that there are currently [length(saved_pictures)] pictures stored." - . += "Alt-Shift-Click [src] to print a specific photo." - . += "Ctrl-Shift-Click [src] to delete a specific photo." + . += SPAN_NOTICE("A small screen shows that there are currently [length(saved_pictures)] pictures stored.") + . += SPAN_NOTICE("Alt-Shift-Click [src] to print a specific photo.") + . += SPAN_NOTICE("Ctrl-Shift-Click [src] to delete a specific photo.") /obj/item/camera/digital/take_photo(atom/target, mob/user) if(!on || !pictures_left || ismob(target.loc)) @@ -558,7 +558,7 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor /obj/item/camera/digital/captureimage(atom/target, mob/user) if(length(saved_pictures) >= max_storage) - to_chat(user, "Maximum photo storage capacity reached.") + to_chat(user, SPAN_NOTICE("Maximum photo storage capacity reached.")) return to_chat(user, "Picture saved.") var/x_c = target.x - (size-1)/2 @@ -583,10 +583,10 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) return if(!length(saved_pictures)) - to_chat(user, "No images saved.") + to_chat(user, SPAN_USERDANGER("No images saved.")) return if(!pictures_left) - to_chat(user, "There is no film left to print.") + to_chat(user, SPAN_USERDANGER("There is no film left to print.")) return var/datum/picture/picture @@ -600,7 +600,7 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor return if(!length(saved_pictures)) - to_chat(user, "No images saved") + to_chat(user, SPAN_USERDANGER("No images saved")) return var/datum/picture/picture picture = tgui_input_list(user, "Select image to delete", "Delete image", saved_pictures) @@ -639,7 +639,7 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor camera.c_tag = null camera.turn_off(null, 0) QDEL_NULL(camera) - visible_message("The video camera has been turned [on ? "on" : "off"].") + visible_message(SPAN_NOTICE("The video camera has been turned [on ? "on" : "off"].")) for(var/obj/machinery/computer/security/telescreen/entertainment/TV in GLOB.telescreens) if(on) TV.feeds_on++ @@ -656,11 +656,11 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor camera.c_tag = null camera.turn_off(null, 0) QDEL_NULL(camera) - visible_message("The video camera turns off.") + visible_message(SPAN_NOTICE("The video camera turns off.")) /obj/item/videocam/attack_self__legacy__attackchain(mob/user) if(!COOLDOWN_FINISHED(src, video_cooldown)) - to_chat(user, "[src] is overheating, give it some time.") + to_chat(user, SPAN_WARNING("[src] is overheating, give it some time.")) return camera_state(user) diff --git a/code/modules/paperwork/silicon_photography.dm b/code/modules/paperwork/silicon_photography.dm index 62211b78ed4..d7a0a859d51 100644 --- a/code/modules/paperwork/silicon_photography.dm +++ b/code/modules/paperwork/silicon_photography.dm @@ -35,12 +35,12 @@ if(C.connected_ai) var/mob/A = P.fields["author"] C.connected_ai.aiCamera.injectaialbum(P, " (taken by [A.name])") - to_chat(C.connected_ai, "Image recorded and saved by [name]") - to_chat(usr, "Image recorded and saved to remote database")//feedback to the Cyborg player that the picture was taken + to_chat(C.connected_ai, SPAN_UNCONSCIOUS("Image recorded and saved by [name]")) + to_chat(usr, SPAN_UNCONSCIOUS("Image recorded and saved to remote database"))//feedback to the Cyborg player that the picture was taken else injectaialbum(P) - to_chat(usr, "Image recorded") + to_chat(usr, SPAN_UNCONSCIOUS("Image recorded")) /obj/item/camera/siliconcam/proc/selectpicture(obj/item/camera/siliconcam/cam) if(!cam) @@ -49,7 +49,7 @@ var/list/nametemp = list() var/find if(length(cam.aipictures) == 0) - to_chat(usr, "No images saved") + to_chat(usr, SPAN_USERDANGER("No images saved")) return for(var/datum/picture/t in cam.aipictures) nametemp += t.fields["name"] @@ -81,7 +81,7 @@ return cam.aipictures -= selection - to_chat(usr, "Image deleted") + to_chat(usr, SPAN_UNCONSCIOUS("Image deleted")) /obj/item/camera/siliconcam/ai_camera/can_capture_turf(turf/T, mob/user) var/mob/living/silicon/ai = user @@ -103,7 +103,7 @@ /obj/item/camera/siliconcam/ai_camera/printpicture(mob/user, datum/picture/P) injectaialbum(P) - to_chat(usr, "Image recorded") + to_chat(usr, SPAN_UNCONSCIOUS("Image recorded")) /obj/item/camera/siliconcam/robot_camera/printpicture(mob/user, datum/picture/P) injectmasteralbum(P) diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index ef9f00a9781..021faaae371 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -13,7 +13,7 @@ var/dye_color = DYE_GREEN /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.")) playsound(user, 'sound/items/handling/standard_stamp.ogg', 50, vary = TRUE) return OXYLOSS diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm index eb83c83299c..65c1b767376 100644 --- a/code/modules/paperwork/ticketmachine.dm +++ b/code/modules/paperwork/ticketmachine.dm @@ -24,7 +24,7 @@ /obj/machinery/ticket_machine/Destroy() for(var/obj/item/ticket_machine_ticket/ticket in tickets) - ticket.visible_message("\the [ticket] disperses!") + ticket.visible_message(SPAN_NOTICE("\the [ticket] disperses!")) qdel(ticket) tickets.Cut() return ..() @@ -32,12 +32,12 @@ /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(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 emagged = TRUE for(var/obj/item/ticket_machine_ticket/ticket in tickets) - ticket.visible_message("\the [ticket] disperses!") + ticket.visible_message(SPAN_NOTICE("\the [ticket] disperses!")) qdel(ticket) tickets.Cut() update_icon() @@ -52,7 +52,7 @@ return if(current_number && !(emagged) && tickets[current_number]) var/obj/item/ticket_machine_ticket/ticket = tickets[current_number] - ticket.audible_message("\the [tickets[current_number]] disperses!") + ticket.audible_message(SPAN_NOTICE("\the [tickets[current_number]] disperses!")) qdel(ticket) if(current_number < ticket_number) current_number ++ //Increment the one we're serving. @@ -60,7 +60,7 @@ atom_say("Now serving ticket #[current_number]!") if(!(emagged) && tickets[current_number]) var/obj/item/ticket_machine_ticket/ticket = tickets[current_number] - ticket.audible_message("\the [tickets[current_number]] vibrates!") + ticket.audible_message(SPAN_NOTICE("\the [tickets[current_number]] vibrates!")) update_icon() //Update our icon here rather than when they take a ticket to show the current ticket number being served /obj/machinery/door_control/ticket_machine_button @@ -83,7 +83,7 @@ M.increment() addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10) else - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_WARNING("Access denied.")) flick("doorctrl-denied", src) /obj/machinery/door_control/ticket_machine_button/update_icon_state() @@ -117,17 +117,17 @@ /obj/machinery/ticket_machine/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/hand_labeler_refill)) if(!(ticket_number >= max_number)) - to_chat(user, "[src] refuses [used]! There [max_number-ticket_number==1 ? "is" : "are"] still [max_number-ticket_number] ticket\s left!") + to_chat(user, SPAN_NOTICE("[src] refuses [used]! There [max_number-ticket_number==1 ? "is" : "are"] still [max_number-ticket_number] ticket\s left!")) return ITEM_INTERACT_COMPLETE - 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 [used] into [src] as it whirs nondescriptly.") + to_chat(user, SPAN_NOTICE("You insert [used] into [src] as it whirs nondescriptly.")) user.drop_item() qdel(used) ticket_number = 0 current_number = 0 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) @@ -138,10 +138,10 @@ var/obj/item/card/id/heldID = used if(ACCESS_HOP in heldID.access) dispense_enabled = !dispense_enabled - to_chat(user, "You [dispense_enabled ? "enable" : "disable"] [src], it will [dispense_enabled ? "now" : "no longer"] dispense tickets!") + to_chat(user, SPAN_NOTICE("You [dispense_enabled ? "enable" : "disable"] [src], it will [dispense_enabled ? "now" : "no longer"] dispense tickets!")) handle_maptext() return ITEM_INTERACT_COMPLETE - to_chat(user, "You do not have the required access to [dispense_enabled ? "disable" : "enable"] the ticket machine.") + to_chat(user, SPAN_WARNING("You do not have the required access to [dispense_enabled ? "disable" : "enable"] the ticket machine.")) return ITEM_INTERACT_COMPLETE return ..() @@ -152,20 +152,20 @@ /obj/machinery/ticket_machine/attack_hand(mob/living/carbon/user) . = ..() 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(!dispense_enabled) - to_chat(user, "[src] is disabled.") + to_chat(user, SPAN_WARNING("[src] is disabled.")) 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.UID() in ticket_holders) && !(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 = "[ticket_number]" @@ -190,7 +190,7 @@ /obj/machinery/ticket_machine/examine(mob/user) . = ..() - . += "Use an ID card with Head of Personnel access on this machine to [dispense_enabled ? "disable" : "enable"] ticket dispensing." + . += SPAN_NOTICE("Use an ID card with Head of Personnel access on this machine to [dispense_enabled ? "disable" : "enable"] ticket dispensing.") /obj/item/ticket_machine_ticket name = "Ticket" @@ -215,13 +215,13 @@ ..() if(P.get_heat()) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(10)) - user.visible_message("[user] accidentally ignites [user.p_themselves()]!", \ - "You miss the paper and accidentally light yourself on fire!") + user.visible_message(SPAN_WARNING("[user] accidentally ignites [user.p_themselves()]!"), \ + SPAN_USERDANGER("You miss the paper and accidentally light yourself on fire!")) user.drop_item() user.adjust_fire_stacks(1) user.IgniteMob() return - user.visible_message("[user] lights [src] ablaze with [P]!", "You light [src] on fire!") + user.visible_message(SPAN_DANGER("[user] lights [src] ablaze with [P]!"), SPAN_DANGER("You light [src] on fire!")) fire_act() /obj/item/paper/extinguish() diff --git a/code/modules/pda/PDA.dm b/code/modules/pda/PDA.dm index 1ec4a23687d..019f91e7950 100644 --- a/code/modules/pda/PDA.dm +++ b/code/modules/pda/PDA.dm @@ -92,9 +92,9 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/examine(mob/user) . = ..() - . += "Alt-Click [src] to remove its ID card." - . += "Ctrl-Click [src] to remove its pen." - . += "Use a screwdriver on [src] to reset it." + . += SPAN_NOTICE("Alt-Click [src] to remove its ID card.") + . += SPAN_NOTICE("Ctrl-Click [src] to remove its pen.") + . += SPAN_NOTICE("Use a screwdriver on [src] to reset it.") /obj/item/pda/proc/can_use() if(!ismob(loc)) @@ -198,7 +198,7 @@ GLOBAL_LIST_EMPTY(PDAs) start_program(find_program(/datum/data/pda/app/main_menu)) notifying_programs.Cut() update_icon(UPDATE_OVERLAYS) - to_chat(user, "You press the reset button on \the [src].") + to_chat(user, SPAN_NOTICE("You press the reset button on \the [src].")) SStgui.update_uis(src) /obj/item/pda/AltClick(mob/user) @@ -214,7 +214,7 @@ GLOBAL_LIST_EMPTY(PDAs) if(id) remove_id(user) else - to_chat(user, "This PDA does not have an ID in it!") + to_chat(user, SPAN_WARNING("This PDA does not have an ID in it!")) /obj/item/pda/CtrlClick(mob/user) ..() @@ -229,7 +229,7 @@ GLOBAL_LIST_EMPTY(PDAs) if(ismob(loc)) var/mob/M = loc M.put_in_hands(id) - to_chat(user, "You remove the ID from [src].") + to_chat(user, SPAN_NOTICE("You remove the ID from [src].")) SStgui.update_uis(src) else id.forceMove(get_turf(src)) @@ -248,15 +248,15 @@ GLOBAL_LIST_EMPTY(PDAs) if(can_use(user)) if(held_pen) - to_chat(user, "You remove [held_pen] from [src].") + to_chat(user, SPAN_NOTICE("You remove [held_pen] from [src].")) playsound(src, 'sound/machines/pda_button2.ogg', 50, TRUE) user.put_in_hands(held_pen) clear_pen() update_icon(UPDATE_OVERLAYS) else - to_chat(user, "This PDA does not have a pen in it.") + to_chat(user, SPAN_WARNING("This PDA does not have a pen in it.")) else - to_chat(user, "You cannot do this while restrained.") + to_chat(user, SPAN_NOTICE("You cannot do this while restrained.")) /obj/item/pda/proc/id_check(mob/user as mob, choice as num)//To check for IDs; 1 for in-pda use, 2 for out of pda use. if(choice == 1) @@ -291,14 +291,14 @@ GLOBAL_LIST_EMPTY(PDAs) cartridge.forceMove(src) cartridge.update_programs(src) update_shortcuts() - to_chat(user, "You insert [cartridge] into [src].") + to_chat(user, SPAN_NOTICE("You insert [cartridge] into [src].")) SStgui.update_uis(src) playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE) else if(istype(C, /obj/item/card/id)) var/obj/item/card/id/idcard = C if(!idcard.registered_name) - to_chat(user, "\The [src] rejects the ID.") + to_chat(user, SPAN_NOTICE("\The [src] rejects the ID.")) if(!silent) playsound(src, 'sound/machines/terminal_error.ogg', 50, TRUE) return @@ -311,7 +311,7 @@ GLOBAL_LIST_EMPTY(PDAs) ownjob = idcard.assignment ownrank = idcard.rank name = "PDA-[owner] ([ownjob])" - to_chat(user, "Card scanned.") + to_chat(user, SPAN_NOTICE("Card scanned.")) SStgui.update_uis(src) if(!silent) playsound(src, 'sound/machines/terminal_success.ogg', 50, TRUE) @@ -319,7 +319,7 @@ GLOBAL_LIST_EMPTY(PDAs) //Basic safety check. If either both objects are held by user or PDA is on ground and card is in hand. if(!HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) && ((src in user) || (isturf(loc) && in_range(src, user)))) id_check(user, 2) - to_chat(user, "You put the ID into \the [src]'s slot.
You can remove it with ALT click.
") + to_chat(user, SPAN_NOTICE("You put the ID into \the [src]'s slot.
You can remove it with ALT click.")) update_icon(UPDATE_OVERLAYS) SStgui.update_uis(src) @@ -327,16 +327,16 @@ GLOBAL_LIST_EMPTY(PDAs) user.drop_item() C.forceMove(src) pai = C - to_chat(user, "You slot \the [C] into [src].") + to_chat(user, SPAN_NOTICE("You slot \the [C] into [src].")) SStgui.update_uis(src) playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE) else if(is_pen(C)) if(held_pen) - to_chat(user, "There is already a pen in \the [src].") + to_chat(user, SPAN_NOTICE("There is already a pen in \the [src].")) else user.drop_item() add_pen(C) - to_chat(user, "You slide \the [C] into \the [src].") + to_chat(user, SPAN_NOTICE("You slide \the [C] into \the [src].")) playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE) /obj/item/pda/proc/add_pen(obj/item/P) @@ -365,7 +365,7 @@ GLOBAL_LIST_EMPTY(PDAs) if(ismob(loc)) var/mob/M = loc - M.show_message("Your [src] explodes!", 1) + M.show_message(SPAN_DANGER("Your [src] explodes!"), 1) if(T) T.hotspot_expose(700,125) diff --git a/code/modules/pda/ai_pda.dm b/code/modules/pda/ai_pda.dm index 6e09974f136..b3b0c4aefae 100644 --- a/code/modules/pda/ai_pda.dm +++ b/code/modules/pda/ai_pda.dm @@ -33,7 +33,7 @@ return var/datum/data/pda/app/messenger/M = find_program(/datum/data/pda/app/messenger) if(!M) - to_chat(usr, "Cannot use messenger!") + to_chat(usr, SPAN_WARNING("Cannot use messenger!")) var/list/plist = M.available_pdas() if(plist) var/c = tgui_input_list(usr, "Please select a PDA", "Send message", sortList(plist)) @@ -50,7 +50,7 @@ return var/datum/data/pda/app/messenger/M = find_program(/datum/data/pda/app/messenger) if(!M) - to_chat(usr, "Cannot use messenger!") + to_chat(usr, SPAN_WARNING("Cannot use messenger!")) var/HTML = "AI PDA Message Log" for(var/index in M.tnote) if(index["sent"]) @@ -68,7 +68,7 @@ return var/datum/data/pda/app/messenger/M = find_program(/datum/data/pda/app/messenger) M.toff = !M.toff - to_chat(usr, "PDA sender/receiver toggled [(M.toff ? "Off" : "On")]!") + to_chat(usr, SPAN_NOTICE("PDA sender/receiver toggled [(M.toff ? "Off" : "On")]!")) /obj/item/pda/silicon/verb/cmd_toggle_pda_silent() set category = "AI IM" @@ -78,7 +78,7 @@ return silent = !silent - to_chat(usr, "PDA ringer toggled [(silent ? "Off" : "On")]!") + to_chat(usr, SPAN_NOTICE("PDA ringer toggled [(silent ? "Off" : "On")]!")) /obj/item/pda/silicon/ai default_cartridge = /obj/item/cartridge/ai @@ -106,6 +106,6 @@ if(!istype(pAI)) return FALSE if(!pAI.installed_software["messenger"]) - to_chat(usr, "You have not purchased the digital messenger!") + to_chat(usr, SPAN_WARNING("You have not purchased the digital messenger!")) return FALSE return ..() && !pAI.silence_time diff --git a/code/modules/pda/messenger.dm b/code/modules/pda/messenger.dm index 8f4ff215120..baeab26031b 100644 --- a/code/modules/pda/messenger.dm +++ b/code/modules/pda/messenger.dm @@ -168,13 +168,13 @@ break if(!sendable) // Are we in the range of a receiver? - to_chat(U, "ERROR: No connection to server.") + to_chat(U, SPAN_WARNING("ERROR: No connection to server.")) if(!pda.silent) playsound(pda, 'sound/machines/terminal_error.ogg', 15, TRUE) return if(!receivable) // Is our recipient in the range of a receiver? - to_chat(U, "ERROR: No connection to recipient.") + to_chat(U, SPAN_WARNING("ERROR: No connection to recipient.")) if(!pda.silent) playsound(pda, 'sound/machines/terminal_error.ogg', 15, TRUE) return @@ -185,12 +185,12 @@ useMS.send_pda_message("[P.owner]","[pda.owner]","[t]") tnote.Add(list(list("sent" = 1, "owner" = "[P.owner]", "job" = "[P.ownjob]", "message" = "[html_decode(t)]", "target" = "[P.UID()]"))) PM.tnote.Add(list(list("sent" = 0, "owner" = "[pda.owner]", "job" = "[pda.ownjob]", "message" = "[html_decode(t)]", "target" = "[pda.UID()]"))) - pda.investigate_log("PDA Message - [pda.owner] ([U.key] [ADMIN_PP(U, "PP")]) -> [P.owner] ([ADMIN_VV(P, "VV")]), Message: \"[t]\"", "pda") + pda.investigate_log("PDA Message - [SPAN_NAME("[pda.owner] ([U.key] [ADMIN_PP(U, "PP")])")] -> [SPAN_NAME("[P.owner]")] ([ADMIN_VV(P, "VV")]), Message: [SPAN_MESSAGE("\"[t]\"")]", "pda") // Show it to ghosts for(var/mob/M in GLOB.dead_mob_list) if(isobserver(M) && M.client && (M.client.prefs.toggles & PREFTOGGLE_CHAT_GHOSTPDA)) - var/ghost_message = "[pda.owner] ([ghost_follow_link(pda, ghost=M)]) PDA Message --> [P.owner] ([ghost_follow_link(P, ghost=M)]): [t]" + var/ghost_message = SPAN_NAME("[pda.owner]
([ghost_follow_link(pda, ghost=M)]) PDA Message --> [SPAN_NAME("[P.owner]")] ([ghost_follow_link(P, ghost=M)]): [t]") to_chat(M, "[ghost_message]") if(!conversations.Find("[P.UID()]")) @@ -213,7 +213,7 @@ if(!pda.silent) playsound(pda, 'sound/machines/terminal_success.ogg', 15, TRUE) else - to_chat(U, "ERROR: Messaging server is not responding.") + to_chat(U, SPAN_NOTICE("ERROR: Messaging server is not responding.")) if(!pda.silent) playsound(pda, 'sound/machines/terminal_error.ogg', 15, TRUE) diff --git a/code/modules/pda/messenger_plugins.dm b/code/modules/pda/messenger_plugins.dm index 2c64ad4b98b..e6ef9fe4a90 100644 --- a/code/modules/pda/messenger_plugins.dm +++ b/code/modules/pda/messenger_plugins.dm @@ -22,7 +22,7 @@ /datum/data/pda/messenger_plugin/virus/clown/user_act(mob/user as mob, obj/item/pda/P) . = ..(user, P) if(.) - user.show_message("Virus sent!", 1) + user.show_message(SPAN_NOTICE("Virus sent!"), 1) P.honkamt = (rand(15,20)) P.ttone = "honk" @@ -33,7 +33,7 @@ /datum/data/pda/messenger_plugin/virus/mime/user_act(mob/user as mob, obj/item/pda/P) . = ..(user, P) if(.) - user.show_message("Virus sent!", 1) + user.show_message(SPAN_NOTICE("Virus sent!"), 1) P.silent = TRUE P.ttone = "silence" @@ -46,10 +46,10 @@ . = ..() if(.) if(!pda_to_detonate.detonate || pda_to_detonate.hidden_uplink) - user.show_message("The target PDA does not seem to respond to the detonation command.", 1) + user.show_message(SPAN_WARNING("The target PDA does not seem to respond to the detonation command."), 1) pda.cartridge.charges++ else - user.show_message("Success!", 1) + user.show_message(SPAN_NOTICE("Success!"), 1) log_admin("[key_name(user)] just blew up [pda_to_detonate] with the Detomatix cartridge") message_admins("[key_name_admin(user)] just blew up [pda_to_detonate] with the Detomatix cartridge", 1) pda_to_detonate.explode() @@ -61,7 +61,7 @@ . = ..(user, P) if(.) var/lock_code = "[rand(100,999)] [pick("Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","X-ray","Yankee","Zulu")]" - user.show_message("Virus Sent! The unlock code to the target is: [lock_code]") + user.show_message(SPAN_NOTICE("Virus Sent! The unlock code to the target is: [lock_code]")) if(!P.hidden_uplink) var/obj/item/uplink/hidden/uplink = new(P) P.hidden_uplink = uplink diff --git a/code/modules/pda/nanobank.dm b/code/modules/pda/nanobank.dm index ead046d22ac..03020cfc36d 100644 --- a/code/modules/pda/nanobank.dm +++ b/code/modules/pda/nanobank.dm @@ -180,7 +180,7 @@ if(!istype(transfer_to) || transfer_to == src) return //account no longer exists or something fucked is going on if(transfer_funds(user, transfer_amount, transfer_to)) - to_chat(user, "NanoBank: Transfer Successful") + to_chat(user, SPAN_NOTICE("NanoBank: Transfer Successful")) last_transaction = world.time if(!pda.silent) playsound(pda, 'sound/machines/ping.ogg', 50, 0) @@ -199,7 +199,7 @@ if(!istype(request_from) || request_from == user_account) return //account no longer exists or they're trying to send to themselves if(create_fund_request(user, transfer_amount, purpose, request_from)) - to_chat(user, "NanoBank: Transfer Request Submitted") + to_chat(user, SPAN_NOTICE("NanoBank: Transfer Request Submitted")) last_transaction = world.time if(!pda.silent) playsound(pda, 'sound/machines/ping.ogg', 50, 0) @@ -222,9 +222,9 @@ attempt_pin = input_account_pin(user) if(account_database.try_authenticate_login(user_account, attempt_pin, FALSE, FALSE, FALSE)) user_account.security_level = new_sec_level - to_chat(user, "Nanobank: account security set to [new_sec_level == ACCOUNT_SECURITY_ID ? "*Account Number Only*" : "*Require Pin Entry*"]") + to_chat(user, SPAN_NOTICE("Nanobank: account security set to [new_sec_level == ACCOUNT_SECURITY_ID ? "*Account Number Only*" : "*Require Pin Entry*"]")) else - to_chat(user, "Authentification Failure: incorrect pin.") + to_chat(user, SPAN_WARNING("Authentification Failure: incorrect pin.")) if("purchase_premium") if(premium_version) @@ -277,12 +277,12 @@ /datum/data/pda/app/nanobank/proc/attempt_login(tried_account_num, tried_pin, mob/user) if(!tried_account_num) - to_chat(user, "Authentification Failure: Account number not found.") + to_chat(user, SPAN_WARNING("Authentification Failure: Account number not found.")) return FALSE var/datum/money_account/attempt_account = account_database.find_user_account(tried_account_num, include_departments = TRUE) if(!attempt_account) - to_chat(user, "Authentification Failure: User Account Not Found.") + to_chat(user, SPAN_WARNING("Authentification Failure: User Account Not Found.")) return FALSE if(account_database.try_authenticate_login(attempt_account, tried_pin, TRUE, FALSE, FALSE)) @@ -337,7 +337,7 @@ return attempt_pin /datum/data/pda/app/nanobank/proc/error_message(mob/user, message) - to_chat(user, "ERROR: [message].") + to_chat(user, SPAN_WARNING("ERROR: [message].")) if(!pda.silent) playsound(pda, 'sound/machines/terminal_error.ogg', 15, TRUE) @@ -363,7 +363,7 @@ if(ishuman(pda.loc)) var/mob/user = pda.loc if(user.stat != UNCONSCIOUS) // Awake or dead people can see their messages - to_chat(user, "NanoBank: Paycheck of [amount] credits received") + to_chat(user, SPAN_NOTICE("NanoBank: Paycheck of [amount] credits received")) if(!pda.silent) playsound(pda, 'sound/machines/ping.ogg', 50, 0) @@ -453,10 +453,10 @@ /datum/data/pda/app/nanobank/proc/pay_with_account(user, amount, purpose, transactor, datum/money_account/target) if(user_account.suspended) - to_chat(user, "Unable to access account: account suspended.") + to_chat(user, SPAN_WARNING("Unable to access account: account suspended.")) return FALSE if(!account_database.charge_account(user_account, amount, purpose, transactor, allow_overdraft = FALSE, supress_log = FALSE)) - to_chat(user, "Unable to complete transaction: account has insufficient credit balance to purchase this.") + to_chat(user, SPAN_WARNING("Unable to complete transaction: account has insufficient credit balance to purchase this.")) return FALSE account_database.credit_account(target, amount, purpose, transactor, FALSE) return TRUE @@ -472,7 +472,7 @@ return FALSE var/is_admin = is_admin(user) if(!account_database.try_authenticate_login(customer_account, attempt_pin, TRUE, FALSE, is_admin)) - to_chat(user, "Unable to access account: incorrect credentials.") + to_chat(user, SPAN_WARNING("Unable to access account: incorrect credentials.")) return FALSE return TRUE diff --git a/code/modules/pda/utilities.dm b/code/modules/pda/utilities.dm index c226c6c43e5..3b98106b324 100644 --- a/code/modules/pda/utilities.dm +++ b/code/modules/pda/utilities.dm @@ -46,7 +46,7 @@ icon = "heart-o" /datum/data/pda/utility/scanmode/medical/scan_mob(mob/living/M, mob/living/user) - user.visible_message("[user] analyzes [M]'s vitals.", "You analyze [M]'s vitals.") + user.visible_message(SPAN_NOTICE("[user] analyzes [M]'s vitals."), SPAN_NOTICE("You analyze [M]'s vitals.")) healthscan(user, M, 1) @@ -59,9 +59,9 @@ if(ishuman(C)) var/mob/living/carbon/human/H = C if(!istype(H.dna, /datum/dna)) - messages.Add("No fingerprints found on [H]") + messages.Add(SPAN_NOTICE("No fingerprints found on [H]")) else - messages.Add("[H]'s Fingerprints: [md5(H.dna.uni_identity)]") + messages.Add(SPAN_NOTICE("[H]'s Fingerprints: [md5(H.dna.uni_identity)]")) if(length(messages)) to_chat(user, chat_box_regular(messages.Join("
"))) scan_blood(C, user) @@ -72,14 +72,14 @@ /datum/data/pda/utility/scanmode/dna/proc/scan_blood(atom/A, mob/user) var/list/messages = list() if(!A.blood_DNA) - messages.Add("No blood found on [A]") + messages.Add(SPAN_NOTICE("No blood found on [A]")) if(A.blood_DNA) qdel(A.blood_DNA) else - messages.Add("Blood found on [A]. Analysing...") + messages.Add(SPAN_NOTICE("Blood found on [A]. Analysing...")) spawn(15) for(var/blood in A.blood_DNA) - messages.Add("Blood type: [A.blood_DNA[blood]]\nDNA: [blood]") + messages.Add(SPAN_NOTICE("Blood type: [A.blood_DNA[blood]]\nDNA: [blood]")) to_chat(user, chat_box_regular(messages.Join("
"))) /datum/data/pda/utility/scanmode/rad_scanner @@ -88,13 +88,13 @@ /datum/data/pda/utility/scanmode/rad_scanner/scan_mob(mob/living/C as mob, mob/living/user as mob) var/list/messages = list() - C.visible_message("[user] has analyzed [C]'s radiation levels!") + C.visible_message(SPAN_WARNING("[user] has analyzed [C]'s radiation levels!")) - messages.Add("Analyzing Results for [C]:") + messages.Add(SPAN_NOTICE("Analyzing Results for [C]:")) if(C.radiation) - messages.Add("Radiation Level: [C.radiation > 0 ? "[C.radiation]" : "0"]") + messages.Add(SPAN_NOTICE("Radiation Level: [C.radiation > 0 ? "
[C.radiation]" : "0"]")) else - messages.Add("No radiation detected.") + messages.Add(SPAN_NOTICE("No radiation detected.")) to_chat(user, chat_box_regular(messages.Join("
"))) /datum/data/pda/utility/scanmode/reagent @@ -106,17 +106,17 @@ if(!isnull(A.reagents)) if(length(A.reagents.reagent_list) > 0) var/reagents_length = length(A.reagents.reagent_list) - messages.Add("[reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found.") + messages.Add(SPAN_NOTICE("[reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found.")) for(var/datum/reagent/R in A.reagents.reagent_list) if(R.id != "blood") - messages.Add("\t [R]") + messages.Add(SPAN_NOTICE("\t [R]")) else var/blood_type = R.data["blood_type"] - messages.Add("\t [R] [blood_type]") + messages.Add(SPAN_NOTICE("\t [R] [blood_type]")) else - messages.Add("No active chemical agents found in [A].") + messages.Add(SPAN_NOTICE("No active chemical agents found in [A].")) else - messages.Add("No significant chemical agents found in [A].") + messages.Add(SPAN_NOTICE("No significant chemical agents found in [A].")) to_chat(user, chat_box_regular(messages.Join("
"))) /datum/data/pda/utility/scanmode/gas diff --git a/code/modules/power/alien_cache.dm b/code/modules/power/alien_cache.dm index 339147fcbda..63301c16ab9 100644 --- a/code/modules/power/alien_cache.dm +++ b/code/modules/power/alien_cache.dm @@ -85,12 +85,12 @@ /obj/machinery/alien_cache/examine(mob/user) . = ..() if(panel_open) - . += "The panel is open, revealing unterminated internal wiring." + . += SPAN_NOTICE("The panel is open, revealing unterminated internal wiring.") else - . += "There's a loose panel on the front that could be pried open with a screwdriver" + . += SPAN_NOTICE("There's a loose panel on the front that could be pried open with a screwdriver") /obj/machinery/alien_cache/display_parts(user) - return list("ERROR: UNIDENTIFIED MACHINE DESIGN") + return list(SPAN_WARNING("ERROR: UNIDENTIFIED MACHINE DESIGN")) /// generate a list with weights for tiers of loot depending on the reached level /obj/machinery/alien_cache/proc/tier_weights() @@ -152,40 +152,40 @@ return ITEM_INTERACT_COMPLETE if(terminal) // Checks for an existing terminal - to_chat(user, "[src] already has a terminal!") + to_chat(user, SPAN_ALERT("[src] already has a terminal!")) return ITEM_INTERACT_COMPLETE if(!panel_open) // Checks to see if the panel is closed - to_chat(user, "You must open the panel first!") + to_chat(user, SPAN_ALERT("You must open the panel first!")) return ITEM_INTERACT_COMPLETE var/turf/T = get_turf(user) if(T.intact) // Checks to see if floor plating is present - to_chat(user, "You must first remove the floor plating!") + to_chat(user, SPAN_ALERT("You must first remove the floor plating!")) return ITEM_INTERACT_COMPLETE var/obj/item/stack/cable_coil/C = used if(C.get_amount() < 10) - to_chat(user, "You need more wires.") + to_chat(user, SPAN_ALERT("You need more wires.")) return ITEM_INTERACT_COMPLETE if(user.loc == loc) - to_chat(user, "You must not be on the same tile as [src].") + to_chat(user, SPAN_WARNING("You must not be on the same tile as [src].")) return ITEM_INTERACT_COMPLETE // Direction the terminal will face to var/turf/temporary_location = get_step(src, REVERSE_DIR(dir)) if(isspaceturf(temporary_location)) - to_chat(user, "You can't build a terminal on space.") + to_chat(user, SPAN_WARNING("You can't build a terminal on space.")) return ITEM_INTERACT_COMPLETE else if(istype(temporary_location)) if(temporary_location.intact) - to_chat(user, "You must remove the floor plating first.") + to_chat(user, SPAN_WARNING("You must remove the floor plating first.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You try to connect the cable to [src]") + to_chat(user, SPAN_NOTICE("You try to connect the cable to [src]")) playsound(loc, C.usesound, 50, TRUE) if(do_after(user, 5 SECONDS, target = get_turf(src))) @@ -198,8 +198,8 @@ C.use(10) // make sure the cable gets used up user.visible_message(\ - "[user.name] adds the cables and connects the power terminal.",\ - "You add the cables and connect the power terminal.") + SPAN_NOTICE("[user.name] adds the cables and connects the power terminal."),\ + SPAN_NOTICE("You add the cables and connect the power terminal.")) make_terminal(user, temporary_location) terminal.connect_to_network() @@ -210,7 +210,7 @@ /obj/machinery/alien_cache/multitool_act(mob/living/user, obj/item/I) . = TRUE - to_chat(user, chat_box_examine("Total energy: [DisplayJoules(total_energy)]
Levels opened: [level_reached]
")) + to_chat(user, chat_box_examine(SPAN_NOTICE("Total energy: [DisplayJoules(total_energy)]
Levels opened: [level_reached]"))) /obj/machinery/alien_cache/screwdriver_act(mob/living/user, obj/item/I) // Opening using screwdriver @@ -224,11 +224,11 @@ . = TRUE var/turf/T = get_turf(terminal) if(T.intact) //is the floor plating removed ? - to_chat(user, "You must first expose the power terminal!") + to_chat(user, SPAN_ALERT("You must first expose the power terminal!")) return if(!panel_open) - to_chat(user, "You must first open the panel") - to_chat(user, "You begin to dismantle the power terminal...") + to_chat(user, SPAN_ALERT("You must first open the panel")) + to_chat(user, SPAN_NOTICE("You begin to dismantle the power terminal...")) playsound(src.loc, I.usesound, 50, TRUE) if(do_after(user, 5 SECONDS * I.toolspeed, target = src)) @@ -240,8 +240,8 @@ // Returns wires on deletion of the terminal new /obj/item/stack/cable_coil(T, 10) user.visible_message(\ - "[user.name] cuts the cables and dismantles the power terminal.",\ - "You cut the cables and dismantle the power terminal.") + SPAN_ALERT("[user.name] cuts the cables and dismantles the power terminal."),\ + SPAN_NOTICE("You cut the cables and dismantle the power terminal.")) qdel(terminal) return diff --git a/code/modules/power/apc/apc.dm b/code/modules/power/apc/apc.dm index 6edfb633675..a5c7decd05b 100644 --- a/code/modules/power/apc/apc.dm +++ b/code/modules/power/apc/apc.dm @@ -221,13 +221,13 @@ . += "The cover is broken. It may be hard to force it open." else . += "The cover is closed." - . += "This powerful, yet small, device powers the entire room in which it is located. Of lighting, airlocks, and equipment, an APC is able to power it all! You can unlock an APC by using an ID with the required access on it (shortcut: Alt-click), or ask a local synthetic." - . += "The enviroment setting controls the gas and airlock power." - . += "The lighting setting controls the power of all the lighting of the room." - . += "The equipment setting controls the power of all machines and computers in the room." - . += "You can crowbar an unlocked APC to open the cover of the APC." + . += SPAN_NOTICE("This powerful, yet small, device powers the entire room in which it is located. Of lighting, airlocks, and equipment, an APC is able to power it all! You can unlock an APC by using an ID with the required access on it (shortcut: Alt-click), or ask a local synthetic.") + . += SPAN_NOTICE("The enviroment setting controls the gas and airlock power.") + . += SPAN_NOTICE("The lighting setting controls the power of all the lighting of the room.") + . += SPAN_NOTICE("The equipment setting controls the power of all machines and computers in the room.") + . += SPAN_NOTICE("You can crowbar an unlocked APC to open the cover of the APC.") if(isAntag(user)) - . += "An APC can be emagged to unlock it, this will keep it in it's refresh state, making very obvious something is wrong." + . += SPAN_WARNING("An APC can be emagged to unlock it, this will keep it in it's refresh state, making very obvious something is wrong.") /obj/machinery/power/apc/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(issilicon(user) && get_dist(src, user) > 1) @@ -237,11 +237,11 @@ // Adding power cell. if(istype(used, /obj/item/stock_parts/cell) && opened) if(cell) - to_chat(user, "[src] already has a power cell!") + to_chat(user, SPAN_WARNING("[src] already has a power cell!")) return ITEM_INTERACT_COMPLETE if(stat & MAINT) - to_chat(user, "[src] has no electronics inside!") + to_chat(user, SPAN_WARNING("[src] has no electronics inside!")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) @@ -250,8 +250,8 @@ used.forceMove(src) cell = used user.visible_message( - "[user] inserts [used] into [src].", - "You insert [used] into [src]." + SPAN_NOTICE("[user] inserts [used] into [src]."), + SPAN_NOTICE("You insert [used] into [src].") ) for(var/mob/living/basic/demon/pulse_demon/demon in cell) demon.forceMove(src) @@ -277,25 +277,25 @@ return ITEM_INTERACT_COMPLETE if(host_turf.intact) - to_chat(user, "You must expose the floor plating in front of [src] first!") + to_chat(user, SPAN_WARNING("You must expose the floor plating in front of [src] first!")) return ITEM_INTERACT_COMPLETE if(terminal) - to_chat(user, "[src] is already wired!") + to_chat(user, SPAN_WARNING("[src] is already wired!")) return ITEM_INTERACT_COMPLETE if(!has_electronics()) - to_chat(user, "[src] has no electronics inside to wire!") + to_chat(user, SPAN_WARNING("[src] has no electronics inside to wire!")) return ITEM_INTERACT_COMPLETE var/obj/item/stack/cable_coil/C = used if(C.get_amount() < 10) - to_chat(user, "You need ten lengths of cable to wire [src]!") + to_chat(user, SPAN_WARNING("You need ten lengths of cable to wire [src]!")) return ITEM_INTERACT_COMPLETE user.visible_message( - "[user] starts adding cables to [src]...", - "You start adding cables to [src]..." + SPAN_NOTICE("[user] starts adding cables to [src]..."), + SPAN_NOTICE("You start adding cables to [src]...") ) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) if(do_after(user, apc_terminal_wiring_time, target = src)) @@ -310,7 +310,7 @@ return ITEM_INTERACT_COMPLETE C.use(10) - to_chat(user, "You add cables to [src].") + to_chat(user, SPAN_NOTICE("You add cables to [src].")) make_terminal() terminal.connect_to_network() return ITEM_INTERACT_COMPLETE @@ -320,21 +320,21 @@ if(has_electronics()) if(user.mind && HAS_TRAIT(user.mind, TRAIT_ELECTRICAL_SPECIALIST)) if(stat & BROKEN) - to_chat(user, "[src] is damaged! You must repair the frame before you can install [used]!") + to_chat(user, SPAN_WARNING("[src] is damaged! You must repair the frame before you can install [used]!")) return ITEM_INTERACT_COMPLETE if(malfhack) malfai = null malfhack = FALSE user.visible_message(\ - "[name] has discarded the strangely programmed APC electronics from [src]!", - "You discarded the strangely programmed board.", - "You hear metallic levering." + SPAN_NOTICE("[name] has discarded the strangely programmed APC electronics from [src]!"), + SPAN_NOTICE("You discarded the strangely programmed board."), + SPAN_WARNING("You hear metallic levering.") ) else user.visible_message( - "[user] exchanges out broken the APC electronics inside [src]!", - "You carefully remove the charred electronics, replacing it with a functional board.", - "You hear metallic levering and a crack, followed by a gentle click.") + SPAN_NOTICE("[user] exchanges out broken the APC electronics inside [src]!"), + SPAN_NOTICE("You carefully remove the charred electronics, replacing it with a functional board."), + SPAN_WARNING("You hear metallic levering and a crack, followed by a gentle click.")) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) qdel(used) electronics_state = APC_ELECTRONICS_INSTALLED @@ -343,17 +343,17 @@ update_icon() return ITEM_INTERACT_COMPLETE else - to_chat(user, "[src] already contains APC electronics!") + to_chat(user, SPAN_WARNING("[src] already contains APC electronics!")) return ITEM_INTERACT_COMPLETE if(stat & BROKEN) - to_chat(user, "[src] is damaged! You must repair the frame before you can install [used]!") + to_chat(user, SPAN_WARNING("[src] is damaged! You must repair the frame before you can install [used]!")) return ITEM_INTERACT_COMPLETE if(!has_electronics()) user.visible_message( - "[user] installs [used] into [src].", - "You install [used] into [src]." + SPAN_NOTICE("[user] installs [used] into [src]."), + SPAN_NOTICE("You install [used] into [src].") ) playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) electronics_state = APC_ELECTRONICS_INSTALLED @@ -366,14 +366,14 @@ // APC frame repair. Instant, but you consume 2 metal instead of doing it for free. if(istype(used, frame_type) && opened) if(!(stat & BROKEN || opened == APC_COVER_OFF || obj_integrity < max_integrity)) - to_chat(user, "[src] has no damage to fix!") + to_chat(user, SPAN_WARNING("[src] has no damage to fix!")) return ITEM_INTERACT_COMPLETE // Only cover is broken, no need to remove any components. if(!(stat & BROKEN) && opened == APC_COVER_OFF) user.visible_message( - "[user] replaces the missing cover of [src].", - "You replace the missing cover of [src]." + SPAN_NOTICE("[user] replaces the missing cover of [src]."), + SPAN_NOTICE("You replace the missing cover of [src].") ) qdel(used) opened = APC_OPENED @@ -381,12 +381,12 @@ return ITEM_INTERACT_COMPLETE if(has_electronics() && user.mind && !HAS_TRAIT(user.mind, TRAIT_ELECTRICAL_SPECIALIST)) - to_chat(user, "You cannot repair [src] until you remove the electronics!") + to_chat(user, SPAN_WARNING("You cannot repair [src] until you remove the electronics!")) return ITEM_INTERACT_COMPLETE user.visible_message( - "[user] replaces the damaged frame of [src].", - "You replace the damaged frame of [src]." + SPAN_NOTICE("[user] replaces the damaged frame of [src]."), + SPAN_NOTICE("You replace the damaged frame of [src].") ) qdel(used) stat &= ~BROKEN @@ -399,19 +399,19 @@ if(istype(used, /obj/item/stack/sheet/plastic)) var/obj/item/stack/sheet/plastic/plastic_stack = used if(!opened) - to_chat(user, "You can't add insulation with the cover closed!") + to_chat(user, SPAN_WARNING("You can't add insulation with the cover closed!")) return ITEM_INTERACT_COMPLETE if(shock_proof) - to_chat(user, "[src] already has extra insulation installed!") + to_chat(user, SPAN_WARNING("[src] already has extra insulation installed!")) return ITEM_INTERACT_COMPLETE if(plastic_stack.get_amount() < 10) - to_chat(user, "You need ten sheets of plastic to add insulation to [src]!") + to_chat(user, SPAN_WARNING("You need ten sheets of plastic to add insulation to [src]!")) return ITEM_INTERACT_COMPLETE plastic_stack.use(10) - to_chat(user, "You add extra insulation to [src].") + to_chat(user, SPAN_NOTICE("You add extra insulation to [src].")) shock_proof = TRUE return ITEM_INTERACT_COMPLETE @@ -441,7 +441,7 @@ if(cell) user.visible_message( "[user] removes [cell] from [src].", - "You remove [cell]." + SPAN_NOTICE("You remove [cell].") ) user.put_in_hands(cell) cell.add_fingerprint(user) @@ -450,7 +450,7 @@ charging = APC_NOT_CHARGING update_icon() else if(shock_proof) - to_chat(user, "You remove the insulation from [src]") + to_chat(user, SPAN_INFO("You remove the insulation from [src]")) var/obj/item/stack/sheet/plastic/plastic_stack = new(loc, 10) user.put_in_hands(plastic_stack) shock_proof = FALSE @@ -565,12 +565,12 @@ autoflag = 5 //why the hell is this being set to 5, fucking malf code -sirryan if(issilicon(user) || ispulsedemon(user)) if(hacked_by_ruin_AI) - to_chat(user, "The APC interface program has been completely corrupted, you are unable to interface with it!") + to_chat(user, SPAN_DANGER("The APC interface program has been completely corrupted, you are unable to interface with it!")) return FALSE var/mob/living/L = user if(!L.can_remote_apc_interface(src)) if(!loud) - to_chat(user, "[src] has AI control disabled!") + to_chat(user, SPAN_DANGER("[src] has AI control disabled!")) return FALSE else if((!in_range(src, user) || !isturf(loc))) @@ -580,10 +580,10 @@ if(istype(H)) if(H.getBrainLoss() >= 60) for(var/mob/M in viewers(src, null)) - to_chat(M, "[H] stares cluelessly at [src].") + to_chat(M, SPAN_DANGER("[H] stares cluelessly at [src].")) return FALSE else if(prob(H.getBrainLoss())) - to_chat(user, "You momentarily forget how to use [src].") + to_chat(user, SPAN_DANGER("You momentarily forget how to use [src].")) return FALSE return TRUE @@ -612,13 +612,13 @@ if("lock") if(user.has_unlimited_silicon_privilege) if(emagged || stat & BROKEN) - to_chat(user, "The APC does not respond to the command!") + to_chat(user, SPAN_WARNING("The APC does not respond to the command!")) return FALSE else locked = !locked update_icon() else - to_chat(user, "Access Denied!") + to_chat(user, SPAN_WARNING("Access Denied!")) return FALSE if("cover") cover_locked = !cover_locked @@ -626,7 +626,7 @@ toggle_breaker(user) if("toggle_nightshift") if(last_nightshift_switch > world.time + 100) // don't spam... - to_chat(user, "[src]'s night lighting circuit breaker is still cycling!") + to_chat(user, SPAN_WARNING("[src]'s night lighting circuit breaker is still cycling!")) return FALSE last_nightshift_switch = world.time set_nightshift(!nightshift_lights) @@ -897,20 +897,20 @@ /obj/machinery/power/apc/proc/togglelock(mob/living/user) if(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(stat & (BROKEN|MAINT)) - to_chat(user, "Nothing happens!") + to_chat(user, SPAN_WARNING("Nothing happens!")) else if(allowed(user) && !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_icon() else - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) /obj/machinery/power/apc/proc/toggle_breaker() operating = !operating @@ -1070,7 +1070,7 @@ smoke.start() do_sparks(3, 1, src) for(var/mob/M in viewers(src)) - M.show_message("[src] suddenly lets out a blast of smoke and some sparks!", 3, "You hear sizzling electronics.", 2) + M.show_message(SPAN_DANGER("[src] suddenly lets out a blast of smoke and some sparks!"), 3, SPAN_DANGER("You hear sizzling electronics."), 2) /obj/machinery/power/apc/emag_act(user as mob) if(!(emagged || malfhack)) // trying to unlock with an emag card diff --git a/code/modules/power/apc/apc_construction.dm b/code/modules/power/apc/apc_construction.dm index 9bb167df2b7..bb694398777 100644 --- a/code/modules/power/apc/apc_construction.dm +++ b/code/modules/power/apc/apc_construction.dm @@ -11,8 +11,8 @@ opened = APC_COVER_OFF cover_locked = FALSE visible_message( - "The cover falls off [src]!", - "You hear a small flat object falling to the floor!" + SPAN_WARNING("The cover falls off [src]!"), + SPAN_WARNING("You hear a small flat object falling to the floor!") ) update_icon() @@ -29,20 +29,20 @@ cover_locked = TRUE //closing cover relocks it update_icon() user.visible_message( - "[user] closes the cover of [src].", - "You close the cover of [src].") + SPAN_NOTICE("[user] closes the cover of [src]."), + SPAN_NOTICE("You close the cover of [src].")) return else - to_chat(user, "Remove the cell first!") + to_chat(user, SPAN_WARNING("Remove the cell first!")) return if(electronics_state == APC_ELECTRONICS_NONE) - to_chat(user, "There's nothing inside!") + to_chat(user, SPAN_WARNING("There's nothing inside!")) return if(terminal) - to_chat(user, "Disconnect the wires first!") + to_chat(user, SPAN_WARNING("Disconnect the wires first!")) return if(I.use_tool(src, user, FALSE, volume = I.tool_volume)) @@ -50,9 +50,9 @@ electronics_state = APC_ELECTRONICS_NONE if(stat & BROKEN) user.visible_message( - "[user] rips out the broken the APC electronics inside [src]!", - "You break the charred APC electronics and remove the remains.", - "You hear metallic levering and a crack.") + SPAN_NOTICE("[user] rips out the broken the APC electronics inside [src]!"), + SPAN_NOTICE("You break the charred APC electronics and remove the remains."), + SPAN_WARNING("You hear metallic levering and a crack.")) stat |= MAINT update_icon() return @@ -60,9 +60,9 @@ if(emagged) // We emag board, not APC's frame emagged = FALSE user.visible_message( - "[user] has discarded the shorted APC electronics from [src]!", - "You discarded the shorted board.", - "You hear metallic levering." + SPAN_NOTICE("[user] has discarded the shorted APC electronics from [src]!"), + SPAN_NOTICE("You discarded the shorted board."), + SPAN_WARNING("You hear metallic levering.") ) stat |= MAINT update_icon() @@ -70,9 +70,9 @@ if(malfhack) // AI hacks board, not APC's frame user.visible_message(\ - "[name] has discarded the strangely programmed APC electronics from [src]!", - "You discarded the strangely programmed board.", - "You hear metallic levering." + SPAN_NOTICE("[name] has discarded the strangely programmed APC electronics from [src]!"), + SPAN_NOTICE("You discarded the strangely programmed board."), + SPAN_WARNING("You hear metallic levering.") ) malfai = null malfhack = FALSE @@ -81,9 +81,9 @@ return user.visible_message( - "[user] has removed the APC electronics from [src]!", - "You remove the APC electronics.", - "You hear metallic levering." + SPAN_NOTICE("[user] has removed the APC electronics from [src]!"), + SPAN_NOTICE("You remove the APC electronics."), + SPAN_WARNING("You hear metallic levering.") ) new /obj/item/apc_electronics(loc) stat |= MAINT @@ -93,14 +93,14 @@ // 2. Closed APC if(!(stat & BROKEN)) if(panel_open) // wires are exposed - to_chat(user, "Exposed wiring prevents you from opening [src]!") + to_chat(user, SPAN_WARNING("Exposed wiring prevents you from opening [src]!")) return if(cover_locked && !(stat & MAINT)) // locked... - to_chat(user, "The cover of [src] is locked!") + to_chat(user, SPAN_WARNING("The cover of [src] is locked!")) return - to_chat(user, "You open the cover of [src].") + to_chat(user, SPAN_NOTICE("You open the cover of [src].")) opened = APC_OPENED update_icon() @@ -110,9 +110,9 @@ return user.visible_message( - "[user] rips the cover off [src].", - "You rip the cover off [src].", - "You hear metallic levering and a small flat object falling to the floor!" + SPAN_NOTICE("[user] rips the cover off [src]."), + SPAN_NOTICE("You rip the cover off [src]."), + SPAN_WARNING("You hear metallic levering and a small flat object falling to the floor!") ) panel_open = FALSE // Avoid wacky behavour with wires. opened = APC_COVER_OFF @@ -122,18 +122,18 @@ . = TRUE if(opened) - to_chat(user, "Close the APC first!") + to_chat(user, SPAN_WARNING("Close the APC first!")) return if(emagged) - to_chat(user, "The interface is broken!") + to_chat(user, SPAN_WARNING("The interface is broken!")) return if(!I.use_tool(src, user, FALSE, volume = I.tool_volume)) return 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_icon() /obj/machinery/power/apc/wirecutter_act(mob/living/user, obj/item/I) @@ -173,15 +173,15 @@ if(shock_proof) new /obj/item/stack/sheet/plastic(loc, 10) user.visible_message(\ - "[user] has cut [src] apart with [I].", - "You disassembled the broken APC frame.", - "You hear welding." + SPAN_NOTICE("[user] has cut [src] apart with [I]."), + SPAN_NOTICE("You disassembled the broken APC frame."), + SPAN_WARNING("You hear welding.") ) else new frame_type(loc) user.visible_message(\ - "[user] has cut [src] from the wall with [I].", - "You cut the APC frame from the wall.", - "You hear welding." + SPAN_NOTICE("[user] has cut [src] from the wall with [I]."), + SPAN_NOTICE("You cut the APC frame from the wall."), + SPAN_WARNING("You hear welding.") ) qdel(src) diff --git a/code/modules/power/apc/apc_malfunction.dm b/code/modules/power/apc/apc_malfunction.dm index fbf859daa70..e53c824a889 100644 --- a/code/modules/power/apc/apc_malfunction.dm +++ b/code/modules/power/apc/apc_malfunction.dm @@ -13,7 +13,7 @@ to_chat(malf, "You are already hacking an APC.") return if(constructed) - to_chat(malf, "This APC was only recently constructed, and is not fully linked to station systems. Hacking it would be pointless.") + to_chat(malf, SPAN_WARNING("This APC was only recently constructed, and is not fully linked to station systems. Hacking it would be pointless.")) return to_chat(malf, "Beginning override of APC systems. This takes some time, and you can only hack one APC at a time.") malf.malfhack = src @@ -26,10 +26,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 @@ -68,7 +68,7 @@ if((A.stat != DEAD) && A.nuking) point.the_disk = A //The pinpointer tracks the AI back into its core. 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.loc = loc occupier.death() diff --git a/code/modules/power/cables/cable.dm b/code/modules/power/cables/cable.dm index cbc00ca672f..1d8ad4637e7 100644 --- a/code/modules/power/cables/cable.dm +++ b/code/modules/power/cables/cable.dm @@ -95,13 +95,13 @@ By design, d1 is the smallest direction and d2 is the highest . = ITEM_INTERACT_COMPLETE var/turf/T = get_turf(src) if(T.transparent_floor || T.intact) - to_chat(user, "You can't interact with something that's under the floor!") + to_chat(user, SPAN_DANGER("You can't interact with something that's under the floor!")) return else if(istype(W, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/coil = W if(coil.get_amount() < 1) - to_chat(user, "Not enough cable!") + to_chat(user, SPAN_WARNING("Not enough cable!")) return coil.cable_join(src, user) @@ -117,13 +117,13 @@ By design, d1 is the smallest direction and d2 is the highest else if(istype(W, /obj/item/stack/sheet/plastic)) if(extra_insulated) - to_chat(user, "The cable is already insulated") + to_chat(user, SPAN_WARNING("The cable is already insulated")) return var/obj/item/stack/sheet/plastic/plastack = W if(plastack.get_amount() < 1) - to_chat(user, "Not enough plastic!") + to_chat(user, SPAN_WARNING("Not enough plastic!")) return - to_chat(user, "You add insulation to the cable") + to_chat(user, SPAN_INFO("You add insulation to the cable")) plastack.use(1) extra_insulated = TRUE @@ -145,14 +145,14 @@ By design, d1 is the smallest direction and d2 is the highest /obj/structure/cable/proc/generate_power_message() if(powernet && (powernet.available_power > 0)) - return chat_box_examine("Total power: [DisplayPower(powernet.available_power)]
Load: [DisplayPower(powernet.power_demand)]
Excess power: [DisplayPower(get_surplus())]
") + return chat_box_examine(SPAN_NOTICE("Total power: [DisplayPower(powernet.available_power)]
Load: [DisplayPower(powernet.power_demand)]
Excess power: [DisplayPower(get_surplus())]")) else - return "The cable is not powered." + return SPAN_WARNING("The cable is not powered.") /obj/structure/cable/examine(mob/user) . = ..() if(extra_insulated) - . += "It has additional insulation" + . += SPAN_NOTICE("It has additional insulation") if(isobserver(user)) . += generate_power_message() @@ -160,7 +160,7 @@ By design, d1 is the smallest direction and d2 is the highest . = TRUE var/turf/T = get_turf(src) if(T.transparent_floor || T.intact) - to_chat(user, "You can't interact with something that's under the floor!") + to_chat(user, SPAN_DANGER("You can't interact with something that's under the floor!")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -169,7 +169,7 @@ By design, d1 is the smallest direction and d2 is the highest if(strengthened) to_chat(user, "The cable resists your attempts to cut it!") return - user.visible_message("[user] cuts the cable.", "You cut the cable.") + user.visible_message("[user] cuts the cable.", SPAN_NOTICE("You cut the cable.")) investigate_log("was cut by [key_name(usr, 1)] in [get_area(user)]([T.x], [T.y], [T.z] - [ADMIN_JMP(T)])",INVESTIGATE_WIRES) deconstruct() diff --git a/code/modules/power/cables/cable_coil.dm b/code/modules/power/cables/cable_coil.dm index 29bd4f3d20a..03f54f41ee2 100644 --- a/code/modules/power/cables/cable_coil.dm +++ b/code/modules/power/cables/cable_coil.dm @@ -90,16 +90,16 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain var/obj/item/organ/external/S = H.bodyparts_by_name[user.zone_selected] if(!S && ismachineperson(M) && user.a_intent == INTENT_HELP) - to_chat(user, "[M.p_they(TRUE)] [M.p_are()] missing that limb!") + to_chat(user, SPAN_NOTICE("[M.p_they(TRUE)] [M.p_are()] missing that limb!")) return if(!S?.is_robotic() || user.a_intent != INTENT_HELP || S.open == ORGAN_SYNTHETIC_OPEN) return ..() if(S.burn_dam > ROBOLIMB_SELF_REPAIR_CAP) - to_chat(user, "The damage is far too severe to patch over externally.") + to_chat(user, SPAN_DANGER("The damage is far too severe to patch over externally.")) return if(!S.burn_dam) - to_chat(user, "Nothing to fix!") + to_chat(user, SPAN_NOTICE("Nothing to fix!")) return if(H == user) if(!do_mob(user, H, 10)) @@ -129,7 +129,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain cable_used += 1 E.heal_damage(0, HEALPERCABLE, 0, TRUE) H.UpdateDamageIcon() - user.visible_message("[user] repairs some burn damage on [M]'s [E.name] with [src].") + user.visible_message(SPAN_ALERT("[user] repairs some burn damage on [M]'s [E.name] with [src].")) return TRUE /obj/item/stack/cable_coil/split() @@ -177,13 +177,13 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain if(!isturf(user.loc)) 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 if(!cable_direction) //If we weren't given a direction, come up with one! (Called as null from catwalk.dm and floor.dm) @@ -194,7 +194,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain for(var/obj/structure/cable/LC in T) if(LC.d2 == cable_direction && LC.d1 == NO_DIRECTION) //there's already a cable here that would be exactly what we just placed! - 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 = get_new_cable(T) @@ -239,7 +239,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain return // make sure it's close enough if(get_dist(C, user) > 1) - 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 //if clicked on the turf we're standing on, try to put a cable in the direction we're facing if(U == T) @@ -251,7 +251,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain // one end of the clicked cable is pointing towards us if(C.d1 == new_direction || C.d2 == new_direction) if(U.intact || U.transparent_floor) // can't place a cable if the floor is complete - to_chat(user, "You can't lay cable there unless the floor tiles are removed!") + to_chat(user, SPAN_WARNING("You can't lay cable there unless the floor tiles are removed!")) return // cable is pointing at us, we're standing on an open tile // so create a stub pointing at the clicked cable on our tile @@ -260,7 +260,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain for(var/obj/structure/cable/LC in U) // check to make sure there's not a cable there already if(LC.d1 == direction_flipped || LC.d2 == direction_flipped) - 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/NC = get_new_cable (U) @@ -304,7 +304,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain if(LC == C) // skip the cable we're interacting with continue if((LC.d1 == nd1 && LC.d2 == nd2) || (LC.d1 == nd2 && LC.d2 == nd1)) // make sure no cable matches either direction - 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 @@ -355,9 +355,9 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain /obj/item/stack/cable_coil/suicide_act(mob/user) if(locate(/obj/structure/chair/stool) in user.loc) - 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_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] is strangling [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return OXYLOSS /obj/item/stack/cable_coil/proc/color_rainbow() diff --git a/code/modules/power/cables/terminal.dm b/code/modules/power/cables/terminal.dm index 23ab1950d55..ef35cec831b 100644 --- a/code/modules/power/cables/terminal.dm +++ b/code/modules/power/cables/terminal.dm @@ -59,12 +59,12 @@ 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()) user.visible_message("[user.name] dismantles the power terminal from [master].", \ - "You begin to cut the cables...") + SPAN_NOTICE("You begin to cut the cables...")) playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1) if(do_after(user, 50*W.toolspeed, target = src)) @@ -73,7 +73,7 @@ do_sparks(5, TRUE, master) return new /obj/item/stack/cable_coil(loc, 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) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 761eb8001d3..0a433d241eb 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -34,7 +34,7 @@ charge = !isnull(starting_charge) ? starting_charge : maxcharge if(ratingdesc) // State of charge is in kJ so we multiply it by 1000 to get Joules - desc += "It can store [DisplayJoules(maxcharge * 1000)]. Doctors recommend that you do not swallow it." + desc += SPAN_NOTICE("It can store [DisplayJoules(maxcharge * 1000)]. Doctors recommend that you do not swallow it.") update_icon(UPDATE_OVERLAYS) /obj/item/stock_parts/cell/Destroy() @@ -94,12 +94,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(percent())]%." + . += SPAN_NOTICE("The charge meter reads [round(percent())]%.") /obj/item/stock_parts/cell/suicide_act(mob/user) - to_chat(viewers(user), "[user] is licking the electrodes of [src]! It looks like [user.p_theyre()] trying to commit suicide!") + to_chat(viewers(user), 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/attackby__legacy__attackchain(obj/item/W, mob/user, params) diff --git a/code/modules/power/electrolyzer.dm b/code/modules/power/electrolyzer.dm index 1005a7e5b34..895e32112c8 100644 --- a/code/modules/power/electrolyzer.dm +++ b/code/modules/power/electrolyzer.dm @@ -37,19 +37,19 @@ return if(!anchored) connect_to_network() - to_chat(user, "You secure the generator to the floor.") + to_chat(user, SPAN_NOTICE("You secure the generator to the floor.")) else disconnect_from_network() - to_chat(user, "You unsecure the generator from the floor.") + to_chat(user, SPAN_NOTICE("You unsecure the generator from the floor.")) anchored = !anchored /obj/machinery/power/electrolyzer/screwdriver_act(mob/user, obj/item/I) . = TRUE if(!anchored) - to_chat(user, "[src] needs to be secured down first!") + to_chat(user, SPAN_WARNING("[src] needs to be secured down first!")) return if(on) - to_chat(user, "[src] needs to be turned off first!") + to_chat(user, SPAN_WARNING("[src] needs to be turned off first!")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -66,14 +66,14 @@ /obj/machinery/power/electrolyzer/crowbar_act(mob/living/user, obj/item/I) if(panel_open) deconstruct(TRUE) - to_chat(user, "You disassemble [src].") + to_chat(user, SPAN_NOTICE("You disassemble [src].")) I.play_tool_sound(user, I.tool_volume) return TRUE return FALSE /obj/machinery/power/electrolyzer/AltClick(mob/user) if(anchored) - to_chat(user, "[src] is anchored to the floor!") + to_chat(user, SPAN_WARNING("[src] is anchored to the floor!")) return pixel_x = 0 pixel_y = 0 @@ -96,23 +96,23 @@ if(stat & BROKEN) return if(!anchored) - to_chat(user, "[src] must be anchored first!") + to_chat(user, SPAN_WARNING("[src] must be anchored first!")) return if(panel_open) - to_chat(user, "Close the panel first!") + to_chat(user, SPAN_WARNING("Close the panel first!")) return var/area/A = get_area(src) if(!istype(A) || !A.powernet.has_power(PW_CHANNEL_EQUIPMENT)) - to_chat(user, "[src] must be powered!") + to_chat(user, SPAN_WARNING("[src] must be powered!")) return . = ..() if(on) on = FALSE - to_chat(user, "[src] switches off.") + to_chat(user, SPAN_NOTICE("[src] switches off.")) icon_state = "electrolyzer_off" else on = TRUE - to_chat(user, "[src] begins to hum quietly.") + to_chat(user, SPAN_NOTICE("[src] begins to hum quietly.")) icon_state = "electrolyzer_on" add_fingerprint(usr) diff --git a/code/modules/power/engines/singularity/collector.dm b/code/modules/power/engines/singularity/collector.dm index ac1091df9b8..0a188de2e4f 100644 --- a/code/modules/power/engines/singularity/collector.dm +++ b/code/modules/power/engines/singularity/collector.dm @@ -78,17 +78,17 @@ user.visible_message("[user.name] turns the [name] [active ? "on" : "off"].", "You turn the [name] [active ? "on" : "off"].") investigate_log("turned [active ? "on" : "off"] by [user.key]. [loaded_tank ? "Fuel: [round(loaded_tank.air_contents.toxins() / 0.29)]%" : "It is empty"].", INVESTIGATE_SINGULO) else - to_chat(user, "The controls are locked!") + to_chat(user, SPAN_WARNING("The controls are locked!")) /obj/machinery/power/rad_collector/wrench_act(mob/living/user, obj/item/I) . = TRUE if(loaded_tank) - to_chat(user, "Remove the plasma tank first.") + to_chat(user, SPAN_NOTICE("Remove the plasma tank first.")) return TRUE var/turf/T = get_turf(src) for(var/obj/machinery/power/rad_collector/can_wrench in T.contents) if(can_wrench.anchored && !anchored) - to_chat(user, "You can't wrench down [src] here!") + to_chat(user, SPAN_NOTICE("You can't wrench down [src] here!")) return I.play_tool_sound(src) anchored = !anchored @@ -101,10 +101,10 @@ /obj/machinery/power/rad_collector/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /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 ITEM_INTERACT_COMPLETE 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 ITEM_INTERACT_COMPLETE if(user.drop_item()) loaded_tank = used @@ -122,9 +122,9 @@ to_chat(user, "The controls are now [locked ? "locked." : "unlocked."]") else locked = FALSE //just in case it somehow gets locked - to_chat(user, "The controls can only be locked when [src] is active") + to_chat(user, SPAN_WARNING("The controls can only be locked when [src] is active")) else - to_chat(user, "Access denied!") + to_chat(user, SPAN_WARNING("Access denied!")) return ITEM_INTERACT_COMPLETE else @@ -153,12 +153,12 @@ max_gamma = gamma_waves[listing] var/beta_delta = max_beta - RAD_COLLECTOR_THRESHOLD var/gamma_delta = max_gamma - RAD_COLLECTOR_THRESHOLD - . += "[src]'s display states that it has stored [DisplayJoules(joules)], and is processing [DisplayPower(RAD_COLLECTOR_OUTPUT)]" - . +="Strongest Beta absorption over the last [rad_time /(1 SECONDS)] seconds: [max_beta], [abs(beta_delta)] [beta_delta >= 0 ? "above" : "below"] threshold" - . +="Strongest Gamma absorption over the last [rad_time /(1 SECONDS)] seconds: [max_gamma], [abs(gamma_delta)] [gamma_delta >= 0 ? "above" : "below"] threshold" + . += SPAN_NOTICE("[src]'s display states that it has stored [DisplayJoules(joules)], and is processing [DisplayPower(RAD_COLLECTOR_OUTPUT)]") + . +=SPAN_NOTICE("Strongest Beta absorption over the last [rad_time /(1 SECONDS)] seconds: [max_beta], [abs(beta_delta)] [beta_delta >= 0 ? "above" : "below"] threshold") + . +=SPAN_NOTICE("Strongest Gamma absorption over the last [rad_time /(1 SECONDS)] seconds: [max_gamma], [abs(gamma_delta)] [gamma_delta >= 0 ? "above" : "below"] threshold") else - . += "[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.\"") /obj/machinery/power/rad_collector/obj_break(damage_flag) if(!(stat & BROKEN) && !(flags & NODECONSTRUCT)) diff --git a/code/modules/power/engines/singularity/containment_field.dm b/code/modules/power/engines/singularity/containment_field.dm index 8f36181150b..f3e53c0c626 100644 --- a/code/modules/power/engines/singularity/containment_field.dm +++ b/code/modules/power/engines/singularity/containment_field.dm @@ -59,7 +59,7 @@ qdel(src) return if(ismegafauna(M)) - M.visible_message("[M] glows fiercely as the containment field flickers out!") + M.visible_message(SPAN_WARNING("[M] glows fiercely as the containment field flickers out!")) FG1.calc_energy(INFINITY) //rip that 'containment' field M.adjustHealth(-M.obj_damage) else @@ -118,9 +118,9 @@ if(prob(20)) user.Stun(4 SECONDS) user.take_overall_damage(0, shock_damage) - user.visible_message("[user.name] was shocked by [src]!", \ - "Energy pulse detected, system damaged!", \ - "You hear an electrical crack.") + user.visible_message(SPAN_DANGER("[user.name] was shocked by [src]!"), \ + SPAN_USERDANGER("Energy pulse detected, system damaged!"), \ + SPAN_ITALICS("You hear an electrical crack.")) user.updatehealth() bump_field(user) diff --git a/code/modules/power/engines/singularity/emitter.dm b/code/modules/power/engines/singularity/emitter.dm index 41c5fc1fb7b..d4c34a5ca22 100644 --- a/code/modules/power/engines/singularity/emitter.dm +++ b/code/modules/power/engines/singularity/emitter.dm @@ -69,8 +69,8 @@ /obj/machinery/power/emitter/examine(mob/user) . = ..() if(panel_open) - . += "The maintenance panel is open." - . += "Alt-Click to rotate [src]." + . += SPAN_NOTICE("The maintenance panel is open.") + . += SPAN_NOTICE("Alt-Click to rotate [src].") /obj/machinery/power/emitter/RefreshParts() var/max_firedelay = 120 @@ -93,7 +93,7 @@ return if(anchored) - to_chat(user, "It is fastened to the floor!") + to_chat(user, SPAN_NOTICE("It is fastened to the floor!")) return dir = turn(dir, 90) @@ -115,23 +115,23 @@ locked = FALSE emagged = TRUE if(user) - user.visible_message("[user] shorts out the lock on [src].", - "You short out the lock on [src].") + user.visible_message(SPAN_WARNING("[user] shorts out the lock on [src]."), + SPAN_WARNING("You short out the lock on [src].")) return TRUE /obj/machinery/power/emitter/attack_hand(mob/user) add_fingerprint(user) if(state != EMITTER_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 TRUE if(!powernet) - to_chat(user, "The emitter isn't connected to a wire.") + to_chat(user, SPAN_WARNING("The emitter isn't connected to a wire.")) return TRUE if(panel_open) - to_chat(user, "The maintenance panel needs to be closed!") + to_chat(user, SPAN_WARNING("The maintenance panel needs to be closed!")) return if(locked) - to_chat(user, "The controls are locked!") + to_chat(user, SPAN_WARNING("The controls are locked!")) return var/toggle @@ -155,7 +155,7 @@ if(ismegafauna(M) && anchored) state = EMITTER_NEEDS_WRENCH anchored = FALSE - M.visible_message("[M] rips [src] free from its moorings!") + M.visible_message(SPAN_WARNING("[M] rips [src] free from its moorings!")) else ..() if(!anchored) @@ -166,53 +166,53 @@ return ..() if(emagged) - to_chat(user, "The lock seems to be broken.") + to_chat(user, SPAN_WARNING("The lock seems to be broken.")) return ITEM_INTERACT_COMPLETE if(!allowed(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ITEM_INTERACT_COMPLETE if(active) locked = !locked - to_chat(user, "The controls are now [locked ? "locked" : "unlocked"].") + to_chat(user, SPAN_NOTICE("The controls are now [locked ? "locked" : "unlocked"].")) else locked = FALSE //just in case it somehow gets locked - to_chat(user, "The controls can only be locked when [src] is online!") + to_chat(user, SPAN_WARNING("The controls can only be locked when [src] is online!")) return ITEM_INTERACT_COMPLETE /obj/machinery/power/emitter/wrench_act(mob/living/user, obj/item/I) . = TRUE if(active) - to_chat(user, "Turn off [src] first!") + to_chat(user, SPAN_WARNING("Turn off [src] first!")) return if(state == EMITTER_WELDED) - to_chat(user, "[src] needs to be unwelded from the floor!") + to_chat(user, SPAN_WARNING("[src] needs to be unwelded from the floor!")) return if(state == EMITTER_NEEDS_WRENCH) for(var/obj/machinery/power/emitter/E in get_turf(src)) if(E.anchored) - to_chat(user, "There is already an emitter here!") + to_chat(user, SPAN_WARNING("There is already an emitter here!")) return state = EMITTER_NEEDS_WELDER anchored = TRUE - user.visible_message("[user] secures [src] to the floor.", - "You secure the external reinforcing bolts to the floor.", - "You hear a ratchet.") + user.visible_message(SPAN_NOTICE("[user] secures [src] to the floor."), + SPAN_NOTICE("You secure the external reinforcing bolts to the floor."), + SPAN_NOTICE("You hear a ratchet.")) else state = EMITTER_NEEDS_WRENCH anchored = FALSE - user.visible_message("[user] unsecures [src]'s reinforcing bolts from the floor.", - "You undo the external reinforcing bolts.", - "You hear a ratchet.") + user.visible_message(SPAN_NOTICE("[user] unsecures [src]'s reinforcing bolts from the floor."), + SPAN_NOTICE("You undo the external reinforcing bolts."), + SPAN_NOTICE("You hear a ratchet.")) playsound(src, I.usesound, I.tool_volume, TRUE) /obj/machinery/power/emitter/screwdriver_act(mob/living/user, obj/item/I) . = TRUE if(active) - to_chat(user, "[src] needs to be disabled first!") + to_chat(user, SPAN_WARNING("[src] needs to be disabled first!")) return default_deconstruction_screwdriver(user, "emitter_open", "emitter", I) @@ -223,10 +223,10 @@ /obj/machinery/power/emitter/welder_act(mob/user, obj/item/I) . = TRUE if(active) - to_chat(user, "Turn off [src] first.") + to_chat(user, SPAN_NOTICE("Turn off [src] first.")) return if(state == EMITTER_NEEDS_WRENCH) - 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 if(!I.tool_use_check(user, 0)) return diff --git a/code/modules/power/engines/singularity/field_generator.dm b/code/modules/power/engines/singularity/field_generator.dm index 0cfa4965708..0ded6f84c81 100644 --- a/code/modules/power/engines/singularity/field_generator.dm +++ b/code/modules/power/engines/singularity/field_generator.dm @@ -105,23 +105,23 @@ field_generator energy level display 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.") + SPAN_NOTICE("You turn on [src]."), \ + SPAN_ITALICS("You hear heavy droning.")) turn_on() investigate_log("activated by [user.key].", 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/wrench_act(mob/living/user, obj/item/W) . = TRUE if(active) - to_chat(user, "[src] needs to be off!") + to_chat(user, SPAN_WARNING("[src] needs to be off!")) return switch(state) if(FG_UNSECURED) @@ -129,23 +129,23 @@ field_generator energy level display state = FG_SECURED W.play_tool_sound(W, 75) user.visible_message("[user.name] secures [name] to the floor.", \ - "You secure the external reinforcing bolts to the floor.", \ - "You hear ratchet.") + SPAN_NOTICE("You secure the external reinforcing bolts to the floor."), \ + SPAN_ITALICS("You hear ratchet.")) anchored = TRUE if(FG_SECURED) state = FG_UNSECURED W.play_tool_sound(W, 75) user.visible_message("[user.name] unsecures [name] reinforcing bolts from the floor.", \ - "You undo the external reinforcing bolts.", \ - "You hear ratchet.") + SPAN_NOTICE("You undo the external reinforcing bolts."), \ + SPAN_ITALICS("You hear ratchet.")) anchored = FALSE if(FG_WELDED) - to_chat(user, "[src] needs to be unwelded from the floor!") + to_chat(user, SPAN_WARNING("[src] needs to be unwelded from the floor!")) /obj/machinery/field/generator/welder_act(mob/user, obj/item/I) . = TRUE if(state == 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!")) return if(!I.tool_use_check(user, 0)) return @@ -168,7 +168,7 @@ field_generator energy level display if(M.environment_smash & ENVIRONMENT_SMASH_RWALLS && active == FG_OFFLINE && state != FG_UNSECURED) state = FG_UNSECURED anchored = FALSE - M.visible_message("[M] rips [src] free from its moorings!") + M.visible_message(SPAN_WARNING("[M] rips [src] free from its moorings!")) else ..() if(!anchored) @@ -226,7 +226,7 @@ field_generator energy level display check_energy_level() return TRUE else - visible_message("[src] shuts down!", "You hear something shutting down.") + visible_message(SPAN_DANGER("[src] shuts down!"), SPAN_ITALICS("You hear something shutting down.")) turn_off() investigate_log("ran out of energy and deactivated",INVESTIGATE_SINGULO) energy = 0 diff --git a/code/modules/power/engines/singularity/narsie.dm b/code/modules/power/engines/singularity/narsie.dm index 27d035ae8ac..eeac4dd536e 100644 --- a/code/modules/power/engines/singularity/narsie.dm +++ b/code/modules/power/engines/singularity/narsie.dm @@ -95,7 +95,7 @@ for(var/mob/living/carbon/M in oviewers(8, src)) if(M.stat == CONSCIOUS) if(!IS_CULTIST(M)) - to_chat(M, "You feel your sanity crumble away in an instant as you gaze upon [src.name]...") + to_chat(M, SPAN_WARNING("You feel your sanity crumble away in an instant as you gaze upon [src.name]...")) M.Stun(6 SECONDS) @@ -144,7 +144,7 @@ return if(!target) return - to_chat(target, "[uppertext(GET_CULT_DATA(entity_name, name))] HAS LOST INTEREST IN YOU") + to_chat(target, SPAN_CULTLARGE("[uppertext(GET_CULT_DATA(entity_name, name))] HAS LOST INTEREST IN YOU")) target = food if(ishuman(target)) to_chat(target, "[uppertext(GET_CULT_DATA(entity_name, name))] HUNGERS FOR YOUR SOUL") diff --git a/code/modules/power/engines/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/engines/singularity/particle_accelerator/particle_accelerator.dm index 59336d0b51d..80fa4cce680 100644 --- a/code/modules/power/engines/singularity/particle_accelerator/particle_accelerator.dm +++ b/code/modules/power/engines/singularity/particle_accelerator/particle_accelerator.dm @@ -90,7 +90,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) return if(anchored) - to_chat(user, "It is fastened to the floor!") + to_chat(user, SPAN_NOTICE("It is fastened to the floor!")) return dir = turn(dir, 270) @@ -98,17 +98,17 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin . = ..() switch(construction_state) if(ACCELERATOR_UNWRENCHED) - . += "\The [name]'s anchoring bolts are loose." + . += SPAN_NOTICE("\The [name]'s anchoring bolts are loose.") if(ACCELERATOR_WRENCHED) - . += "\The [name]'s anchoring bolts are wrenched in place, but it lacks wiring." + . += SPAN_NOTICE("\The [name]'s anchoring bolts are wrenched in place, but it lacks wiring.") if(ACCELERATOR_WIRED) - . += "\The [name] is wired, but the maintenance panel is unscrewed and open." + . += SPAN_NOTICE("\The [name] is wired, but the maintenance panel is unscrewed and open.") if(ACCELERATOR_READY) - . += "\The [name] is assembled and the maintenence panel is screwed shut." + . += SPAN_NOTICE("\The [name] is assembled and the maintenence panel is screwed shut.") if(powered) desc = desc_holder if(!anchored) - . += "Alt-Click to rotate it." + . += SPAN_NOTICE("Alt-Click to rotate it.") /obj/structure/particle_accelerator/deconstruct(disassembled = TRUE) if(!(flags & NODECONSTRUCT)) @@ -236,7 +236,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) return if(anchored) - to_chat(user, "It is fastened to the floor!") + to_chat(user, SPAN_NOTICE("It is fastened to the floor!")) return dir = turn(dir, 270) diff --git a/code/modules/power/engines/singularity/particle_accelerator/particle_control.dm b/code/modules/power/engines/singularity/particle_accelerator/particle_control.dm index d5a814fe22d..081a8cedf0a 100644 --- a/code/modules/power/engines/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/engines/singularity/particle_accelerator/particle_control.dm @@ -287,7 +287,7 @@ return if(!interface_control) - to_chat(usr, "ERROR: Request timed out. Check wire contacts.") + to_chat(usr, SPAN_ERROR("ERROR: Request timed out. Check wire contacts.")) return switch(action) diff --git a/code/modules/power/engines/singularity/singularity.dm b/code/modules/power/engines/singularity/singularity.dm index dd050246370..cfd0a3617d8 100644 --- a/code/modules/power/engines/singularity/singularity.dm +++ b/code/modules/power/engines/singularity/singularity.dm @@ -99,8 +99,8 @@ GLOBAL_VAR_INIT(global_singulo_id, 1) return var/mob/living/carbon/C = user investigate_log("has consumed the brain of [key_name(C)] after being touched with telekinesis", INVESTIGATE_SINGULO) - C.visible_message("[C] suddenly slumps over.", \ - "As you concentrate on the singularity, your understanding of the cosmos expands exponentially. An immense wealth of raw information is at your fingertips, and you're determined not to squander a single morsel. Within mere microseconds, you absorb a staggering amount of information—more than any AI could ever hope to access—and you can't help but feel a godlike sense of power. However, the gravity of this situation swiftly sinks in. As you sense your skull starting to collapse under pressure, you can't help but admit to yourself: That was a really dense idea, wasn't it?") + C.visible_message(SPAN_DANGER("[C] suddenly slumps over."), \ + SPAN_USERDANGER("As you concentrate on the singularity, your understanding of the cosmos expands exponentially. An immense wealth of raw information is at your fingertips, and you're determined not to squander a single morsel. Within mere microseconds, you absorb a staggering amount of information—more than any AI could ever hope to access—and you can't help but feel a godlike sense of power. However, the gravity of this situation swiftly sinks in. As you sense your skull starting to collapse under pressure, you can't help but admit to yourself: That was a really dense idea, wasn't it?")) var/obj/item/organ/internal/brain/B = C.get_int_organ(/obj/item/organ/internal/brain) C.ghostize() if(B) @@ -325,10 +325,10 @@ GLOBAL_VAR_INIT(global_singulo_id, 1) set_light(10) if(istype(A, /obj/singularity/narsie)) if(current_size == STAGE_SIX) - visible_message("[GET_CULT_DATA(entity_name, A.name)] is consumed by [src]!") + visible_message(SPAN_USERDANGER("[GET_CULT_DATA(entity_name, A.name)] is consumed by [src]!")) qdel(A) else - visible_message("[GET_CULT_DATA(entity_name, A.name)] strikes down [src]!") + visible_message(SPAN_USERDANGER("[GET_CULT_DATA(entity_name, A.name)] strikes down [src]!")) investigate_log("has been destroyed by Nar'Sie", INVESTIGATE_SINGULO) qdel(src) @@ -459,8 +459,8 @@ GLOBAL_VAR_INIT(global_singulo_id, 1) /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 @@ -487,12 +487,12 @@ GLOBAL_VAR_INIT(global_singulo_id, 1) continue if(HAS_TRAIT(M, TRAIT_MESON_VISION) || HAS_TRAIT(M, SM_HALLUCINATION_IMMUNE)) - to_chat(M, "You look directly into [src], but remain unaffected!") + to_chat(M, SPAN_NOTICE("You look directly into [src], but remain unaffected!")) return M.Stun(6 SECONDS) - M.visible_message("[M] stares blankly at [src]!", \ - "You look directly into [src] and feel weak.") + M.visible_message(SPAN_DANGER("[M] stares blankly at [src]!"), \ + SPAN_USERDANGER("You look directly into [src] and feel weak.")) /obj/singularity/proc/emp_area() diff --git a/code/modules/power/engines/supermatter/supermatter.dm b/code/modules/power/engines/supermatter/supermatter.dm index 5de908209b4..36ec59663d5 100644 --- a/code/modules/power/engines/supermatter/supermatter.dm +++ b/code/modules/power/engines/supermatter/supermatter.dm @@ -283,13 +283,13 @@ var/mob/living/carbon/human/H = user if(istype(H)) if(!HAS_TRAIT(H, TRAIT_MESON_VISION) && !HAS_TRAIT(H, SM_HALLUCINATION_IMMUNE) && (get_dist(user, src) < HALLUCINATION_RANGE(power))) - . += "You get headaches just from looking at it." - . += "When actived by an item hitting this awe-inspiring feat of engineering, it emits radiation and heat. This is the basis of the use of the pseudo-perpetual energy source, the supermatter crystal." - . +="Any object that touches [src] instantly turns to dust, be it complex as a human or as simple as a metal rod. These bursts of energy can cause hallucinations if meson scanners are not worn near the crystal." + . += SPAN_DANGER("You get headaches just from looking at it.") + . += SPAN_NOTICE("When actived by an item hitting this awe-inspiring feat of engineering, it emits radiation and heat. This is the basis of the use of the pseudo-perpetual energy source, the supermatter crystal.") + . +=SPAN_NOTICE("Any object that touches [src] instantly turns to dust, be it complex as a human or as simple as a metal rod. These bursts of energy can cause hallucinations if meson scanners are not worn near the crystal.") if(isAntag(user)) - . += "Although a T.E.G. is more costly, there's a damn good reason the syndicate doesn't use this. If the integrity of [src] dips to 0%, perhaps from overheating, the supermatter will violently explode destroying nearly everything even somewhat close to it and releasing massive amounts of radiation." + . += SPAN_WARNING("Although a T.E.G. is more costly, there's a damn good reason the syndicate doesn't use this. If the integrity of [src] dips to 0%, perhaps from overheating, the supermatter will violently explode destroying nearly everything even somewhat close to it and releasing massive amounts of radiation.") if(moveable) - . += "It can be [anchored ? "unfastened from" : "fastened to"] the floor with a wrench." + . += SPAN_NOTICE("It can be [anchored ? "unfastened from" : "fastened to"] the floor with a wrench.") /obj/machinery/atmospherics/supermatter_crystal/proc/get_status() var/turf/T = get_turf(src) @@ -346,7 +346,7 @@ var/image/causality_field = image(icon, null, "causality_field") add_overlay(causality_field) - var/speaking = "[emergency_alert] The supermatter has reached critical integrity failure. Emergency causality destabilization field has been activated." + var/speaking = SPAN_REALLYBIG("[emergency_alert] The supermatter has reached critical integrity failure. Emergency causality destabilization field has been activated.") for(var/mob/M in GLOB.player_list) // for all players var/turf/T = get_turf(M) if(istype(T) && atoms_share_level(T, src)) // if the player is on the same zlevel as the SM shared @@ -359,7 +359,7 @@ damage = explosion_point - 1 // One point below exploding, so it will re-start the countdown once unfrozen return if(damage < explosion_point) // Cutting it a bit close there engineers - radio.autosay("[safe_alert] Failsafe has been disengaged.", name, null) + radio.autosay(SPAN_BIG("[safe_alert] Failsafe has been disengaged."), name, null) cut_overlay(causality_field, TRUE) final_countdown = FALSE remove_filter(list("outline", "icon")) @@ -370,7 +370,7 @@ else if(i > 50) speaking = "[DisplayTimeText(i, TRUE)] remain before causality stabilization." else - speaking = "[i * 0.1]..." + speaking = SPAN_REALLYBIG("[i * 0.1]...") radio.autosay(speaking, name, null) sleep(10) @@ -398,9 +398,9 @@ SEND_SOUND(M, super_matter_charge_sound) if(atoms_share_level(M, src)) - to_chat(M, "You feel reality distort for a moment...") + to_chat(M, SPAN_BOLDANNOUNCEIC("You feel reality distort for a moment...")) else - to_chat(M, "You hold onto \the [M.loc] as hard as you can, as reality distorts around you. You feel safe.") + to_chat(M, SPAN_BOLDANNOUNCEIC("You hold onto \the [M.loc] as hard as you can, as reality distorts around you. You feel safe.")) if(max(combined_gas, forced_combined_gas) > MOLE_CRUNCH_THRESHOLD) investigate_log("has collapsed into a singularity.", INVESTIGATE_SUPERMATTER) @@ -448,7 +448,7 @@ if(T.density) var/turf/did_it_melt = T.ChangeTurf(T.baseturf) if(!did_it_melt.density) //In case some joker finds way to place these on indestructible walls - visible_message("[src] melts through [T]!") + visible_message(SPAN_WARNING("[src] melts through [T]!")) return try_events() @@ -670,7 +670,7 @@ lastwarning = REALTIMEOFDAY else // We are losing integrity, let's warn engineering. if(damage > emergency_point) //Oh shit it's bad, time to freak out - radio.autosay("[emergency_alert] Integrity: [get_integrity()]%", name, null) + radio.autosay(SPAN_BIG("[emergency_alert] Integrity: [get_integrity()]%"), name, null) lastwarning = REALTIMEOFDAY if(!has_reached_emergency) investigate_log("has reached the emergency point for the first time.", "supermatter") @@ -716,12 +716,12 @@ 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!")) var/supermatter_sound = sound('sound/effects/supermatter.ogg') for(var/M in GLOB.player_list) if(atoms_share_level(M, src)) SEND_SOUND(M, supermatter_sound) //everyone goan know bout this - to_chat(M, "A horrible screeching fills your ears, and a wave of dread washes over you...") + to_chat(M, SPAN_BOLDANNOUNCEIC("A horrible screeching fills your ears, and a wave of dread washes over you...")) qdel(src) return gain @@ -730,12 +730,12 @@ playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE) damage += B.obj_integrity * 0.5 //take damage equal to 50% of remaining blob health before it tried to eat us if(B.obj_integrity > 100) - B.visible_message("[B] strikes at [src] and flinches away!",\ - "You hear a loud crack as you are washed with a wave of heat.") + B.visible_message(SPAN_DANGER("[B] strikes at [src] and flinches away!"),\ + SPAN_ITALICS("You hear a loud crack as you are washed with a wave of heat.")) B.take_damage(100, BURN) else - B.visible_message("[B] strikes at [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") + B.visible_message(SPAN_DANGER("[B] strikes at [src] and rapidly flashes to ash."),\ + SPAN_ITALICS("You hear a loud crack as you are washed with a wave of heat.")) Consume(B) /obj/machinery/atmospherics/supermatter_crystal/attack_tk(mob/user) @@ -743,8 +743,8 @@ return var/mob/living/carbon/C = user investigate_log("has consumed the brain of [key_name(C)] after being touched with telekinesis", INVESTIGATE_SUPERMATTER) - C.visible_message("[C] suddenly slumps over.", \ - "As you mentally focus on the supermatter you feel the contents of your skull start melting away. That was a really dense idea.") + C.visible_message(SPAN_DANGER("[C] suddenly slumps over."), \ + SPAN_USERDANGER("As you mentally focus on the supermatter you feel the contents of your skull start melting away. That was a really dense idea.")) var/obj/item/organ/internal/brain/B = C.get_int_organ(/obj/item/organ/internal/brain) C.ghostize() if(B) @@ -761,8 +761,8 @@ else murder = S.attacktext dust_mob(S, \ - "[S] unwisely [murder] [src], and [S.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("[S] unwisely [murder] [src], and [S.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/atmospherics/supermatter_crystal/attack_robot(mob/user) @@ -775,7 +775,7 @@ /obj/machinery/atmospherics/supermatter_crystal/attack_hand(mob/living/user) ..() if(HAS_TRAIT(user, TRAIT_SUPERMATTER_IMMUNE)) - user.visible_message("[user] reaches out and pokes [src] harmlessly...somehow.", "You poke [src].") + user.visible_message(SPAN_NOTICE("[user] reaches out and pokes [src] harmlessly...somehow."), SPAN_NOTICE("You poke [src].")) return dust_mob(user, cause = "hand") @@ -783,12 +783,12 @@ if(nom.incorporeal_move || nom.status_flags & GODMODE) 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_ITALICS("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) @@ -807,14 +807,14 @@ var/obj/item/scalpel/supermatter/scalpel = used if(!scalpel.uses_left) - to_chat(H, "[scalpel] isn't sharp enough to carve a sliver off of [src]!") + to_chat(H, SPAN_WARNING("[scalpel] isn't sharp enough to carve a sliver off of [src]!")) return ITEM_INTERACT_COMPLETE var/obj/item/nuke_core/supermatter_sliver/sliver = carve_sliver(H) if(sliver) scalpel.uses_left-- if(!scalpel.uses_left) - to_chat(H, "A tiny piece falls off of [scalpel]'s blade, rendering it useless!") + to_chat(H, SPAN_BOLDWARNING("A tiny piece falls off of [scalpel]'s blade, rendering it useless!")) var/obj/item/retractor/supermatter/tongs = H.is_in_hands(/obj/item/retractor/supermatter) @@ -822,7 +822,7 @@ tongs.sliver = sliver sliver.forceMove(tongs) tongs.icon_state = "supermatter_tongs_loaded" - to_chat(H, "You pick up [sliver] with [tongs]!") + to_chat(H, SPAN_NOTICE("You pick up [sliver] with [tongs]!")) return ITEM_INTERACT_COMPLETE @@ -831,11 +831,11 @@ return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/retractor/supermatter)) - to_chat(user, "[used] bounces off [src], you need to cut a sliver off first!") + to_chat(user, SPAN_NOTICE("[used] bounces off [src], you need to cut a sliver off first!")) else if(user.drop_item()) - user.visible_message("As [user] touches [src] with \a [used], silence fills the room...",\ - "You touch [src] with [used], and everything suddenly goes silent.\n[used] flashes into dust as you flinch away from [src].",\ - "Everything suddenly goes silent.") + user.visible_message(SPAN_DANGER("As [user] touches [src] with \a [used], silence fills the room..."),\ + SPAN_USERDANGER("You touch [src] with [used], and everything suddenly goes silent.\n[used] flashes into dust as you flinch away from [src]."),\ + SPAN_ITALICS("Everything suddenly goes silent.")) investigate_log("has been attacked ([used]) by [key_name(user)]", INVESTIGATE_SUPERMATTER) Consume(used) playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE) @@ -848,12 +848,12 @@ return if(isliving(AM)) - AM.visible_message("[AM] slams into [src] inducing a resonance... [AM.p_their()] body starts to glow and burst into flames before flashing into dust!",\ - "You slam into [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.") + AM.visible_message(SPAN_DANGER("[AM] slams into [src] inducing a resonance... [AM.p_their()] body starts to glow and burst into flames before flashing into dust!"),\ + SPAN_USERDANGER("You slam into [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\""),\ + SPAN_ITALICS("You hear an unearthly noise as a wave of heat washes over you.")) else if(isobj(AM) && !iseffect(AM)) - AM.visible_message("[AM] smacks into [src] and rapidly flashes to ash.", null,\ - "You hear a loud crack as you are washed with a wave of heat.") + AM.visible_message(SPAN_DANGER("[AM] smacks into [src] and rapidly flashes to ash."), null,\ + SPAN_ITALICS("You hear a loud crack as you are washed with a wave of heat.")) else return @@ -889,8 +889,8 @@ power += 5000//releases A LOT of power matter_power += 500000 damage += 180//drops the integrety by 20% - AM.visible_message("[AM] smacks into [src], rapidly flashing blasts of pure energy. The energy inside [src] undergoes superradiance scattering!", null,\ - "You hear a loud crack as a wave of heat washes over you.") + AM.visible_message(SPAN_DANGER("[AM] smacks into [src], rapidly flashing blasts of pure energy. The energy inside [src] undergoes superradiance scattering!"), null,\ + SPAN_ITALICS("You hear a loud crack as a wave of heat washes over you.")) qdel(AM) if(!iseffect(AM) && power_changes) matter_power += 200 @@ -900,10 +900,10 @@ for(var/mob/living/L in range(10)) investigate_log("has irradiated [key_name(L)] after consuming [AM].", INVESTIGATE_SUPERMATTER) if(L in view()) - L.show_message("As [src] slowly stops resonating, you find your skin covered in new radiation burns.", 1, - "The unearthly ringing subsides and you notice you have new radiation burns.", 2) + L.show_message(SPAN_DANGER("As [src] slowly stops resonating, you find your skin covered in new radiation burns."), 1, + SPAN_DANGER("The unearthly ringing subsides and you notice you have new radiation burns."), 2) else - L.show_message("You hear an unearthly ringing and notice your skin is covered in fresh radiation burns.", 2) + L.show_message(SPAN_ITALICS("You hear an unearthly ringing and notice your skin is covered in fresh radiation burns."), 2) /obj/machinery/atmospherics/supermatter_crystal/proc/sm_filters() var/new_filter = isnull(get_filter("ray")) @@ -958,9 +958,9 @@ QDEL_NULL(warp) /obj/machinery/atmospherics/supermatter_crystal/proc/carve_sliver(mob/living/user) - to_chat(user, "You begin carving a sliver off of [src]...") + to_chat(user, SPAN_NOTICE("You begin carving a sliver off of [src]...")) if(do_after_once(user, 4 SECONDS, FALSE, src)) - to_chat(user, "You carve a sliver off of [src], and it begins to react violently!") + to_chat(user, SPAN_DANGER("You carve a sliver off of [src], and it begins to react violently!")) matter_power += 800 var/obj/item/nuke_core/supermatter_sliver/S = new /obj/item/nuke_core/supermatter_sliver(drop_location()) @@ -1069,7 +1069,7 @@ else if(M.buckled) var/atom/movable/buckler = M.buckled if(buckler.unbuckle_mob(M, TRUE)) - visible_message("[src]'s sheer force rips [M] away from [buckler]!") + visible_message(SPAN_DANGER("[src]'s sheer force rips [M] away from [buckler]!")) step_towards(P,center) /obj/machinery/atmospherics/supermatter_crystal/proc/supermatter_anomaly_gen(turf/anomalycenter, type = FLUX_ANOMALY, anomalyrange = 5) diff --git a/code/modules/power/engines/supermatter/supermatter_event.dm b/code/modules/power/engines/supermatter/supermatter_event.dm index 3cc6be8f1ed..76dafed3354 100644 --- a/code/modules/power/engines/supermatter/supermatter_event.dm +++ b/code/modules/power/engines/supermatter/supermatter_event.dm @@ -165,7 +165,7 @@ duration = 10 SECONDS /datum/engi_event/supermatter_event/alpha_tier/alert_engi() - sm_radio_say("ALERT: Critical anomalous crystal activity detected! Activity class: [name]. IMMEDIATE Operator intervention is REQUIRED!") + sm_radio_say(SPAN_BIG("ALERT: Critical anomalous crystal activity detected! Activity class: [name]. IMMEDIATE Operator intervention is REQUIRED!")) /datum/engi_event/supermatter_event/alpha_tier/apc_short name = "A-1" @@ -197,16 +197,16 @@ duration = 7 MINUTES // 2 MINUTES of s-tier anomaly /datum/engi_event/supermatter_event/sierra_tier/alert_engi() - general_radio_say("ALERT: Anomalous supermatter state expected in: 5 minutes.") - sm_radio_say("EMERGENCY ALERT: 5 MINUTES UNTIL [supermatter] EXHIBITS [name] CLASS ANOMALOUS ACTIVITY!") + general_radio_say(SPAN_BIG("ALERT: Anomalous supermatter state expected in: 5 minutes.")) + sm_radio_say(SPAN_REALLYBIG("EMERGENCY ALERT: 5 MINUTES UNTIL [supermatter] EXHIBITS [name] CLASS ANOMALOUS ACTIVITY!")) /datum/engi_event/supermatter_event/sierra_tier/on_start() addtimer(CALLBACK(src, PROC_REF(start_sierra_event)), 5 MINUTES) supermatter.has_run_sclass = TRUE /datum/engi_event/supermatter_event/sierra_tier/proc/start_sierra_event() - general_radio_say("ALERT: ANOMALOUS SUPERMATTER STATE DETECTED!") - sm_radio_say("EMERGENCY ALERT: Class [name] anomalous behavior in progress!") + general_radio_say(SPAN_BIG("ALERT: ANOMALOUS SUPERMATTER STATE DETECTED!")) + sm_radio_say(SPAN_REALLYBIG("EMERGENCY ALERT: Class [name] anomalous behavior in progress!")) //S class events //Arc-type diff --git a/code/modules/power/engines/tesla/coil.dm b/code/modules/power/engines/tesla/coil.dm index 5bf6cf406a9..0033d6eddf6 100644 --- a/code/modules/power/engines/tesla/coil.dm +++ b/code/modules/power/engines/tesla/coil.dm @@ -41,7 +41,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/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/assembly/signaler) && panel_open) diff --git a/code/modules/power/engines/tesla/energy_ball.dm b/code/modules/power/engines/tesla/energy_ball.dm index 7990d33a85c..fee1a73394e 100644 --- a/code/modules/power/engines/tesla/energy_ball.dm +++ b/code/modules/power/engines/tesla/energy_ball.dm @@ -282,8 +282,8 @@ return var/mob/living/carbon/C = user investigate_log("has consumed the brain of [key_name(C)] after being touched with telekinesis", INVESTIGATE_SINGULO) - C.visible_message("[C] suddenly slumps over.", \ - "As you mentally focus on the energy ball you feel the contents of your skull become overcharged. That was shockingly stupid.") + C.visible_message(SPAN_DANGER("[C] suddenly slumps over."), \ + SPAN_USERDANGER("As you mentally focus on the energy ball you feel the contents of your skull become overcharged. That was shockingly stupid.")) var/obj/item/organ/internal/brain/B = C.get_int_organ(/obj/item/organ/internal/brain) C.ghostize() if(B) diff --git a/code/modules/power/generators/portable generators/pacman.dm b/code/modules/power/generators/portable generators/pacman.dm index 2d35da9501f..654dd2f1424 100644 --- a/code/modules/power/generators/portable generators/pacman.dm +++ b/code/modules/power/generators/portable generators/pacman.dm @@ -83,9 +83,9 @@ . += "\The [src] appears to be producing [power_gen*power_output] W." . += "There [sheets == 1 ? "is" : "are"] [sheets] sheet\s left in the hopper." if(is_broken()) - . += "\The [src] seems to have broken down." + . += SPAN_WARNING("\The [src] seems to have broken down.") if(overheating) - . += "\The [src] is overheating!" + . += SPAN_DANGER("\The [src] is overheating!") /obj/machinery/power/port_gen/pacman/has_fuel() var/needed_sheets = power_output / time_per_sheet @@ -196,10 +196,10 @@ var/obj/item/stack/addstack = used var/amount = min((max_sheets - sheets), addstack.amount) if(amount < 1) - to_chat(user, "[src] is full!") + to_chat(user, SPAN_NOTICE("[src] is full!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You add [amount] sheet\s to [src].") + to_chat(user, SPAN_NOTICE("You add [amount] sheet\s to [src].")) sheets += amount addstack.use(amount) SStgui.update_uis(src) @@ -221,9 +221,9 @@ return panel_open = !panel_open 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.")) /obj/machinery/power/port_gen/pacman/wrench_act(mob/living/user, obj/item/I) if(active) @@ -233,10 +233,10 @@ return if(!anchored) connect_to_network() - to_chat(user, "You secure the generator to the floor.") + to_chat(user, SPAN_NOTICE("You secure the generator to the floor.")) else disconnect_from_network() - to_chat(user, "You unsecure the generator from the floor.") + to_chat(user, SPAN_NOTICE("You unsecure the generator from the floor.")) anchored = !anchored /obj/machinery/power/port_gen/pacman/attack_hand(mob/user as mob) diff --git a/code/modules/power/generators/portable generators/port_gen.dm b/code/modules/power/generators/portable generators/port_gen.dm index db9ff636250..34a3f0155dd 100644 --- a/code/modules/power/generators/portable generators/port_gen.dm +++ b/code/modules/power/generators/portable generators/port_gen.dm @@ -17,9 +17,9 @@ . = ..() if(!in_range(user, src)) if(active) - . += "The generator is on." + . += SPAN_NOTICE("The generator is on.") else - . += "The generator is off." + . += SPAN_NOTICE("The generator is off.") /obj/machinery/power/port_gen/process() if(anchored && powernet && active && has_fuel() && !is_broken()) diff --git a/code/modules/power/generators/solar.dm b/code/modules/power/generators/solar.dm index 663a1e15ab5..de478d03814 100644 --- a/code/modules/power/generators/solar.dm +++ b/code/modules/power/generators/solar.dm @@ -56,9 +56,9 @@ if(!I.tool_use_check(user, 0)) return playsound(loc, 'sound/machines/click.ogg', 50, 1) - user.visible_message("[user] begins to take the glass off the solar panel.", "You begin to take the glass off the solar panel...") + user.visible_message("[user] begins to take the glass off the solar panel.", SPAN_NOTICE("You begin to take the glass off the solar panel...")) if(I.use_tool(src, user, 50, volume = I.tool_volume)) - user.visible_message("[user] takes the glass off the solar panel.", "You take the glass off the solar panel.") + user.visible_message("[user] takes the glass off the solar panel.", SPAN_NOTICE("You take the glass off the solar panel.")) deconstruct(TRUE) /obj/machinery/power/solar/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) @@ -197,13 +197,13 @@ /obj/item/solar_assembly/examine(mob/user) . = ..() - . += "The solar assembly is [anchored ? "wrenched into place" : "unwrenched"]." + . += SPAN_NOTICE("The solar assembly is [anchored ? "wrenched into place" : "unwrenched"].") if(tracker) - . += "The solar assembly has a tracking circuit installed. It can be pried out." + . += SPAN_NOTICE("The solar assembly has a tracking circuit installed. It can be pried out.") else - . += "The solar assembly has a slot for a tracking circuit board." + . += SPAN_NOTICE("The solar assembly has a slot for a tracking circuit board.") if(anchored) - .+= "The solar assembly needs glass to be completed." + .+= SPAN_NOTICE("The solar assembly needs glass to be completed.") /obj/item/solar_assembly/attackby__legacy__attackchain(obj/item/W, mob/user, params) @@ -213,13 +213,13 @@ if(S.use(2)) glass_type = S.merge_type playsound(loc, S.usesound, 50, 1) - user.visible_message("[user] places the glass on the solar assembly.", "You place the glass on the solar assembly.") + user.visible_message("[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 @@ -229,7 +229,7 @@ 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("[user] inserts the electronics into the solar assembly.", SPAN_NOTICE("You insert the electronics into the solar assembly.")) return TRUE else return ..() @@ -242,18 +242,18 @@ return new /obj/item/tracker_electronics(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("[user] takes out the electronics from the solar assembly.", SPAN_NOTICE("You take out the electronics from the solar assembly.")) /obj/item/solar_assembly/wrench_act(mob/living/user, obj/item/I) if(!anchored && isturf(loc)) if(I.use_tool(src, user, I.tool_volume)) anchored = TRUE - user.visible_message("[user] wrenches the solar assembly into place.", "You wrench the solar assembly into place.") + user.visible_message("[user] wrenches the solar assembly into place.", SPAN_NOTICE("You wrench the solar assembly into place.")) return TRUE else if(I.use_tool(src, user, I.tool_volume)) anchored = FALSE - user.visible_message("[user] unwrenches the solar assembly from its place.", "You unwrench the solar assembly from its place.") + user.visible_message("[user] unwrenches the solar assembly from its place.", SPAN_NOTICE("You unwrench the solar assembly from its place.")) return TRUE // @@ -439,11 +439,11 @@ for(var/obj/C in src) C.forceMove(loc) if(stat & BROKEN) - to_chat(user, "The broken glass falls out.") + to_chat(user, SPAN_NOTICE("The broken glass falls out.")) A.state = 4 // STATE_WIRES new /obj/item/shard(drop_location()) else - to_chat(user, "You disconnect the monitor.") + to_chat(user, SPAN_NOTICE("You disconnect the monitor.")) A.state = 5 // STATE_GLASS A.dir = dir A.circuit = M diff --git a/code/modules/power/generators/thermo_electric_generator.dm b/code/modules/power/generators/thermo_electric_generator.dm index 204993237b3..d706851a675 100644 --- a/code/modules/power/generators/thermo_electric_generator.dm +++ b/code/modules/power/generators/thermo_electric_generator.dm @@ -181,7 +181,7 @@ cold_dir = NORTH hot_dir = SOUTH connect() - to_chat(user, "You reverse the generator's circulator settings. The cold circulator is now on the [dir2text(cold_dir)] side, and the heat circulator is now on the [dir2text(hot_dir)] side.") + to_chat(user, SPAN_NOTICE("You reverse the generator's circulator settings. The cold circulator is now on the [dir2text(cold_dir)] side, and the heat circulator is now on the [dir2text(hot_dir)] side.")) update_appearance(UPDATE_DESC) /obj/machinery/power/teg/wrench_act(mob/user, obj/item/I) diff --git a/code/modules/power/generators/tracker.dm b/code/modules/power/generators/tracker.dm index 6fe4f55a273..9cf4230299d 100644 --- a/code/modules/power/generators/tracker.dm +++ b/code/modules/power/generators/tracker.dm @@ -63,9 +63,9 @@ if(!I.tool_use_check(user, 0)) return playsound(loc, 'sound/machines/click.ogg', 50, 1) - user.visible_message("[user] begins to take the glass off the solar tracker.") + user.visible_message(SPAN_NOTICE("[user] begins to take the glass off the solar tracker.")) if(I.use_tool(src, user, 50, volume = I.tool_volume)) - user.visible_message("[user] takes the glass off the tracker.") + user.visible_message(SPAN_NOTICE("[user] takes the glass off the tracker.")) deconstruct(TRUE) diff --git a/code/modules/power/generators/turbine.dm b/code/modules/power/generators/turbine.dm index d3997cf877e..292fe4fbfa3 100644 --- a/code/modules/power/generators/turbine.dm +++ b/code/modules/power/generators/turbine.dm @@ -197,9 +197,9 @@ inturf = get_step(src, dir) locate_machinery() if(turbine) - to_chat(user, "Turbine connected.") + to_chat(user, SPAN_NOTICE("Turbine connected.")) else - to_chat(user, "Turbine not connected.") + to_chat(user, SPAN_ALERT("Turbine not connected.")) check_broken() return ITEM_INTERACT_COMPLETE @@ -218,12 +218,12 @@ if(panel_open) if(!I.use_tool(src, user, 5 SECONDS, volume = I.tool_volume)) return FALSE - to_chat(user, "You fix [src]'s bearings") + to_chat(user, SPAN_NOTICE("You fix [src]'s bearings")) bearing_damage = 0 check_broken() return TRUE else - to_chat(user,"You need to open the panel first") + to_chat(user,SPAN_WARNING("You need to open the panel first")) return TRUE /obj/machinery/power/compressor/multitool_act(mob/living/user, obj/item/I) @@ -585,10 +585,10 @@ outturf = get_step(src, dir) locate_machinery() if(compressor) - to_chat(user, "Compressor connected.") + to_chat(user, SPAN_NOTICE("Compressor connected.")) stat &= ~BROKEN else - to_chat(user, "Compressor not connected.") + to_chat(user, SPAN_ALERT("Compressor not connected.")) stat |= BROKEN return ITEM_INTERACT_COMPLETE @@ -662,7 +662,7 @@ . = ..() var/obj/item/multitool/M = I compressor = M.buffer - to_chat(user, "You link [src] to the turbine compressor in [I]'s buffer.") + to_chat(user, SPAN_NOTICE("You link [src] to the turbine compressor in [I]'s buffer.")) /obj/machinery/computer/turbine_computer/ui_state(mob/user) return GLOB.default_state diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 7db875ec7f9..3fa12675f0c 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -104,13 +104,13 @@ GLOBAL_LIST_EMPTY(gravity_generators) switch(construction_state) if(GRAV_NEEDS_WELDING) - . += "The framework is damaged, and needs welding." + . += SPAN_NOTICE("The framework is damaged, and needs welding.") if(GRAV_NEEDS_PLASTEEL) - . += "The framework needs new plasteel plating." + . += SPAN_NOTICE("The framework needs new plasteel plating.") if(GRAV_NEEDS_WRENCH) - . += "The plating needs wrenching into place." + . += SPAN_NOTICE("The plating needs wrenching into place.") if(GRAV_NEEDS_SCREWDRIVER) - . += "The cover screws are loose." + . += SPAN_NOTICE("The cover screws are loose.") /obj/machinery/gravity_generator/main/Destroy() // If we somehow get deleted, remove all of our other parts. investigate_log("was destroyed!", INVESTIGATE_GRAVITY) @@ -149,7 +149,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) . = TRUE if(!I.use_tool(src, user, null, 1, I.tool_volume)) return - to_chat(user, "You mend the damaged framework.") + to_chat(user, SPAN_NOTICE("You mend the damaged framework.")) construction_state = GRAV_NEEDS_PLASTEEL update_icon() @@ -161,10 +161,10 @@ GLOBAL_LIST_EMPTY(gravity_generators) if(istype(used, /obj/item/stack/sheet/plasteel)) var/obj/item/stack/sheet/plasteel/PS = used if(PS.amount < 10) - to_chat(user, "You need 10 sheets of plasteel.") + to_chat(user, SPAN_WARNING("You need 10 sheets of plasteel.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You add new plating to the framework.") + to_chat(user, SPAN_NOTICE("You add new plating to the framework.")) construction_state = GRAV_NEEDS_WRENCH update_icon() return ITEM_INTERACT_COMPLETE @@ -178,7 +178,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) . = TRUE if(!I.use_tool(src, user, volume = I.tool_volume)) return - to_chat(user, "You secure the plating to the framework.") + to_chat(user, SPAN_NOTICE("You secure the plating to the framework.")) construction_state = GRAV_NEEDS_SCREWDRIVER update_icon() @@ -191,7 +191,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) . = TRUE if(!I.use_tool(src, user, volume = I.tool_volume)) return - to_chat(user, "You screw the covers back into place.") + to_chat(user, SPAN_NOTICE("You screw the covers back into place.")) set_fix() /obj/machinery/gravity_generator/main/attack_hand(mob/user) diff --git a/code/modules/power/laser_terminal.dm b/code/modules/power/laser_terminal.dm index c1ad00c2b13..9c2b68eb05d 100644 --- a/code/modules/power/laser_terminal.dm +++ b/code/modules/power/laser_terminal.dm @@ -92,7 +92,7 @@ GLOBAL_LIST_EMPTY(laser_terminals) /obj/machinery/power/laser_terminal/wrench_act(mob/living/user, obj/item/I) . = TRUE if(panel_open) - to_chat(user, "Close the maintenance panel first!") + to_chat(user, SPAN_WARNING("Close the maintenance panel first!")) return . = default_unfasten_wrench(user, I, 2) if(anchored) @@ -105,4 +105,4 @@ GLOBAL_LIST_EMPTY(laser_terminals) /obj/machinery/power/laser_terminal/multitool_act(mob/living/user, obj/item/I) . = TRUE - to_chat(user, chat_box_examine("Unit ID: [id]
Input Power: [DisplayPower(total_input)]
Output Power: [DisplayPower(total_input * conversion_efficiency)]
")) + to_chat(user, chat_box_examine(SPAN_NOTICE("Unit ID: [id]
Input Power: [DisplayPower(total_input)]
Output Power: [DisplayPower(total_input * conversion_efficiency)]"))) diff --git a/code/modules/power/lights.dm b/code/modules/power/lights.dm index 018ccebce89..9ffba1d29c1 100644 --- a/code/modules/power/lights.dm +++ b/code/modules/power/lights.dm @@ -45,26 +45,26 @@ if(get_dist(user, src) <= 2) switch(stage) if(LIGHT_CONSTRUCT_EMPTY_FRAME) - . += "It's an empty frame bolted to the wall. It needs to be wired." + . += SPAN_NOTICE("It's an empty frame bolted to the wall. It needs to be wired.") if(LIGHT_CONSTRUCT_WIRED) - . += "The frame is wired, but the casing's cover is unscrewed." + . += SPAN_NOTICE("The frame is wired, but the casing's cover is unscrewed.") if(LIGHT_CONSTRUCT_COMPLETED) - . += "The casing is screwed shut." + . += SPAN_NOTICE("The casing is screwed shut.") /obj/machinery/light_construct/wrench_act(mob/living/user, obj/item/I) . = TRUE switch(stage) if(LIGHT_CONSTRUCT_EMPTY_FRAME) - to_chat(user, "You begin to dismantle [src].") + to_chat(user, SPAN_NOTICE("You begin to dismantle [src].")) if(!I.use_tool(src, user, 30, volume = I.tool_volume)) return new /obj/item/stack/sheet/metal(get_turf(loc), sheets_refunded) TOOL_DISMANTLE_SUCCESS_MESSAGE qdel(src) if(LIGHT_CONSTRUCT_WIRED) - to_chat(user, "You have to remove the wires first.") + to_chat(user, SPAN_WARNING("You have to remove the wires first.")) if(LIGHT_CONSTRUCT_COMPLETED) - to_chat(user, "You have to unscrew the case first.") + to_chat(user, SPAN_WARNING("You have to unscrew the case first.")) /obj/machinery/light_construct/wirecutter_act(mob/living/user, obj/item/I) if(stage != LIGHT_CONSTRUCT_WIRED) @@ -87,8 +87,8 @@ stage = LIGHT_CONSTRUCT_COMPLETED update_icon(UPDATE_ICON_STATE) - user.visible_message("[user] closes [src]'s casing.", \ - "You close [src]'s casing.", "You hear a screwdriver.") + user.visible_message(SPAN_NOTICE("[user] closes [src]'s casing."), \ + SPAN_NOTICE("You close [src]'s casing."), SPAN_NOTICE("You hear a screwdriver.")) var/obj/machinery/light/newlight = new construct_type(loc) newlight.setDir(dir) @@ -105,8 +105,8 @@ stage = LIGHT_CONSTRUCT_WIRED update_icon(UPDATE_ICON_STATE) playsound(loc, coil.usesound, 50, 1) - user.visible_message("[user.name] adds wires to [src].", \ - "You add wires to [src].", "You hear a noise.") + user.visible_message(SPAN_NOTICE("[user.name] adds wires to [src]."), \ + SPAN_NOTICE("You add wires to [src]."), SPAN_NOTICE("You hear a noise.")) return ITEM_INTERACT_COMPLETE return ..() @@ -146,16 +146,16 @@ . = TRUE switch(stage) if(1) - to_chat(user, "You begin to dismantle [src].") + to_chat(user, SPAN_NOTICE("You begin to dismantle [src].")) if(!I.use_tool(src, user, 30, volume = I.tool_volume)) return new /obj/item/stack/tile/brass(get_turf(loc), sheets_refunded) TOOL_DISMANTLE_SUCCESS_MESSAGE qdel(src) if(2) - to_chat(user, "You have to remove the wires first.") + to_chat(user, SPAN_WARNING("You have to remove the wires first.")) if(3) - to_chat(user, "You have to unscrew the case first.") + to_chat(user, SPAN_WARNING("You have to unscrew the case first.")) /obj/machinery/light_construct/clockwork/deconstruct(disassembled = TRUE) if(!(flags & NODECONSTRUCT)) @@ -459,14 +459,14 @@ /obj/machinery/light/proc/fix(mob/user, obj/used_tool, emagged = FALSE) if(status != LIGHT_OK) - to_chat(user, "You replace the [fitting] with [used_tool].") + to_chat(user, SPAN_NOTICE("You replace the [fitting] with [used_tool].")) status = LIGHT_OK switchcount = 0 rigged = emagged on = has_power() update(TRUE, TRUE, FALSE) else - to_chat(user, "There is a working [fitting] already inserted!") + to_chat(user, SPAN_NOTICE("There is a working [fitting] already inserted!")) return /** * Updates the light's 'on' state and power consumption based on [/obj/machinery/light/var/on]. @@ -554,7 +554,7 @@ /obj/machinery/light/proc/burnout() status = LIGHT_BURNED - visible_message("[src] burns out!") + visible_message(SPAN_BOLDWARNING("[src] burns out!")) do_sparks(2, 1, src) on = FALSE @@ -573,14 +573,14 @@ if(in_range(user, src)) switch(status) if(LIGHT_OK) - . += "It is turned [on ? "on" : "off"]." + . += SPAN_NOTICE("It is turned [on ? "on" : "off"].") if(LIGHT_EMPTY) - . += "The [fitting] has been removed." - . += "The casing can be unscrewed." + . += SPAN_NOTICE("The [fitting] has been removed.") + . += SPAN_NOTICE("The casing can be unscrewed.") if(LIGHT_BURNED) - . += "The [fitting] is burnt out." + . += SPAN_NOTICE("The [fitting] is burnt out.") if(LIGHT_BROKEN) - . += "The [fitting] has been smashed." + . += SPAN_NOTICE("The [fitting] has been smashed.") // attack with item - insert light (if right type), otherwise try to break the light @@ -611,14 +611,14 @@ // quick check to disable capped spraypainting, aesthetic reasons if(spraycan.capped) - to_chat(user, "You can't spraypaint [src] with the cap still on!") + to_chat(user, SPAN_NOTICE("You can't spraypaint [src] with the cap still on!")) return ITEM_INTERACT_COMPLETE var/list/hsl = rgb2hsl(hex2num(copytext(spraycan.crayon_color, 2, 4)), hex2num(copytext(spraycan.crayon_color, 4, 6)), hex2num(copytext(spraycan.crayon_color, 6, 8))) hsl[3] = max(hsl[3], 0.4) var/list/rgb = hsl2rgb(arglist(hsl)) var/new_color = "#[num2hex(rgb[1], 2)][num2hex(rgb[2], 2)][num2hex(rgb[3], 2)]" color = new_color - to_chat(user, "You change [src]'s light bulb color.") + to_chat(user, SPAN_NOTICE("You change [src]'s light bulb color.")) brightness_color = new_color update(TRUE, TRUE, FALSE) return ITEM_INTERACT_COMPLETE @@ -626,13 +626,13 @@ // attempt to insert light if(istype(used, /obj/item/light)) if(status != LIGHT_EMPTY) - to_chat(user, "There is a [fitting] already inserted.") + to_chat(user, SPAN_WARNING("There is a [fitting] already inserted.")) else add_fingerprint(user) var/obj/item/light/L = used if(istype(L, light_type)) status = L.status - to_chat(user, "You insert [L].") + to_chat(user, SPAN_NOTICE("You insert [L].")) switchcount = L.switchcount rigged = L.rigged if(L.brightness_range) @@ -655,7 +655,7 @@ explode() else - to_chat(user, "This type of light requires a [fitting].") + to_chat(user, SPAN_WARNING("This type of light requires a [fitting].")) return ITEM_INTERACT_COMPLETE // attempt to break the light @@ -665,15 +665,15 @@ user.do_attack_animation(src) if(prob(1 + used.force * 5)) - user.visible_message("[user] smashed the light!", "You hit the light, and it smashes!", \ - "You hear the tinkle of breaking glass.") + user.visible_message(SPAN_DANGER("[user] smashed the light!"), SPAN_DANGER("You hit the light, and it smashes!"), \ + SPAN_DANGER("You hear the tinkle of breaking glass.")) if(on && (used.flags & CONDUCT)) if(prob(12)) electrocute_mob(user, get_area(src), src, 0.3, TRUE) break_light_tube() else - user.visible_message("[user] hits the light.", "You hit the light.", \ - "You hear someone hitting a light.") + user.visible_message(SPAN_DANGER("[user] hits the light."), SPAN_DANGER("You hit the light."), \ + SPAN_DANGER("You hear someone hitting a light.")) playsound(loc, 'sound/effects/glasshit.ogg', 75, 1) return ITEM_INTERACT_COMPLETE @@ -684,9 +684,9 @@ do_sparks(3, 1, src) if(prob(75)) // If electrocuted electrocute_mob(user, get_area(src), src, rand(0.7, 1), TRUE) - to_chat(user, "You are electrocuted by [src]!") + to_chat(user, SPAN_USERDANGER("You are electrocuted by [src]!")) else // If not electrocuted - to_chat(user, "You stick [used] into the light socket!") + to_chat(user, SPAN_DANGER("You stick [used] into the light socket!")) return ITEM_INTERACT_COMPLETE @@ -697,8 +697,8 @@ return I.play_tool_sound(src) - user.visible_message("[user] opens [src]'s casing.", \ - "You open [src]'s casing.", "You hear a screwdriver.") + user.visible_message(SPAN_NOTICE("[user] opens [src]'s casing."), \ + SPAN_NOTICE("You open [src]'s casing."), SPAN_NOTICE("You hear a screwdriver.")) deconstruct() return TRUE @@ -813,7 +813,7 @@ // ai attack - toggle emergency lighting /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) // attack with hand - remove tube/bulb @@ -840,12 +840,12 @@ 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(HAS_TRAIT(user, TRAIT_TELEKINESIS)) - to_chat(user, "You telekinetically remove the light [fitting].") + to_chat(user, SPAN_NOTICE("You telekinetically remove the light [fitting].")) else if(user.a_intent == INTENT_DISARM || user.a_intent == INTENT_GRAB) - 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!")) var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand") if(affecting.receive_damage(0, 5)) // 5 burn damage @@ -853,10 +853,10 @@ H.updatehealth() return else - to_chat(user, "You try to remove the light [fitting], but it's too hot to touch!") + to_chat(user, SPAN_NOTICE("You try to remove the light [fitting], but it's too hot to touch!")) 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) @@ -952,11 +952,11 @@ emergency_mode = FALSE no_emergency = TRUE addtimer(CALLBACK(src, PROC_REF(enable_emergency_lighting)), 5 MINUTES, TIMER_UNIQUE|TIMER_OVERRIDE) - visible_message("[src] flickers and falls dark.") + visible_message(SPAN_DANGER("[src] flickers and falls dark.")) update(FALSE) /obj/machinery/light/proc/enable_emergency_lighting() - visible_message("[src]'s emergency lighting flickers back to life.") + visible_message(SPAN_NOTICE("[src]'s emergency lighting flickers back to life.")) extinguished = FALSE no_emergency = FALSE update(FALSE) @@ -1075,7 +1075,7 @@ return if(S.reagents.has_reagent("plasma", 5) || S.reagents.has_reagent("plasma_dust", 5)) - to_chat(user, "You inject the solution into [src], rigging it to explode!") + to_chat(user, SPAN_DANGER("You inject the solution into [src], rigging it to explode!")) log_admin("LOG: [key_name(user)] injected a light with plasma, rigging it to explode.") message_admins("LOG: [key_name_admin(user)] injected a light with plasma, rigging it to explode.") @@ -1083,7 +1083,7 @@ S.reagents.clear_reagents() else // If it has a reagent, but it's not plasma - to_chat(user, "You fail to rig [src] with the solution.") + to_chat(user, SPAN_WARNING("You fail to rig [src] with the solution.")) else // If it's not a syringe return ..() @@ -1098,7 +1098,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_WARNING("[src] shatters."), SPAN_WARNING("You hear a small glass object shatter.")) status = LIGHT_BROKEN force = 5 sharp = TRUE @@ -1106,7 +1106,7 @@ update() /obj/item/light/suicide_act(mob/living/carbon/human/user) - user.visible_message("[user] touches [src], burning [user.p_their()] hands off!", "You touch [src], burning your hands off!") + user.visible_message(SPAN_SUICIDE("[user] touches [src], burning [user.p_their()] hands off!"), SPAN_SUICIDE("You touch [src], burning your hands off!")) for(var/oname in list("l_hand", "r_hand")) var/obj/item/organ/external/limb = user.get_organ(oname) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 934be5a0df6..a0d497bdd0e 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -116,10 +116,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 source found.") + to_chat(user, SPAN_ALERT("No power source found.")) return ITEM_INTERACT_COMPLETE stat &= ~BROKEN update_icon() @@ -132,25 +132,25 @@ return ITEM_INTERACT_COMPLETE if(terminal) // Checks for an existing terminal - to_chat(user, "This SMES already has a power terminal!") + to_chat(user, SPAN_ALERT("This SMES already has a power terminal!")) return ITEM_INTERACT_COMPLETE if(!panel_open) // Checks to see if the panel is closed - to_chat(user, "You must open the maintenance panel first!") + to_chat(user, SPAN_ALERT("You must open the maintenance panel first!")) return ITEM_INTERACT_COMPLETE var/turf/T = get_turf(user) if(T.intact) // Checks to see if floor plating is present - to_chat(user, "You must first remove the floor plating!") + to_chat(user, SPAN_ALERT("You must first remove the floor plating!")) return ITEM_INTERACT_COMPLETE var/obj/item/stack/cable_coil/C = used if(C.get_amount() < 10) - to_chat(user, "You need more wires.") + to_chat(user, SPAN_ALERT("You need more wires.")) return ITEM_INTERACT_COMPLETE if(user.loc == loc) - to_chat(user, "You must not be on the same tile as [src].") + to_chat(user, SPAN_WARNING("You must not be on the same tile as [src].")) return ITEM_INTERACT_COMPLETE // Direction the terminal will face to @@ -163,15 +163,15 @@ var/turf/temporary_location = get_step(src, REVERSE_DIR(temporary_direction)) if(isspaceturf(temporary_location)) - to_chat(user, "You can't build a terminal on space.") + to_chat(user, SPAN_WARNING("You can't build a terminal on space.")) return ITEM_INTERACT_COMPLETE else if(istype(temporary_location)) if(temporary_location.intact) - to_chat(user, "You must remove the floor plating first.") + to_chat(user, SPAN_WARNING("You must remove the floor plating first.")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You start adding cable to [src].") + to_chat(user, SPAN_NOTICE("You start adding cable to [src].")) playsound(loc, C.usesound, 50, TRUE) if(do_after(user, 5 SECONDS, target = src)) @@ -184,8 +184,8 @@ C.use(10) // make sure the cable gets used up user.visible_message(\ - "[user.name] adds the cables and connects the power terminal.",\ - "You add the cables and connect the power terminal.") + SPAN_NOTICE("[user.name] adds the cables and connects the power terminal."),\ + SPAN_NOTICE("You add the cables and connect the power terminal.")) make_terminal(user, temporary_direction, temporary_location) terminal.connect_to_network() @@ -196,10 +196,10 @@ if(istype(used, /obj/item/wirecutters) && terminal && panel_open) var/turf/T = get_turf(terminal) if(T.intact) //is the floor plating removed ? - to_chat(user, "You must first expose the power terminal!") + to_chat(user, SPAN_ALERT("You must first expose the power terminal!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You begin to dismantle the power terminal...") + to_chat(user, SPAN_NOTICE("You begin to dismantle the power terminal...")) playsound(src.loc, used.usesound, 50, TRUE) if(do_after(user, 5 SECONDS * used.toolspeed, target = src)) @@ -211,8 +211,8 @@ // Returns wires on deletion of the terminal new /obj/item/stack/cable_coil(T, 10) user.visible_message(\ - "[user.name] cuts the cables and dismantles the power terminal.",\ - "You cut the cables and dismantle the power terminal.") + SPAN_ALERT("[user.name] cuts the cables and dismantles the power terminal."),\ + SPAN_NOTICE("You cut the cables and dismantle the power terminal.")) inputting = FALSE // Set input FALSE when the terminal no longer exists qdel(terminal) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 7f170a742fb..c60c19d12c9 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -67,20 +67,20 @@ continue if(boolets > 0) box.update_appearance(UPDATE_DESC|UPDATE_ICON_STATE) - to_chat(user, "You collect [boolets] shell\s. [box] now contains [length(box.stored_ammo)] shell\s.") + to_chat(user, SPAN_NOTICE("You collect [boolets] shell\s. [box] now contains [length(box.stored_ammo)] shell\s.")) playsound(src, 'sound/weapons/gun_interactions/bulletinsert.ogg', 50, 1) else - to_chat(user, "You fail to collect anything!") + to_chat(user, SPAN_WARNING("You fail to collect anything!")) else ..() /obj/item/ammo_casing/screwdriver_act(mob/living/user, obj/item/I) . = TRUE if(!BB) - to_chat(user, "There is no bullet in the casing to inscribe anything into.") + to_chat(user, SPAN_NOTICE("There is no bullet in the casing to inscribe anything into.")) return if(!initial(BB.name) == "bullet") - to_chat(user, "You can only inscribe a metal bullet.")//because inscribing beanbags is silly + to_chat(user, SPAN_NOTICE("You can only inscribe a metal bullet."))//because inscribing beanbags is silly return var/tmp_label = "" @@ -89,14 +89,14 @@ return if(length(label_text) > 20) - to_chat(user, "The inscription can be at most 20 characters long.") + to_chat(user, SPAN_WARNING("The inscription can be at most 20 characters long.")) return if(label_text == "") - to_chat(user, "You scratch the inscription off of [initial(BB)].") + to_chat(user, SPAN_NOTICE("You scratch the inscription off of [initial(BB)].")) BB.name = initial(BB.name) else - to_chat(user, "You inscribe \"[label_text]\" into \the [initial(BB.name)].") + to_chat(user, SPAN_NOTICE("You inscribe \"[label_text]\" into \the [initial(BB.name)].")) BB.name = "[initial(BB.name)] \"[label_text]\"" @@ -212,10 +212,10 @@ user.transfer_item_to(AC, src) num_loaded++ else - to_chat(user, "You are unable to fit [AC] into \the [src].") + to_chat(user, SPAN_NOTICE("You are unable to fit [AC] into \the [src].")) 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_interactions/shotguninsert.ogg', 50, 1) A.update_appearance(UPDATE_DESC|UPDATE_ICON_STATE) update_appearance(UPDATE_DESC|UPDATE_ICON_STATE) @@ -227,7 +227,7 @@ if(A) user.put_in_hands(A) playsound(src, 'sound/weapons/gun_interactions/remove_bullet.ogg', 50, 1) - to_chat(user, "You remove a round from \the [src]!") + to_chat(user, SPAN_NOTICE("You remove a round from \the [src]!")) update_appearance(UPDATE_DESC|UPDATE_ICON_STATE) // `multi_sprite_step` governs whether there are different sprites for different degrees of being loaded. diff --git a/code/modules/projectiles/ammunition/ammo_casings.dm b/code/modules/projectiles/ammunition/ammo_casings.dm index 219634d28b5..c2933c9faed 100644 --- a/code/modules/projectiles/ammunition/ammo_casings.dm +++ b/code/modules/projectiles/ammunition/ammo_casings.dm @@ -442,7 +442,7 @@ if(!user.unequip(A)) // forceMove happens in add_pen return add_pen(A) - to_chat(user, "You insert [A] into [src].") + to_chat(user, SPAN_NOTICE("You insert [A] into [src].")) /obj/item/ammo_casing/caseless/foam_dart/screwdriver_act(mob/living/user, obj/item/I) if(modified) @@ -470,7 +470,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/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index bf605cea821..248f5a87aa2 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -283,13 +283,13 @@ user.transfer_item_to(AC, src) return if(istype(A, /obj/item/ammo_box/wt550) || istype(A, /obj/item/ammo_box/magazine/wt550m9)) - to_chat(user, "You begin to load the magazine with [A].") + to_chat(user, SPAN_NOTICE("You begin to load the magazine with [A].")) var/obj/item/ammo_box/AB = A for(var/obj/item/ammo_casing/AC in AB.stored_ammo) if(length(stored_ammo) >= max_ammo) - to_chat(user, "You stop loading the magazine with [A].") + to_chat(user, SPAN_NOTICE("You stop loading the magazine with [A].")) break - if(do_after_once(user, 0.5 SECONDS, target = src, allow_moving = TRUE, must_be_held = TRUE, attempt_cancel_message = "You stop loading the magazine with [A].")) + if(do_after_once(user, 0.5 SECONDS, target = src, allow_moving = TRUE, must_be_held = TRUE, attempt_cancel_message = SPAN_NOTICE("You stop loading the magazine with [A]."))) src.give_round(AC) AB.stored_ammo -= AC update_mat_value() @@ -615,7 +615,7 @@ /obj/item/ammo_box/magazine/detective/speedcharger/examine() . = ..() - . += "There is [charge_percent()]% charge left!" + . += SPAN_NOTICE("There is [charge_percent()]% charge left!") /obj/item/ammo_box/magazine/detective/speedcharger/attack_self__legacy__attackchain() return diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index e5bc8417459..f38b25c4ccf 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -108,13 +108,13 @@ /obj/item/gun/examine(mob/user) . = ..() if(unique_reskin && !current_skin) - . += "Alt-click it to reskin it." + . += SPAN_NOTICE("Alt-click it to reskin it.") if(unique_rename) - . += "Use a pen on it to rename it." + . += SPAN_NOTICE("Use a pen on it to rename it.") 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_NOTICE("[bayonet] looks like it can be unscrewed from [src].") else if(can_bayonet) . += "It has a bayonet lug on it." @@ -127,7 +127,7 @@ return 1 /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(user, 'sound/weapons/empty.ogg', 100, 1) /obj/item/gun/proc/shoot_live_shot(mob/living/user, atom/target, pointblank = FALSE, message = TRUE) @@ -149,15 +149,15 @@ if(message) if(pointblank) user.visible_message( - "[user] fires [src] point blank at [target]!", - "You fire [src] point blank at [target]!", - "You hear \a [fire_sound_text]!" + SPAN_DANGER("[user] fires [src] point blank at [target]!"), + SPAN_DANGER("You fire [src] point blank at [target]!"), + SPAN_DANGER("You hear \a [fire_sound_text]!") ) else user.visible_message( - "[user] fires [src]!", - "You fire [src]!", - "You hear \a [fire_sound_text]!" + SPAN_DANGER("[user] fires [src]!"), + SPAN_DANGER("You fire [src]!"), + SPAN_DANGER("You hear \a [fire_sound_text]!") ) if(chambered?.muzzle_flash_effect) var/obj/effect/temp_visual/target_angled/muzzle_flash/effect = new chambered.muzzle_flash_effect(get_turf(src), target, muzzle_flash_time) @@ -200,9 +200,9 @@ if(user.zone_selected == "mouth") if(target == user && HAS_TRAIT(user, TRAIT_BADASS)) // Check if we are blowing smoke off of our own gun, otherwise we are trying to execute someone user.visible_message( - "[user] blows smoke off of [src]'s barrel. What a badass.", - "You blow smoke off of [src]'s barrel.", - "You hear someone blowing over a hollow tube." + SPAN_DANGER("[user] blows smoke off of [src]'s barrel. What a badass."), + SPAN_DANGER("You blow smoke off of [src]'s barrel."), + SPAN_DANGER("You hear someone blowing over a hollow tube.") ) else handle_suicide(user, target, params) @@ -212,14 +212,14 @@ if(clumsy_check) if(istype(user)) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40)) - to_chat(user, "You shoot yourself in the foot with \the [src]!") + to_chat(user, SPAN_USERDANGER("You shoot yourself in the foot with \the [src]!")) var/shot_leg = pick("l_foot", "r_foot") process_fire(user, user, 0, params, zone_override = shot_leg) user.drop_item() return if(!HAS_TRAIT(user, TRAIT_BADASS) && weapon_weight == WEAPON_HEAVY && user.get_inactive_hand()) - to_chat(user, "You need both hands free to fire \the [src]!") + to_chat(user, SPAN_USERDANGER("You need both hands free to fire \the [src]!")) return //DUAL WIELDING @@ -249,7 +249,7 @@ if(!user.can_use_guns(src)) return 0 if(restricted_species && length(restricted_species) && !is_type_in_list(user.dna.species, restricted_species)) - to_chat(user, "[src] is incompatible with your biology!") + to_chat(user, SPAN_DANGER("[src] is incompatible with your biology!")) return 0 return 1 @@ -271,7 +271,7 @@ if(burst_size > 1) if(chambered && chambered.harmful) 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. - 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 firing_burst = 1 for(var/i = 1 to burst_size) @@ -301,7 +301,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((pick(1,-1)) * (randomized_gun_spread + randomized_bonus_spread)) if(!chambered.fire(target = target, user = user, params = params, distro = null, quiet = suppressed, zone_override = zone_override, spread = sprd, firer_source_atom = src)) @@ -351,7 +351,7 @@ if(!gun_light) if(!user.transfer_item_to(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].")) playsound(src, 'sound/machines/click.ogg', 50, TRUE) if(S.on) set_light(0) @@ -366,7 +366,7 @@ if(is_pen(I)) var/t = rename_interactive(user, I, use_prefix = FALSE) if(!isnull(t)) - to_chat(user, "You name the gun [name]. Say hello to your new friend.") + to_chat(user, SPAN_NOTICE("You name the gun [name]. Say hello to your new friend.")) if(istype(I, /obj/item/kitchen/knife)) var/obj/item/kitchen/knife/K = I if(!can_bayonet || !K.bayonet || bayonet) //ensure the gun has an attachment point available, and that the knife is compatible with it. @@ -374,7 +374,7 @@ if(!user.drop_item()) return K.forceMove(src) - to_chat(user, "You attach [K] to [src]'s bayonet lug.") + to_chat(user, SPAN_NOTICE("You attach [K] to [src]'s bayonet lug.")) playsound(src, 'sound/machines/click.ogg', 50, TRUE) bayonet = K var/state = "bayonet" //Generic state. @@ -395,7 +395,7 @@ return if(gun_light && can_flashlight) for(var/obj/item/flashlight/seclite/S in src) - to_chat(user, "You unscrew the seclite from [src].") + to_chat(user, SPAN_NOTICE("You unscrew the seclite from [src].")) gun_light = null S.loc = get_turf(user) update_gun_light(user) @@ -405,7 +405,7 @@ qdel(TGL) else if(bayonet && can_bayonet) // if it has a bayonet, and the bayonet can be removed bayonet.forceMove(get_turf(user)) - to_chat(user, "You remove [bayonet] from [src].") + to_chat(user, SPAN_NOTICE("You remove [bayonet] from [src].")) clear_bayonet() /obj/item/gun/proc/toggle_gunlight() @@ -414,7 +414,7 @@ gun_light.on = !gun_light.on var/mob/living/carbon/human/user = usr if(user) - to_chat(user, "You toggle the gun light [gun_light.on ? "on":"off"].") + to_chat(user, SPAN_NOTICE("You toggle the gun light [gun_light.on ? "on":"off"].")) playsound(src, 'sound/weapons/empty.ogg', 100, 1) update_gun_light(user) @@ -443,14 +443,14 @@ /obj/item/gun/extinguish_light(force = FALSE) if(gun_light?.on) toggle_gunlight() - visible_message("[src]'s light fades and turns off.") + visible_message(SPAN_DANGER("[src]'s light fades and turns off.")) /obj/item/gun/AltClick(mob/user) ..() if(user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(unique_reskin && !current_skin && loc == user) reskin_gun(user) @@ -487,13 +487,13 @@ if(!ishuman(user)) // Borg suicide needs a refactor for this to work. return 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..." + 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..." + 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 = 1 @@ -501,11 +501,11 @@ if(!do_mob(user, target, execution_speed) || user.zone_selected != "mouth") if(user) if(user == target) - user.visible_message("[user] decided life was worth living.") + user.visible_message(SPAN_NOTICE("[user] decided life was worth living.")) else if(target && target.Adjacent(user)) target.visible_message( - "[user] has decided to spare [target]'s life.", - "[user] has decided to spare your life!" + SPAN_NOTICE("[user] has decided to spare [target]'s life."), + SPAN_USERDANGER("[user] has decided to spare your life!") ) semicd = 0 return @@ -513,8 +513,8 @@ semicd = 0 target.visible_message( - "[user] pulls the trigger!", - "[user] pulls the trigger!" + SPAN_WARNING("[user] pulls the trigger!"), + SPAN_USERDANGER("[user] pulls the trigger!") ) if(chambered && chambered.BB) diff --git a/code/modules/projectiles/guns/chaos_bolt.dm b/code/modules/projectiles/guns/chaos_bolt.dm index 888cb0fbc84..0f9578842b5 100644 --- a/code/modules/projectiles/guns/chaos_bolt.dm +++ b/code/modules/projectiles/guns/chaos_bolt.dm @@ -27,7 +27,7 @@ if(target && isliving(target)) var/mob/living/L = target if(L.stat == DEAD) - L.visible_message("[target] glows faintly, but nothing else happens.") + L.visible_message(SPAN_WARNING("[target] glows faintly, but nothing else happens.")) return chaos_chaos(L) @@ -62,11 +62,11 @@ if(!item_to_summon) return if(!target.mind) //no abusing mindless mobs for free stuff - target.visible_message("[target] glows faintly, but nothing else happens.") + target.visible_message(SPAN_WARNING("[target] glows faintly, but nothing else happens.")) return if(explosion_amount) - target.visible_message("A bunch of [item_to_summon.name] scatter around [target]!", \ - "A bunch of [item_to_summon.name] scatter around you!") + target.visible_message(SPAN_CHAOSNEUTRAL("A bunch of [item_to_summon.name] scatter around [target]!"), \ + SPAN_CHAOSNEUTRAL("A bunch of [item_to_summon.name] scatter around you!")) for(var/i in 1 to explosion_amount) var/obj/item/I = new item_to_summon(get_turf(target)) throwforce = 0 @@ -75,30 +75,30 @@ return if(!ishuman(target)) var/obj/item/I = new item_to_summon(get_turf(target)) - target.visible_message("\A [I] drops next to [target]!", "\A [I] drops on the floor!") + target.visible_message(SPAN_CHAOSGOOD("\A [I] drops next to [target]!"), SPAN_CHAOSGOOD("\A [I] drops on the floor!")) return var/mob/living/carbon/human/H = target var/obj/item/I = new item_to_summon(src) if(H.back && isstorage(H.back)) var/obj/item/storage/S = H.back S.handle_item_insertion(I, H, TRUE) //We don't check if it can be inserted because it's magic, GET IN THERE! - H.visible_message("[H]'s [S.name] glows bright!", "\A [I] suddenly appears in your glowing [S.name]!") + H.visible_message(SPAN_CHAOSGOOD("[H]'s [S.name] glows bright!"), SPAN_CHAOSVERYGOOD("\A [I] suddenly appears in your glowing [S.name]!")) return if(H.back && ismodcontrol(H.back)) var/obj/item/mod/control/C = H.back if(C.bag) C.handle_item_insertion(I, H, TRUE) - H.visible_message("[H]'s [C] glows bright!", "\A [I] suddenly appears in your glowing [C.name]!") + H.visible_message(SPAN_CHAOSGOOD("[H]'s [C] glows bright!"), SPAN_CHAOSVERYGOOD("\A [I] suddenly appears in your glowing [C.name]!")) return I.forceMove(get_turf(H)) - H.visible_message("\A [I] drops next to [H]!", "\A [I] drops on the floor!") + H.visible_message(SPAN_CHAOSGOOD("\A [I] drops next to [H]!"), SPAN_CHAOSVERYGOOD("\A [I] drops on the floor!")) /** * Picks and apply a lethal effect on mob/living/target. Some are more instantaneous than others. */ /obj/projectile/magic/chaos/proc/apply_lethal_effect(mob/living/target) if(!ishuman(target)) - target.visible_message("[target] suddenly dies!", "Game over!") + target.visible_message(SPAN_CHAOSVERYBAD("[target] suddenly dies!"), SPAN_CHAOSVERYBAD("Game over!")) target.death(FALSE) return chaos_effect = pick("ded", "heart deleted", "gibbed", "cluwned", "spaced", "decapitated", "banned", \ @@ -106,19 +106,19 @@ var/mob/living/carbon/human/H = target switch(chaos_effect) if("ded") - H.visible_message("[H] drops dead!", "Game over!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] drops dead!"), SPAN_CHAOSVERYBAD("Game over!")) H.death() if("heart deleted") - H.visible_message("[H] looks like they're about to die!", "HEARTUS DELETUS!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] looks like they're about to die!"), SPAN_CHAOSVERYBAD("HEARTUS DELETUS!")) var/obj/item/organ/internal/heart/target_heart = H.get_int_organ(/obj/item/organ/internal/heart) if(target_heart) target_heart.remove(H) qdel(target_heart) if("gibbed") - H.visible_message("[H] falls into gibs!", "Oof!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] falls into gibs!"), SPAN_CHAOSVERYBAD("Oof!")) H.gib() if("cluwned") - H.visible_message("[H] turns into a cluwne!", "Oh no.") + H.visible_message(SPAN_CHAOSVERYBAD("[H] turns into a cluwne!"), SPAN_CHAOSVERYBAD("Oh no.")) H.makeCluwne() if("spaced") for(var/obj/item/I in H) @@ -127,50 +127,50 @@ if(!T) //Shouldn't happen but just in case T = safepick(get_area_turfs(/area/space)) if(!T) //What do you mean there's no space? Okay well just die then - H.visible_message("[H] drops dead!", "Game over!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] drops dead!"), SPAN_CHAOSVERYBAD("Game over!")) H.death(FALSE) else - H.visible_message("[H] disappears!", "COLD! CAN'T BREATHE!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] disappears!"), SPAN_CHAOSVERYBAD("COLD! CAN'T BREATHE!")) do_teleport(H, T) if("decapitated") - H.visible_message("[H]'s head goes flying!'", \ - "You watch the floor fly to your face as you rapidly lose consciousness...") + H.visible_message(SPAN_CHAOSVERYBAD("[H]'s head goes flying!'"), \ + SPAN_CHAOSVERYBAD("You watch the floor fly to your face as you rapidly lose consciousness...")) var/obj/item/organ/external/affected = target.get_organ("head") var/atom/movable/A = affected.droplimb(1, DROPLIMB_SHARP) INVOKE_ASYNC(A, TYPE_PROC_REF(/atom/movable, throw_at), pick(oview(7, get_turf(src))), 10, 1) if("banned") - H.visible_message("[H] gets BWOINKED out of existence!", \ - "You get BWOINKED out of existence!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] gets [SPAN_ADMINHELP("BWOINKED")] out of existence!"), \ + SPAN_CHAOSVERYBAD("You get [SPAN_ADMINHELP("BWOINKED")] out of existence!")) playsound(H, 'sound/effects/adminhelp.ogg', 100, FALSE) qdel(H) if("exploded") - H.visible_message("[H] explodes!", "Boom!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] explodes!"), SPAN_CHAOSVERYBAD("Boom!")) explosion(get_turf(H), 1, 1, 1, cause = "staff of chaos lethal explosion effect, fired by [key_name(firer)]") if("cheese morphed") - H.visible_message("[H] transforms into cheese!", "You've been transformed into cheese!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] transforms into cheese!"), SPAN_CHAOSVERYBAD("You've been transformed into cheese!")) new /obj/item/food/sliced/cheesewedge(get_turf(H)) qdel(H) if("supermattered") var/obj/machinery/atmospherics/supermatter_crystal/supercrystal = GLOB.main_supermatter_engine if(!supercrystal) - H.visible_message("[H] drops dead!", "Game over!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] drops dead!"), SPAN_CHAOSVERYBAD("Game over!")) H.death() else - H.visible_message("[H] disappears!", "All you see is yellow before you fall to dust...") + H.visible_message(SPAN_CHAOSVERYBAD("[H] disappears!"), SPAN_CHAOSVERYBAD("All you see is yellow before you fall to dust...")) do_teleport(H, supercrystal, 1) H.throw_at(supercrystal, 10, 2) if(H && H.stat == CONSCIOUS) - to_chat(H, "... not? You're alive? Huh. Neat.") + to_chat(H, SPAN_CHAOSVERYBAD("... not? You're alive? Huh. Neat.")) if("borged") - H.visible_message("[H] turns into a cyborg!", "Beep boop!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] turns into a cyborg!"), SPAN_CHAOSVERYBAD("Beep boop!")) wabbajack(H, force_borg = TRUE) if("animal morphed") - H.visible_message("[H] turns into an animal!", "Welcome to the jungle!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] turns into an animal!"), SPAN_CHAOSVERYBAD("Welcome to the jungle!")) wabbajack(H, force_animal = TRUE) if("trick revolver") item_to_summon = /obj/item/gun/projectile/revolver/fake if("prions") - H.visible_message("[H] laughs uncontrollably!", "You feel like you're going to die of laughter!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] laughs uncontrollably!"), SPAN_CHAOSVERYBAD("You feel like you're going to die of laughter!")) H.reagents.add_reagent("prions", 5) /** @@ -180,21 +180,21 @@ if(!ishuman(target)) if(prob(50)) target.apply_damage(CHAOS_STAFF_DAMAGE, BRUTE) - target.visible_message("[target] gets slashed by [src]!", "You get slashed by [src]!") + target.visible_message(SPAN_CHAOSBAD("[target] gets slashed by [src]!"), SPAN_CHAOSBAD("You get slashed by [src]!")) else target.apply_damage(CHAOS_STAFF_DAMAGE, BURN) - target.visible_message("[target] gets burned by [src]!", "You get burned by [src]!") + target.visible_message(SPAN_CHAOSBAD("[target] gets burned by [src]!"), SPAN_CHAOSBAD("You get burned by [src]!")) return chaos_effect = pick("fireballed", "ice spiked", "rathend", "stabbed", "slashed", "burned", "poisoned", \ "plasma", "teleport", "teleport roulette", "electrocuted") var/mob/living/carbon/human/H = target switch(chaos_effect) if("fireballed") - H.visible_message("[H] is hit by a fireball! ", "You get hit by a fireball!") + H.visible_message(SPAN_CHAOSBAD("[H] is hit by a fireball! "), SPAN_CHAOSVERYBAD("You get hit by a fireball!")) H.apply_damage(CHAOS_STAFF_DAMAGE / 3, BRUTE) explosion(get_turf(H), -1, 0, 2, 3, flame_range = 2, cause = "staff of chaos fireball effect, fired by [key_name(firer)]") if("ice spiked") - H.visible_message("[H]'s chest get pierced by an ice spike!", "An ice spike pierces your chest!") + H.visible_message(SPAN_CHAOSBAD("[H]'s chest get pierced by an ice spike!"), SPAN_CHAOSVERYBAD("An ice spike pierces your chest!")) H.apply_damage(CHAOS_STAFF_DAMAGE, BRUTE, "chest") H.bodytemperature = 250 if("rathend") @@ -202,49 +202,49 @@ if(!A) H.apply_damage(CHAOS_STAFF_DAMAGE / 3, BRUTE, "chest") new/obj/effect/decal/cleanable/blood/gibs(get_turf(H)) - to_chat(H, "Blood flows out of your body!") + to_chat(H, SPAN_CHAOSBAD("Blood flows out of your body!")) H.KnockDown(6 SECONDS) return A.remove(H) A.forceMove(get_turf(H)) A.throw_at(get_edge_target_turf(H, pick(GLOB.alldirs)), rand(1, 10), 5) - H.visible_message("[H]'s [A.name] flies out of their body in a magical explosion!",\ - "Your [A.name] flies out of your body in a magical explosion!") + H.visible_message(SPAN_CHAOSBAD("[H]'s [A.name] flies out of their body in a magical explosion!"),\ + SPAN_CHAOSBAD("Your [A.name] flies out of your body in a magical explosion!")) H.KnockDown(4 SECONDS) if("stabbed") - H.visible_message("[H] gets stabbed by a magical knife!", "You get stabbed by a magical knife!") + H.visible_message(SPAN_CHAOSBAD("[H] gets stabbed by a magical knife!"), SPAN_CHAOSBAD("You get stabbed by a magical knife!")) H.apply_damage(CHAOS_STAFF_DAMAGE, BRUTE, "chest") if("slashed") - H.visible_message("[H] gets slashed by a magical knife!", "You get slashed by a magical knife!") + H.visible_message(SPAN_CHAOSBAD("[H] gets slashed by a magical knife!"), SPAN_CHAOSBAD("You get slashed by a magical knife!")) H.apply_damage(CHAOS_STAFF_DAMAGE, BRUTE, pick("l_arm", "r_arm")) if("burned") - H.visible_message("[H] gets set on fire!", "You're on fire! Literally!") + H.visible_message(SPAN_CHAOSBAD("[H] gets set on fire!"), SPAN_CHAOSVERYBAD("You're on fire! Literally!")) H.apply_damage(CHAOS_STAFF_DAMAGE / 2, BURN) H.adjust_fire_stacks(14) H.IgniteMob() H.emote("scream") if("poisoned") - H.visible_message("[H] looks ill!", "You feel sick...") + H.visible_message(SPAN_CHAOSBAD("[H] looks ill!"), SPAN_CHAOSBAD("You feel sick...")) var/random_reagent = pick("carpotoxin", "cyanide", "amanitin", "sarin", "venom") H.reagents.add_reagent(random_reagent, CHAOS_STAFF_DAMAGE / 3) if("plasma") - H.visible_message("A cloud of plasma surrounds [H]!", "You're covered in plasma gas!") + H.visible_message(SPAN_CHAOSBAD("A cloud of plasma surrounds [H]!"), SPAN_CHAOSBAD("You're covered in plasma gas!")) H.atmos_spawn_air(LINDA_SPAWN_TOXINS | LINDA_SPAWN_20C, 200) if("teleport") var/turf/T T = find_safe_turf() //Get a safe station turf if(T) - H.visible_message("[H] disappears!", "You've been teleported!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] disappears!"), SPAN_CHAOSVERYBAD("You've been teleported!")) do_teleport(H, T) if("teleport roulette") H.apply_status_effect(STATUS_EFFECT_TELEPORT_ROULETTE) var/turf/T T = find_safe_turf() //Get a safe station turf if(T) - H.visible_message("[H] disappears!", "You feel sick as you're teleported around the station!") + H.visible_message(SPAN_CHAOSVERYBAD("[H] disappears!"), SPAN_CHAOSVERYBAD("You feel sick as you're teleported around the station!")) do_teleport(H, T) if("electrocuted") - H.visible_message("[H] gets electrocuted!", "You get electrocuted!") + H.visible_message(SPAN_CHAOSBAD("[H] gets electrocuted!"), SPAN_CHAOSBAD("You get electrocuted!")) H.electrocute_act(CHAOS_STAFF_DAMAGE, src) /datum/status_effect/teleport_roulette @@ -273,7 +273,7 @@ if("recolor") //non-humans only because recoloring humans is kinda meh target.color = pick(GLOB.random_color_list) if("bark") - target.visible_message("[target] barks!", "Bark!") + target.visible_message(SPAN_CHAOSNEUTRAL("[target] barks!"), SPAN_CHAOSNEUTRAL("Bark!")) playsound(target, 'sound/creatures/dog_bark1.ogg', 100, FALSE) if("smoke") var/datum/effect_system/smoke_spread/smoke = new @@ -307,10 +307,10 @@ if(ishuman(target) && target.mind) var/mob/living/carbon/human/H = target var/obj/item/magic_tarot_card/spawned_card = new /obj/item/magic_tarot_card(H) - H.visible_message("[H] is forced to use [spawned_card]!", "[spawned_card] appears in front of you and glows bright!") + H.visible_message(SPAN_CHAOSNEUTRAL("[H] is forced to use [spawned_card]!"), SPAN_CHAOSNEUTRAL("[spawned_card] appears in front of you and glows bright!")) spawned_card.pre_activate(H) else - target.visible_message("[target] glows faintly, but nothing else happens.") + target.visible_message(SPAN_WARNING("[target] glows faintly, but nothing else happens.")) /** * Picks a random gift to be given to mob/living/target. Should be mildly useful and/or funny. */ @@ -326,7 +326,7 @@ item_to_summon = /obj/item/food/sliced/cheesewedge explosion_amount = rand(5, 10) if("food") - target.visible_message("Food scatters around [target]!", "A bunch of food scatters around you!") + target.visible_message(SPAN_CHAOSNEUTRAL("Food scatters around [target]!"), SPAN_CHAOSNEUTRAL("A bunch of food scatters around you!")) var/limit = rand(5, 10) for(var/i in 1 to limit) var/type = pick(typesof(/obj/item/food)) @@ -376,7 +376,7 @@ item_to_summon = /obj/item/grenade/clown_grenade if("disco ball") new /obj/machinery/disco/chaos_staff(get_turf(target)) - target.visible_message("DANCE TILL YOU'RE DEAD!") + target.visible_message(SPAN_CHAOSVERYGOOD("DANCE TILL YOU'RE DEAD!")) if("syndicate minibomb") item_to_summon = /obj/item/grenade/syndieminibomb if("crystal ball") diff --git a/code/modules/projectiles/guns/energy/energy.dm b/code/modules/projectiles/guns/energy/energy.dm index a9b419af0f3..4226813ac5e 100644 --- a/code/modules/projectiles/guns/energy/energy.dm +++ b/code/modules/projectiles/guns/energy/energy.dm @@ -179,7 +179,7 @@ /obj/item/gun/energy/gun/turret/examine(mob/user) . = ..() - . += "This weapon has no internal power source. It cannot function without being mounted in a turret frame!" + . += SPAN_WARNING("This weapon has no internal power source. It cannot function without being mounted in a turret frame!") /obj/item/gun/energy/gun/turret/examine_more(mob/user) ..() @@ -210,8 +210,8 @@ /obj/item/gun/energy/gun/nuclear/examine(mob/user) . = ..() - . += "[src] contains a miniturised nuclear reactor that will slowly reacharge its power cell at all times. It can still be put into a gun charger for faster charging." - . += "Known to drive people mad by forcing them to wait for shots to recharge." + . += SPAN_NOTICE("[src] contains a miniturised nuclear reactor that will slowly reacharge its power cell at all times. It can still be put into a gun charger for faster charging.") + . += SPAN_NOTICE("Known to drive people mad by forcing them to wait for shots to recharge.") /obj/item/gun/energy/gun/nuclear/examine_more(mob/user) ..() diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 4206f701b25..0fc0886486b 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -36,8 +36,8 @@ . += "[get_remaining_mod_capacity()]% mod capacity remaining." for(var/A in get_modkits()) var/obj/item/borg/upgrade/modkit/M = A - . |= "You can use a crowbar on it to remove it's installed mod kits." - . += "There is a [M.name] mod installed, using [M.cost]% capacity." + . |= SPAN_NOTICE("You can use a crowbar on it to remove it's installed mod kits.") + . += SPAN_NOTICE("There is a [M.name] mod installed, using [M.cost]% capacity.") /obj/item/gun/energy/kinetic_accelerator/attackby__legacy__attackchain(obj/item/I, mob/user) if(istype(I, /obj/item/borg/upgrade/modkit) && max_mod_capacity) @@ -51,11 +51,11 @@ if(!max_mod_capacity) return if(!length(modkits)) - to_chat(user, "There are no modifications currently installed.") + to_chat(user, SPAN_NOTICE("There are no modifications currently installed.")) return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return - to_chat(user, "You pry the modifications out.") + to_chat(user, SPAN_NOTICE("You pry the modifications out.")) for(var/obj/item/borg/upgrade/modkit/M in modkits) M.uninstall(src) @@ -157,7 +157,7 @@ if(!suppressed) playsound(loc, 'sound/weapons/kenetic_reload.ogg', 60, 1) else if(isliving(loc)) - to_chat(loc, "[src] silently charges up.") + to_chat(loc, SPAN_WARNING("[src] silently charges up.")) update_icon() overheat = FALSE @@ -205,7 +205,7 @@ /obj/item/gun/energy/kinetic_accelerator/railgun/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(is_station_level(loc.z)) - to_chat(user, "[src] clicks. Its internal safety prevents it from firing near the station.") + to_chat(user, SPAN_WARNING("[src] clicks. Its internal safety prevents it from firing near the station.")) return return ..() @@ -383,7 +383,7 @@ M.projectile_strike(src, target_turf, target, kinetic_gun) if(ismineralturf(target_turf)) if(is_ancient_rock(target_turf)) - visible_message("This rock appears to be resistant to all mining tools except pickaxes!") + visible_message(SPAN_NOTICE("This rock appears to be resistant to all mining tools except pickaxes!")) else var/turf/simulated/mineral/M = target_turf M.gets_drilled(firer) @@ -422,7 +422,7 @@ /obj/item/borg/upgrade/modkit/examine(mob/user) . = ..() if(in_range(user, src)) - . += "Occupies [cost]% of mod capacity." + . += SPAN_NOTICE("Occupies [cost]% of mod capacity.") /obj/item/borg/upgrade/modkit/attackby__legacy__attackchain(obj/item/A, mob/user) if(istype(A, /obj/item/gun/energy/kinetic_accelerator) && !issilicon(user)) @@ -448,10 +448,10 @@ return FALSE if(minebot_upgrade) if(minebot_exclusive && !istype(KA.loc, /mob/living/basic/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/basic/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 @@ -464,15 +464,15 @@ break if(KA.get_remaining_mod_capacity() >= cost) if(.) - to_chat(user, "You install the modkit.") + to_chat(user, SPAN_NOTICE("You install the modkit.")) playsound(loc, usesound, 100, 1) user.unequip(src) forceMove(KA) 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/proc/uninstall(obj/item/gun/energy/kinetic_accelerator/KA) @@ -589,7 +589,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, armor_penetration_flat = K.armor_penetration_flat, armor_penetration_percentage = K.armor_penetration_percentage) 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.dm b/code/modules/projectiles/guns/energy/laser.dm index 664e978937e..4e77516a63d 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -66,7 +66,7 @@ /obj/item/gun/energy/laser/practice/examine(mob/user) . = ..() - . += "This weapon's shots are too weak to harm anyone, it is useless as an offensive weapon." + . += SPAN_WARNING("This weapon's shots are too weak to harm anyone, it is useless as an offensive weapon.") ////////////////////////////// // MARK: RETRO LASER @@ -112,7 +112,7 @@ /obj/item/gun/energy/laser/captain/examine(mob/user) . = ..() - . += "[src] contains a miniturised nuclear reactor that will slowly reacharge its power cell at all times. It can still be put into a gun charger for faster charging." + . += SPAN_NOTICE("[src] contains a miniturised nuclear reactor that will slowly reacharge its power cell at all times. It can still be put into a gun charger for faster charging.") /obj/item/gun/energy/laser/captain/examine_more(mob/user) ..() @@ -238,7 +238,7 @@ AddComponent(/datum/component/scope, range_modifier = 2, time_to_scope = 2 SECONDS, flags = SCOPE_MOVEMENT_CANCELS | SCOPE_TURF_ONLY | SCOPE_NEED_ACTIVE_HAND) /obj/item/gun/energy/lwap/on_scope_success(mob/living/user) - to_chat(user, "SCOPE_CREEPER_[rand(1, 9999)] Online.") + to_chat(user, "[SPAN_ROBOT("SCOPE_CREEPER_[rand(1, 9999)] Online.")]") select_fire(user) user.apply_status_effect(STATUS_EFFECT_LWAPSCOPE) diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 17cd326c506..76745a4dd94 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -87,7 +87,7 @@ /obj/item/gun/energy/pulse/pistol/examine(mob/user) . = ..() - . += "The power cell of this weapon cannot be recharged!" + . += SPAN_WARNING("The power cell of this weapon cannot be recharged!") /obj/item/gun/energy/pulse/pistol/examine_more(mob/user) ..() @@ -113,7 +113,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse) /obj/item/gun/energy/pulse/destroyer/attack_self__legacy__attackchain(mob/living/user) - to_chat(user, "[src] is now set to DESTROY.") + to_chat(user, SPAN_NOTICE("[src] is now set to DESTROY.")) ////////////////////////////// // MARK: PULSE ANNIHILATOR @@ -124,7 +124,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter/pulse) /obj/item/gun/energy/pulse/destroyer/annihilator/attack_self__legacy__attackchain(mob/living/user) - to_chat(user, "[src] is now set to ANNIHILATE.") + to_chat(user, SPAN_BOLDANNOUNCEIC("[src] is now set to ANNIHILATE.")) ////////////////////////////// // MARK: M1911-P @@ -139,7 +139,7 @@ /obj/item/gun/energy/pulse/pistol/m1911/examine(mob/user) . = ..() - . += "[src] contains a highly experimental power cell that consatntly generates energy seemingly out of nowhere. It will never run out of charge." + . += SPAN_NOTICE("[src] contains a highly experimental power cell that consatntly generates energy seemingly out of nowhere. It will never run out of charge.") /obj/item/gun/energy/pulse/pistol/m1911/examine_more(mob/user) ..() @@ -170,7 +170,7 @@ /obj/item/gun/energy/pulse/turret/examine(mob/user) . = ..() - . += "This weapon has no internal power source. It cannot function without being mounted in a turret frame!" + . += SPAN_WARNING("This weapon has no internal power source. It cannot function without being mounted in a turret frame!") /obj/item/gun/energy/pulse/turret/examine_more(mob/user) ..() diff --git a/code/modules/projectiles/guns/energy/special_eguns.dm b/code/modules/projectiles/guns/energy/special_eguns.dm index 1335edc96f5..5027b39085e 100644 --- a/code/modules/projectiles/guns/energy/special_eguns.dm +++ b/code/modules/projectiles/guns/energy/special_eguns.dm @@ -226,7 +226,7 @@ /obj/item/gun/energy/kinetic_accelerator/suicide_act(mob/user) if(!suppressed) playsound(loc, 'sound/weapons/kenetic_reload.ogg', 60, 1) - user.visible_message("[user] cocks [src] and pretends to blow [user.p_their()] brains out! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(SPAN_SUICIDE("[user] cocks [src] and pretends to blow [user.p_their()] brains out! It looks like [user.p_theyre()] trying to commit suicide!")) shoot_live_shot(user, user, FALSE, FALSE) return OXYLOSS @@ -252,8 +252,8 @@ /obj/item/gun/energy/plasmacutter/examine(mob/user) . = ..() - . += "[src] can be recharged by inserting plasma sheets or raw plasma ore into it." - . += "[src] cannot be charged in a gun charging station." + . += SPAN_NOTICE("[src] can be recharged by inserting plasma sheets or raw plasma ore into it.") + . += SPAN_WARNING("[src] cannot be charged in a gun charging station.") /obj/item/gun/energy/plasmacutter/examine_more(mob/user) ..() @@ -273,7 +273,7 @@ S.use(1) cell.give(1000) on_recharge() - to_chat(user, "You insert [A] in [src], recharging it.") + to_chat(user, SPAN_NOTICE("You insert [A] in [src], recharging it.")) else if(istype(A, /obj/item/stack/ore/plasma)) if(cell.charge >= cell.maxcharge) to_chat(user,"[src] is already fully charged.") @@ -282,7 +282,7 @@ S.use(1) cell.give(500) on_recharge() - to_chat(user, "You insert [A] in [src], recharging it.") + to_chat(user, SPAN_NOTICE("You insert [A] in [src], recharging it.")) else return ..() @@ -362,8 +362,8 @@ orange.target = get_turf(blue) /obj/item/gun/energy/wormhole_projector/suicide_act(mob/user) - user.visible_message(pick("[user] looking directly into the operational end of [src]! It looks like [user.p_theyre()] trying to commit suicide!", - "[user] is touching the operatonal end of [src]! It looks like [user.p_theyre()] trying to commit suicide!")) + user.visible_message(pick(SPAN_SUICIDE("[user] looking directly into the operational end of [src]! It looks like [user.p_theyre()] trying to commit suicide!"), + SPAN_SUICIDE("[user] is touching the operatonal end of [src]! It looks like [user.p_theyre()] trying to commit suicide!"))) if(!do_after(user, 0.5 SECONDS, target = user)) // touch/looking doesn't take that long, but still probably good for a delay to exist for shoving and whatnot return SHAME user.dust() @@ -445,7 +445,7 @@ /obj/item/gun/energy/clown/examine(mob/user) . = ..() - . += "[src] contains a strange bananium core that somehow slowly reacharges its power cell at all times. It can still be put into a gun charger for faster charging." + . += SPAN_NOTICE("[src] contains a strange bananium core that somehow slowly reacharges its power cell at all times. It can still be put into a gun charger for faster charging.") /obj/item/gun/energy/clown/examine_more(mob/user) ..() @@ -484,7 +484,7 @@ /obj/item/gun/energy/plasma_pistol/examine(mob/user) . = ..() - . += "Beware! Improper handling of [src] may release a cloud of highly flammable plasma gas!" + . += SPAN_WARNING("Beware! Improper handling of [src] may release a cloud of highly flammable plasma gas!") /obj/item/gun/energy/plasma_pistol/examine_more(mob/user) ..() @@ -518,15 +518,15 @@ /obj/item/gun/energy/plasma_pistol/attack_self__legacy__attackchain(mob/living/user) if(overloaded) - to_chat(user, "[src] is already overloaded!") + to_chat(user, SPAN_WARNING("[src] is already overloaded!")) return if(cell.charge <= 140) //at least 6 seconds of charge time - to_chat(user, "[src] does not have enough charge to be overloaded.") + to_chat(user, SPAN_WARNING("[src] does not have enough charge to be overloaded.")) return if(charging) - to_chat(user, "[src] is already charging!") + to_chat(user, SPAN_WARNING("[src] is already charging!")) return - to_chat(user, "You begin to overload [src].") + to_chat(user, SPAN_NOTICE("You begin to overload [src].")) charging = TRUE charge_failure = FALSE holder = user @@ -599,7 +599,7 @@ reset_overloaded() do_sparks(2, 1, src) update_icon() - visible_message("[src] vents heated plasma!") + visible_message(SPAN_DANGER("[src] vents heated plasma!")) var/turf/simulated/T = get_turf(src) if(istype(T)) var/datum/gas_mixture/air = new() @@ -639,14 +639,14 @@ /obj/item/gun/energy/bsg/examine(mob/user) . = ..() if(core && has_bluespace_crystal) - . += "[src] is fully operational!" - . += "[src] will generate a protective field that shields the user from the blast of its own projectiles when fired." + . += SPAN_NOTICE("[src] is fully operational!") + . += SPAN_NOTICE("[src] will generate a protective field that shields the user from the blast of its own projectiles when fired.") else if(core) - . += "It has a flux anomaly core installed, but no bluespace crystal installed." + . += SPAN_WARNING("It has a flux anomaly core installed, but no bluespace crystal installed.") else if(has_bluespace_crystal) - . += "It has a bluespace crystal installed, but no flux anomaly core installed." + . += SPAN_WARNING("It has a bluespace crystal installed, but no flux anomaly core installed.") else - . += "It is missing a flux anomaly core and bluespace crystal." + . += SPAN_WARNING("It is missing a flux anomaly core and bluespace crystal.") /obj/item/gun/energy/bsg/examine_more(mob/user) ..() @@ -665,12 +665,12 @@ /obj/item/gun/energy/bsg/attackby__legacy__attackchain(obj/item/O, mob/user, params) if(istype(O, /obj/item/stack/ore/bluespace_crystal)) if(has_bluespace_crystal) - to_chat(user, "[src] already has a bluespace crystal installed.") + to_chat(user, SPAN_NOTICE("[src] already has a bluespace crystal installed.")) return var/obj/item/stack/S = O if(!loc || !S || S.get_amount() < 1) return - to_chat(user, "You load [O] into [src].") + to_chat(user, SPAN_NOTICE("You load [O] into [src].")) S.use(1) has_bluespace_crystal = TRUE update_icon() @@ -678,12 +678,12 @@ if(istype(O, /obj/item/assembly/signaler/anomaly/flux)) if(core) - to_chat(user, "[src] already has a [O]!") + to_chat(user, SPAN_NOTICE("[src] already has a [O]!")) return if(!user.drop_item()) - to_chat(user, "[O] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[O] is stuck to your hand!")) return - to_chat(user, "You insert [O] into [src], and [src] starts to warm up.") + to_chat(user, SPAN_NOTICE("You insert [O] into [src], and [src] starts to warm up.")) O.forceMove(src) core = O update_icon() @@ -700,10 +700,10 @@ /obj/item/gun/energy/bsg/process_fire(atom/target, mob/living/user, message = TRUE, params, zone_override, bonus_spread = 0) if(!has_bluespace_crystal) - to_chat(user, "[src] has no bluespace crystal to power it!") + to_chat(user, SPAN_WARNING("[src] has no bluespace crystal to power it!")) return if(!core) - to_chat(user, "[src] has no flux anomaly core to power it!") + to_chat(user, SPAN_WARNING("[src] has no flux anomaly core to power it!")) return return ..() @@ -728,7 +728,7 @@ /obj/item/gun/energy/bsg/proc/shatter() if(admin_model) return - visible_message("[src]'s bluespace crystal shatters!") + visible_message(SPAN_WARNING("[src]'s bluespace crystal shatters!")) playsound(src, 'sound/effects/pylon_shatter.ogg', 50, TRUE) has_bluespace_crystal = FALSE update_icon() @@ -813,7 +813,7 @@ /obj/item/gun/energy/temperature/emag_act(mob/user) if(!emagged) emagged = TRUE - to_chat(user, "You remove the gun's temperature cap! Targets hit by searing beams will burst into flames!") + to_chat(user, SPAN_WARNING("You remove the gun's temperature cap! Targets hit by searing beams will burst into flames!")) desc += " Its temperature cap has been removed." max_temp = 1000 temperature_multiplier *= 5 //so emagged temp guns adjust their temperature much more quickly @@ -960,7 +960,7 @@ /obj/item/gun/energy/detective/examine(mob/user) . = ..() - . += "Ctrl-click to clear active tracked target or clear linked pinpointer." + . += SPAN_NOTICE("Ctrl-click to clear active tracked target or clear linked pinpointer.") /obj/item/gun/energy/detective/emp_act(severity) . = ..() @@ -975,11 +975,11 @@ var/tracking_target = locateUID(tracking_target_UID) if(tracking_target) if(tgui_alert(user, "Do you want to clear the tracker?", "Tracker reset", list("Yes", "No")) == "Yes") - to_chat(user, "[src] stops tracking [tracking_target]") + to_chat(user, SPAN_NOTICE("[src] stops tracking [tracking_target]")) stop_pointing() if(linked_pinpointer_UID) if(tgui_alert(user, "Do you want to clear the linked pinpointer?", "Pinpointer reset", list("Yes", "No")) == "Yes") - to_chat(user, "[src] is ready to be linked to a new pinpointer.") + to_chat(user, SPAN_NOTICE("[src] is ready to be linked to a new pinpointer.")) unlink() /obj/item/gun/energy/detective/proc/link_pinpointer(pinpointer_UID) @@ -997,9 +997,9 @@ /obj/item/gun/energy/detective/multitool_act(mob/living/user, obj/item/I) . = TRUE - user.visible_message("[user] starts [overcharged ? "restoring" : "removing"] the safety limits on [src].", "You start [overcharged ? "restoring" : "removing"] the safety limits on [src]") + user.visible_message(SPAN_NOTICE("[user] starts [overcharged ? "restoring" : "removing"] the safety limits on [src]."), SPAN_NOTICE("You start [overcharged ? "restoring" : "removing"] the safety limits on [src]")) if(!I.use_tool(src, user, 10 SECONDS, volume = I.tool_volume)) - user.visible_message("[user] stops modifying the safety limits on [src].", "You stop modifying the [src]'s safety limits") + user.visible_message(SPAN_NOTICE("[user] stops modifying the safety limits on [src]."), SPAN_NOTICE("You stop modifying the [src]'s safety limits")) return if(!overcharged) overcharged = TRUE @@ -1011,7 +1011,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/detective, /obj/item/ammo_casing/energy/detective/tracker_warrant) update_ammo_types() select_fire(user) - user.visible_message("[user] [overcharged ? "removes" : "restores"] the safety limits on [src].", "You [overcharged ? "remove" : "restore" ] the safety limits on [src]") + user.visible_message(SPAN_NOTICE("[user] [overcharged ? "removes" : "restores"] the safety limits on [src]."), SPAN_NOTICE("You [overcharged ? "remove" : "restore" ] the safety limits on [src]")) update_icon() /obj/item/gun/energy/detective/attackby__legacy__attackchain(obj/item/I, mob/user, params) @@ -1020,10 +1020,10 @@ return var/obj/item/ammo_box/magazine/detective/speedcharger/S = I if(!S.charge) - to_chat(user, "[S] has no charge to give!") + to_chat(user, SPAN_NOTICE("[S] has no charge to give!")) return if(cell.charge == cell.maxcharge) - to_chat(user, "[src] is already at full power!") + to_chat(user, SPAN_NOTICE("[src] is already at full power!")) return var/new_speedcharger_charge = cell.give(S.charge) S.charge -= new_speedcharger_charge @@ -1035,7 +1035,7 @@ return ..() if(prob(clamp((100 - ((cell.charge / cell.maxcharge) * 100)), 10, 70))) //minimum probability of 10, maximum of 70 playsound(user, fire_sound, 50, 1) - visible_message("[src]'s energy cell overloads!") + visible_message(SPAN_USERDANGER("[src]'s energy cell overloads!")) user.apply_damage(60, BURN, pick(BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_PRECISE_R_HAND)) user.EyeBlurry(10 SECONDS) user.flash_eyes(2, TRUE) @@ -1105,7 +1105,7 @@ /obj/item/gun/energy/spikethrower/examine(mob/user) . = ..() - . += "This item's cell recharges on its own. Known to drive people mad by forcing them to wait for shots to recharge. Not compatible with rechargers." + . += SPAN_NOTICE("This item's cell recharges on its own. Known to drive people mad by forcing them to wait for shots to recharge. Not compatible with rechargers.") ////////////////////////////// // MARK: VORTEX SHOTGUN @@ -1222,7 +1222,7 @@ /obj/item/gun/energy/laser/lever_action/examine(mob/user) . = ..() - . += "This weapon is rechargable by cycling the action, or by twirling the firearm with some skill." + . += SPAN_NOTICE("This weapon is rechargable by cycling the action, or by twirling the firearm with some skill.") /obj/item/gun/energy/laser/lever_action/examine_more(mob/user) ..() diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index eed1558721a..079d35d95fe 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -105,7 +105,7 @@ return ..() /obj/item/gun/energy/disabler/suicide_act(mob/user) - user.visible_message("[user] is putting the barrel of [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to shirk [user.p_their()] responsibilities!") + 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 shirk [user.p_their()] responsibilities!")) sleep(25) if(user.is_holding(src)) if(can_shoot()) @@ -116,7 +116,7 @@ else playsound(loc, 'sound/weapons/empty.ogg', 50, TRUE, -1) else - user.visible_message("[user] fumbles [src]! [user.p_they(TRUE)] can't even get this right!") + user.visible_message(SPAN_SUICIDE("[user] fumbles [src]! [user.p_they(TRUE)] can't even get this right!")) return SHAME ////////////////////////////// diff --git a/code/modules/projectiles/guns/energy/telegun.dm b/code/modules/projectiles/guns/energy/telegun.dm index bd6a5692b22..e32c50e792b 100644 --- a/code/modules/projectiles/guns/energy/telegun.dm +++ b/code/modules/projectiles/guns/energy/telegun.dm @@ -38,7 +38,7 @@ if(!desc) return teleport_target = L[desc] - to_chat(user, "The [src] is now set to [desc].") + to_chat(user, SPAN_NOTICE("The [src] is now set to [desc].")) //Process the shot without draining the cell if(chambered) if(chambered.BB) diff --git a/code/modules/projectiles/guns/energy_guns.dm b/code/modules/projectiles/guns/energy_guns.dm index 5eb520f70d0..7429afa76c1 100644 --- a/code/modules/projectiles/guns/energy_guns.dm +++ b/code/modules/projectiles/guns/energy_guns.dm @@ -44,11 +44,11 @@ /obj/item/gun/energy/examine(mob/user) . = ..() if(cell) - . += "It is [round(cell.percent())]% charged." - . += "Energy weapons can fire through windows and other see-through surfaces. [can_charge ? "Can be recharged with a recharger" : "Cannot be recharged in a recharger."]" + . += SPAN_NOTICE("It is [round(cell.percent())]% charged.") + . += SPAN_NOTICE("Energy weapons can fire through windows and other see-through surfaces. [can_charge ? "Can be recharged with a recharger" : "Cannot be recharged in a recharger."]") if(current_lens) - . += "Has a lens currently attached." - . += "Lenses can be removed with Alt-Click." + . += SPAN_NOTICE("Has a lens currently attached.") + . += SPAN_NOTICE("Lenses can be removed with Alt-Click.") /obj/item/gun/energy/emp_act(severity) cell.use(round(cell.charge / severity)) @@ -92,10 +92,10 @@ if(!istype(new_lens)) return if(current_lens) - to_chat(user, "Your [src] already has a lens.") + to_chat(user, SPAN_NOTICE("Your [src] already has a lens.")) return if(new_lens.flags & NODROP || !user.transfer_item_to(new_lens, src)) - to_chat(user, "[new_lens] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[new_lens] is stuck to your hand!")) return current_lens = new_lens new_lens.on_attached(src) @@ -105,7 +105,7 @@ if(!Adjacent(user)) return if(!current_lens) - to_chat(user, "Your [src] has no lens to remove.") + to_chat(user, SPAN_NOTICE("Your [src] has no lens to remove.")) return user.put_in_hands(current_lens) current_lens.on_detached() @@ -193,7 +193,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].")) if(chambered)//phil235 if(chambered.BB) qdel(chambered.BB) @@ -261,20 +261,20 @@ /obj/item/gun/energy/suicide_act(mob/user) if(can_shoot()) - 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_icon() 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 blow [user.p_their()] brains 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()] brains out with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/weapons/empty.ogg', 50, TRUE, -1) return OXYLOSS diff --git a/code/modules/projectiles/guns/grenade_launcher.dm b/code/modules/projectiles/guns/grenade_launcher.dm index d5e28f0ecb9..bf69e7109d2 100644 --- a/code/modules/projectiles/guns/grenade_launcher.dm +++ b/code/modules/projectiles/guns/grenade_launcher.dm @@ -14,7 +14,7 @@ /obj/item/gun/grenadelauncher/examine(mob/user) . = ..() if(get_dist(user, src) <= 2) - . += "[length(grenades)] / [max_grenades] grenades." + . += SPAN_NOTICE("[length(grenades)] / [max_grenades] grenades.") /obj/item/gun/grenadelauncher/attackby__legacy__attackchain(obj/item/I as obj, mob/user as mob, params) if((istype(I, /obj/item/grenade))) @@ -23,10 +23,10 @@ return I.forceMove(src) grenades += I - to_chat(user, "You put the grenade in [src].") - to_chat(user, "[length(grenades)] / [max_grenades] grenades.") + to_chat(user, SPAN_NOTICE("You put the grenade in [src].")) + to_chat(user, SPAN_NOTICE("[length(grenades)] / [max_grenades] grenades.")) else - to_chat(user, "The grenade launcher cannot hold more grenades.") + to_chat(user, SPAN_WARNING("The grenade launcher cannot hold more grenades.")) else return ..() @@ -37,11 +37,11 @@ if(length(grenades)) fire_grenade(target,user) else - to_chat(user, "The grenade launcher is empty.") + to_chat(user, SPAN_DANGER("The grenade launcher is empty.")) /obj/item/gun/grenadelauncher/proc/fire_grenade(atom/target, mob/user) - 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/chem_grenade/F = grenades[1] //Now with less copypasta! grenades -= F F.loc = user.loc diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index 9f1c4cbfadc..c7127ad88c9 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -25,12 +25,12 @@ 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 if(!user.can_cast_magic(antimagic_flags)) - to_chat(user, "[src] whizzles quietly.") + to_chat(user, SPAN_WARNING("[src] whizzles quietly.")) return FALSE ..() @@ -83,10 +83,10 @@ return /obj/item/gun/magic/shoot_with_empty_chamber(mob/living/user as mob|obj) - to_chat(user, "[src] whizzles quietly.") + to_chat(user, SPAN_WARNING("[src] whizzles quietly.")) return /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 7e3716b7e5d..cb25cd0a715 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -56,7 +56,7 @@ CONTENTS: 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 = FALSE @@ -66,7 +66,7 @@ CONTENTS: update_icon() /obj/item/gun/magic/wand/proc/zap_self(mob/living/user) - user.visible_message("[user] zaps [user.p_themselves()] with [src].") + user.visible_message(SPAN_DANGER("[user] zaps [user.p_themselves()] with [src].")) playsound(user, fire_sound, 50, 1) user.create_attack_log("[key_name(user)] zapped [user.p_themselves()] with a [src]") add_attack_logs(user, user, "zapped [user.p_themselves()] with a [src]", ATKLOG_ALL) @@ -89,9 +89,9 @@ CONTENTS: if(isliving(user)) if(user.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead user.revive() - 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?")]") + to_chat(user, SPAN_WARNING("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?")]")) if(ismachineperson(user)) //speshul snowfleks deserv speshul treetment user.adjustFireLoss(6969) user.death(FALSE) @@ -112,11 +112,11 @@ CONTENTS: charges-- if(isliving(user)) if(user.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead - to_chat(user, "You irradiate yourself with pure positive 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?")]") + to_chat(user, SPAN_WARNING("You irradiate yourself with pure positive 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?")]")) user.death(FALSE) return user.revive() - to_chat(user, "You feel great!") + to_chat(user, SPAN_NOTICE("You feel great!")) // WAND OF POLYMORPH @@ -170,7 +170,7 @@ CONTENTS: no_den_usage = TRUE /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-- ..() @@ -208,30 +208,30 @@ CONTENTS: return !isnull(cig) if(!charges) - to_chat(user, "[src] is out of charge!") + to_chat(user, SPAN_WARNING("[src] is out of charge!")) return TRUE if(prob(50) || user.mind.assigned_role == "Wizard") if(target == user) user.visible_message( - "Holy shit! Did [user] just manage to light [user.p_their()] [cig.name] with [src], with only moderate eyebrow singing!?", - "You swish and flick [src], lighting [cig] with a plume of flame, whilst only moderately eyebrow singing your eyebrows.", - "You hear a brief burst of flame!" + SPAN_WARNING("Holy shit! Did [user] just manage to light [user.p_their()] [cig.name] with [src], with only moderate eyebrow singing!?"), + SPAN_NOTICE("You swish and flick [src], lighting [cig] with a plume of flame, whilst only moderately eyebrow singing your eyebrows."), + SPAN_WARNING("You hear a brief burst of flame!") ) else user.visible_message( - "Holy shit! Did [user] just manage to light [cig] for [target] with [src], only moderately singing [target.p_their()] eyebrows!?", - "You swish and flick [src] at [target], lighting [user.p_their()] [cig.name] with a plume of flame, whilst only moderately singing [target.p_their()] eyebrows.", - "You hear a brief burst of flame!" + SPAN_WARNING("Holy shit! Did [user] just manage to light [cig] for [target] with [src], only moderately singing [target.p_their()] eyebrows!?"), + SPAN_NOTICE("You swish and flick [src] at [target], lighting [user.p_their()] [cig.name] with a plume of flame, whilst only moderately singing [target.p_their()] eyebrows."), + SPAN_WARNING("You hear a brief burst of flame!") ) cig.light(user, target) return TRUE // Oops... user.visible_message( - "Unsure which end of [src] is which, [user] zaps [user.p_themselves()] with a fireball!", - "Unsure which end of [src] is which, you accidentally zap yourself with a fireball!", - "You hear a firey explosion!" + SPAN_USERDANGER("Unsure which end of [src] is which, [user] zaps [user.p_themselves()] with a fireball!"), + SPAN_USERDANGER("Unsure which end of [src] is which, you accidentally zap yourself with a fireball!"), + SPAN_USERDANGER("You hear a firey explosion!") ) explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2, cause = "Fireball to the face from failed cigarette lighting") charges-- @@ -255,7 +255,7 @@ CONTENTS: max_charges = 5 //5, 4, 3, 2 /obj/item/gun/magic/wand/slipping/zap_self(mob/living/user) - to_chat(user, "You feel rather silly!.") + to_chat(user, SPAN_NOTICE("You feel rather silly!.")) charges-- ..() diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm index 108d0ad3e4a..23ea2704d05 100644 --- a/code/modules/projectiles/guns/medbeam.dm +++ b/code/modules/projectiles/guns/medbeam.dm @@ -77,7 +77,7 @@ if(get_dist(source,current_target)>max_range || !los_check(source,current_target)) LoseTarget() if(ishuman(source) && isrobot(source)) - to_chat(source, "You lose control of the beam!") + to_chat(source, SPAN_WARNING("You lose control of the beam!")) return if(current_target) @@ -106,7 +106,7 @@ return FALSE for(var/obj/effect/ebeam/medical/B in turf)// Don't cross the str-beams! if(B.owner && B.owner != current_beam && !QDELETED(B)) // only blow up if it has a CONFIRMED different owner than us. Don't want it blowing up on creation/deletion of beams. - turf.visible_message("The medbeams cross and EXPLODE!") + turf.visible_message(SPAN_USERDANGER("The medbeams cross and EXPLODE!")) explosion(B.loc,0,3,5,8, cause = "Crossed beams") qdel(dummy) return FALSE @@ -167,37 +167,37 @@ . += "This ones cooling systems are damaged beyond repair, and will overheat rapidly. \ Despite the damaged cooling system, it's still mostly functional. However, if overheated, it will need to be repaired." if(broken) - . += "It is broken, and will not function without repairs." + . += SPAN_NOTICE("It is broken, and will not function without repairs.") switch(broken) if(SCREWDRIVER_OPEN) - . += "The panel can be screwed open to access the internals." + . += SPAN_NOTICE("The panel can be screwed open to access the internals.") if(REMOVE_OLD_PARTS) - . += "The old fried electronics and melted lens have to be pried out." + . += SPAN_NOTICE("The old fried electronics and melted lens have to be pried out.") if(WELD_SHELL) - . += "The distorted shell needs to be welded back to form." + . += SPAN_NOTICE("The distorted shell needs to be welded back to form.") if(INSTALL_LENS) - . += "It needs a new glass lens." + . += SPAN_NOTICE("It needs a new glass lens.") if(INSTALL_ELECTRONICS) - . += "It needs new cabling for the electronics." + . += SPAN_NOTICE("It needs new cabling for the electronics.") if(INSTALL_CELL) . += "It needs a fully charged specialized battery to function." if(MULTITOOL_ELECTRONICS) - . += "The electronics need to be tested and reactivated with a multitool." + . += SPAN_NOTICE("The electronics need to be tested and reactivated with a multitool.") if(SCREWDRIVER_CLOSED) - . += "The panel needs to be screwed shut before it is usable." + . += SPAN_NOTICE("The panel needs to be screwed shut before it is usable.") if(!in_range(src, user)) return var/heat_percent = (current_heat / max_heat) * 100 switch(heat_percent) if(20 to 39) - . += "[src] feels warm." + . += SPAN_NOTICE("[src] feels warm.") if(40 to 59) - . += "[src] feels hot." + . += SPAN_NOTICE("[src] feels hot.") if(60 to 74) // i want it to be in the 'smoke' range at ~40 heat so as magic smoke is sudden but quick reaction time can stop it - . += "[src] is so hot it hurts to hold." + . += SPAN_WARNING("[src] is so hot it hurts to hold.") if(75 to INFINITY) - . += "[src] is emitting its magic smoke and is practically melting." + . += SPAN_WARNING("[src] is emitting its magic smoke and is practically melting.") /obj/item/gun/medbeam/damaged/process() . = ..() @@ -208,14 +208,14 @@ /obj/item/gun/medbeam/damaged/can_trigger_gun(mob/living/user) if(broken) - to_chat(user, "[src] fails to start! It's broken!") + to_chat(user, SPAN_WARNING("[src] fails to start! It's broken!")) return FALSE return ..() /obj/item/gun/medbeam/damaged/on_beam_tick(mob/living/user, mob/living/target) . = ..() if(current_heat >= max_heat) - user.visible_message("[src] pops as it shuts off!", "[src] pops and hisses as it shuts off. It is broken.") + user.visible_message(SPAN_WARNING("[src] pops as it shuts off!"), SPAN_WARNING("[src] pops and hisses as it shuts off. It is broken.")) broken = SCREWDRIVER_OPEN playsound(src, 'sound/effects/snap.ogg', 70, TRUE) // that didn't sound good... user.adjustFireLoss(30) // you do NOT want to be holding this if it breaks. 5 more damage than hive lord cores heal, so not /thattt/ bad @@ -227,7 +227,7 @@ return if(current_heat / max_heat > damaging_heat_percent) - to_chat(user, "[src] burns to hold!") + to_chat(user, SPAN_WARNING("[src] burns to hold!")) user.adjustFireLoss(0.1 * (current_heat / max_heat)) current_heat = min(current_heat + 1, max_heat) @@ -239,41 +239,41 @@ if(istype(attacking_item, /obj/item/stock_parts/cell/medbeam)) var/obj/item/stock_parts/cell/medbeam/battery = attacking_item if(battery.charge != battery.maxcharge) - to_chat(user, "[src] won't function without a fully charged [battery].") + to_chat(user, SPAN_WARNING("[src] won't function without a fully charged [battery].")) return - to_chat(user, "You start replacing [src]'s battery.") + to_chat(user, SPAN_NOTICE("You start replacing [src]'s battery.")) attempt_repair(user, attacking_item, MULTITOOL_ELECTRONICS) return if(broken == INSTALL_ELECTRONICS) if(istype(attacking_item, /obj/item/stack/cable_coil)) - to_chat(user, "You start replacing the fried electronics in [src].") + to_chat(user, SPAN_NOTICE("You start replacing the fried electronics in [src].")) attempt_repair(user, attacking_item, INSTALL_CELL) return if(broken == INSTALL_LENS) if(istype(attacking_item, /obj/item/stack/sheet/glass)) - to_chat(user, "You start replacing the broken lens in [src].") + to_chat(user, SPAN_NOTICE("You start replacing the broken lens in [src].")) attempt_repair(user, attacking_item, INSTALL_ELECTRONICS) return /obj/item/gun/medbeam/damaged/screwdriver_act(mob/user, obj/item/screwdriver) if(broken == SCREWDRIVER_OPEN) if(overheated) - to_chat(user, "[src] is still too hot for the screws to be safely removed from it.") + to_chat(user, SPAN_WARNING("[src] is still too hot for the screws to be safely removed from it.")) return - to_chat(user, "You start removing the screws from [src]'s shell.") + to_chat(user, SPAN_NOTICE("You start removing the screws from [src]'s shell.")) attempt_repair(user, screwdriver, REMOVE_OLD_PARTS) return TRUE if(broken == SCREWDRIVER_CLOSED) - to_chat(user, "You start replacing the screws on [src]'s shell.") + to_chat(user, SPAN_NOTICE("You start replacing the screws on [src]'s shell.")) attempt_repair(user, screwdriver, FALSE) return TRUE /obj/item/gun/medbeam/damaged/crowbar_act(mob/living/user, obj/item/crowbar) if(broken == REMOVE_OLD_PARTS) - to_chat(user, "You start prying out the old electronics and lens from [src].") + to_chat(user, SPAN_NOTICE("You start prying out the old electronics and lens from [src].")) attempt_repair(user, crowbar, WELD_SHELL) return TRUE @@ -281,9 +281,9 @@ . = ..() if(broken == WELD_SHELL) if(!welder.tool_start_check(src, user, 1)) - to_chat(user, "[welder] isn't functioning.") + to_chat(user, SPAN_WARNING("[welder] isn't functioning.")) return - to_chat(user, "You start welding [src] back to form.") + to_chat(user, SPAN_NOTICE("You start welding [src] back to form.")) attempt_repair(user, welder, INSTALL_LENS) return TRUE @@ -292,7 +292,7 @@ if(user.electrocute_act(rand(1, 10), src)) do_sparks(6, FALSE, user) return TRUE - to_chat(user, "You start to activate the electronics in [src].") + to_chat(user, SPAN_NOTICE("You start to activate the electronics in [src].")) attempt_repair(user, multitool, SCREWDRIVER_CLOSED) return TRUE @@ -307,7 +307,7 @@ /obj/item/gun/medbeam/damaged/proc/attempt_repair(mob/living/user, obj/item/tool_used, next_broken_state) if(!do_after_once(user, 5 SECONDS, TRUE, src)) - to_chat(user, "You stop repairing [src].") + to_chat(user, SPAN_NOTICE("You stop repairing [src].")) return if(!user.Adjacent(src)) @@ -329,7 +329,7 @@ if(!istype(lens)) return if(!lens.use(5)) - to_chat(user, "You need [5 - lens.get_amount()] more [lens] to repair [src]'s electronics.") + to_chat(user, SPAN_WARNING("You need [5 - lens.get_amount()] more [lens] to repair [src]'s electronics.")) return if(INSTALL_ELECTRONICS) @@ -337,7 +337,7 @@ if(!istype(cable)) return if(!cable.use(10)) - to_chat(user, "You need [10 - cable.get_amount()] more [cable] to repair [src]'s electronics.") + to_chat(user, SPAN_WARNING("You need [10 - cable.get_amount()] more [cable] to repair [src]'s electronics.")) return if(INSTALL_CELL) @@ -345,7 +345,7 @@ if(!istype(battery)) return if(!user.get_active_hand() == battery) - to_chat(user, "You lost [src]'s battery.") + to_chat(user, SPAN_WARNING("You lost [src]'s battery.")) return qdel(battery) diff --git a/code/modules/projectiles/guns/misc/blastcannon.dm b/code/modules/projectiles/guns/misc/blastcannon.dm index c18a2919a14..22ecd853cb4 100644 --- a/code/modules/projectiles/guns/misc/blastcannon.dm +++ b/code/modules/projectiles/guns/misc/blastcannon.dm @@ -18,7 +18,7 @@ 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(UPDATE_NAME|UPDATE_DESC|UPDATE_ICON_STATE) return ..() @@ -47,12 +47,12 @@ if(istype(O, /obj/item/transfer_valve)) var/obj/item/transfer_valve/T = O if(!T.tank_one || !T.tank_two) - 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.drop_item()) - to_chat(user, "[T] seems to be stuck to your hand!") + to_chat(user, SPAN_WARNING("[T] seems to be stuck to your hand!")) return FALSE - user.visible_message("[user] attaches [T] to [src]!") + user.visible_message(SPAN_WARNING("[user] attaches [T] to [src]!")) T.forceMove(src) bomb = T update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_ICON_STATE) @@ -83,7 +83,7 @@ var/heavy = power * 0.2 var/medium = power * 0.5 var/light = power - user.visible_message("[user] opens [bomb] on [user.p_their()] [name] and fires a blast wave at [target]!","You open [bomb] on your [name] and fire a blast wave at [target]!") + user.visible_message(SPAN_DANGER("[user] opens [bomb] on [user.p_their()] [name] and fires a blast wave at [target]!"),SPAN_DANGER("You open [bomb] on your [name] and fire a blast wave at [target]!")) playsound(user, "explosion", 100, 1) var/turf/starting = get_turf(user) var/turf/targturf = get_turf(target) diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 8bbef738e9f..afe59d6f729 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -41,12 +41,12 @@ var/obj/item/ammo_box/magazine/AM = A if(istype(AM, mag_type)) if(magazine) - to_chat(user, "You perform a tactical reload on \the [src], replacing the magazine.") + to_chat(user, SPAN_NOTICE("You perform a tactical reload on \the [src], replacing the magazine.")) magazine.loc = get_turf(loc) magazine.update_icon() magazine = null else - to_chat(user, "You insert the magazine into \the [src].") + to_chat(user, SPAN_NOTICE("You insert the magazine into \the [src].")) if(alarmed) alarmed = 0 user.unequip(AM) @@ -66,11 +66,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/gun_interactions/selector.ogg', 100, 1) update_icon() @@ -232,15 +232,15 @@ select = 1 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.")) if(1) select = 2 - to_chat(user, "You switch to grenades.") + to_chat(user, SPAN_NOTICE("You switch to grenades.")) if(2) 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/gun_interactions/selector.ogg', 100, 1) update_icon() @@ -339,7 +339,7 @@ if(isstorage(loc)) // To prevent inventory exploits var/obj/item/storage/Strg = loc if(Strg.max_w_class < WEIGHT_CLASS_BULKY) - to_chat(user, "You can't reload [src], with a XL mag, while it's in a normal bag.") + to_chat(user, SPAN_WARNING("You can't reload [src], with a XL mag, while it's in a normal bag.")) return return ..() diff --git a/code/modules/projectiles/guns/projectile/bow.dm b/code/modules/projectiles/guns/projectile/bow.dm index 42f5147b96d..4bb0a85cc3a 100644 --- a/code/modules/projectiles/guns/projectile/bow.dm +++ b/code/modules/projectiles/guns/projectile/bow.dm @@ -40,7 +40,7 @@ /obj/item/gun/projectile/bow/attackby__legacy__attackchain(obj/item/A, mob/user, params) var/num_loaded = magazine.attackby__legacy__attackchain(A, user, params, 1) if(num_loaded) - to_chat(user, "You ready \the [A] into \the [src].") + to_chat(user, SPAN_NOTICE("You ready \the [A] into \the [src].")) update_icon() chamber_round() diff --git a/code/modules/projectiles/guns/projectile/launchers.dm b/code/modules/projectiles/guns/projectile/launchers.dm index bd752aeac3e..430bba45810 100644 --- a/code/modules/projectiles/guns/projectile/launchers.dm +++ b/code/modules/projectiles/guns/projectile/launchers.dm @@ -84,6 +84,6 @@ /obj/item/gun/projectile/automatic/speargun/attackby__legacy__attackchain(obj/item/A, mob/user, params) var/num_loaded = magazine.attackby__legacy__attackchain(A, user, params, 1) if(num_loaded) - to_chat(user, "You load [num_loaded] spear\s into \the [src].") + to_chat(user, SPAN_NOTICE("You load [num_loaded] spear\s into \the [src].")) update_icon() chamber_round() diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 8af1bcd7c7e..3f989f783df 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -16,7 +16,7 @@ /obj/item/gun/projectile/revolver/examine(mob/user) . = ..() . += "[get_ammo(0, 0)] of those are live rounds." - . += "You can Alt-Click [src] to spin it's barrel." + . += SPAN_NOTICE("You can Alt-Click [src] to spin it's barrel.") /obj/item/gun/projectile/revolver/chamber_round(spin = 1) if(spin) @@ -40,7 +40,7 @@ return var/num_loaded = magazine.attackby__legacy__attackchain(A, user, params, 1) if(num_loaded) - 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].")) A.update_icon() update_icon() chamber_round(0) @@ -58,9 +58,9 @@ playsound(get_turf(CB), "casingdrop", 60, 1) num_unloaded++ if(num_unloaded) - to_chat(user, "You unload [num_unloaded] shell\s from [src].") + to_chat(user, SPAN_NOTICE("You unload [num_unloaded] shell\s from [src].")) else - to_chat(user, "[src] is empty!") + to_chat(user, SPAN_WARNING("[src] is empty!")) /obj/item/gun/projectile/revolver/AltClick(mob/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) @@ -72,7 +72,7 @@ C.spin() chamber_round(0) playsound(get_turf(user), 'sound/weapons/revolver_spin.ogg', 50, TRUE) - user.visible_message("[user] spins [src]'s chamber.", "You spin [src]'s chamber.") + user.visible_message(SPAN_WARNING("[user] spins [src]'s chamber."), SPAN_NOTICE("You spin [src]'s chamber.")) /obj/item/gun/projectile/revolver/can_shoot() return get_ammo(0,0) @@ -90,7 +90,7 @@ /obj/item/gun/projectile/revolver/fake/examine(mob/user) . = ..() if(HAS_TRAIT(user, TRAIT_CLUMSY)) - . += "Its mechanism seems to shoot backwards." + . += SPAN_SANS("Its mechanism seems to shoot backwards.") /obj/item/gun/projectile/revolver/fake/process_fire(atom/target, mob/living/carbon/human/user, message, params, zone_override, bonus_spread) var/zone = "chest" @@ -106,8 +106,8 @@ process_chamber() update_icon() playsound(src, 'sound/weapons/gunshots/gunshot_strong.ogg', 50, TRUE) - user.visible_message("[src] goes off!") - to_chat(user, "[src] did look pretty dodgey!") + user.visible_message(SPAN_DANGER("[src] goes off!")) + to_chat(user, SPAN_DANGER("[src] did look pretty dodgey!")) SEND_SOUND(user, sound('sound/misc/sadtrombone.ogg')) //HONK user.apply_damage(300, BRUTE, zone, sharp = TRUE, used_weapon = "Self-inflicted gunshot wound to the [zone].") user.bleed(BLOOD_VOLUME_NORMAL) @@ -155,13 +155,13 @@ return /obj/item/gun/projectile/revolver/fingergun/shoot_with_empty_chamber(/*mob/living/user as mob|obj*/) - to_chat(usr, "You are out of ammo! You holster your fingers.") + to_chat(usr, SPAN_WARNING("You are out of ammo! You holster your fingers.")) qdel(src) return /obj/item/gun/projectile/revolver/fingergun/afterattack__legacy__attackchain(atom/target, mob/living/user, flag, params) if(!user.mind.miming) - to_chat(usr, "You must dedicate yourself to silence first. Use your fingers if you wish to holster them.") + to_chat(usr, SPAN_WARNING("You must dedicate yourself to silence first. Use your fingers if you wish to holster them.")) return ..() @@ -169,7 +169,7 @@ return /obj/item/gun/projectile/revolver/fingergun/attack_self__legacy__attackchain(mob/living/user) - to_chat(usr, "You holster your fingers. Another time.") + to_chat(usr, SPAN_NOTICE("You holster your fingers. Another time.")) qdel(src) return @@ -224,7 +224,7 @@ name = "\improper .357 revolver" /obj/item/gun/projectile/revolver/capgun/chaosprank/shoot_with_empty_chamber(mob/living/user) - to_chat(user, "[src] vanishes in a puff of smoke!") + to_chat(user, SPAN_CHAOSBAD("[src] vanishes in a puff of smoke!")) playsound(src, 'sound/items/bikehorn.ogg') qdel(src) @@ -298,9 +298,9 @@ return if(num_unloaded) - to_chat(user, "You break open [src] and unload [num_unloaded] shell\s.") + to_chat(user, SPAN_NOTICE("You break open [src] and unload [num_unloaded] shell\s.")) else - to_chat(user, "[src] is empty.") + to_chat(user, SPAN_NOTICE("[src] is empty.")) /obj/item/gun/projectile/revolver/doublebarrel/proc/sleight_of_handling(mob/living/carbon/human/user) if(!istype(get_area(user), /area/station/service/bar)) @@ -323,7 +323,7 @@ loaded_shells++ if(loaded_shells) - to_chat(user, "You quickly load [loaded_shells] shell\s from your bandolier into [src].") + to_chat(user, SPAN_NOTICE("You quickly load [loaded_shells] shell\s from your bandolier into [src].")) return TRUE // IMPROVISED SHOTGUN // @@ -343,14 +343,14 @@ if(istype(A, /obj/item/stack/cable_coil) && !sawn_state) var/obj/item/stack/cable_coil/C = A if(sling) - to_chat(user, "The shotgun already has a sling!") + to_chat(user, SPAN_WARNING("The shotgun already has a sling!")) else if(C.use(10)) slot_flags = ITEM_SLOT_BACK - to_chat(user, "You tie the lengths of cable to the shotgun, making a sling.") + to_chat(user, SPAN_NOTICE("You tie the lengths of cable to the shotgun, making a sling.")) sling = TRUE update_icon() else - to_chat(user, "You need at least ten lengths of cable if you want to make a sling!") + to_chat(user, SPAN_WARNING("You need at least ten lengths of cable if you want to make a sling!")) /obj/item/gun/projectile/revolver/doublebarrel/improvised/update_icon_state() icon_state = "ishotgun[sling ? "_sling" : sawn_state == SAWN_OFF ? "_sawn" : ""]" diff --git a/code/modules/projectiles/guns/projectile/saw.dm b/code/modules/projectiles/guns/projectile/saw.dm index ede5876c778..4a08714a73e 100644 --- a/code/modules/projectiles/guns/projectile/saw.dm +++ b/code/modules/projectiles/guns/projectile/saw.dm @@ -24,7 +24,7 @@ /obj/item/gun/projectile/automatic/l6_saw/attack_self__legacy__attackchain(mob/user) 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, cover_open ? 'sound/weapons/gun_interactions/sawopen.ogg' : 'sound/weapons/gun_interactions/sawclose.ogg', 50, 1) update_icon() @@ -34,7 +34,7 @@ /obj/item/gun/projectile/automatic/l6_saw/afterattack__legacy__attackchain(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) //what I tried to do here is just add a check to see if the cover is open or not and add an icon_state change because I can't figure out how c-20rs do it with overlays if(cover_open) - to_chat(user, "[src]'s cover is open! Close it before firing!") + to_chat(user, SPAN_NOTICE("[src]'s cover is open! Close it before firing!")) else ..() update_icon() @@ -57,14 +57,14 @@ user.update_inv_r_hand() else user.update_inv_l_hand() - to_chat(user, "You remove the magazine from [src].") + to_chat(user, SPAN_NOTICE("You remove the magazine from [src].")) /obj/item/gun/projectile/automatic/l6_saw/attackby__legacy__attackchain(obj/item/A, mob/user, params) if(istype(A, /obj/item/ammo_box/magazine)) var/obj/item/ammo_box/magazine/AM = A if(istype(AM, mag_type)) if(!cover_open) - to_chat(user, "[src]'s cover is closed! You can't insert a new mag.") + to_chat(user, SPAN_WARNING("[src]'s cover is closed! You can't insert a new mag.")) return return ..() diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 27dccb12724..6235108aa82 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -24,7 +24,7 @@ . += get_shotgun_info() /obj/item/gun/projectile/shotgun/proc/get_shotgun_info() - return "After firing a shot, use this item in hand to remove the spent shell." + return SPAN_NOTICE("After firing a shot, use this item in hand to remove the spent shell.") /obj/item/gun/projectile/shotgun/attackby__legacy__attackchain(obj/item/A, mob/user, params) . = ..() @@ -32,7 +32,7 @@ return var/num_loaded = magazine.attackby__legacy__attackchain(A, user, params, 1) if(num_loaded) - 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]!")) A.update_icon() update_icon() @@ -100,21 +100,21 @@ /obj/item/gun/projectile/shotgun/riot/sawoff(mob/user) if(sawn_state == SAWN_OFF) - to_chat(user, "[src] has already been shortened!") + to_chat(user, SPAN_WARNING("[src] has already been shortened!")) return if(isstorage(loc)) //To prevent inventory exploits - to_chat(user, "How do you plan to modify [src] while it's in a bag.") + to_chat(user, SPAN_NOTICE("How do you plan to modify [src] while it's in a bag.")) return if(chambered) //if the gun is chambering live ammo, shoot self, if chambering empty ammo, 'click' if(chambered.BB) process_fire(user, 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 else afterattack__legacy__attackchain(user, user) - user.visible_message("[src] goes click!", "[src] you are holding goes click.") + user.visible_message("[src] goes click!", SPAN_NOTICE("[src] you are holding goes click.")) if(magazine.ammo_count()) //Spill the mag onto the floor - user.visible_message("[user.name] opens [src] up and the shells go goes flying around!", "You open [src] up and the shells go goes flying everywhere!!") + user.visible_message(SPAN_DANGER("[user.name] opens [src] up and the shells go goes flying around!"), SPAN_USERDANGER("You open [src] up and the shells go goes flying everywhere!!")) while(get_ammo(0) > 0) var/obj/item/ammo_casing/CB CB = magazine.get_round(0) @@ -123,7 +123,7 @@ CB.update_icon() if(do_after(user, 30, target = src)) - user.visible_message("[user] shortens \the [src]!", "You shorten \the [src].") + user.visible_message("[user] shortens \the [src]!", SPAN_NOTICE("You shorten \the [src].")) post_sawoff() return 1 @@ -138,21 +138,21 @@ /obj/item/gun/projectile/shotgun/riot/proc/unsaw(obj/item/A, mob/user) if(sawn_state == SAWN_INTACT) - to_chat(user, "[src] has not been shortened!") + to_chat(user, SPAN_WARNING("[src] has not been shortened!")) return if(isstorage(loc)) //To prevent inventory exploits - to_chat(user, "How do you plan to modify [src] while it's in a bag.") + to_chat(user, SPAN_NOTICE("How do you plan to modify [src] while it's in a bag.")) return if(chambered) //if the gun is chambering live ammo, shoot self, if chambering empty ammo, 'click' if(chambered.BB) afterattack__legacy__attackchain(user, 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 else afterattack__legacy__attackchain(user, user) - user.visible_message("[src] goes click!", "[src] you are holding goes click.") + user.visible_message("[src] goes click!", SPAN_NOTICE("[src] you are holding goes click.")) if(magazine.ammo_count()) //Spill the mag onto the floor - user.visible_message("[user.name] opens [src] up and the shells go goes flying around!", "You open [src] up and the shells go goes flying everywhere!!") + user.visible_message(SPAN_DANGER("[user.name] opens [src] up and the shells go goes flying around!"), SPAN_USERDANGER("You open [src] up and the shells go goes flying everywhere!!")) while(get_ammo() > 0) var/obj/item/ammo_casing/CB CB = magazine.get_round(0) @@ -162,7 +162,7 @@ if(do_after(user, 30, target = src)) qdel(A) - user.visible_message("[user] lengthens [src]!", "You lengthen [src].") + user.visible_message(SPAN_NOTICE("[user] lengthens [src]!"), SPAN_NOTICE("You lengthen [src].")) post_unsaw(user) return 1 @@ -231,7 +231,7 @@ /obj/item/gun/projectile/shotgun/boltaction/attackby__legacy__attackchain(obj/item/A, mob/user, params) if(!bolt_open) - to_chat(user, "The bolt is closed!") + to_chat(user, SPAN_NOTICE("The bolt is closed!")) return . = ..() @@ -271,7 +271,7 @@ discard_gun(user) /obj/item/gun/projectile/shotgun/boltaction/enchanted/proc/discard_gun(mob/living/user) - user.visible_message("[user] tosses aside the spent rifle!") + user.visible_message(SPAN_WARNING("[user] tosses aside the spent rifle!")) user.throw_item(pick(oview(7, get_turf(user)))) /obj/item/gun/projectile/shotgun/boltaction/enchanted/arcane_barrage @@ -297,7 +297,7 @@ /obj/item/gun/projectile/shotgun/automatic /obj/item/gun/projectile/shotgun/automatic/get_shotgun_info() - return "Automatically releases spent shotgun shells." + return SPAN_NOTICE("Automatically releases spent shotgun shells.") /obj/item/gun/projectile/shotgun/automatic/shoot_live_shot(mob/living/user, atom/target, pointblank = FALSE, message = TRUE) ..() diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index 14ede20dbeb..74a4bf5ae6c 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -27,7 +27,7 @@ if(istype(chambered.BB, /obj/projectile/bullet/sniper) && !HAS_TRAIT(user, TRAIT_SCOPED)) var/obj/projectile/bullet/sniper/S = chambered.BB if(S.non_zoom_spread) - to_chat(user, "[src] must be zoomed in to fire this ammunition accurately!") + to_chat(user, SPAN_WARNING("[src] must be zoomed in to fire this ammunition accurately!")) bonus_spread += S.non_zoom_spread return ..() diff --git a/code/modules/projectiles/guns/projectile_gun.dm b/code/modules/projectiles/guns/projectile_gun.dm index 04b5887abfd..1cc651c8e60 100644 --- a/code/modules/projectiles/guns/projectile_gun.dm +++ b/code/modules/projectiles/guns/projectile_gun.dm @@ -103,20 +103,20 @@ if(istype(AM, mag_type)) if(can_reload()) reload(AM, user) - to_chat(user, "You load a new magazine into \the [src].") + to_chat(user, SPAN_NOTICE("You load a new magazine into \the [src].")) return TRUE else if(!can_tactical) - to_chat(user, "There's already a magazine in \the [src].") + to_chat(user, SPAN_NOTICE("There's already a magazine in \the [src].")) return TRUE else - to_chat(user, "You perform a tactical reload on \the [src], replacing the magazine.") + to_chat(user, SPAN_NOTICE("You perform a tactical reload on \the [src], replacing the magazine.")) magazine.loc = get_turf(loc) magazine.update_icon() magazine = null reload(AM, user) return TRUE else - to_chat(user, "You can't put this type of ammo in \the [src].") + to_chat(user, SPAN_NOTICE("You can't put this type of ammo in \the [src].")) return TRUE if(istype(A, /obj/item/suppressor)) var/obj/item/suppressor/S = A @@ -125,7 +125,7 @@ if(!user.unequip(A)) return A.forceMove(src) - to_chat(user, "You screw [S] onto [src].") + to_chat(user, SPAN_NOTICE("You screw [S] onto [src].")) playsound(src, 'sound/items/screwdriver.ogg', 40, 1) suppressed = A S.oldsound = fire_sound @@ -136,10 +136,10 @@ update_icon() return else - to_chat(user, "[src] already has a suppressor.") + to_chat(user, SPAN_WARNING("[src] already has a suppressor.")) return else - 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 else return ..() @@ -151,7 +151,7 @@ if(!user.is_holding(src)) ..() return - to_chat(user, "You unscrew [suppressed] from [src].") + to_chat(user, SPAN_NOTICE("You unscrew [suppressed] from [src].")) playsound(src, 'sound/items/screwdriver.ogg', 40, 1) user.put_in_hands(suppressed) fire_sound = S.oldsound @@ -168,23 +168,23 @@ user.put_in_hands(magazine) magazine.update_icon() magazine = null - to_chat(user, "You pull the magazine out of \the [src]!") + to_chat(user, SPAN_NOTICE("You pull the magazine out of \the [src]!")) playsound(src, magout_sound, 50, 1) else if(chambered) AC.loc = get_turf(src) AC.SpinAnimation(10, 1) chambered = null - to_chat(user, "You unload the round from \the [src]'s chamber.") + to_chat(user, SPAN_NOTICE("You unload the round from \the [src]'s chamber.")) playsound(src, 'sound/weapons/gun_interactions/remove_bullet.ogg', 50, 1) else - to_chat(user, "There's no magazine in \the [src].") + to_chat(user, SPAN_NOTICE("There's no magazine in \the [src].")) update_icon() return /obj/item/gun/projectile/examine(mob/user) . = ..() . += "Has [get_ammo()] round\s remaining." - . += "Use in hand to empty the gun's ammo reserves." + . += SPAN_NOTICE("Use in hand to empty the gun's ammo reserves.") /obj/item/gun/projectile/proc/get_ammo(countchambered = 1) var/boolets = 0 //mature var names for mature people @@ -196,39 +196,39 @@ /obj/item/gun/projectile/suicide_act(mob/user) if(chambered && chambered.BB && !chambered.BB.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)) process_fire(user, user, 0, zone_override = "head") - user.visible_message("[user] blows [user.p_their()] brains out with [src]!") + user.visible_message(SPAN_SUICIDE("[user] blows [user.p_their()] brains out with [src]!")) 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()] brains 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()] brains out with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) playsound(loc, 'sound/weapons/empty.ogg', 50, TRUE, -1) return OXYLOSS /obj/item/gun/projectile/proc/sawoff(mob/user) if(sawn_state == 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 [src] with [bayonet] attached!") + to_chat(user, SPAN_WARNING("You cannot saw-off [src] with [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("[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_state == SAWN_OFF) return - user.visible_message("[user] shortens \the [src]!", "You shorten \the [src].") + user.visible_message("[user] shortens \the [src]!", SPAN_NOTICE("You shorten \the [src].")) w_class = WEIGHT_CLASS_NORMAL inhand_icon_state = "gun" //phil235 is it different with different skin? slot_flags &= ~ITEM_SLOT_BACK //you can't sling it on your back diff --git a/code/modules/projectiles/guns/rocket.dm b/code/modules/projectiles/guns/rocket.dm index 133e441d0cc..8291b5d087b 100644 --- a/code/modules/projectiles/guns/rocket.dm +++ b/code/modules/projectiles/guns/rocket.dm @@ -20,7 +20,7 @@ /obj/item/gun/rocketlauncher/examine(mob/user) . = ..() - . += "It is currently [chambered ? "" : "un"]loaded." + . += SPAN_NOTICE("It is currently [chambered ? "" : "un"]loaded.") /obj/item/gun/rocketlauncher/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(!istype(I, /obj/item/ammo_casing/rocket)) @@ -28,9 +28,9 @@ if(!chambered) user.transfer_item_to(I, src) chambered = I - to_chat(user, "You put the rocket in [src].") + to_chat(user, SPAN_NOTICE("You put the rocket in [src].")) else - to_chat(user, "[src] cannot hold another rocket.") + to_chat(user, SPAN_NOTICE("[src] cannot hold another rocket.")) /obj/item/gun/rocketlauncher/process_chamber() QDEL_NULL(chambered) diff --git a/code/modules/projectiles/guns/syringe_gun.dm b/code/modules/projectiles/guns/syringe_gun.dm index 5b975eaa8c9..c1ada80e63b 100644 --- a/code/modules/projectiles/guns/syringe_gun.dm +++ b/code/modules/projectiles/guns/syringe_gun.dm @@ -44,7 +44,7 @@ /obj/item/gun/syringe/attack_self__legacy__attackchain(mob/living/user) if(!length(syringes) && !chambered.BB) - to_chat(user, "[src] is empty.") + to_chat(user, SPAN_NOTICE("[src] is empty.")) return FALSE var/obj/item/reagent_containers/syringe/S @@ -61,27 +61,27 @@ user.put_in_hands(S) syringes.Remove(S) - to_chat(user, "You unload [S] from [src]!") + to_chat(user, SPAN_NOTICE("You unload [S] from [src]!")) return TRUE /obj/item/gun/syringe/attackby__legacy__attackchain(obj/item/A, mob/user, params, show_msg = TRUE) if(istype(A, /obj/item/reagent_containers/syringe)) if(istype(A, /obj/item/reagent_containers/syringe/lethal)) - to_chat(user, "[A] is too big to fit into [src].") + to_chat(user, SPAN_WARNING("[A] is too big to fit into [src].")) return var/in_clip = length(syringes) + (chambered.BB ? 1 : 0) if(in_clip < max_syringes) if(user.transfer_item_to(A, src)) - to_chat(user, "You load [A] into [src]!") + to_chat(user, SPAN_NOTICE("You load [A] into [src]!")) syringes.Add(A) process_chamber() // Chamber the syringe if none is already return TRUE else return else - to_chat(user, "[src] cannot hold more syringes.") + to_chat(user, SPAN_NOTICE("[src] cannot hold more syringes.")) else if(istype(A, /obj/item/dnainjector)) - to_chat(user, "[src] is incompatible with DNA-Injectors.") + to_chat(user, SPAN_NOTICE("[src] is incompatible with DNA-Injectors.")) return return ..() @@ -144,7 +144,7 @@ reagents.maximum_volume = var_value /obj/item/gun/syringe/rapidsyringe/build_reagent_description(mob/user) - . = list("There's a little window for the internal reservoir.") + . = list(SPAN_NOTICE("There's a little window for the internal reservoir.")) . += ..() /obj/item/gun/syringe/rapidsyringe/proc/get_units_per_shot() @@ -152,7 +152,7 @@ /obj/item/gun/syringe/rapidsyringe/examine(mob/user) . = ..() - . += "A switch on the side is set to [get_units_per_shot()] unit\s per shot, alt-click to change it." + . += "A switch on the side is set to [get_units_per_shot()] unit\s per shot, [SPAN_NOTICE("alt-click to change it.")]" if(chambered?.BB) . += "The chambered syringe contains [round(chambered.BB.reagents.total_volume)] units." @@ -160,18 +160,18 @@ /obj/item/gun/syringe/rapidsyringe/proc/insert_single_syringe(obj/item/reagent_containers/syringe/new_syringe, mob/user) if(new_syringe.reagents.total_volume) if(user) - to_chat(user, "[src] only accepts empty syringes.") + to_chat(user, SPAN_WARNING("[src] only accepts empty syringes.")) return FALSE var/in_clip = length(syringes) + (chambered?.BB ? 1 : 0) if(in_clip >= max_syringes) if(user) - to_chat(user, "[src] is full!") + to_chat(user, SPAN_WARNING("[src] is full!")) return FALSE if(user) if(!user.drop_item_to_ground(new_syringe)) return - to_chat(user, "You load \the [new_syringe] into [src].") + to_chat(user, SPAN_NOTICE("You load \the [new_syringe] into [src].")) playsound(src, 'sound/weapons/gun_interactions/bulletinsert.ogg', 50, 1) syringes.Add(new_syringe) new_syringe.forceMove(src) @@ -185,10 +185,10 @@ // Boxes can be dumped in. var/obj/item/storage/container = A if(!length(container.contents)) - to_chat(user, "[A] is empty!") + to_chat(user, SPAN_WARNING("[A] is empty!")) return TRUE if(length(syringes) + (chambered?.BB ? 1 : 0) == max_syringes) - to_chat(user, "[src] is full!") + to_chat(user, SPAN_WARNING("[src] is full!")) return TRUE var/total_inserted = 0 @@ -211,7 +211,7 @@ process_chamber() else if(!found_any_syringe) - to_chat(user, "There are no empty syringes in [A]!") + to_chat(user, SPAN_WARNING("There are no empty syringes in [A]!")) return TRUE else if(istype(A, /obj/item/reagent_containers/syringe)) @@ -225,15 +225,15 @@ return if(!incoming.reagents.total_volume) - to_chat(user, "[incoming] is empty!") + to_chat(user, SPAN_WARNING("[incoming] is empty!")) return if(reagents.holder_full()) - to_chat(user, "[src]'s internal reservoir is full!") + to_chat(user, SPAN_WARNING("[src]'s internal reservoir is full!")) return var/trans = incoming.reagents.trans_to(src, incoming.amount_per_transfer_from_this) - to_chat(user, "You transfer [round(trans)] unit\s of the solution to [src]'s internal reservoir.") + to_chat(user, SPAN_NOTICE("You transfer [round(trans)] unit\s of the solution to [src]'s internal reservoir.")) update_loaded_syringe() // Reset the reservoir alarm @@ -251,11 +251,11 @@ return if(!reagents.total_volume) - to_chat(user, "[src]'s internal reservoir is empty!") + to_chat(user, SPAN_WARNING("[src]'s internal reservoir is empty!")) return if(destination.reagents.holder_full()) - to_chat(user, "[destination] is full.") + to_chat(user, SPAN_WARNING("[destination] is full.")) return var/transfer_source = "[src]'s internal reservoir" @@ -269,7 +269,7 @@ else transfer_amount = reagents.trans_to(destination, reservoir_transfer_amount) - to_chat(user, "You drain [transfer_amount] unit\s from [transfer_source] into [destination].") + to_chat(user, SPAN_NOTICE("You drain [transfer_amount] unit\s from [transfer_source] into [destination].")) // Refill the syringe update_loaded_syringe() return TRUE @@ -294,7 +294,7 @@ transfer_amount_selection = 1 playsound(src, 'sound/weapons/gun_interactions/selector.ogg', 25, 1) - to_chat(user, "[src] will now fill each syringe with up to [get_units_per_shot()] units.") + to_chat(user, SPAN_NOTICE("[src] will now fill each syringe with up to [get_units_per_shot()] units.")) update_loaded_syringe() /// Update the chambered syringe's contents based on the reservoir contents. @@ -329,7 +329,7 @@ // Unload an empty syringe, making sure its existing contents get returned to the reservoir /obj/item/gun/syringe/rapidsyringe/attack_self__legacy__attackchain(mob/living/user) if(!length(syringes) && !chambered.BB) - to_chat(user, "[src] is empty.") + to_chat(user, SPAN_NOTICE("[src] is empty.")) return FALSE var/obj/item/reagent_containers/syringe/S @@ -346,20 +346,20 @@ syringes.Remove(S) process_chamber() playsound(src, "sound/weapons/gun_interactions/remove_bullet.ogg", 25, 1) - to_chat(user, "You unload [S] from [src].") + to_chat(user, SPAN_NOTICE("You unload [S] from [src].")) return TRUE /obj/item/gun/syringe/rapidsyringe/suicide_act(mob/user) if(!chambered?.BB) - visible_message("[user] puts [user.p_their()] mouth to [src]'s reagent port and swings [user.p_their()] head back, it looks like [user.p_theyre()] trying to commit suicide!") + visible_message(SPAN_DANGER("[user] puts [user.p_their()] mouth to [src]'s reagent port and swings [user.p_their()] head back, it looks like [user.p_theyre()] trying to commit suicide!")) if(!reagents.total_volume) - visible_message("...but there was nothing inside!") + visible_message(SPAN_DANGER("...but there was nothing inside!")) return SHAME else reagents.trans_to(user, reagents.total_volume) else - visible_message("[user] raises [src] to [user.p_their()] shoulder, it looks like [user.p_theyre()] trying to lose their medical license!") + visible_message(SPAN_DANGER("[user] raises [src] to [user.p_their()] shoulder, it looks like [user.p_theyre()] trying to lose their medical license!")) handle_suicide(user, user) return TOXLOSS @@ -409,17 +409,17 @@ /obj/item/gun/syringe/blowgun/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(chambered.BB) - visible_message("[user] shoots the blowgun!") + visible_message(SPAN_DANGER("[user] shoots the blowgun!")) user.adjustStaminaLoss(20, FALSE) user.adjustOxyLoss(20) return ..() /obj/item/gun/syringe/blowgun/suicide_act(mob/user) if(chambered.BB) - visible_message("[user] puts [src] to [user.p_their()] lips and inhales! It looks like [user.p_theyre()] trying to commit suicide!") + visible_message(SPAN_SUICIDE("[user] puts [src] to [user.p_their()] lips and inhales! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS - visible_message("[user] puts [src] to [user.p_their()] lips and begins blowing on it rapid-fire! It looks like [user.p_theyre()] trying to commit suicide!") + visible_message(SPAN_SUICIDE("[user] puts [src] to [user.p_their()] lips and begins blowing on it rapid-fire! It looks like [user.p_theyre()] trying to commit suicide!")) for(var/i in 1 to 6) if(!use_tool(user, user, 0.5 SECONDS)) return SHAME diff --git a/code/modules/projectiles/guns/throw.dm b/code/modules/projectiles/guns/throw.dm index 6e35b077dc9..c8028aa7b6d 100644 --- a/code/modules/projectiles/guns/throw.dm +++ b/code/modules/projectiles/guns/throw.dm @@ -32,7 +32,7 @@ /obj/item/gun/throw/examine(mob/user) . = ..() - . += "It is [to_launch ? "loaded with \a [to_launch]" : "not loaded"]." + . += SPAN_NOTICE("It is [to_launch ? "loaded with \a [to_launch]" : "not loaded"].") . += notify_ammo_count() /obj/item/gun/throw/Destroy() @@ -53,14 +53,14 @@ user.drop_item() I.forceMove(src) loaded_projectiles += I - to_chat(user, "You load [I] into [src].") + to_chat(user, SPAN_NOTICE("You load [I] into [src].")) if(!to_launch) process_chamber() to_chat(user, notify_ammo_count()) else - to_chat(user, "[src] cannot hold any more projectiles.") + to_chat(user, SPAN_WARNING("[src] cannot hold any more projectiles.")) else - to_chat(user, "You cannot load [I] into [src]!") + to_chat(user, SPAN_WARNING("You cannot load [I] into [src]!")) /obj/item/gun/throw/process_chamber() if(!to_launch && length(loaded_projectiles)) diff --git a/code/modules/projectiles/guns/throw/crossbow.dm b/code/modules/projectiles/guns/throw/crossbow.dm index a3c0515a43f..5186d39a172 100644 --- a/code/modules/projectiles/guns/throw/crossbow.dm +++ b/code/modules/projectiles/guns/throw/crossbow.dm @@ -43,13 +43,13 @@ if(cell) . += "\A [cell] is mounted onto [src]. Battery cell charge: [cell.charge]/[cell.maxcharge]" else - . += "It has an empty mount for a battery cell." - . += "Alt-Click [src] to adjust it's tension." + . += SPAN_NOTICE("It has an empty mount for a battery cell.") + . += SPAN_NOTICE("Alt-Click [src] to adjust it's tension.") /obj/item/gun/throw/crossbow/modify_projectile(obj/item/I, on_chamber = 0) if(cell && on_chamber && istype(I, /obj/item/arrow/rod)) var/obj/item/arrow/rod/R = I - visible_message("[R] plinks and crackles as it begins to glow red-hot.") + visible_message(SPAN_DANGER("[R] plinks and crackles as it begins to glow red-hot.")) R.throwforce = 15 R.superheated = 1 cell.use(500) @@ -69,14 +69,14 @@ /obj/item/gun/throw/crossbow/attack_self__legacy__attackchain(mob/living/user) if(tension) if(to_launch) - user.visible_message("[user] relaxes the tension on [src]'s string and removes [to_launch].","You relax the tension on [src]'s string and remove [to_launch].") + user.visible_message(SPAN_NOTICE("[user] relaxes the tension on [src]'s string and removes [to_launch]."),SPAN_NOTICE("You relax the tension on [src]'s string and remove [to_launch].")) to_launch.forceMove(get_turf(src)) var/obj/item/arrow/A = to_launch to_launch = null A.removed() process_chamber() else - user.visible_message("[user] relaxes the tension on [src]'s string.","You relax the tension on [src]'s string.") + user.visible_message(SPAN_NOTICE("[user] relaxes the tension on [src]'s string."),SPAN_NOTICE("You relax the tension on [src]'s string.")) tension = 0 update_icon(UPDATE_ICON_STATE) else @@ -86,7 +86,7 @@ if(user.incapacitated()) return if(!to_launch) - to_chat(user, "You can't draw [src] without a bolt nocked.") + to_chat(user, SPAN_WARNING("You can't draw [src] without a bolt nocked.")) return user.visible_message("[user] begins to draw back the string of [src].","You begin to draw back the string of [src].") @@ -100,29 +100,29 @@ return ..() if(cell) - to_chat(user, "[src] already has a cell installed.") + to_chat(user, SPAN_NOTICE("[src] already has a cell installed.")) return user.drop_item() I.forceMove(src) cell = I - to_chat(user, "You jam [cell] into [src] and wire it to the firing coil.") + to_chat(user, SPAN_NOTICE("You jam [cell] into [src] and wire it to the firing coil.")) process_chamber() /obj/item/gun/throw/crossbow/screwdriver_act(mob/user, obj/item/I) . = ..() if(!cell) - to_chat(user, "[src] doesn't have a cell installed.") + to_chat(user, SPAN_NOTICE("[src] doesn't have a cell installed.")) return cell.forceMove(get_turf(src)) - to_chat(user, "You jimmy [cell] out of [src] with [I].") + to_chat(user, SPAN_NOTICE("You jimmy [cell] out of [src] with [I].")) cell = null /obj/item/gun/throw/crossbow/notify_ammo_count() if(get_ammocount() >= 1) - return "[src] is loaded." - return "[src] is not loaded." + return SPAN_NOTICE("[src] is loaded.") + return SPAN_NOTICE("[src] is not loaded.") /obj/item/gun/throw/crossbow/Destroy() . = ..() diff --git a/code/modules/projectiles/guns/throw/pielauncher.dm b/code/modules/projectiles/guns/throw/pielauncher.dm index 1faa79b64ee..0d1935d8ca6 100644 --- a/code/modules/projectiles/guns/throw/pielauncher.dm +++ b/code/modules/projectiles/guns/throw/pielauncher.dm @@ -21,7 +21,7 @@ process_chamber() /obj/item/gun/throw/piecannon/notify_ammo_count() - return "[src] has [get_ammocount()] of [max_capacity] pies left." + return SPAN_NOTICE("[src] has [get_ammocount()] of [max_capacity] pies left.") /obj/item/gun/throw/piecannon/update_icon_state() if(to_launch) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 12b85863a6b..776918cb6f9 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -270,7 +270,7 @@ . = ..() if(isliving(target)) var/mob/living/L = target - L.visible_message("[L] explodes!") + L.visible_message(SPAN_DANGER("[L] explodes!")) L.quick_explode_gib() /obj/projectile/beam/laser/detective @@ -332,12 +332,12 @@ /obj/projectile/beam/laser/detective/tracker_warrant_shot/proc/no_worky(atom/target, tracking_already, warrant_fail) if(tracking_already) - to_chat(firer, "Weapon Alert: You are already tracking a target!") + to_chat(firer, SPAN_DANGER("Weapon Alert: You are already tracking a target!")) return if(warrant_fail) - to_chat(firer, "Weapon Alert: unable to generate warrant on [target]!") + to_chat(firer, SPAN_DANGER("Weapon Alert: unable to generate warrant on [target]!")) return - to_chat(firer, "Weapon Alert: unable to track [target]!") + to_chat(firer, SPAN_DANGER("Weapon Alert: unable to track [target]!")) /obj/projectile/beam/silencer name = "energy beam" //Keep it vague? It's not a laser, but it's silenced, does a person know what it is? diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index f14cd4db7dc..4f6e1587ee4 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -248,8 +248,8 @@ return TRUE else blocked = INFINITY - target.visible_message("[src] was deflected!", \ - "You were protected against [src]!") + target.visible_message(SPAN_DANGER("[src] was deflected!"), \ + SPAN_USERDANGER("You were protected against [src]!")) ..(target, blocked, hit_zone) reagents.set_reacting(TRUE) reagents.handle_reactions() diff --git a/code/modules/projectiles/projectile/energy_projectiles.dm b/code/modules/projectiles/projectile/energy_projectiles.dm index 7e2371944c3..d7c17530692 100644 --- a/code/modules/projectiles/projectile/energy_projectiles.dm +++ b/code/modules/projectiles/projectile/energy_projectiles.dm @@ -96,7 +96,7 @@ continue var/floored = FALSE if(HAS_TRAIT(M, TRAIT_BSG_IMMUNE)) - to_chat(M, "Your B.S.G deploys an energy shield to project you from [src]'s explosion.") + to_chat(M, SPAN_NOTICE("Your B.S.G deploys an energy shield to project you from [src]'s explosion.")) new /obj/effect/temp_visual/at_shield(get_turf(M), M) continue var/distance = (1 + get_dist(M, src)) @@ -106,15 +106,15 @@ M.apply_damage((rand(60, 80) * (1.1 - distance / 10)) * damage_multiplier, BURN) //reduced by 10% per tile add_attack_logs(firer, M, "Hit heavily by [src]") if(floored) - to_chat(M, "You see a flash of briliant blue light as [src] explodes, knocking you to the ground and burning you!") + to_chat(M, SPAN_USERDANGER("You see a flash of briliant blue light as [src] explodes, knocking you to the ground and burning you!")) M.KnockDown(4 SECONDS) else - to_chat(M, "You see a flash of briliant blue light as [src] explodes, burning you!") + to_chat(M, SPAN_USERDANGER("You see a flash of briliant blue light as [src] explodes, burning you!")) if(immolate) M.adjust_fire_stacks(immolate) M.IgniteMob() else - to_chat(M, "You feel the heat of the explosion of [src], but the blast mostly misses you.") + to_chat(M, SPAN_USERDANGER("You feel the heat of the explosion of [src], but the blast mostly misses you.")) add_attack_logs(firer, M, "Hit lightly by [src]") M.apply_damage(rand(20, 25) * damage_multiplier, BURN) if(ROLE_BLOB in M.faction) @@ -256,9 +256,9 @@ if(L.stat != DEAD) if(successfulshocks > 2) L.visible_message( - "[L] was shocked by the lightning chain!", \ - "You are shocked by the lightning chain!", \ - "You hear a heavy electrical crack." \ + SPAN_DANGER("[L] was shocked by the lightning chain!"), \ + SPAN_USERDANGER("You are shocked by the lightning chain!"), \ + SPAN_ITALICS("You hear a heavy electrical crack.") \ ) var/damage = (2 - isliving(B.origin) + 2 - isliving(B.target)) * damage_multiplier //Damage is upped depending if the origin is a mob or not. Wall to wall hurts more than mob to wall, or mob to mob L.adjustFireLoss(damage) //time to die diff --git a/code/modules/projectiles/projectile/magic_projectiles.dm b/code/modules/projectiles/projectile/magic_projectiles.dm index 1d246358c27..6d74c9bd1ff 100644 --- a/code/modules/projectiles/projectile/magic_projectiles.dm +++ b/code/modules/projectiles/projectile/magic_projectiles.dm @@ -33,15 +33,15 @@ if(target.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead if(target.revive()) 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 if(ismachineperson(target) || issilicon(target)) //speshul snowfleks deserv speshul treetment target.adjustFireLoss(6969) //remember - slimes love fire target.death(FALSE) - target.visible_message("[target] topples backwards as the death bolt impacts [target.p_them()]!") + target.visible_message(SPAN_DANGER("[target] topples backwards as the death bolt impacts [target.p_them()]!")) /obj/projectile/magic/fireball name = "bolt of fireball" @@ -111,7 +111,7 @@ if(ismob(target)) if(target.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead target.death(FALSE) - target.visible_message("[target] topples backwards as the death bolt impacts [target.p_them()]!") + target.visible_message(SPAN_DANGER("[target] topples backwards as the death bolt impacts [target.p_them()]!")) else var/old_stat = target.stat target.suiciding = FALSE @@ -122,9 +122,9 @@ ghost.reenter_corpse() break if(old_stat != DEAD) - to_chat(target, "You feel great!") + to_chat(target, SPAN_NOTICE("You feel great!")) else - to_chat(target, "You rise with a start, you're alive!!!") + to_chat(target, SPAN_NOTICE("You rise with a start, you're alive!!!")) /obj/projectile/magic/teleport name = "bolt of teleportation" @@ -302,7 +302,7 @@ GLOBAL_LIST_INIT(wabbajack_docile_animals, list( else new_mob = new /mob/living/carbon/alien/humanoid/sentinel(M.loc) new_mob.universal_speak = TRUE - to_chat(M, chat_box_red("Your consciousness is subsumed by a distant hivemind... you feel murderous hostility towards non-xenomorph life!")) + to_chat(M, chat_box_red(SPAN_USERDANGER("Your consciousness is subsumed by a distant hivemind... you feel murderous hostility towards non-xenomorph life!"))) if("terror") var/terror_type = pick( /mob/living/simple_animal/hostile/poison/terror_spider/red, @@ -310,7 +310,7 @@ GLOBAL_LIST_INIT(wabbajack_docile_animals, list( /mob/living/simple_animal/hostile/poison/terror_spider/gray, /mob/living/simple_animal/hostile/poison/terror_spider/black) new_mob = new terror_type(M.loc) - to_chat(M, chat_box_red("Your consciousness is subsumed by a distant hivemind... you feel murderous hostility towards all non-terror-spider lifeforms!")) + to_chat(M, chat_box_red(SPAN_USERDANGER("Your consciousness is subsumed by a distant hivemind... you feel murderous hostility towards all non-terror-spider lifeforms!"))) if("animal") if(prob(50)) var/beast = pick(GLOB.wabbajack_hostile_animals) @@ -364,7 +364,7 @@ GLOBAL_LIST_INIT(wabbajack_docile_animals, list( if(H.mind) H.mind.transfer_to(S) var/list/messages = list() - messages.Add("You have been transformed into an animated statue.") + messages.Add(SPAN_USERDANGER("You have been transformed into an animated statue.")) messages.Add("You cannot move when monitored, but are nearly invincible and deadly when unobserved! Hunt down those who shackle you.") messages.Add("Do not harm [firer.name], your creator.") to_chat(S, chat_box_red(messages.Join("
"))) @@ -405,12 +405,12 @@ GLOBAL_LIST_INIT(wabbajack_docile_animals, list( else if(isrobot(target)) //You think you're safe, cyborg? FOOL! var/mob/living/silicon/robot/R = target if(!R.incapacitated()) - to_chat(target, "You get splatted by [src], HONKING your sensors!") + to_chat(target, SPAN_WARNING("You get splatted by [src], HONKING your sensors!")) R.Stun(slip_stun) else if(isliving(target)) var/mob/living/L = target if(!L.IsStunned()) - to_chat(target, "You get splatted by [src].") + to_chat(target, SPAN_NOTICE("You get splatted by [src].")) L.Weaken(slip_weaken) L.Stun(slip_stun) diff --git a/code/modules/projectiles/projectile/special_projectiles.dm b/code/modules/projectiles/projectile/special_projectiles.dm index 59b86e9bea9..09dff497fb0 100644 --- a/code/modules/projectiles/projectile/special_projectiles.dm +++ b/code/modules/projectiles/projectile/special_projectiles.dm @@ -167,7 +167,7 @@ /obj/projectile/clown/Bump(atom/A as mob|obj|turf|area) do_sparks(3, 1, src) new /obj/effect/decal/cleanable/ash(loc) - visible_message("[src] explodes!","You hear a snap!") + visible_message(SPAN_WARNING("[src] explodes!"),SPAN_WARNING("You hear a snap!")) playsound(src, 'sound/effects/snap.ogg', 50, 1) qdel(src) @@ -254,7 +254,7 @@ . = ..() if(ismineralturf(target)) if(is_ancient_rock(target)) - visible_message("This rock appears to be resistant to all mining tools except pickaxes!") + visible_message(SPAN_NOTICE("This rock appears to be resistant to all mining tools except pickaxes!")) forcedodge = 0 return forcedodge = 1 diff --git a/code/modules/projectiles/projectile_base.dm b/code/modules/projectiles/projectile_base.dm index 181876eba44..cbb46655213 100644 --- a/code/modules/projectiles/projectile_base.dm +++ b/code/modules/projectiles/projectile_base.dm @@ -173,7 +173,7 @@ if(isliving(target)) var/mob/living/victim = target if(victim.can_block_magic(antimagic_flags, antimagic_charge_cost)) - visible_message("[src] fizzles on contact with [victim]!") + visible_message(SPAN_WARNING("[src] fizzles on contact with [victim]!")) damage = 0 nodamage = 1 return FALSE @@ -242,13 +242,13 @@ organ_hit_text = " in \the [parse_zone(def_zone)]" 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(loc, hitsound, volume, TRUE, -1) - L.visible_message("[L] is hit by \a [src][organ_hit_text]!", \ - "[L] is hit by \a [src][organ_hit_text]!") //X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter + L.visible_message(SPAN_DANGER("[L] is hit by \a [src][organ_hit_text]!"), \ + SPAN_USERDANGER("[L] is hit by \a [src][organ_hit_text]!")) //X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter if(immolate) L.adjust_fire_stacks(immolate) L.IgniteMob() diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 8dff4927424..348446c466b 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -107,7 +107,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:
Recharging [recharge_amount] power units per interval.
Power efficiency increased by [round((powerefficiency * 1000) - 100, 1)]%." @@ -246,22 +246,22 @@ if((istype(used, /obj/item/reagent_containers/glass) || istype(used, /obj/item/reagent_containers/drinks)) && user.a_intent != INTENT_HARM) if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_NOTICE("Close the maintenance panel first.")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) - to_chat(user, "[used] is stuck to you!") + to_chat(user, SPAN_WARNING("[used] is stuck to you!")) return ITEM_INTERACT_COMPLETE used.forceMove(src) if(beaker) - to_chat(usr, "You swap [used] with [beaker].") + to_chat(usr, SPAN_NOTICE("You swap [used] with [beaker].")) if(Adjacent(usr) && !issilicon(usr)) //Prevents telekinesis from putting in hand user.put_in_hands(beaker) else beaker.forceMove(loc) else - to_chat(user, "You set [used] on the machine.") + to_chat(user, SPAN_NOTICE("You set [used] on the machine.")) beaker = used SStgui.update_uis(src) // update all UIs attached to src @@ -313,7 +313,7 @@ var/mob/living/silicon/robot/drone/drone = user if(!drone.emagged) // There's nothing a drone can do here that wouldn't violate their laws and/or the rules. - to_chat(user, "Your safety protocols refuse to connect to [src].") + to_chat(user, SPAN_WARNING("Your safety protocols refuse to connect to [src].")) return return attack_hand(user) @@ -326,7 +326,7 @@ if(stat & BROKEN) return if(!anchored) - to_chat(user, "[src] must be anchored first!") + to_chat(user, SPAN_WARNING("[src] must be anchored first!")) return ui_interact(user) @@ -334,10 +334,10 @@ if(!is_drink || !Adjacent(user)) return if(user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(anchored) - to_chat(user, "[src] is anchored to the floor!") + to_chat(user, SPAN_WARNING("[src] is anchored to the floor!")) return pixel_x = 0 pixel_y = 0 @@ -462,22 +462,22 @@ if(actual) target.reagents.add_reagent(current_reagent, actual) cell.charge -= actual / efficiency - to_chat(user, "You dispense [actual] unit\s of [current_reagent] into [target].") + to_chat(user, SPAN_NOTICE("You dispense [actual] unit\s of [current_reagent] into [target].")) update_icon(UPDATE_OVERLAYS) else if(free) // If actual is nil and there's still free space, it means we're out of juice - to_chat(user, "Insufficient energy to complete operation.") + to_chat(user, SPAN_WARNING("Insufficient energy to complete operation.")) if("remove") if(!target.reagents.remove_reagent(current_reagent, amount)) - to_chat(user, "You remove [amount] unit\s of [current_reagent] from [target].") + to_chat(user, SPAN_NOTICE("You remove [amount] unit\s of [current_reagent] from [target].")) if("isolate") if(!target.reagents.isolate_reagent(current_reagent)) - to_chat(user, "You remove all but [current_reagent] from [target].") + to_chat(user, SPAN_NOTICE("You remove all but [current_reagent] from [target].")) /obj/item/handheld_chem_dispenser/attack_self__legacy__attackchain(mob/user) if(cell) ui_interact(user) else - to_chat(user, "[src] lacks a power cell!") + to_chat(user, SPAN_WARNING("[src] lacks a power cell!")) /obj/item/handheld_chem_dispenser/ui_state(mob/user) @@ -577,15 +577,15 @@ if(istype(W, /obj/item/stock_parts/cell)) var/obj/item/stock_parts/cell/C = W if(cell) - to_chat(user, "[src] already has a cell.") + to_chat(user, SPAN_NOTICE("[src] already has a cell.")) else if(C.maxcharge < 100) - to_chat(user, "[src] requires a higher capacity cell.") + to_chat(user, SPAN_NOTICE("[src] requires a higher capacity cell.")) return if(!user.transfer_item_to(W, src)) return cell = W - to_chat(user, "You install a cell in [src].") + to_chat(user, SPAN_NOTICE("You install a cell in [src].")) update_icon(UPDATE_OVERLAYS) /obj/item/handheld_chem_dispenser/screwdriver_act(mob/user, obj/item/I) @@ -593,7 +593,7 @@ cell.update_icon() cell.loc = get_turf(src) cell = null - to_chat(user, "You remove the cell from [src].") + to_chat(user, SPAN_NOTICE("You remove the cell from [src].")) update_icon(UPDATE_OVERLAYS) return ..() diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index e70641c9b11..f55c1a02247 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -65,16 +65,16 @@ /obj/machinery/chem_heater/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/reagent_containers/glass) && user.a_intent != INTENT_HARM) if(beaker) - to_chat(user, "A beaker is already loaded into the machine.") + to_chat(user, SPAN_NOTICE("A beaker is already loaded into the machine.")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) - to_chat(user, "[used] is stuck to you!") + to_chat(user, SPAN_WARNING("[used] is stuck to you!")) return ITEM_INTERACT_COMPLETE beaker = used used.forceMove(src) - to_chat(user, "You add the beaker to the machine!") + to_chat(user, SPAN_NOTICE("You add the beaker to the machine!")) icon_state = "mixer1b" SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index ddc5a3b8aa8..e142cd82dcd 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -123,23 +123,23 @@ return ..() if(panel_open) - to_chat(user, "You can't use [src] while it's panel is opened!") + to_chat(user, SPAN_WARNING("You can't use [src] while it's panel is opened!")) return ITEM_INTERACT_COMPLETE if((istype(used, /obj/item/reagent_containers/glass) || istype(used, /obj/item/reagent_containers/drinks/drinkingglass)) && user.a_intent != INTENT_HARM) if(!user.drop_item()) - to_chat(user, "[used] is stuck to you!") + to_chat(user, SPAN_WARNING("[used] is stuck to you!")) return ITEM_INTERACT_COMPLETE used.forceMove(src) if(beaker) - to_chat(usr, "You swap [used] with [beaker] inside.") + to_chat(usr, SPAN_NOTICE("You swap [used] with [beaker] inside.")) if(Adjacent(usr) && !issilicon(usr)) //Prevents telekinesis from putting in hand user.put_in_hands(beaker) else beaker.forceMove(loc) else - to_chat(user, "You add [used] to the machine.") + to_chat(user, SPAN_NOTICE("You add [used] to the machine.")) beaker = used SStgui.update_uis(src) update_icon() @@ -148,16 +148,16 @@ else if(istype(used, /obj/item/storage/pill_bottle)) if(loaded_pill_bottle) - to_chat(user, "A [loaded_pill_bottle] is already loaded into the machine.") + to_chat(user, SPAN_WARNING("A [loaded_pill_bottle] is already loaded into the machine.")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) - to_chat(user, "[used] is stuck to you!") + to_chat(user, SPAN_WARNING("[used] is stuck to you!")) return ITEM_INTERACT_COMPLETE loaded_pill_bottle = used used.forceMove(src) - to_chat(user, "You add [used] into the dispenser slot!") + to_chat(user, SPAN_NOTICE("You add [used] into the dispenser slot!")) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE @@ -219,7 +219,7 @@ var/datum/reagent/R = reagent_list[idx] printing = TRUE - visible_message("[src] rattles and prints out a sheet of paper.") + visible_message(SPAN_NOTICE("[src] rattles and prints out a sheet of paper.")) playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1) var/obj/item/paper/P = new /obj/item/paper(loc) @@ -557,7 +557,7 @@ var/data = list() for(var/i in 1 to count) if(reagents.total_volume <= 0) - to_chat(user, "Not enough reagents to create these items!") + to_chat(user, SPAN_WARNING("Not enough reagents to create these items!")) return var/obj/item/reagent_containers/P = new item_type(location) diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index c811269413d..55ad074a8a6 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -555,7 +555,7 @@ GLOBAL_LIST_EMPTY(detected_advanced_diseases) printing = 1 var/obj/item/paper/P = new /obj/item/paper(loc) - visible_message("[src] rattles and prints out a sheet of paper.") + visible_message(SPAN_NOTICE("[src] rattles and prints out a sheet of paper.")) playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1) P.info = "
Releasing Virus
" @@ -615,14 +615,14 @@ GLOBAL_LIST_EMPTY(detected_advanced_diseases) if(stat & (NOPOWER|BROKEN)) return ITEM_INTERACT_COMPLETE if(beaker) - to_chat(user, "A beaker is already loaded into the machine!") + to_chat(user, SPAN_WARNING("A beaker is already loaded into the machine!")) return ITEM_INTERACT_COMPLETE if(!user.drop_item()) return ITEM_INTERACT_COMPLETE beaker = used beaker.forceMove(src) - to_chat(user, "You add the beaker to the machine.") + to_chat(user, SPAN_NOTICE("You add the beaker to the machine.")) icon_state = "pandemic1" var/datum/reagent/blood/inserted = locate() in beaker.reagents.reagent_list if(inserted && inserted.data && inserted.data["viruses"]) diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index fb1ebb4aa76..7be6e9db19f 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -169,9 +169,9 @@ if((istype(used, /obj/item/reagent_containers) && (used.container_type & OPENCONTAINER)) && user.a_intent != INTENT_HARM) if(beaker) - to_chat(user, "There's already a container inside.") + to_chat(user, SPAN_WARNING("There's already a container inside.")) else if(panel_open) - to_chat(user, "Close the maintenance panel first.") + to_chat(user, SPAN_WARNING("Close the maintenance panel first.")) else if(user.transfer_item_to(used, src)) beaker = used update_icon(UPDATE_ICON_STATE) @@ -182,7 +182,7 @@ if(istype(used, /obj/item/food/grown)) var/obj/item/food/grown/G = used if(!G.dry) - to_chat(user, "You must dry that first!") + to_chat(user, SPAN_WARNING("You must dry that first!")) return ITEM_INTERACT_COMPLETE if(length(holdingitems) >= limit) @@ -193,7 +193,7 @@ if(istype(used, /obj/item/storage/bag)) var/obj/item/storage/bag/B = used if(!length(B.contents)) - to_chat(user, "[B] is empty.") + to_chat(user, SPAN_WARNING("[B] is empty.")) return ITEM_INTERACT_COMPLETE var/original_contents_len = length(B.contents) @@ -203,17 +203,17 @@ B.remove_from_storage(G, src) holdingitems += G if(length(holdingitems) >= limit) // Sanity checking so the blender doesn't overfill - to_chat(user, "You fill the All-In-One grinder to the brim.") + to_chat(user, SPAN_NOTICE("You fill the All-In-One grinder to the brim.")) break if(length(B.contents) == original_contents_len) - to_chat(user, "Nothing in [B] can be put into the All-In-One grinder.") + to_chat(user, SPAN_WARNING("Nothing in [B] can be put into the All-In-One grinder.")) return ITEM_INTERACT_COMPLETE else if(!length(B.contents)) - to_chat(user, "You empty all of [B]'s contents into the All-In-One grinder.") + to_chat(user, SPAN_NOTICE("You empty all of [B]'s contents into the All-In-One grinder.")) else - to_chat(user, "You empty some of [B]'s contents into the All-In-One grinder.") + to_chat(user, SPAN_NOTICE("You empty some of [B]'s contents into the All-In-One grinder.")) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE @@ -222,7 +222,7 @@ if(user.a_intent == INTENT_HARM) return ..() else - to_chat(user, "Cannot refine into a reagent!") + to_chat(user, SPAN_WARNING("Cannot refine into a reagent!")) return ITEM_INTERACT_COMPLETE if(user.transfer_item_to(used, src)) diff --git a/code/modules/reagents/chemistry/reagents/alcohol.dm b/code/modules/reagents/chemistry/reagents/alcohol.dm index 2c20fa10b12..a47a0adbae6 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol.dm @@ -20,15 +20,15 @@ if(istype(O,/obj/item/paper)) var/obj/item/paper/paperaffected = O paperaffected.clearpaper() - paperaffected.visible_message("The solution melts away the ink on the paper.") + paperaffected.visible_message(SPAN_NOTICE("The solution melts away the ink on the paper.")) if(istype(O,/obj/item/book)) if(volume >= 5) var/obj/item/book/affectedbook = O for(var/page in affectedbook.pages) affectedbook.pages[page] = " " //we're blanking the pages not making em null - affectedbook.visible_message("The solution melts away the ink on the book.") + affectedbook.visible_message(SPAN_NOTICE("The solution melts away the ink on the book.")) else - O.visible_message("It wasn't enough...") + O.visible_message(SPAN_WARNING("It wasn't enough...")) /datum/reagent/consumable/ethanol/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume)//Splashing people with ethanol isn't quite as good as fuel. if(method == REAGENT_TOUCH) @@ -734,7 +734,7 @@ drink_icon = "demonsblood" drink_name = "Demons Blood" drink_desc = "Just looking at this thing makes the hair at the back of your neck stand up." - taste_description = "evil" + taste_description = SPAN_WARNING("evil") goal_difficulty = REAGENT_GOAL_HARD /datum/reagent/consumable/ethanol/vodkatonic @@ -1103,7 +1103,7 @@ if(prob(50)) M.say("[sonic_message]") else - to_chat(M, "[sonic_message ]") + to_chat(M, SPAN_NOTICE("[sonic_message ]")) return ..() | update_flags /datum/reagent/consumable/ethanol/applejack @@ -1161,7 +1161,7 @@ id = "dragonsbreath" description = "Possessing this stuff probably breaks the Geneva convention." color = "#DC0000" - taste_description = "LIQUID FUCKING DEATH OH GOD WHAT THE FUCK" + taste_description = SPAN_USERDANGER("LIQUID FUCKING DEATH OH GOD WHAT THE FUCK") /datum/reagent/consumable/ethanol/dragons_breath/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume) if(method == REAGENT_INGEST && prob(20)) @@ -1171,7 +1171,7 @@ /datum/reagent/consumable/ethanol/dragons_breath/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(M.reagents.has_reagent("milk")) - to_chat(M, "The milk stops the burning. Ahhh.") + to_chat(M, SPAN_NOTICE("The milk stops the burning. Ahhh.")) M.reagents.del_reagent("milk") M.reagents.del_reagent("dragonsbreath") return @@ -1179,22 +1179,22 @@ M.reagents.del_reagent("dragonsbreath") //As funny as it is, let's not have new wizards dust themselfs. return if(prob(8)) - to_chat(M, "Oh god! Oh GODD!!") + to_chat(M, SPAN_USERDANGER("Oh god! Oh GODD!!")) if(prob(50)) - to_chat(M, "Your throat burns terribly!") + to_chat(M, SPAN_DANGER("Your throat burns terribly!")) M.emote(pick("scream","cry","choke","gasp")) M.Stun(2 SECONDS, FALSE) if(prob(8)) - to_chat(M, "Why!? WHY!?") + to_chat(M, SPAN_DANGER("Why!? WHY!?")) if(prob(8)) - to_chat(M, "ARGHHHH!") + to_chat(M, SPAN_DANGER("ARGHHHH!")) if(prob(2 * volume)) - to_chat(M, "OH GOD OH GOD PLEASE NO!!") + to_chat(M, SPAN_USERDANGER("OH GOD OH GOD PLEASE NO!!")) if(M.on_fire) M.adjust_fire_stacks(20) if(prob(50)) - to_chat(M, "IT BURNS!!!!") - M.visible_message("[M] is consumed in flames!") + to_chat(M, SPAN_USERDANGER("IT BURNS!!!!")) + M.visible_message(SPAN_DANGER("[M] is consumed in flames!")) M.dust() return return ..() | update_flags @@ -1414,7 +1414,7 @@ Mc.wetlevel = 0 M.germ_level -= min(volume * 30, M.germ_level) if(COOLDOWN_FINISHED(src, reboot_cooldown) && prob(10)) - to_chat(M, "Your systems prepare for a reboot.") + to_chat(M, SPAN_NOTICE("Your systems prepare for a reboot.")) M.Paralyse(5 SECONDS) M.Drowsy(20 SECONDS) metabolization_rate += 4.6 // get rid of it faster after rebooting @@ -1478,7 +1478,7 @@ if(head_organ && robohead.is_monitor) H.change_hair("Blue IPC Screen", 1) var/bluescreen_message = pick("Stack underflow.", "Null pointer exception.", "Syntax error.", "500 Internal Server Error.", "Segmentation fault.", "Runtime exception.", "418 I'm a teapot.", "Could not open [M]: No such file or directory.", "fatal: not a git repository (or any of the parent directories): .git", "Display error: No signal.") - to_chat(M, "[bluescreen_message]") + to_chat(M, SPAN_WARNING("[bluescreen_message]")) if(prob(50) && COOLDOWN_FINISHED(src, drink_drowsiness_cooldown)) M.EyeBlurry(10 SECONDS) M.Drowsy(5 SECONDS) @@ -1505,7 +1505,7 @@ if(prob(5)) update_flags |= M.adjustFireLoss(5, FALSE) var/burn_message = pick("Your wires singe!", "Your fans are working overtime!", "It burns...!") - to_chat(M, "[burn_message]") + to_chat(M, SPAN_USERDANGER("[burn_message]")) return ..() | update_flags /datum/reagent/consumable/ethanol/synthanol/dryer_martini @@ -1668,10 +1668,10 @@ var/update_flags = STATUS_UPDATE_NONE if(!M.nutrition) if(prob(66.66)) - to_chat(M, "You feel hungry...") + to_chat(M, SPAN_WARNING("You feel hungry...")) else if(prob(50)) update_flags |= M.adjustToxLoss(1, FALSE) - to_chat(M, "Your stomach grumbles painfully!") + to_chat(M, SPAN_WARNING("Your stomach grumbles painfully!")) else if(prob(60)) M.adjust_nutrition(-remove_nutrition) @@ -1808,7 +1808,7 @@ /datum/reagent/consumable/ethanol/acid_dreams/on_mob_add(mob/living/M) if(isgrey(M)) - to_chat(M, "Your mind expands and your eyes see the world for what it really is.") + to_chat(M, SPAN_NOTICE("Your mind expands and your eyes see the world for what it really is.")) M.Druggy(12 SECONDS) ADD_TRAIT(M, TRAIT_NIGHT_VISION, id) // Powerful? Sure. But everyone knows you're there. Also you've got a druggy filter over your eyes. RegisterSignal(M, COMSIG_AFTER_SPECIES_CHANGE, PROC_REF(on_species_change)) @@ -1829,18 +1829,18 @@ target_list += L if(length(target_list)) for(var/mob/living/target in target_list) - to_chat(target, "You feel that [M.name] is somewhere near.") + to_chat(target, SPAN_WARNING("You feel that [M.name] is somewhere near.")) to_chat(M, pick( - "The scent of your brainwaves intermingles with another!", - "Your synapses accidentally call out your name!", - "Your mind bumps into someone!", - "The eyes of other minds are staring at you from across the noosphere!") + SPAN_WARNING("The scent of your brainwaves intermingles with another!"), + SPAN_WARNING("Your synapses accidentally call out your name!"), + SPAN_WARNING("Your mind bumps into someone!"), + SPAN_WARNING("The eyes of other minds are staring at you from across the noosphere!")) ) return ..() /datum/reagent/consumable/ethanol/acid_dreams/on_mob_delete(mob/living/M) if(isgrey(M)) - to_chat(M, "Your mind shrinks down to its usual size and the world hides its secrets from you!") + to_chat(M, SPAN_WARNING("Your mind shrinks down to its usual size and the world hides its secrets from you!")) REMOVE_TRAIT(M, TRAIT_NIGHT_VISION, id) M.Druggy(0 SECONDS) UnregisterSignal(M, COMSIG_AFTER_SPECIES_CHANGE) @@ -1852,7 +1852,7 @@ REMOVE_TRAIT(M, TRAIT_NIGHT_VISION, id) M.Druggy(0 SECONDS) else - to_chat(M, "Your mind expands and your eyes see the world for what it really is.") + to_chat(M, SPAN_NOTICE("Your mind expands and your eyes see the world for what it really is.")) M.Druggy(12 SECONDS) ADD_TRAIT(M, TRAIT_NIGHT_VISION, id) @@ -1883,7 +1883,7 @@ M.bodytemperature = max(min_achievable_temp, M.bodytemperature - (80 * TEMPERATURE_DAMAGE_COEFFICIENT)) // Don't spam the chat too much. if(prob(36) && M.getFireLoss()) - to_chat(M, "The icy energies within you soothe your burns.") + to_chat(M, SPAN_NOTICE("The icy energies within you soothe your burns.")) var/update_flags = STATUS_UPDATE_NONE var/mob/living/carbon/human/H = M update_flags |= H.adjustFireLoss(-2 * REAGENTS_EFFECT_MULTIPLIER, FALSE) @@ -1892,7 +1892,7 @@ /datum/reagent/consumable/ethanol/ahdomai_eclipse/on_mob_delete(mob/living/M) if(istajaran(M)) REMOVE_TRAIT(M, TRAIT_RESISTCOLD, id) - to_chat(M, "The raging blizzard within you subsides.") + to_chat(M, SPAN_WARNING("The raging blizzard within you subsides.")) UnregisterSignal(M, COMSIG_AFTER_SPECIES_CHANGE) return ..() @@ -1971,9 +1971,9 @@ if(prob(50)) M.visible_message( - "A soapy liqid flows out of [M]'s pores, cleaning [M.p_them()].", - "Your skin emits a soapy liquid from its pores, cleaning you in the process.", - "A sickening oozing sound fills the air." + SPAN_NOTICE("A soapy liqid flows out of [M]'s pores, cleaning [M.p_them()]."), + SPAN_NOTICE("Your skin emits a soapy liquid from its pores, cleaning you in the process."), + SPAN_WARNING("A sickening oozing sound fills the air.") ) M.clean_blood() return ..() @@ -1984,9 +1984,9 @@ if(prob(5)) M.visible_message( - "A huge surge of soapy liqid gushes out of [M]'s pores and pools on the floor!", - "Your skin emits a surge of soapy liquid from its pores, cleaning you and the surrounding floor in the process.", - "A vile gushing sound fills the air followed by the splattering of a thick liquid on the floor!" + SPAN_WARNING("A huge surge of soapy liqid gushes out of [M]'s pores and pools on the floor!"), + SPAN_NOTICE("Your skin emits a surge of soapy liquid from its pores, cleaning you and the surrounding floor in the process."), + SPAN_WARNING("A vile gushing sound fills the air followed by the splattering of a thick liquid on the floor!") ) new /obj/effect/particle_effect/foam(M.loc) return list(0) @@ -2007,7 +2007,7 @@ /datum/reagent/consumable/ethanol/diona_smash/on_mob_add(mob/living/M) if(iskidan(M)) - to_chat(M, "Delicious! You feel a surge of energy in your muscles, you feel like you can smash anything!") + to_chat(M, SPAN_NOTICE("Delicious! You feel a surge of energy in your muscles, you feel like you can smash anything!")) var/mob/living/carbon/human/H = M H.physiology.melee_bonus += damage_mod RegisterSignal(M, COMSIG_AFTER_SPECIES_CHANGE, PROC_REF(on_species_change)) @@ -2015,7 +2015,7 @@ /datum/reagent/consumable/ethanol/diona_smash/on_mob_delete(mob/living/M) if(iskidan(M)) - to_chat(M, "You no longer have the energy to smash!") + to_chat(M, SPAN_WARNING("You no longer have the energy to smash!")) var/mob/living/carbon/human/H = M H.physiology.melee_bonus -= damage_mod UnregisterSignal(M, COMSIG_AFTER_SPECIES_CHANGE) @@ -2026,7 +2026,7 @@ if(iskidan(M)) var/mob/living/carbon/human/H = M H.physiology.melee_bonus += damage_mod - to_chat(M, "You feel a surge of energy in your muscles, you feel like you can smash anything!") + to_chat(M, SPAN_NOTICE("You feel a surge of energy in your muscles, you feel like you can smash anything!")) // No need to change the damage modifier when turning into a non-Kidan, it gets reset when species changes. /datum/reagent/consumable/ethanol/howler @@ -2091,7 +2091,7 @@ /datum/reagent/consumable/ethanol/jungle_vox/on_mob_add(mob/living/M) if(isvox(M)) - to_chat(M, "As the dust is filtered out of your lungs, it becomes much easier to breathe.") + to_chat(M, SPAN_NOTICE("As the dust is filtered out of your lungs, it becomes much easier to breathe.")) ADD_TRAIT(M, TRAIT_NOBREATH, id) RegisterSignal(M, COMSIG_AFTER_SPECIES_CHANGE, PROC_REF(on_species_change)) return ..() @@ -2109,7 +2109,7 @@ /datum/reagent/consumable/ethanol/jungle_vox/on_mob_delete(mob/living/M) if(isvox(M)) - to_chat(M, "Your lungs begin to feel dusty again...") + to_chat(M, SPAN_WARNING("Your lungs begin to feel dusty again...")) REMOVE_TRAIT(M, TRAIT_NOBREATH, id) UnregisterSignal(M, COMSIG_AFTER_SPECIES_CHANGE) return ..() @@ -2120,7 +2120,7 @@ REMOVE_TRAIT(M, TRAIT_NOBREATH, id) else ADD_TRAIT(M, TRAIT_NOBREATH, id) - to_chat(M, "As the dust is filtered out of your lungs, it becomes much easier to breathe.") + to_chat(M, SPAN_NOTICE("As the dust is filtered out of your lungs, it becomes much easier to breathe.")) /datum/reagent/consumable/ethanol/slime_mold name = "Slime Mold" @@ -2142,7 +2142,7 @@ if(!(NO_BLOOD in H.dna.species.species_traits)) if(H.blood_volume < BLOOD_VOLUME_NORMAL) if(prob(36)) - to_chat(M, "You feel a surge of invigoration flow through your veins!") + to_chat(M, SPAN_NOTICE("You feel a surge of invigoration flow through your veins!")) H.blood_volume += REAGENTS_METABOLISM return ..() @@ -2166,8 +2166,8 @@ if(ismoth(M)) M.set_light(3, 4) M.visible_message( - "[M] suddenly starts radiating a brillant light!", - "The Sun was within you all this time!" + SPAN_NOTICE("[M] suddenly starts radiating a brillant light!"), + SPAN_NOTICE("The Sun was within you all this time!") ) RegisterSignal(M, COMSIG_AFTER_SPECIES_CHANGE, TYPE_PROC_REF(/datum/reagent/consumable/ethanol/sontse, on_species_change)) @@ -2183,8 +2183,8 @@ if(ismoth(M)) M.set_light(0, null) M.visible_message( - "The radiant light of [M] fades away.", - "The Sun within you subsides." + SPAN_WARNING("The radiant light of [M] fades away."), + SPAN_WARNING("The Sun within you subsides.") ) UnregisterSignal(M, COMSIG_AFTER_SPECIES_CHANGE) return ..() @@ -2203,9 +2203,9 @@ update_flags |= M.adjustFireLoss(10 * REAGENTS_EFFECT_MULTIPLIER, FALSE) M.bodytemperature += rand(15, 30) M.visible_message( - "The radiant aura of [M] suddenly flares into a blinding flash!", - "THE SUN BURNS YOU!", - "You briefly feel a wave of warmth wash over you." + SPAN_DANGER("The radiant aura of [M] suddenly flares into a blinding flash!"), + SPAN_USERDANGER("THE SUN BURNS YOU!"), + SPAN_WARNING("You briefly feel a wave of warmth wash over you.") ) return list(0, update_flags) @@ -2216,8 +2216,8 @@ else M.set_light(3, 4) M.visible_message( - "[M] suddenly starts radiating a brillant light!", - "The Sun was within you all this time!" + SPAN_NOTICE("[M] suddenly starts radiating a brillant light!"), + SPAN_NOTICE("The Sun was within you all this time!") ) /datum/reagent/consumable/ethanol/ultramatter @@ -2255,9 +2255,9 @@ suit.next_extinguish = world.time + 10 SECONDS if(!inflamed) M.visible_message( - "[M] expels a flaming substance and suddenly erupts into an inferno!", - "You expell flaming substance and become bathed in fire!", - "You hear spraying and fire igniting!" + SPAN_DANGER("[M] expels a flaming substance and suddenly erupts into an inferno!"), + SPAN_USERDANGER("You expell flaming substance and become bathed in fire!"), + SPAN_DANGER("You hear spraying and fire igniting!") ) inflamed = TRUE return ..() @@ -2266,7 +2266,7 @@ if(isplasmaman(M)) REMOVE_TRAIT(M, TRAIT_RESISTHEAT, id) M.ExtinguishMob() - to_chat(M, "The fires surrounding you are quenched!") + to_chat(M, SPAN_WARNING("The fires surrounding you are quenched!")) UnregisterSignal(M, COMSIG_AFTER_SPECIES_CHANGE) return ..() diff --git a/code/modules/reagents/chemistry/reagents/blob_reagents.dm b/code/modules/reagents/chemistry/reagents/blob_reagents.dm index c5f33da350a..79dca99b971 100644 --- a/code/modules/reagents/chemistry/reagents/blob_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/blob_reagents.dm @@ -181,4 +181,4 @@ if(message_living && !issilicon(M)) totalmessage += message_living totalmessage += "!" - to_chat(M, "[totalmessage]") + to_chat(M, SPAN_USERDANGER("[totalmessage]")) diff --git a/code/modules/reagents/chemistry/reagents/drinks_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks_reagents.dm index b9580b60315..ccd9f672a9d 100644 --- a/code/modules/reagents/chemistry/reagents/drinks_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks_reagents.dm @@ -1213,9 +1213,9 @@ if(M.nutrition > NUTRITION_LEVEL_FULL && prob(10) && COOLDOWN_FINISHED(src, drink_overcharge_cooldown)) do_sparks(2, FALSE, M) M.visible_message( - "[M] lets off a few sparks.", - "You feel a little too charged up.", - "Something fizzles nearby." + SPAN_NOTICE("[M] lets off a few sparks."), + SPAN_NOTICE("You feel a little too charged up."), + SPAN_NOTICE("Something fizzles nearby.") ) microbattery.receive_damage(2, TRUE) // this drink is not great for you when you're already charged COOLDOWN_START(src, drink_overcharge_cooldown, 30 SECONDS) @@ -1225,7 +1225,7 @@ metabolization_rate += 0.8 // charging triple means burning through triple M.nutrition += 2 if(COOLDOWN_FINISHED(src, drink_message_cooldown)) - to_chat(M, "You feel relief surging through your wires!") + to_chat(M, SPAN_NOTICE("You feel relief surging through your wires!")) COOLDOWN_START(src, drink_message_cooldown, 10 MINUTES) return ..() @@ -1274,7 +1274,7 @@ qdel(pick(/obj/effect/decal/cleanable/ in M)) else M.clean_blood() - to_chat(M, "The foam cleans you as it bubbles through your components.") + to_chat(M, SPAN_NOTICE("The foam cleans you as it bubbles through your components.")) SEND_SIGNAL(src, COMSIG_COMPONENT_CLEAN_ACT) return ..() @@ -1332,9 +1332,9 @@ var/beat_verbs = pick("assaults","batters") M.Jitter(0.5 SECONDS) M.visible_message( - "[M] is battered by an unseen assailant!", - "The beverage [beat_verbs] you!", - "You hear empty punches against metal!" + SPAN_NOTICE("[M] is battered by an unseen assailant!"), + SPAN_NOTICE("The beverage [beat_verbs] you!"), + SPAN_WARNING("You hear empty punches against metal!") ) if(prob(25)) M.KnockDown(2 SECONDS) @@ -1370,7 +1370,7 @@ Mc.wetlevel -= 2 M.germ_level -= min(volume*20, M.germ_level) if(COOLDOWN_FINISHED(src, reboot_cooldown) && prob(10)) - to_chat(M, "Your systems prepare for a reboot.") + to_chat(M, SPAN_NOTICE("Your systems prepare for a reboot.")) M.Paralyse(3 SECONDS) M.Drowsy(10 SECONDS) metabolization_rate += 2.6 // get rid of it faster after rebooting diff --git a/code/modules/reagents/chemistry/reagents/drugs.dm b/code/modules/reagents/chemistry/reagents/drugs.dm index 3fba1d49534..6cfee2c18f3 100644 --- a/code/modules/reagents/chemistry/reagents/drugs.dm +++ b/code/modules/reagents/chemistry/reagents/drugs.dm @@ -113,7 +113,7 @@ var/update_flags = STATUS_UPDATE_NONE var/smoke_message = pick("You feel relaxed.", "You feel calmed.", "You feel less stressed.", "You feel more placid.", "You feel more undivided.") if(prob(5)) - to_chat(M, "[smoke_message]") + to_chat(M, SPAN_NOTICE("[smoke_message]")) return ..() | update_flags /datum/reagent/nicotine/overdose_process(mob/living/M, severity) @@ -122,13 +122,13 @@ var/update_flags = overdose_info[REAGENT_OVERDOSE_FLAGS] if(severity == 1) if(effect <= 2) - M.visible_message("[M] looks nervous!") + M.visible_message(SPAN_WARNING("[M] looks nervous!")) M.AdjustConfused(30 SECONDS) update_flags |= M.adjustToxLoss(2, FALSE) M.Jitter(20 SECONDS) M.emote("twitch_s") else if(effect <= 4) - M.visible_message("[M] is all sweaty!") + M.visible_message(SPAN_WARNING("[M] is all sweaty!")) M.bodytemperature += rand(15,30) update_flags |= M.adjustToxLoss(3, FALSE) else if(effect <= 7) @@ -138,12 +138,12 @@ else if(severity == 2) if(effect <= 2) M.emote("gasp") - to_chat(M, "You can't breathe!") + to_chat(M, SPAN_WARNING("You can't breathe!")) update_flags |= M.adjustOxyLoss(15, FALSE) update_flags |= M.adjustToxLoss(3, FALSE) M.Stun(2 SECONDS, FALSE) else if(effect <= 4) - to_chat(M, "You feel terrible!") + to_chat(M, SPAN_WARNING("You feel terrible!")) M.emote("drool") M.Jitter(20 SECONDS) update_flags |= M.adjustToxLoss(5, FALSE) @@ -151,7 +151,7 @@ M.AdjustConfused(66 SECONDS) else if(effect <= 7) M.emote("collapse") - to_chat(M, "Your heart is pounding!") + to_chat(M, SPAN_WARNING("Your heart is pounding!")) SEND_SOUND(M, sound('sound/effects/singlebeat.ogg')) M.Paralyse(10 SECONDS) M.Jitter(60 SECONDS) @@ -178,7 +178,7 @@ var/update_flags = STATUS_UPDATE_NONE var/death_smoke_message = pick("You feel grimy.", "You feel less lively.", "You feel more bleak.", "You feel you're dying inside.", "You feel you're one step closer to grave.") if(prob(10)) - to_chat(M, "[death_smoke_message]") + to_chat(M, SPAN_WARNING("[death_smoke_message]")) var/obj/item/organ/internal/lungs/A = M.get_int_organ(/obj/item/organ/internal/lungs) if(ishuman(M)) @@ -217,12 +217,12 @@ if(prob(8)) M.emote(pick("laugh", "giggle")) if(prob(2.5 * DRAWBACK_CHANCE_MODIFIER(recent_consumption))) - to_chat(M, "You feel warm.") // fever, gets worse with volume + to_chat(M, SPAN_NOTICE("You feel warm.")) // fever, gets worse with volume M.bodytemperature += 30 * DRAWBACK_CHANCE_MODIFIER(recent_consumption * 2) M.Confused(1 SECONDS * DRAWBACK_CHANCE_MODIFIER(recent_consumption * 2)) //let us see how this feels if(prob(4)) - to_chat(M, "You feel kinda awful!") + to_chat(M, SPAN_NOTICE("You feel kinda awful!")) M.LoseBreath(5 SECONDS) M.AdjustJitter(60 SECONDS) return ..() | update_flags @@ -233,12 +233,12 @@ var/update_flags = overdose_info[REAGENT_OVERDOSE_FLAGS] if(severity == 1) if(effect <= 2) - M.visible_message("[M] looks confused!") + M.visible_message(SPAN_WARNING("[M] looks confused!")) M.AdjustConfused(40 SECONDS) M.Jitter(40 SECONDS) M.emote("scream") else if(effect <= 4) - M.visible_message("[M] is all sweaty!") + M.visible_message(SPAN_WARNING("[M] is all sweaty!")) M.bodytemperature += 150 update_flags |= M.adjustBrainLoss(5, FALSE) update_flags |= M.adjustToxLoss(5, FALSE) @@ -248,12 +248,12 @@ M.emote("grumble") else if(severity == 2) if(effect <= 2) - M.visible_message("[M] is sweating like a pig!") + M.visible_message(SPAN_WARNING("[M] is sweating like a pig!")) M.bodytemperature += 200 update_flags |= M.adjustToxLoss(20, FALSE) M.Stun(2 SECONDS) else if(effect <= 4) - M.visible_message("[M] starts twitching the hell out!") + M.visible_message(SPAN_WARNING("[M] starts twitching the hell out!")) M.Jitter(200 SECONDS) update_flags |= M.adjustToxLoss(2, FALSE) update_flags |= M.adjustBrainLoss(20, FALSE) @@ -263,7 +263,7 @@ M.reagents.add_reagent("jagged_crystals", 5) else if(effect <= 7) M.emote("scream") - M.visible_message("[M] nervously scratches at [M.p_their()] skin!") + M.visible_message(SPAN_WARNING("[M] nervously scratches at [M.p_their()] skin!")) M.Jitter(20 SECONDS) update_flags |= M.adjustBruteLoss(5, FALSE) M.emote("twitch_s") @@ -309,7 +309,7 @@ M.Drowsy(10 SECONDS) M.drop_r_hand() M.drop_l_hand() - to_chat(M, "You can barely keep your eyes open!") + to_chat(M, SPAN_WARNING("You can barely keep your eyes open!")) return list(effect, update_flags) /datum/reagent/krokodil @@ -335,18 +335,18 @@ if(prob(15)) M.emote(pick("smile", "grin", "yawn", "laugh", "drool")) if(prob(10)) - to_chat(M, "You feel pretty chill.") + to_chat(M, SPAN_NOTICE("You feel pretty chill.")) M.bodytemperature-- M.emote("smile") if(prob(5)) - to_chat(M, "You feel too chill!") + to_chat(M, SPAN_WARNING("You feel too chill!")) M.emote(pick("yawn", "drool")) M.Stun(2 SECONDS, FALSE) update_flags |= M.adjustToxLoss(1, FALSE) update_flags |= M.adjustBrainLoss(1, FALSE) M.bodytemperature -= 20 if(prob(2)) - to_chat(M, "Your skin feels all rough and dry.") + to_chat(M, SPAN_WARNING("Your skin feels all rough and dry.")) update_flags |= M.adjustBruteLoss(2, FALSE) return ..() | update_flags @@ -356,14 +356,14 @@ var/update_flags = overdose_info[REAGENT_OVERDOSE_FLAGS] if(severity == 1) if(effect <= 2) - M.visible_message("[M] looks dazed!") + M.visible_message(SPAN_WARNING("[M] looks dazed!")) M.Stun(6 SECONDS) M.emote("drool") else if(effect <= 4) M.emote("shiver") M.bodytemperature -= 40 else if(effect <= 7) - to_chat(M, "Your skin is cracking and bleeding!") + to_chat(M, SPAN_WARNING("Your skin is cracking and bleeding!")) update_flags |= M.adjustBruteLoss(5, FALSE) update_flags |= M.adjustToxLoss(2, FALSE) update_flags |= M.adjustBrainLoss(1, FALSE) @@ -371,8 +371,8 @@ else if(severity == 2) if(effect <= 2) M.visible_message( - "[M] sways and falls over!", - "You sway and fall over!" + SPAN_WARNING("[M] sways and falls over!"), + SPAN_WARNING("You sway and fall over!") ) update_flags |= M.adjustToxLoss(3, FALSE) update_flags |= M.adjustBrainLoss(3, FALSE) @@ -382,8 +382,8 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M H.visible_message( - "[M]'s skin is rotting away!", - "Your skin is rotting away!" + SPAN_DANGER("[M]'s skin is rotting away!"), + SPAN_USERDANGER("Your skin is rotting away!") ) update_flags |= H.adjustBruteLoss(25, FALSE) H.emote("scream") @@ -447,22 +447,22 @@ var/update_flags = overdose_info[REAGENT_OVERDOSE_FLAGS] if(severity == 1) if(effect <= 2) - M.visible_message("[M] can't seem to control [M.p_their()] legs!") + M.visible_message(SPAN_WARNING("[M] can't seem to control [M.p_their()] legs!")) M.AdjustConfused(40 SECONDS) M.Weaken(8 SECONDS) else if(effect <= 4) - M.visible_message("[M]'s hands flip out and flail everywhere!") + M.visible_message(SPAN_WARNING("[M]'s hands flip out and flail everywhere!")) M.drop_l_hand() M.drop_r_hand() else if(effect <= 7) M.emote("laugh") else if(severity == 2) if(effect <= 2) - M.visible_message("[M]'s hands flip out and flail everywhere!") + M.visible_message(SPAN_WARNING("[M]'s hands flip out and flail everywhere!")) M.drop_l_hand() M.drop_r_hand() else if(effect <= 4) - M.visible_message("[M] falls to the floor and flails uncontrollably!") + M.visible_message(SPAN_WARNING("[M] falls to the floor and flails uncontrollably!")) M.Jitter(20 SECONDS) M.Weaken(20 SECONDS) else if(effect <= 7) @@ -506,14 +506,14 @@ if(check < 30) M.emote(pick("twitch", "twitch_s", "scream", "drool", "grumble", "mumble")) if(check < 8) - M.visible_message("[M] scratches at something under [M.p_their()] skin!") + M.visible_message(SPAN_WARNING("[M] scratches at something under [M.p_their()] skin!")) update_flags |= M.adjustBruteLoss(5, FALSE) else if(check < 16) M.AdjustHallucinate(30 SECONDS) else if(check < 24) - to_chat(M, "They're coming for you!") + to_chat(M, SPAN_USERDANGER("They're coming for you!")) else if(check < 28) - to_chat(M, "THEY'RE GONNA GET YOU!") + to_chat(M, SPAN_USERDANGER("THEY'RE GONNA GET YOU!")) return ..() | update_flags /datum/reagent/bath_salts/on_mob_delete(mob/living/M) @@ -528,7 +528,7 @@ M.EyeBlind(2 SECONDS) M.adjustToxLoss(5) else - to_chat(M, "You feel a bit more salty than usual.") + to_chat(M, SPAN_NOTICE("You feel a bit more salty than usual.")) /datum/reagent/bath_salts/overdose_process(mob/living/M, severity) var/list/overdose_info = ..() @@ -536,13 +536,13 @@ var/update_flags = overdose_info[REAGENT_OVERDOSE_FLAGS] if(severity == 1) if(effect <= 2) - M.visible_message("[M] flails around like a lunatic!") + M.visible_message(SPAN_DANGER("[M] flails around like a lunatic!")) M.AdjustConfused(50 SECONDS) M.Jitter(20 SECONDS) M.emote("scream") M.reagents.add_reagent("jagged_crystals", 5) else if(effect <= 4) - M.visible_message("[M]'s eyes dilate!") + M.visible_message(SPAN_DANGER("[M]'s eyes dilate!")) M.emote("twitch_s") update_flags |= M.adjustToxLoss(2, FALSE) update_flags |= M.adjustBrainLoss(1, FALSE) @@ -554,14 +554,14 @@ M.reagents.add_reagent("jagged_crystals", 5) else if(severity == 2) if(effect <= 2) - M.visible_message("[M]'s eyes dilate!") + M.visible_message(SPAN_DANGER("[M]'s eyes dilate!")) update_flags |= M.adjustToxLoss(2, FALSE) update_flags |= M.adjustBrainLoss(1, FALSE) M.Stun(6 SECONDS) M.EyeBlurry(14 SECONDS) M.reagents.add_reagent("jagged_crystals", 5) else if(effect <= 4) - M.visible_message("[M] convulses violently and falls to the floor!") + M.visible_message(SPAN_DANGER("[M] convulses violently and falls to the floor!")) M.Jitter(100 SECONDS) update_flags |= M.adjustToxLoss(2, FALSE) update_flags |= M.adjustBrainLoss(1, FALSE) @@ -570,7 +570,7 @@ M.reagents.add_reagent("jagged_crystals", 5) else if(effect <= 7) M.emote("scream") - M.visible_message("[M] tears at [M.p_their()] own skin!") + M.visible_message(SPAN_DANGER("[M] tears at [M.p_their()] own skin!")) update_flags |= M.adjustBruteLoss(5, FALSE) M.reagents.add_reagent("jagged_crystals", 5) M.emote("twitch") @@ -632,7 +632,7 @@ M.emote(pick("twitch", "shake", "tremble","quiver", "twitch_s")) if(prob(8)) var/high_message = pick("really buff", "on top of the world","like you're made of steel", "energized", "invigorated", "full of energy") - to_chat(M, "You feel [high_message]!") + to_chat(M, SPAN_NOTICE("You feel [high_message]!")) return ..() | update_flags /datum/reagent/aranesp/on_mob_delete(mob/living/M) @@ -666,7 +666,7 @@ if(prob(15)) M.emote(pick("laugh", "giggle", "smile", "grin")) else if(prob(10)) - to_chat(M, "You feel [pick("great", "good", "amazing", "really nice", "magical")]!") + to_chat(M, SPAN_NOTICE("You feel [pick("great", "good", "amazing", "really nice", "magical")]!")) else if(prob(1)) M.say("hehehe") // you WILL hehehe @@ -684,7 +684,7 @@ if(prob(15)) M.emote(pick("cry", "frown", "sulk", "gurgle")) else if(prob(10)) - to_chat(M, "You feel [pick("like shit", "terrible", "weak", "like a rhumba beat", "hollow")]!") + to_chat(M, SPAN_WARNING("You feel [pick("like shit", "terrible", "weak", "like a rhumba beat", "hollow")]!")) update_flags |= M.adjustBrainLoss(0.2, FALSE) if(!prob(10 * (severity ** 2))) // 1 - 10, 2 - 40 return list(effect, update_flags) @@ -742,7 +742,7 @@ if(prob(5)) M.emote(pick("hsigh", "yawn")) if(prob(5)) - to_chat(M, "[pick("You feel peaceful.", "You breathe softly.", "You feel chill.", "You vibe.")]") + to_chat(M, SPAN_NOTICE("[pick("You feel peaceful.", "You breathe softly.", "You feel chill.", "You vibe.")]")) if(prob(10)) M.AdjustConfused(-10 SECONDS) M.SetWeakened(0, FALSE) @@ -805,22 +805,22 @@ var/update_flags = overdose_info[REAGENT_OVERDOSE_FLAGS] if(severity == 1) if(effect <= 2) - M.visible_message("[M] can't seem to control [M.p_their()] legs!") + M.visible_message(SPAN_WARNING("[M] can't seem to control [M.p_their()] legs!")) M.AdjustConfused(66 SECONDS) M.Weaken(4 SECONDS) else if(effect <= 4) - M.visible_message("[M]'s hands flip out and flail everywhere!") + M.visible_message(SPAN_WARNING("[M]'s hands flip out and flail everywhere!")) M.drop_l_hand() M.drop_r_hand() else if(effect <= 7) M.emote("laugh") else if(severity == 2) if(effect <= 2) - M.visible_message("[M]'s hands flip out and flail everywhere!") + M.visible_message(SPAN_WARNING("[M]'s hands flip out and flail everywhere!")) M.drop_l_hand() M.drop_r_hand() else if(effect <= 4) - M.visible_message("[M] falls to the floor and flails uncontrollably!") + M.visible_message(SPAN_WARNING("[M] falls to the floor and flails uncontrollably!")) M.Jitter(10 SECONDS) M.Weaken(10 SECONDS) else if(effect <= 7) @@ -937,13 +937,13 @@ if(current_cycle < CONSTANT_DOSE_SAFE_LIMIT) // Anything less than this and you'll come out fiiiine, aside from a big hit of stamina damage L.visible_message( - "[L] suddenly slows from their inhuman speeds, coming back with a wicked nosebleed!", - "You suddenly slow back to normal, a stream of blood gushing from your nose!") + SPAN_DANGER("[L] suddenly slows from their inhuman speeds, coming back with a wicked nosebleed!"), + SPAN_DANGER("You suddenly slow back to normal, a stream of blood gushing from your nose!")) L.adjustStaminaLoss(current_cycle * 2) else // Much longer than that however, and you're not gonna have a good day L.visible_message( - "[L] suddenly snaps back from their inhumans speeds, coughing up a spray of blood!", - "As you snap back to normal speed you cough up a worrying amount of blood. You feel like you've just been run over by a power loader.") + SPAN_DANGER("[L] suddenly snaps back from their inhumans speeds, coughing up a spray of blood!"), + SPAN_DANGER("As you snap back to normal speed you cough up a worrying amount of blood. You feel like you've just been run over by a power loader.")) L.custom_emote(EMOTE_VISIBLE, "coughs up blood!") L.bleed(25) L.apply_damage(max(current_cycle * 2 / 3, 60), STAMINA) @@ -983,8 +983,8 @@ if(HAS_TRAIT(source, TRAIT_IMMOBILIZED)) return NONE source.visible_message( - "[source] effortlessly dodges [hitting_projectile]!", - "You effortlessly evade [hitting_projectile]!", + SPAN_DANGER("[source] effortlessly dodges [hitting_projectile]!"), + SPAN_USERDANGER("You effortlessly evade [hitting_projectile]!"), ) playsound(source, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) source.add_filter(MEPHEDRONE_BLUR_EFFECT, 2, gauss_blur_filter(5)) @@ -1175,7 +1175,7 @@ if(prob(5)) M.emote(pick("hsigh", "giggle", "laugh", "smile")) if(prob(5)) - to_chat(M, "[pick("You feel peaceful.", "You whirr softly.", "You feel chill.", "You vibe.")]") + to_chat(M, SPAN_NOTICE("[pick("You feel peaceful.", "You whirr softly.", "You feel chill.", "You vibe.")]")) if(prob(4)) M.Confused(20 SECONDS) if(prob(10)) @@ -1216,18 +1216,18 @@ if(prob(15)) M.emote(pick("smile", "grin", "chuckle", "laugh")) if(prob(10)) - to_chat(M, "You feel pretty chill.") + to_chat(M, SPAN_NOTICE("You feel pretty chill.")) M.bodytemperature-- M.emote("smile") if(prob(5)) - to_chat(M, "You feel too chill!") + to_chat(M, SPAN_WARNING("You feel too chill!")) M.emote(pick("shiver", "cross")) M.Stun(2 SECONDS, FALSE) update_flags |= M.adjustFireLoss(1, FALSE) update_flags |= M.adjustBrainLoss(1, FALSE) M.bodytemperature -= 20 if(prob(2)) - to_chat(M, "Patches of corrosion appear on your chassis!") + to_chat(M, SPAN_WARNING("Patches of corrosion appear on your chassis!")) update_flags |= M.adjustBruteLoss(2, FALSE) return ..() | update_flags @@ -1237,7 +1237,7 @@ var/update_flags = overdose_info[REAGENT_OVERDOSE_FLAGS] if(severity == 1) if(effect <= 2) - M.visible_message("[M] looks dazed!") + M.visible_message(SPAN_WARNING("[M] looks dazed!")) M.Stun(6 SECONDS) do_sparks(5, FALSE, M) M.emote("stare") @@ -1245,7 +1245,7 @@ M.emote("shiver") M.bodytemperature -= 40 else if(effect <= 7) - to_chat(M, "Your chassis and internals are corroding!") + to_chat(M, SPAN_WARNING("Your chassis and internals are corroding!")) update_flags |= M.adjustBruteLoss(5, FALSE) update_flags |= M.adjustFireLoss(2, FALSE) update_flags |= M.adjustBrainLoss(1, FALSE) @@ -1255,8 +1255,8 @@ if(severity == 2) if(effect <= 2) M.visible_message( - "[M] sways and falls over!", - "You sway and fall over!" + SPAN_WARNING("[M] sways and falls over!"), + SPAN_WARNING("You sway and fall over!") ) update_flags |= M.adjustBruteLoss(3, FALSE) update_flags |= M.adjustBrainLoss(3, FALSE) @@ -1264,8 +1264,8 @@ M.emote("faint") else if(effect <= 4) M.visible_message( - "Large cracks appear on [M]'s casing and the surrounding area starts to melt!", - "Large cracks appear on your casing and the surrounding area starts to melt!" + SPAN_DANGER("Large cracks appear on [M]'s casing and the surrounding area starts to melt!"), + SPAN_USERDANGER("Large cracks appear on your casing and the surrounding area starts to melt!") ) update_flags |= M.adjustBruteLoss(25, FALSE) update_flags |= M.adjustFireLoss(25, FALSE) // We can't husk a robot. So we substitute with some extra melt damage. @@ -1313,7 +1313,7 @@ if(prob(10)) high_message = "0100011101001111010101000101010001000001010001110100111101000110010000010101001101010100!" if(prob(5)) - to_chat(M, "[high_message]") + to_chat(M, SPAN_NOTICE("[high_message]")) if(prob(5)) M.emote(pick("twitch", "shiver")) return ..() | update_flags @@ -1351,7 +1351,7 @@ if(prob(20)) M.emote("ping") if(prob(33)) - M.visible_message("[M]'s hands flip out and flail everywhere!") + M.visible_message(SPAN_DANGER("[M]'s hands flip out and flail everywhere!")) var/obj/item/I = M.get_active_hand() if(I) M.drop_item() @@ -1389,9 +1389,9 @@ var/high_message = pick("You feel calm.", "You feel collected.", "You feel like you need to relax.") if(prob(10)) high_message = "0100011101001111010101000101010001000001010001110100111101000110010000010101001101010100!" - to_chat(M, "[high_message]") + to_chat(M, SPAN_NOTICE("[high_message]")) if(prob(2.5 * DRAWBACK_CHANCE_MODIFIER(recent_consumption))) - to_chat(M, "Your circuits overheat!") // synth fever + to_chat(M, SPAN_NOTICE("Your circuits overheat!")) // synth fever M.bodytemperature += 30 * DRAWBACK_CHANCE_MODIFIER(recent_consumption * 2) M.Confused(1 SECONDS * DRAWBACK_CHANCE_MODIFIER(recent_consumption * 2)) @@ -1404,7 +1404,7 @@ M.Jitter(40 SECONDS) M.Stuttering(10 SECONDS) if(prob(10)) - to_chat(M, "You experience a violent electrical discharge!") + to_chat(M, SPAN_DANGER("You experience a violent electrical discharge!")) playsound(get_turf(M), 'sound/effects/eleczap.ogg', 75, 1) //Lightning effect for electrical discharge visualization var/icon/I=new('icons/obj/zap.dmi',"lightningend") diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 890aad608d9..b12d33e645d 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -106,7 +106,7 @@ return ..() | update_flags /datum/reagent/consumable/sugar/overdose_start(mob/living/M) - to_chat(M, "You pass out from hyperglycemic shock!") + to_chat(M, SPAN_DANGER("You pass out from hyperglycemic shock!")) M.emote("faint") ..() @@ -179,7 +179,7 @@ addiction_chance_additional = 10 addiction_threshold = 2 minor_addiction = TRUE - taste_description = "HOTNESS" + taste_description = SPAN_WARNING("HOTNESS") taste_mult = 1.5 /datum/reagent/consumable/capsaicin/on_mob_life(mob/living/M) @@ -210,11 +210,11 @@ description = "This shit goes in pepper spray." reagent_state = LIQUID color = "#B31008" // rgb: 179, 16, 8 - taste_description = "PURE FIRE" + taste_description = SPAN_USERDANGER("PURE FIRE") /datum/reagent/consumable/condensedcapsaicin/on_mob_life(mob/living/M) if(prob(5)) - M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]") + M.visible_message(SPAN_WARNING("[M] [pick("dry heaves!","coughs!","splutters!")]")) return ..() /datum/reagent/consumable/condensedcapsaicin/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume) @@ -228,7 +228,7 @@ victim.apply_status_effect(STATUS_EFFECT_PEPPERSPRAYED) if(!eyes_covered) - to_chat(victim, "Your eyes burns!") + to_chat(victim, SPAN_DANGER("Your eyes burns!")) victim.Stun(0.5 SECONDS) victim.EyeBlurry(20 SECONDS) victim.EyeBlind(8 SECONDS) @@ -656,7 +656,7 @@ /datum/reagent/consumable/fake_cheese/overdose_process(mob/living/M, severity) var/update_flags = STATUS_UPDATE_NONE if(prob(8)) - to_chat(M, "You feel something squirming in your stomach. Your thoughts turn to cheese and you begin to sweat.") + to_chat(M, SPAN_WARNING("You feel something squirming in your stomach. Your thoughts turn to cheese and you begin to sweat.")) update_flags |= M.adjustToxLoss(rand(1,2), FALSE) return list(0, update_flags) @@ -751,12 +751,12 @@ /datum/reagent/consumable/hydrogenated_soybeanoil/overdose_process(mob/living/M, severity) var/update_flags = STATUS_UPDATE_NONE if(prob(33)) - to_chat(M, "You feel horribly weak.") + to_chat(M, SPAN_WARNING("You feel horribly weak.")) if(prob(10)) - to_chat(M, "You cannot breathe!") + to_chat(M, SPAN_WARNING("You cannot breathe!")) update_flags |= M.adjustOxyLoss(5, FALSE) if(prob(5)) - to_chat(M, "You feel a sharp pain in your chest!") + to_chat(M, SPAN_WARNING("You feel a sharp pain in your chest!")) update_flags |= M.adjustOxyLoss(25, FALSE) M.Stun(10 SECONDS) M.Paralyse(20 SECONDS) @@ -808,9 +808,9 @@ /datum/reagent/consumable/wasabi/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume) if(method == REAGENT_INGEST) if(volume <= 1) - to_chat(M, "Your nostrils tingle briefly.") + to_chat(M, SPAN_NOTICE("Your nostrils tingle briefly.")) else - to_chat(M, "Your nostrils burn uncomfortably!") + to_chat(M, SPAN_WARNING("Your nostrils burn uncomfortably!")) M.adjustFireLoss(1) ///Food Related, but non-nutritious @@ -827,7 +827,7 @@ /datum/reagent/questionmark/reaction_mob(mob/living/carbon/human/H, method = REAGENT_TOUCH, volume) if(istype(H) && method == REAGENT_INGEST) if(H.dna.species.taste_sensitivity < TASTE_SENSITIVITY_NO_TASTE) // If you can taste it, then you know how awful it is. - to_chat(H, "Ugh! Eating that was a terrible idea!") + to_chat(H, SPAN_DANGER("Ugh! Eating that was a terrible idea!")) if(!H.HasDisease(/datum/disease/food_poisoning)) H.fakevomit(no_text = TRUE) if(HAS_TRAIT(H, TRAIT_NOHUNGER)) //If you don't eat, then you can't get food poisoning @@ -850,7 +850,7 @@ if(prob(10)) update_flags |= M.adjustToxLoss(rand(2,4), FALSE) if(prob(7)) - to_chat(M, "A horrible migraine overpowers you.") + to_chat(M, SPAN_WARNING("A horrible migraine overpowers you.")) M.Stun(rand(4 SECONDS, 10 SECONDS)) return ..() | update_flags @@ -865,14 +865,14 @@ /datum/reagent/cholesterol/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(volume >= 25 && prob(volume*0.15)) - to_chat(M, "Your chest feels [pick("weird","uncomfortable","nasty","gross","odd","unusual","warm")]!") + to_chat(M, SPAN_WARNING("Your chest feels [pick("weird","uncomfortable","nasty","gross","odd","unusual","warm")]!")) update_flags |= M.adjustToxLoss(rand(1,2), FALSE) else if(volume >= 45 && prob(volume*0.08)) - to_chat(M, "Your chest [pick("hurts","stings","aches","burns")]!") + to_chat(M, SPAN_WARNING("Your chest [pick("hurts","stings","aches","burns")]!")) update_flags |= M.adjustToxLoss(rand(2,4), FALSE) M.Stun(2 SECONDS) else if(volume >= 150 && prob(volume*0.01)) - to_chat(M, "Your chest is burning with pain!") + to_chat(M, SPAN_WARNING("Your chest is burning with pain!")) M.Weaken(2 SECONDS) M.ForceContractDisease(new /datum/disease/critical/heart_failure(0)) return ..() | update_flags @@ -889,13 +889,13 @@ if(method == REAGENT_INGEST) var/ranchance = rand(1,10) if(ranchance == 1) - to_chat(M, "You feel very sick.") + to_chat(M, SPAN_WARNING("You feel very sick.")) M.reagents.add_reagent("toxin", rand(1,5)) else if(ranchance <= 5) - to_chat(M, "That tasted absolutely FOUL.") + to_chat(M, SPAN_WARNING("That tasted absolutely FOUL.")) M.ForceContractDisease(new /datum/disease/food_poisoning(0)) else - to_chat(M, "Yuck!") + to_chat(M, SPAN_WARNING("Yuck!")) /datum/reagent/ectoplasm name = "Ectoplasm" @@ -909,14 +909,14 @@ /datum/reagent/ectoplasm/on_mob_life(mob/living/M) var/spooky_message = pick("You notice something moving out of the corner of your eye, but nothing is there...", "Your eyes twitch, you feel like something you can't see is here...", "You've got the heebie-jeebies.", "You feel uneasy.", "You shudder as if cold...", "You feel something gliding across your back...") if(prob(8)) - to_chat(M, "[spooky_message]") + to_chat(M, SPAN_WARNING("[spooky_message]")) return ..() /datum/reagent/ectoplasm/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume) if(method == REAGENT_INGEST) M.reagents.add_reagent("sodiumchloride", rand(10, 20)) // The salt! var/spooky_eat = pick("A wave of seething anger briefly passes over you!", "This is all bullshit!", "You internally seethe and mald.", "You briefly see a dense halo of spirits taunting you!") - to_chat(M, "[spooky_eat]") + to_chat(M, SPAN_WARNING("[spooky_eat]")) /datum/reagent/ectoplasm/reaction_turf(turf/T, volume) if(volume >= 10 && !isspaceturf(T)) diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index 3d7a1064ca5..36eebc358ad 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -86,7 +86,7 @@ if(severity == 1) if(!is_robot) if(effect <= 1) - M.visible_message("[M] suddenly and violently vomits!") + M.visible_message(SPAN_WARNING("[M] suddenly and violently vomits!")) M.fakevomit(no_text = TRUE) else if(effect <= 3) M.emote(pick("groan", "moan")) @@ -94,37 +94,37 @@ update_flags |= M.adjustToxLoss(1, FALSE) else if(effect <= 1) - M.visible_message("[M] suddenly jitters for a moment.") + M.visible_message(SPAN_WARNING("[M] suddenly jitters for a moment.")) M.AdjustJitter(2 SECONDS) else if(effect <= 3) M.emote("shudder") if(effect <= 8) update_flags |= M.adjustFireLoss(1, FALSE) - to_chat(M, "Your internals start to overheat!") + to_chat(M, SPAN_WARNING("Your internals start to overheat!")) return list(effect, update_flags) if(severity == 2) if(!is_robot) if(effect <= 2) - M.visible_message("[M] suddenly and violently vomits!") + M.visible_message(SPAN_WARNING("[M] suddenly and violently vomits!")) M.fakevomit(no_text = TRUE) else if(effect <= 5) - M.visible_message("[M] staggers and drools, [M.p_their()] eyes bloodshot!") + M.visible_message(SPAN_WARNING("[M] staggers and drools, [M.p_their()] eyes bloodshot!")) M.Dizzy(16 SECONDS) M.Weaken(8 SECONDS) if(effect <= 15) update_flags |= M.adjustToxLoss(1, FALSE) else if(effect <= 2) - M.visible_message("[M] suddenly jitters for a moment.") + M.visible_message(SPAN_WARNING("[M] suddenly jitters for a moment.")) M.AdjustJitter(2 SECONDS) else if(effect <= 5) - M.visible_message("[M] staggers and seizes up!") + M.visible_message(SPAN_WARNING("[M] staggers and seizes up!")) M.Dizzy(16 SECONDS) M.Weaken(8 SECONDS) if(effect <= 15) update_flags |= M.adjustFireLoss(1, FALSE) - to_chat(M, "Your internals start to overheat!") + to_chat(M, SPAN_WARNING("Your internals start to overheat!")) return list(effect, update_flags) /datum/reagent/medicine/synaptizine/recal @@ -179,7 +179,7 @@ data["method"] = method if(method == REAGENT_INGEST && M.bodytemperature < TCRYO) if(show_message) - to_chat(M, "[src] freezes solid as it enters your body!") //Burn damage already happens on ingesting + to_chat(M, SPAN_WARNING("[src] freezes solid as it enters your body!")) //Burn damage already happens on ingesting ..() /datum/reagent/medicine/cryoxadone/on_mob_life(mob/living/M) @@ -192,7 +192,7 @@ update_flags |= M.adjustFireLoss(-12, FALSE) M.Stun(4 SECONDS) //You freeze up, but get good healing. Stops use as a combat drug, or for meming on blobs in space. if(M.stat == CONSCIOUS && prob(25)) //So people know what is going on outside cryo tubes, in the event someone weaponises this. - to_chat(M, "Your veins and muscles are freezing!") + to_chat(M, SPAN_WARNING("Your veins and muscles are freezing!")) if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/head/head = H.get_organ("head") @@ -354,10 +354,10 @@ if(ishuman(H) && HAS_TRAIT_FROM(H, TRAIT_HUSK, BURN) && H.getFireLoss() <= UNHUSK_DAMAGE_THRESHOLD && H.reagents.get_reagent_amount("synthflesh") + volume >= SYNTHFLESH_UNHUSK_AMOUNT) H.cure_husk(BURN) // Could be a skeleton or a golem or sth, avoid phrases like "burnt flesh" and "burnt skin" - H.visible_message("The squishy liquid coats [H]'s burns. [H] looks a lot healthier!") + H.visible_message(SPAN_NICEGREEN("The squishy liquid coats [H]'s burns. [H] looks a lot healthier!")) if(show_message) - to_chat(M, "The synthetic flesh integrates itself into your wounds, healing you.") + to_chat(M, SPAN_NOTICE("The synthetic flesh integrates itself into your wounds, healing you.")) return ..() @@ -398,13 +398,13 @@ /datum/reagent/medicine/heal_on_apply/styptic_powder/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume, show_message = 1) if(show_message) - to_chat(M, "The styptic powder stings like hell as it closes some of your wounds!") + to_chat(M, SPAN_NOTICE("The styptic powder stings like hell as it closes some of your wounds!")) M.emote("scream") if(method == REAGENT_INGEST) M.adjustToxLoss(0.5 * volume) if(show_message) - to_chat(M, "You feel gross!") + to_chat(M, SPAN_WARNING("You feel gross!")) return ..() @@ -433,12 +433,12 @@ /datum/reagent/medicine/heal_on_apply/silver_sulfadiazine/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume, show_message = 1) if(show_message) - to_chat(M, "The silver sulfadiazine soothes your burns.") + to_chat(M, SPAN_NOTICE("The silver sulfadiazine soothes your burns.")) if(method == REAGENT_INGEST) M.adjustToxLoss(0.5 * volume) if(show_message) - to_chat(M, "You feel sick...") + to_chat(M, SPAN_WARNING("You feel sick...")) return ..() @@ -494,30 +494,30 @@ if(severity == 1) //lesser M.AdjustStuttering(2 SECONDS) if(effect <= 1) - M.visible_message("[M] suddenly clutches [M.p_their()] gut!") + M.visible_message(SPAN_WARNING("[M] suddenly clutches [M.p_their()] gut!")) M.emote("scream") M.Weaken(8 SECONDS) else if(effect <= 3) - M.visible_message("[M] completely spaces out for a moment.") + M.visible_message(SPAN_WARNING("[M] completely spaces out for a moment.")) M.AdjustConfused(30 SECONDS) else if(effect <= 5) - M.visible_message("[M] stumbles and staggers.") + M.visible_message(SPAN_WARNING("[M] stumbles and staggers.")) M.Dizzy(10 SECONDS) M.Weaken(6 SECONDS) else if(effect <= 7) - M.visible_message("[M] shakes uncontrollably.") + M.visible_message(SPAN_WARNING("[M] shakes uncontrollably.")) M.Jitter(60 SECONDS) else if(severity == 2) // greater if(effect <= 2) - M.visible_message("[M] suddenly clutches [M.p_their()] gut!") + M.visible_message(SPAN_WARNING("[M] suddenly clutches [M.p_their()] gut!")) M.emote("scream") M.Weaken(14 SECONDS) else if(effect <= 5) - M.visible_message("[M] jerks bolt upright, then collapses!") + M.visible_message(SPAN_WARNING("[M] jerks bolt upright, then collapses!")) M.Paralyse(10 SECONDS) M.Weaken(8 SECONDS) else if(effect <= 8) - M.visible_message("[M] stumbles and staggers.") + M.visible_message(SPAN_WARNING("[M] stumbles and staggers.")) M.Dizzy(10 SECONDS) M.Weaken(6 SECONDS) return list(effect, update_flags) @@ -714,7 +714,7 @@ var/update_flags = overdose_info[REAGENT_OVERDOSE_FLAGS] if(severity == 1) if(effect <= 1) - M.visible_message("[M] suddenly and violently vomits!") + M.visible_message(SPAN_WARNING("[M] suddenly and violently vomits!")) M.fakevomit(no_text = 1) else if(effect <= 3) M.emote(pick("groan","moan")) @@ -722,10 +722,10 @@ M.emote("collapse") else if(severity == 2) if(effect <= 2) - M.visible_message("[M] suddenly and violently vomits!") + M.visible_message(SPAN_WARNING("[M] suddenly and violently vomits!")) M.fakevomit(no_text = 1) else if(effect <= 5) - M.visible_message("[M.name] staggers and drools, [M.p_their()] eyes bloodshot!") + M.visible_message(SPAN_WARNING("[M.name] staggers and drools, [M.p_their()] eyes bloodshot!")) M.Dizzy(4 SECONDS) M.Weaken(6 SECONDS) if(effect <= 15) @@ -755,7 +755,7 @@ if(prob(3)) M.AdjustDrowsy(2 SECONDS) - M.visible_message("[M] looks a bit dazed.") + M.visible_message(SPAN_NOTICE("[M] looks a bit dazed.")) return ..() /datum/reagent/medicine/diphenhydramine/overdose_process(mob/living/M, severity) @@ -764,12 +764,12 @@ var/update_flags = overdose_info[REAGENT_OVERDOSE_FLAGS] if(severity == 1) if(effect <= 2) - to_chat(M, "You feel parched.") + to_chat(M, SPAN_WARNING("You feel parched.")) else if(effect <= 3) - to_chat(M, "You feel a little off.") + to_chat(M, SPAN_WARNING("You feel a little off.")) M.Dizzy(10 SECONDS) else if(effect <= 5) - to_chat(M, "You feel a sudden head rush.") + to_chat(M, SPAN_WARNING("You feel a sudden head rush.")) M.emote("faint") else if(effect <= 8) M.Druggy(30 SECONDS) @@ -778,21 +778,21 @@ if(effect <= 15) M.AdjustHallucinate(30 SECONDS) if(effect <= 4) - M.visible_message("[M] suddenly and violently vomits!") + M.visible_message(SPAN_WARNING("[M] suddenly and violently vomits!")) if(ishuman(M)) var/mob/living/carbon/human/H = M H.vomit(20) else if(effect <= 10) M.visible_message( - "[M] seems to be itching themselves incessantly!", - "You feel bugs crawling under your skin!" + SPAN_WARNING("[M] seems to be itching themselves incessantly!"), + SPAN_DANGER("You feel bugs crawling under your skin!") ) M.emote("scream") else if(effect <= 15) - to_chat(M, "You feel a wave of drowsiness wash over you.") + to_chat(M, SPAN_WARNING("You feel a wave of drowsiness wash over you.")) M.SetSleeping(5 SECONDS) else if(effect <= 20) - to_chat(M, "Something doesn't feel quite right!") + to_chat(M, SPAN_WARNING("Something doesn't feel quite right!")) M.Druggy(30 SECONDS) return list(effect, update_flags) @@ -919,7 +919,7 @@ var/update_flags = overdose_info[REAGENT_OVERDOSE_FLAGS] if(severity == 1) if(effect <= 1) - M.visible_message("[M] suddenly and violently vomits!") + M.visible_message(SPAN_WARNING("[M] suddenly and violently vomits!")) M.fakevomit(no_text = 1) else if(effect <= 3) M.emote(pick("groan","moan")) @@ -927,10 +927,10 @@ M.emote("collapse") else if(severity == 2) if(effect <= 2) - M.visible_message("[M] suddenly and violently vomits!") + M.visible_message(SPAN_WARNING("[M] suddenly and violently vomits!")) M.fakevomit(no_text = 1) else if(effect <= 5) - M.visible_message("[M] staggers and drools, [M.p_their()] eyes bloodshot!") + M.visible_message(SPAN_WARNING("[M] staggers and drools, [M.p_their()] eyes bloodshot!")) M.Dizzy(4 SECONDS) M.Weaken(6 SECONDS) if(effect <= 15) @@ -967,7 +967,7 @@ if(SM.stat == DEAD) SM.revive() SM.loot.Cut() //no abusing Lazarus Reagent for farming unlimited resources - SM.visible_message("[SM] seems to rise from the dead!") + SM.visible_message(SPAN_WARNING("[SM] seems to rise from the dead!")) if(isbasicmob(M) && method == REAGENT_TOUCH) var/mob/living/basic/BM = M @@ -976,28 +976,28 @@ if(BM.stat == DEAD) BM.revive() BM.loot.Cut() //no abusing Lazarus Reagent for farming unlimited resources - BM.visible_message("[BM] seems to rise from the dead!") + BM.visible_message(SPAN_WARNING("[BM] seems to rise from the dead!")) if(iscarbon(M)) if(method == REAGENT_INGEST || (method == REAGENT_TOUCH && prob(25))) if(M.stat == DEAD) if(M.suiciding) // Feedback if the player suicided. - M.visible_message("[M] twitches slightly, but appears to have no will to live!") + M.visible_message(SPAN_WARNING("[M] twitches slightly, but appears to have no will to live!")) return if(HAS_TRAIT(M, TRAIT_HUSK) || HAS_TRAIT(M, TRAIT_BADDNA)) // Feedback if the body is husked or has bad DNA. - M.visible_message("[M] twitches slightly, but is otherwise unresponsive!") + M.visible_message(SPAN_WARNING("[M] twitches slightly, but is otherwise unresponsive!")) return if(M.getBruteLoss() + M.getFireLoss() + M.getCloneLoss() >= 150) if(IS_CHANGELING(M) || HAS_TRAIT(M, TRAIT_I_WANT_BRAINS) || !M.ghost_can_reenter()) - M.visible_message("[M] twitches slightly, but nothing happens.") + M.visible_message(SPAN_WARNING("[M] twitches slightly, but nothing happens.")) return M.delayed_gib(TRUE) return - M.visible_message("[M]'s body begins to twitch as the Lazarus Reagent takes effect!") + M.visible_message(SPAN_NOTICE("[M]'s body begins to twitch as the Lazarus Reagent takes effect!")) M.do_jitter_animation(300) // Visual feedback of lazarus working. var/mob/dead/observer/G = M.get_ghost() if(G) - to_chat(G, "Lazarus Reagent is attempting to revive your body. Re-enter your body to be revived! (Verbs -> Ghost -> Re-enter corpse)") + to_chat(G, "[SPAN_GHOSTALERT("Lazarus Reagent is attempting to revive your body. Re-enter your body to be revived!")] (Verbs -> Ghost -> Re-enter corpse)") window_flash(G.client) SEND_SOUND(G, sound('sound/effects/genetics.ogg')) addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living/carbon, lazrevival), M), 5 SECONDS) // same time as the defib to keep things consistant. @@ -1041,19 +1041,19 @@ var/mob/living/carbon/human/H = M if(volume < 20) if(prob(10)) - to_chat(H, "You cough up some congealed blood.") + to_chat(H, SPAN_WARNING("You cough up some congealed blood.")) H.vomit(blood = TRUE, should_confuse = FALSE) //mostly visual else if(prob(10)) var/overdose_message = pick("Your vision is tinted red for a moment.", "You can hear your heart beating.") - to_chat(H, "[overdose_message]") + to_chat(H, SPAN_WARNING("[overdose_message]")) else if(prob(10)) - to_chat(H, "You choke on congealed blood!") + to_chat(H, SPAN_DANGER("You choke on congealed blood!")) H.AdjustLoseBreath(2 SECONDS) H.vomit(blood = TRUE, should_confuse = FALSE) else if(prob(10)) var/overdose_message = pick("You're seeing red!", "Your heartbeat thunders in your ears!", "Your veins writhe under your skin!") - to_chat(H, "[overdose_message]") + to_chat(H, SPAN_DANGER("[overdose_message]")) H.adjustBruteLoss(6) if(H.client?.prefs.colourblind_mode == COLOURBLIND_MODE_NONE) H.client.color = "red" @@ -1155,7 +1155,7 @@ description = "An illegal compound that dramatically enhances the body's performance and healing capabilities." color = "#a12c3c" harmless = FALSE - taste_description = "an unstoppable force" + taste_description = SPAN_USERDANGER("an unstoppable force") /datum/reagent/medicine/stimulants/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE @@ -1179,7 +1179,7 @@ update_flags |= M.adjustToxLoss(2, FALSE) update_flags |= M.adjustBruteLoss(1, FALSE) if(prob(10)) - to_chat(M, "It feels like every single one of your muscles is cramping at once!") + to_chat(M, SPAN_USERDANGER("It feels like every single one of your muscles is cramping at once!")) M.emote("scream") M.Weaken(6 SECONDS) @@ -1252,14 +1252,14 @@ var/high_message = pick("You feel calm.", "You feel collected.", "You feel like the world is moving in slow motion.") if(prob(10)) high_message = "0100011101001111010101000101010001000001010001110100111101000110010000010101001101010100!" // "GOTTAGOFAST" in binary. - to_chat(M, "[high_message]") + to_chat(M, SPAN_NOTICE("[high_message]")) return ..() | update_flags /datum/reagent/medicine/stimulative_agent/surge_plus/overdose_process(mob/living/M, severity) var/update_flags = STATUS_UPDATE_NONE if(prob(33)) M.Stuttering(5 SECONDS) - to_chat(M, pick("Your circuits overheat!", "Electrical arcs discharge inside you!")) + to_chat(M, pick(SPAN_WARNING("Your circuits overheat!"), SPAN_WARNING("Electrical arcs discharge inside you!"))) update_flags |= M.adjustStaminaLoss(2.5 * REAGENTS_EFFECT_MULTIPLIER, FALSE) update_flags |= M.adjustFireLoss(5 * REAGENTS_EFFECT_MULTIPLIER, FALSE) // 5 to compensate for no breathloss. Not like anyone will ever OD on this anyway. return list(0, update_flags) @@ -1303,7 +1303,7 @@ M.blood_volume = max(M.blood_volume - rand(1, 2), 0) else if(severity == 2) if(effect <= 2) - M.visible_message("[M] is bleeding from [M.p_their()] very pores!") + M.visible_message(SPAN_WARNING("[M] is bleeding from [M.p_their()] very pores!")) M.bleed(rand(10, 20)) else if(effect <= 4) M.vomit(0, TRUE, FALSE) @@ -1613,7 +1613,7 @@ if(1 to 19) M.AdjustJitter(8 SECONDS) if(prob(10)) - to_chat(M, "You feel great pain from the nanomachines inside you!") + to_chat(M, SPAN_WARNING("You feel great pain from the nanomachines inside you!")) update_flags |= M.adjustFireLoss(1 * REAGENTS_EFFECT_MULTIPLIER, FALSE) for(var/datum/reagent/R in M.reagents.reagent_list) if(stimulant_list.Find(R.id)) @@ -1628,7 +1628,7 @@ else M.AdjustKnockDown(10 SECONDS) //You can still crawl around a bit for now, but soon suffering kicks in. if(44) - to_chat(M, "Your body goes rigid, you cannot move at all!") + to_chat(M, SPAN_WARNING("Your body goes rigid, you cannot move at all!")) M.AdjustWeakened(15 SECONDS) if(45 to INFINITY) // Start fixing bones | If they have stimulants or stimulant drugs in their system then the nanites won't work. if(has_stimulant) @@ -1636,7 +1636,7 @@ else for(var/obj/item/organ/external/E in M.bodyparts) if(E.status & (ORGAN_INT_BLEEDING | ORGAN_BROKEN | ORGAN_SPLINTED | ORGAN_BURNT)) //I can't just check for !E.status - to_chat(M, "You feel a burning sensation in your [E.name] as it straightens involuntarily!") + to_chat(M, SPAN_NOTICE("You feel a burning sensation in your [E.name] as it straightens involuntarily!")) E.rejuvenate() //Repair it completely. if(ishuman(M)) var/mob/living/carbon/human/H = M @@ -1661,7 +1661,7 @@ update_flags |= M.adjustFireLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE, robotic = TRUE) else if(prob(25)) - to_chat(M, "Your skin feels like it is ripping apart and your veins are on fire!") //It is experimental and does cause scars, after all. + to_chat(M, SPAN_WARNING("Your skin feels like it is ripping apart and your veins are on fire!")) //It is experimental and does cause scars, after all. update_flags |= M.adjustBruteLoss(1.5 * REAGENTS_EFFECT_MULTIPLIER, FALSE) update_flags |= M.adjustFireLoss(1.5 * REAGENTS_EFFECT_MULTIPLIER, FALSE) return ..() | update_flags diff --git a/code/modules/reagents/chemistry/reagents/misc_reagents.dm b/code/modules/reagents/chemistry/reagents/misc_reagents.dm index ae4a1fb93b3..6fda8d94d33 100644 --- a/code/modules/reagents/chemistry/reagents/misc_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/misc_reagents.dm @@ -178,7 +178,7 @@ var/smoke_type = /datum/effect_system/smoke_spread if(boil_overflow > 0) - holder.my_atom.visible_message("The oil boils out and burns violently!") + holder.my_atom.visible_message(SPAN_BOLDWARNING("The oil boils out and burns violently!")) // Log -> remove reagent -> fireflash, else the log fails or fireflash triggers a reaction again fire_flash_log(holder, id) holder.del_reagent(id) @@ -186,7 +186,7 @@ smoke_type = /datum/effect_system/smoke_spread/bad else - holder.my_atom.visible_message("The oil sizzles and burns down into residue.") + holder.my_atom.visible_message(SPAN_NOTICE("The oil sizzles and burns down into residue.")) var/datum/reagents/old_holder = holder // We might not have space if we add first, so cache this and add after deleting holder.del_reagent(id) old_holder.add_reagent(reagent_after_burning, volume * 0.6) @@ -420,7 +420,7 @@ /datum/reagent/love/on_mob_life(mob/living/M) if(prob(8)) var/lovely_phrase = pick("appreciated", "loved", "pretty good", "really nice", "pretty happy with yourself, even though things haven't always gone as well as they could") - to_chat(M, "You feel [lovely_phrase].") + to_chat(M, SPAN_NOTICE("You feel [lovely_phrase].")) else if(!M.restrained()) for(var/mob/living/carbon/C in orange(1, M)) @@ -428,7 +428,7 @@ if(C == M) continue if(!C.stat) - M.visible_message("[M] gives [C] a [pick("hug","warm embrace")].") + M.visible_message(SPAN_NOTICE("[M] gives [C] a [pick("hug","warm embrace")].")) playsound(get_turf(M), 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) break return ..() @@ -438,7 +438,7 @@ ..() /datum/reagent/love/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume) - to_chat(M, "You feel loved!") + to_chat(M, SPAN_NOTICE("You feel loved!")) /// Formerly known as Nitrogen tungstide hypochlorite before NT fired the chemists for trying to be funny /datum/reagent/jestosterone @@ -456,14 +456,14 @@ return if(C.mind) if(C.mind.assigned_role == "Clown") - to_chat(C, "Whatever that was, it feels great!") + to_chat(C, SPAN_NOTICE("Whatever that was, it feels great!")) else if(C.mind.assigned_role == "Mime") - to_chat(C, "You feel nauseous.") + to_chat(C, SPAN_WARNING("You feel nauseous.")) C.AdjustDizzy(volume STATUS_EFFECT_CONSTANT) ADD_TRAIT(C, TRAIT_COMIC_SANS, id) C.AddElement(/datum/element/waddling) else - to_chat(C, "Something doesn't feel right...") + to_chat(C, SPAN_WARNING("Something doesn't feel right...")) C.AdjustDizzy(volume STATUS_EFFECT_CONSTANT) ADD_TRAIT(C, TRAIT_COMIC_SANS, id) C.AddElement(/datum/element/waddling) @@ -494,7 +494,7 @@ "Sinister laughter echoes in your ears.", "Your legs feel like jelly.", "You feel like telling a pun.") - to_chat(M, "[pick(clown_message)]") + to_chat(M, SPAN_WARNING("[pick(clown_message)]")) if(M.mind.assigned_role == "Mime") if(M.dna.species.tox_mod <= 0) // If they can't take tox damage, make them take burn damage update_flags |= M.adjustFireLoss(1.5 * REAGENTS_EFFECT_MULTIPLIER, robotic = TRUE) @@ -525,14 +525,14 @@ return if(C.mind) if(C.mind.assigned_role == "Mime") - to_chat(C, "Whatever that was, it feels great!") + to_chat(C, SPAN_NOTICE("Whatever that was, it feels great!")) else if(C.mind.assigned_role == "Clown") - to_chat(C, "You feel nauseous.") + to_chat(C, SPAN_WARNING("You feel nauseous.")) C.AdjustDizzy(volume STATUS_EFFECT_CONSTANT) C.mind.miming = TRUE ADD_TRAIT(C, TRAIT_COLORBLIND, id) else - to_chat(C, "Something doesn't feel right...") + to_chat(C, SPAN_WARNING("Something doesn't feel right...")) C.AdjustDizzy(volume STATUS_EFFECT_CONSTANT) C.mind.miming = TRUE // Jestosterone gives comic sans which makes one more clown-like, comic sans also unlocks clown healing, minus Jestoserone. So, mind.miming makes one more like a mime and unlocks mime healing, minus Mimestrogen. ADD_TRAIT(C, TRAIT_COLORBLIND, id) @@ -564,7 +564,7 @@ "Silence permeates your ears.", "...", "You feel like miming a performance.") - to_chat(M, "[pick(mime_message)]") + to_chat(M, SPAN_WARNING("[pick(mime_message)]")) if(M.mind.assigned_role == "Clown") if(M.dna.species.tox_mod <= 0) // If they can't take tox damage, make them take burn damage update_flags |= M.adjustFireLoss(1.5 * REAGENTS_EFFECT_MULTIPLIER, robotic = TRUE) @@ -767,7 +767,7 @@ if(method == REAGENT_INGEST) if(show_message) - to_chat(M, "That tasted horrible.") + to_chat(M, SPAN_NOTICE("That tasted horrible.")) ..() /datum/reagent/spraytan/overdose_process(mob/living/M) @@ -871,7 +871,7 @@ if(sheets > 0) new /obj/item/stack/sheet/plastic(get_turf(holder.my_atom), sheets) - holder.my_atom.visible_message("The molten plastic solidifies.") + holder.my_atom.visible_message(SPAN_NOTICE("The molten plastic solidifies.")) holder.del_reagent(id) holder.add_reagent("plastic_dust", original_volume - sheets * 5, reagtemp = T0C + 119) diff --git a/code/modules/reagents/chemistry/reagents/paradise_pop.dm b/code/modules/reagents/chemistry/reagents/paradise_pop.dm index 969b1432db0..35245cdd27e 100644 --- a/code/modules/reagents/chemistry/reagents/paradise_pop.dm +++ b/code/modules/reagents/chemistry/reagents/paradise_pop.dm @@ -28,7 +28,7 @@ if(prob(1)) var/turf/simulated/T = get_turf(M) goonchem_vortex(T, TRUE, 0, TRUE) // Ignore the 0 volume - to_chat(M, "You briefly feel super-massive, like a black hole. Probably just your imagination...") + to_chat(M, SPAN_NOTICE("You briefly feel super-massive, like a black hole. Probably just your imagination...")) return ..() //Berry Banned: This one is tasty and safe to drink, might have a low chance of healing a random damage type? @@ -56,7 +56,7 @@ update_flags |= M.adjustCloneLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) if(5) update_flags |= M.adjustBrainLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) - to_chat(M, "You feel slightly rejuvinated!") + to_chat(M, SPAN_NOTICE("You feel slightly rejuvinated!")) return ..() | update_flags //Berry Banned 2: This one is tasty and toxic. Deals toxin damage and MAYBE plays the "BWOINK!" sound if it kills someone? @@ -72,12 +72,12 @@ if(prob(50)) update_flags |= M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE) //double strength of poison berry juice alone, because it's concentrated (this is equal to the damage of normal toxin, less often) if(prob(10)) - to_chat(M, "You feel slightly rejuvinated!") //meta this! + to_chat(M, SPAN_NOTICE("You feel slightly rejuvinated!")) //meta this! return ..() | update_flags /datum/reagent/consumable/drink/berry_banned2/on_mob_death(mob/living/M) SEND_SOUND(M, sound('sound/effects/adminhelp.ogg', 0, 1, 0, 25)) - to_chat(M, chat_box_red("PM from-Administrator: BWOINK!"), MESSAGE_TYPE_ADMINPM, confidential = TRUE) + to_chat(M, chat_box_red(SPAN_ADMINHELP("PM from-Administrator: BWOINK!")), MESSAGE_TYPE_ADMINPM, confidential = TRUE) ..() //Blackeye Brew: Chance to make the drinker say greytider-themed things like "I thought clown was valid!" @@ -116,7 +116,7 @@ var/turf/simulated/T = get_turf(M) goonchem_vortex(T, FALSE, 30) //Capped at 30 to prevent sorium abuse M.emote("burp") - to_chat(M, "You feel ready to burst! Oh wait, just a burp...") + to_chat(M, SPAN_NOTICE("You feel ready to burst! Oh wait, just a burp...")) else if(prob(25)) M.emote("burp") return ..() diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic.dm index 33294e4169b..d56d24dd644 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic.dm @@ -28,7 +28,7 @@ M.IgniteMob() if(method == REAGENT_INGEST) M.adjustFireLoss(min(max(10, volume * 2), 45)) - to_chat(M, "It burns!") + to_chat(M, SPAN_WARNING("It burns!")) M.emote("scream") /datum/reagent/phlogiston/on_mob_life(mob/living/M) @@ -127,7 +127,7 @@ var/will_explode = volume >= explosion_threshold if(will_explode && holder.my_atom) // Log beforehand - holder.my_atom.visible_message("[holder.my_atom] explodes!") + holder.my_atom.visible_message(SPAN_DANGER("[holder.my_atom] explodes!")) message_admins("Fuel explosion ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].") log_game("Fuel explosion ([holder.my_atom], reagent type: [id]) at [COORD(holder.my_atom.loc)]. Last touched by: [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"].") holder.my_atom.investigate_log("A fuel explosion, last touched by [holder.my_atom.fingerprintslast ? "[holder.my_atom.fingerprintslast]" : "*null*"], triggered at [COORD(holder.my_atom.loc)].", INVESTIGATE_BOMB) @@ -273,7 +273,7 @@ M.IgniteMob() if(method == REAGENT_INGEST) M.adjustFireLoss(min(max(15, volume * 2.5), 90)) - to_chat(M, "It burns!") + to_chat(M, SPAN_WARNING("It burns!")) M.emote("scream") /datum/reagent/sorium diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index 3a588afc7fe..63d10ed7279 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -58,7 +58,7 @@ if(M.get_blood_id() != id) if(prob(10)) - to_chat(M, "Your insides are burning!") + to_chat(M, SPAN_DANGER("Your insides are burning!")) update_flags |= M.adjustToxLoss(rand(2, 6) * REAGENTS_EFFECT_MULTIPLIER, FALSE) // avg 0.4 toxin per cycle, not unreasonable else if(prob(40)) update_flags |= M.adjustBruteLoss(-0.5 * REAGENTS_EFFECT_MULTIPLIER, FALSE) @@ -87,10 +87,10 @@ if(ishuman(M)) var/mob/living/carbon/human/human = M if(!isshadowperson(human)) - to_chat(M, "Your flesh rapidly mutates!") - to_chat(M, "You are now a Shadow Person, a mutant race of darkness-dwelling humanoids.") - to_chat(M, "Your body reacts violently to light. However, it naturally heals in darkness.") - to_chat(M, "Aside from your new traits, you are mentally unchanged and retain your prior obligations.") + to_chat(M, SPAN_DANGER("Your flesh rapidly mutates!")) + to_chat(M, SPAN_DANGER("You are now a Shadow Person, a mutant race of darkness-dwelling humanoids.")) + to_chat(M, SPAN_DANGER("Your body reacts violently to light.
However, it naturally heals in darkness.")) + to_chat(M, SPAN_DANGER("Aside from your new traits, you are mentally unchanged and retain your prior obligations.")) human.set_species(/datum/species/shadow) return ..() @@ -277,7 +277,7 @@ reagent_state = LIQUID color = "#00FF32" process_flags = ORGANIC | SYNTHETIC - taste_description = "ACID" + taste_description = SPAN_USERDANGER("ACID") var/acidpwr = 10 //the amount of protection removed from the armour goal_department = "Science" goal_difficulty = REAGENT_GOAL_EASY @@ -293,7 +293,7 @@ var/mob/living/carbon/human/H = M if(method != REAGENT_TOUCH) - to_chat(H, "The greenish acidic substance stings[volume < 10 ? " you, but isn't concentrated enough to harm you" : null]!") + to_chat(H, SPAN_WARNING("The greenish acidic substance stings[volume < 10 ? " you, but isn't concentrated enough to harm you" : null]!")) if(volume >= 10) H.adjustFireLoss(clamp((volume * 2), 4, 20)) H.emote("scream") @@ -307,10 +307,10 @@ return if(H.wear_mask) - to_chat(H, "Your [H.wear_mask] protects you from the acid!") + to_chat(H, SPAN_DANGER("Your [H.wear_mask] protects you from the acid!")) return if(H.head) - to_chat(H, "Your [H.head] protects you from the acid!") + to_chat(H, SPAN_DANGER("Your [H.head] protects you from the acid!")) return H.take_organ_damage(10, 15) @@ -361,7 +361,7 @@ var/protected = TRUE if(H.wear_mask && !(H.wear_mask.resistance_flags & ACID_PROOF) && !(H.head?.resistance_flags & ACID_PROOF)) - to_chat(H, "Your [H.wear_mask.name] melts away!") + to_chat(H, SPAN_DANGER("Your [H.wear_mask.name] melts away!")) qdel(H.wear_mask) protected = FALSE @@ -371,9 +371,9 @@ var/name = H.head.name C.seal_part(H.head, FALSE) C.retract(null, H.head) - to_chat(H, "Your [name] melts away as your [C.name] performs emergency cleaning on the helmet, deactivating the suit!") + to_chat(H, SPAN_DANGER("Your [name] melts away as your [C.name] performs emergency cleaning on the helmet, deactivating the suit!")) else - to_chat(H, "Your [H.head.name] melts away!") + to_chat(H, SPAN_DANGER("Your [H.head.name] melts away!")) qdel(H.head) protected = FALSE @@ -383,7 +383,7 @@ if(volume >= 5) H.emote("scream") H.adjustFireLoss(clamp((volume - 5) * 3, 4, 75)) - to_chat(H, "The blueish acidic substance stings[volume < 5 ? " you, but isn't concentrated enough to harm you" : null]!") + to_chat(H, SPAN_WARNING("The blueish acidic substance stings[volume < 5 ? " you, but isn't concentrated enough to harm you" : null]!")) /datum/reagent/acetic_acid name = "Acetic acid" @@ -397,7 +397,7 @@ /datum/reagent/acetic_acid/reaction_mob(mob/living/carbon/human/H, method = REAGENT_TOUCH, volume) if(method != REAGENT_TOUCH) - to_chat(H, "The transparent acidic substance stings[volume < 25 ? " you, but isn't concentrated enough to harm you" : null]!") + to_chat(H, SPAN_WARNING("The transparent acidic substance stings[volume < 25 ? " you, but isn't concentrated enough to harm you" : null]!")) if(volume >= 25) H.adjustBruteLoss(2) H.emote("scream") @@ -521,7 +521,7 @@ if(method == REAGENT_TOUCH) M.reagents.add_reagent("histamine",10) else - to_chat(M, "You feel a burning sensation in your throat...") + to_chat(M, SPAN_DANGER("You feel a burning sensation in your throat...")) M.emote("drool") /datum/reagent/histamine/on_mob_life(mob/living/M) @@ -529,15 +529,15 @@ if(prob(20)) M.emote(pick("twitch", "grumble", "sneeze", "cough")) if(prob(10)) - to_chat(M, "Your eyes itch.") + to_chat(M, SPAN_NOTICE("Your eyes itch.")) M.emote(pick("blink", "sneeze")) M.AdjustEyeBlurry(6 SECONDS) if(prob(10)) - M.visible_message("[M] scratches at an itch.") + M.visible_message(SPAN_DANGER("[M] scratches at an itch.")) update_flags |= M.adjustBruteLoss(1, FALSE) M.emote("grumble") if(prob(5)) - to_chat(M, "You're getting a rash!") + to_chat(M, SPAN_DANGER("You're getting a rash!")) update_flags |= M.adjustBruteLoss(2, FALSE) return ..() | update_flags @@ -547,7 +547,7 @@ var/update_flags = overdose_info[REAGENT_OVERDOSE_FLAGS] if(severity == 1) if(effect <= 2) - to_chat(M, "You feel mucus running down the back of your throat.") + to_chat(M, SPAN_WARNING("You feel mucus running down the back of your throat.")) update_flags |= M.adjustToxLoss(1, FALSE) M.Jitter(8 SECONDS) M.emote(pick("sneeze", "cough")) @@ -557,15 +557,15 @@ M.emote(pick("choke","gasp")) update_flags |= M.adjustOxyLoss(5, FALSE) else if(effect <= 7) - to_chat(M, "Your chest hurts!") + to_chat(M, SPAN_WARNING("Your chest hurts!")) M.emote(pick("cough","gasp")) update_flags |= M.adjustOxyLoss(3, FALSE) else if(severity == 2) if(effect <= 2) - M.visible_message("[M] breaks out in hives!") + M.visible_message(SPAN_WARNING("[M] breaks out in hives!")) update_flags |= M.adjustBruteLoss(6, FALSE) else if(effect <= 4) - M.visible_message("[M] has a horrible coughing fit!") + M.visible_message(SPAN_WARNING("[M] has a horrible coughing fit!")) M.Jitter(20 SECONDS) M.AdjustStuttering(rand(0, 10 SECONDS)) M.emote("cough") @@ -574,14 +574,14 @@ update_flags |= M.adjustOxyLoss(6, FALSE) M.Weaken(16 SECONDS) else if(effect <= 7) - to_chat(M, "Your heartbeat is pounding inside your head!") + to_chat(M, SPAN_WARNING("Your heartbeat is pounding inside your head!")) SEND_SOUND(M, sound('sound/effects/singlebeat.ogg')) M.emote("collapse") update_flags |= M.adjustOxyLoss(8, FALSE) update_flags |= M.adjustToxLoss(3, FALSE) M.Weaken(6 SECONDS) M.emote(pick("choke", "gasp")) - to_chat(M, "You feel like you're dying!") + to_chat(M, SPAN_WARNING("You feel like you're dying!")) return list(effect, update_flags) /datum/reagent/formaldehyde @@ -704,11 +704,11 @@ if(prob(5)) M.emote("drool") if(prob(10)) - to_chat(M, "You cannot breathe!") + to_chat(M, SPAN_DANGER("You cannot breathe!")) M.AdjustLoseBreath(2 SECONDS) M.emote("gasp") if(prob(8)) - to_chat(M, "You feel horrendously weak!") + to_chat(M, SPAN_DANGER("You feel horrendously weak!")) M.Stun(4 SECONDS) update_flags |= M.adjustToxLoss(2, FALSE) return ..() | update_flags @@ -730,24 +730,24 @@ if(prob(25)) M.emote(pick("twitch", "laugh", "sneeze", "cry")) if(prob(20)) - to_chat(M, "Something tickles!") + to_chat(M, SPAN_NOTICE("Something tickles!")) M.emote(pick("laugh", "giggle")) if(prob(15)) - M.visible_message("[M] scratches at an itch.") + M.visible_message(SPAN_DANGER("[M] scratches at an itch.")) update_flags |= M.adjustBruteLoss(1, FALSE) M.Stun(rand(0, 2 SECONDS)) M.emote("grumble") if(prob(10)) - to_chat(M, "So itchy!") + to_chat(M, SPAN_DANGER("So itchy!")) update_flags |= M.adjustBruteLoss(2, FALSE) if(prob(6)) M.reagents.add_reagent("histamine", rand(1,3)) if(prob(2)) - to_chat(M, "AHHHHHH!") + to_chat(M, SPAN_DANGER("AHHHHHH!")) update_flags |= M.adjustBruteLoss(5, FALSE) M.Weaken(10 SECONDS) M.AdjustJitter(12 SECONDS) - M.visible_message("[M] falls to the floor, scratching [M.p_themselves()] violently!") + M.visible_message(SPAN_DANGER("[M] falls to the floor, scratching [M.p_themselves()] violently!")) M.emote("scream") return ..() | update_flags @@ -764,14 +764,14 @@ if(prob(33)) update_flags |= M.adjustToxLoss(rand(5,25), FALSE) if(prob(33)) - to_chat(M, "You feel horribly weak.") + to_chat(M, SPAN_DANGER("You feel horribly weak.")) M.Stun(4 SECONDS) if(prob(10)) - to_chat(M, "You cannot breathe!") + to_chat(M, SPAN_DANGER("You cannot breathe!")) update_flags |= M.adjustOxyLoss(10, FALSE) M.AdjustLoseBreath(2 SECONDS) if(prob(10)) - to_chat(M, "Your chest is burning with pain!") + to_chat(M, SPAN_DANGER("Your chest is burning with pain!")) update_flags |= M.adjustOxyLoss(10, FALSE) M.AdjustLoseBreath(2 SECONDS) M.Weaken(4 SECONDS) @@ -798,7 +798,7 @@ M.emote(pick("drool", "tremble")) if(6 to 10) if(prob(8)) - to_chat(M, "You feel [pick("weak", "horribly weak", "numb", "like you can barely move", "tingly")].") + to_chat(M, SPAN_DANGER("You feel [pick("weak", "horribly weak", "numb", "like you can barely move", "tingly")].")) M.Stun(2 SECONDS) else if(prob(8)) M.emote(pick("drool", "tremble")) @@ -808,9 +808,9 @@ M.emote(pick("drool", "tremble", "gasp")) M.AdjustLoseBreath(2 SECONDS) if(prob(9)) - to_chat(M, "You can't [pick("move", "feel your legs", "feel your face", "feel anything")]!") + to_chat(M, SPAN_DANGER("You can't [pick("move", "feel your legs", "feel your face", "feel anything")]!")) if(prob(7)) - to_chat(M, "You can't breathe!") + to_chat(M, SPAN_DANGER("You can't breathe!")) M.AdjustLoseBreath(6 SECONDS) return ..() | update_flags @@ -921,10 +921,10 @@ var/update_flags = STATUS_UPDATE_NONE if(!M.nutrition) if(prob(66.66)) - to_chat(M, "You feel hungry...") + to_chat(M, SPAN_WARNING("You feel hungry...")) else if(prob(50)) update_flags |= M.adjustToxLoss(1, FALSE) - to_chat(M, "Your stomach grumbles painfully!") + to_chat(M, SPAN_WARNING("Your stomach grumbles painfully!")) else if(prob(60)) var/fat_to_burn = max(round(M.nutrition / 100, 1), 5) @@ -968,7 +968,7 @@ if(6 to 10) M.AdjustEyeBlurry(10 SECONDS) if(prob(8)) - to_chat(M, "You feel [pick("weak", "horribly weak", "numb", "like you can barely move", "tingly")].") + to_chat(M, SPAN_DANGER("You feel [pick("weak", "horribly weak", "numb", "like you can barely move", "tingly")].")) M.Stun(2 SECONDS) else if(prob(8)) M.emote(pick("drool", "pale", "gasp")) @@ -978,7 +978,7 @@ if(prob(20)) M.emote(pick("drool", "faint", "pale", "gasp", "collapse")) else if(prob(8)) - to_chat(M, "You can't [pick("breathe", "move", "feel your legs", "feel your face", "feel anything")]!") + to_chat(M, SPAN_DANGER("You can't [pick("breathe", "move", "feel your legs", "feel your face", "feel anything")]!")) M.AdjustLoseBreath(2 SECONDS) return ..() | update_flags @@ -1021,10 +1021,10 @@ M.emote("faint") if(prob(5)) M.Weaken(6 SECONDS) - M.visible_message("[M] has a seizure!") + M.visible_message(SPAN_WARNING("[M] has a seizure!")) M.SetJitter(2000 SECONDS) if(prob(5)) - to_chat(M, "You can't breathe!") + to_chat(M, SPAN_WARNING("You can't breathe!")) M.emote(pick("gasp", "choke", "cough")) M.AdjustLoseBreath(2 SECONDS) if(61 to INFINITY) @@ -1060,7 +1060,7 @@ for(var/obj/effect/overlay/wall_rot/WR in W) qdel(WR) W.rotting = 0 - W.visible_message("The fungi are completely dissolved by the solution!") + W.visible_message(SPAN_WARNING("The fungi are completely dissolved by the solution!")) /datum/reagent/glyphosate/reaction_obj(obj/O, volume) if(istype(O,/obj/structure/alien/weeds)) @@ -1079,7 +1079,7 @@ return new /obj/item/toy/plushie/nymphplushie(T) new /obj/item/toy/plushie/nymphplushie(T) - DP.visible_message("The diona plushie splits apart!") + DP.visible_message(SPAN_WARNING("The diona plushie splits apart!")) qdel(DP) /datum/reagent/glyphosate/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume) @@ -1121,7 +1121,7 @@ /datum/reagent/pestkiller/reaction_obj(obj/O, volume) if(istype(O, /obj/effect/decal/cleanable/ants)) - O.visible_message("The ants die.") + O.visible_message(SPAN_WARNING("The ants die.")) qdel(O) if(istype(O, /obj/item/toy/plushie/kidanplushie)) var/obj/item/toy/plushie/kidanplushie/stupidbug = O @@ -1207,7 +1207,7 @@ if(prob(10)) update_flags |= M.adjustToxLoss(rand(2.4), FALSE) if(prob(7)) - to_chat(M, "A horrible migraine overpowers you.") + to_chat(M, SPAN_DANGER("A horrible migraine overpowers you.")) M.Stun(rand(4 SECONDS, 10 SECONDS)) if(prob(7)) M.fakevomit(1) @@ -1251,7 +1251,7 @@ description = "A sample of a lost breed of Space Ants (formicidae bastardium tyrannus), they are well-known for ravaging the living shit out of pretty much anything." color = "#993333" process_flags = ORGANIC | SYNTHETIC - taste_description = "ANTS OH GOD" + taste_description = SPAN_WARNING("ANTS OH GOD") /datum/reagent/ants/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE @@ -1260,7 +1260,7 @@ /datum/reagent/ants/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume) //NOT THE ANTS if(iscarbon(M)) - to_chat(M, "OH SHIT ANTS!!!!") + to_chat(M, SPAN_WARNING("OH SHIT ANTS!!!!")) M.emote("scream") M.adjustBruteLoss(4) @@ -1335,7 +1335,7 @@ id = "glass_shards" description = "Glass, crushed into a coarse powder made up of razor-sharp shards." color = "#87c6dac8" - taste_description = "Broken glass!" + taste_description = SPAN_USERDANGER("Broken glass!") /datum/reagent/glass_shards/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE @@ -1350,6 +1350,6 @@ /datum/reagent/glass_shards/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume) if(iscarbon(M)) - to_chat(M, "OH GOD IT HURTS!") + to_chat(M, SPAN_USERDANGER("OH GOD IT HURTS!")) M.emote("scream") M.adjustBruteLoss(4) diff --git a/code/modules/reagents/chemistry/reagents/water.dm b/code/modules/reagents/chemistry/reagents/water.dm index dd1c38b66e5..14c88f93e3e 100644 --- a/code/modules/reagents/chemistry/reagents/water.dm +++ b/code/modules/reagents/chemistry/reagents/water.dm @@ -95,7 +95,7 @@ drink_icon = "glass_red" drink_name = "Glass of Tomato juice" drink_desc = "Are you sure this is tomato juice?" - taste_description = "blood" + taste_description = SPAN_WARNING("blood") taste_mult = 1.3 /datum/reagent/blood/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume) @@ -144,7 +144,7 @@ if(type_mismatch || species_mismatch) data["species"] = "Coagulated" - data["blood_type"] = "UNUSABLE!" + data["blood_type"] = SPAN_WARNING("UNUSABLE!") data["species_only"] = species_unique else if(!same_species) // Same blood type, species-agnostic, but we're still mixing blood of different species data["species"] = "Mixed Humanoid" @@ -295,19 +295,19 @@ if(prob(5) && !IS_CULTIST(M) && !M.mind?.has_antag_datum(/datum/antagonist/vampire) && !isvampirethrall(M)) M.AdjustJitter(-10 SECONDS) var/holy_message = pick( - "You feel a little more peaceful inside.", - "You feel a higher power looking down on you.", + "You feel a little more peaceful inside.", + "You feel a higher power looking down on you.", "You feel as though your spirit is a little safer", "You feel as though you are blessed.", ) - to_chat(M, "[holy_message]") + to_chat(M, SPAN_NOTICE("[holy_message]")) // 12 units, 60 seconds @ metabolism 0.4 units & tick rate 2.0 sec if(current_cycle >= 30) if(IS_CULTIST(M)) for(var/datum/action/innate/cult/blood_magic/BM in M.actions) for(var/datum/action/innate/cult/blood_spell/BS in BM.spells) - 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!")) qdel(BS) if(prob(5)) // 5 seems like a good number... M.AdjustCultSlur(10 SECONDS) @@ -317,14 +317,14 @@ if(prob(10)) M.say(pick("*gasp", "*cough", "*sneeze")) if(prob(5)) //Same as cult, for the real big tell - M.visible_message("A fog lifts from [M]'s eyes for a moment, but soon returns.") + M.visible_message(SPAN_WARNING("A fog lifts from [M]'s eyes for a moment, but soon returns.")) // 30 units, 150 seconds - if(current_cycle >= 75 && prob(33)) + if(current_cycle >= 75 && prob(33)) if(isvampirethrall(M)) M.mind.remove_antag_datum(/datum/antagonist/mindslave/thrall) holder.remove_reagent(id, volume) - M.visible_message("[M] recoils, their skin flushes with colour, regaining their sense of control!") + M.visible_message(SPAN_BIGGERDANGER("[M] recoils, their skin flushes with colour, regaining their sense of control!")) return if(IS_CULTIST(M)) @@ -362,10 +362,10 @@ switch(current_cycle) if(1 to 4) - to_chat(M, "Something sizzles in your veins!") + to_chat(M, SPAN_WARNING("Something sizzles in your veins!")) vamp.adjust_nullification(20, 4) if(5 to 12) - to_chat(M, "You feel an intense burning inside of you!") + to_chat(M, SPAN_DANGER("You feel an intense burning inside of you!")) update_flags |= M.adjustFireLoss(1, FALSE) M.Stuttering(2 SECONDS) M.Jitter(40 SECONDS) @@ -374,9 +374,9 @@ vamp.adjust_nullification(20, 4) if(13 to INFINITY) M.visible_message( - "[M] suddenly bursts into flames!", - "You suddenly ignite in a holy fire!", - "You hear something suddenly bursting into flames!" + SPAN_DANGER("[M] suddenly bursts into flames!"), + SPAN_USERDANGER("You suddenly ignite in a holy fire!"), + SPAN_DANGER("You hear something suddenly bursting into flames!") ) M.fire_stacks = min(5, M.fire_stacks + 3) M.IgniteMob() @@ -396,13 +396,13 @@ var/mob/living/carbon/human/H = M if(method == REAGENT_TOUCH) if(H.wear_mask) - to_chat(H, "Your mask protects you from the holy water!") + to_chat(H, SPAN_WARNING("Your mask protects you from the holy water!")) return else if(H.head) - to_chat(H, "Your helmet protects you from the holy water!") + to_chat(H, SPAN_WARNING("Your helmet protects you from the holy water!")) return else - to_chat(M, "Something holy interferes with your powers!") + to_chat(M, SPAN_WARNING("Something holy interferes with your powers!")) V.adjust_nullification(5, 2) @@ -480,7 +480,7 @@ description = "Also known as sodium hydroxide." reagent_state = LIQUID color = "#FFFFD6" // very very light yellow - taste_description = "ACID"//don't drink lye, kids + taste_description = SPAN_USERDANGER("ACID")//don't drink lye, kids /datum/reagent/drying_agent name = "Drying agent" diff --git a/code/modules/reagents/chemistry/reagents_datum.dm b/code/modules/reagents/chemistry/reagents_datum.dm index 9a5f640fb2c..823e0a3e4b6 100644 --- a/code/modules/reagents/chemistry/reagents_datum.dm +++ b/code/modules/reagents/chemistry/reagents_datum.dm @@ -92,7 +92,7 @@ var/can_become_addicted = M.reagents.reaction_check(M, src) if(can_become_addicted) if(is_type_in_list(src, M.reagents.addiction_list)) - to_chat(M, "You feel slightly better, but for how long?") //sate_addiction handles this now, but kept this for the feed back. + to_chat(M, SPAN_NOTICE("You feel slightly better, but for how long?")) //sate_addiction handles this now, but kept this for the feed back. var/mob/living/carbon/C = M if(C.mind?.has_antag_datum(/datum/antagonist/vampire)) return @@ -151,7 +151,7 @@ var/current_threshold_accumulated = M.reagents.addiction_threshold_accumulated[type] if(addiction_threshold < current_threshold_accumulated && prob(addiction_chance) && prob(addiction_chance_additional)) - to_chat(M, "You suddenly feel invigorated and guilty...") + to_chat(M, SPAN_DANGER("You suddenly feel invigorated and guilty...")) var/datum/reagent/new_reagent = new type() new_reagent.last_addiction_dose = world.timeofday M.reagents.addiction_list.Add(new_reagent) @@ -236,66 +236,66 @@ /datum/reagent/proc/addiction_act_stage2(mob/living/M) if(minor_addiction) if(prob(4)) - to_chat(M, "You briefly think about getting some more [name].") + to_chat(M, SPAN_NOTICE("You briefly think about getting some more [name].")) else if(prob(8)) M.emote("shiver") if(prob(8)) M.emote("sneeze") if(prob(4)) - to_chat(M, "You feel a dull headache.") + to_chat(M, SPAN_NOTICE("You feel a dull headache.")) return STATUS_UPDATE_NONE /datum/reagent/proc/addiction_act_stage3(mob/living/M) if(minor_addiction) if(prob(4)) - to_chat(M, "You could really go for some [name] right now.") + to_chat(M, SPAN_NOTICE("You could really go for some [name] right now.")) else if(prob(8)) M.emote("twitch_s") if(prob(8)) M.emote("shiver") if(prob(4)) - to_chat(M, "Your head hurts.") + to_chat(M, SPAN_WARNING("Your head hurts.")) if(prob(4)) - to_chat(M, "You begin craving [name]!") + to_chat(M, SPAN_WARNING("You begin craving [name]!")) return STATUS_UPDATE_NONE /datum/reagent/proc/addiction_act_stage4(mob/living/M) if(minor_addiction) if(prob(8)) - to_chat(M, "You could really go for some [name] right now.") + to_chat(M, SPAN_NOTICE("You could really go for some [name] right now.")) else if(prob(8)) M.emote("twitch") if(prob(4)) - to_chat(M, "You have a pounding headache.") + to_chat(M, SPAN_WARNING("You have a pounding headache.")) if(prob(4)) - to_chat(M, "You have the strong urge for some [name]!") + to_chat(M, SPAN_WARNING("You have the strong urge for some [name]!")) else if(prob(4)) - to_chat(M, "You REALLY crave some [name]!") + to_chat(M, SPAN_WARNING("You REALLY crave some [name]!")) return STATUS_UPDATE_NONE /datum/reagent/proc/addiction_act_stage5(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(minor_addiction) if(prob(8)) - to_chat(M, "You can't stop thinking about [name]...") + to_chat(M, SPAN_NOTICE("You can't stop thinking about [name]...")) if(prob(4)) M.emote(pick("twitch")) else if(prob(6)) - to_chat(M, "Your stomach lurches painfully!") - M.visible_message("[M] gags and retches!") + to_chat(M, SPAN_WARNING("Your stomach lurches painfully!")) + M.visible_message(SPAN_WARNING("[M] gags and retches!")) M.Weaken(rand(4 SECONDS, 8 SECONDS)) if(prob(8)) M.emote(pick("twitch", "twitch_s", "shiver")) if(prob(4)) - to_chat(M, "Your head is killing you!") + to_chat(M, SPAN_WARNING("Your head is killing you!")) if(prob(5)) - to_chat(M, "You feel like you can't live without [name]!") + to_chat(M, SPAN_WARNING("You feel like you can't live without [name]!")) else if(prob(5)) - to_chat(M, "You would DIE for some [name] right now!") + to_chat(M, SPAN_WARNING("You would DIE for some [name] right now!")) return update_flags /datum/reagent/proc/fakedeath(mob/living/M) diff --git a/code/modules/reagents/chemistry/reagents_holder.dm b/code/modules/reagents/chemistry/reagents_holder.dm index 0fb8603abd5..b00789d35ee 100644 --- a/code/modules/reagents/chemistry/reagents_holder.dm +++ b/code/modules/reagents/chemistry/reagents_holder.dm @@ -393,7 +393,7 @@ if(5) update_flags |= R.addiction_act_stage5(M) if(prob(20) && (world.timeofday > (R.last_addiction_dose + ADDICTION_TIME))) //Each addiction lasts 8 minutes before it can end - to_chat(M, "You no longer feel reliant on [R.name]!") + to_chat(M, SPAN_NOTICE("You no longer feel reliant on [R.name]!")) addiction_list.Remove(R) qdel(R) @@ -533,14 +533,14 @@ var/list/seen = viewers(4, get_turf(my_atom)) for(var/mob/living/M in seen) if(C.mix_message) - to_chat(M, "[bicon(my_atom)] [C.mix_message]") + to_chat(M, SPAN_NOTICE("[bicon(my_atom)] [C.mix_message]")) if(istype(my_atom, /obj/item/slime_extract)) var/obj/item/slime_extract/ME2 = my_atom ME2.Uses-- if(ME2.Uses <= 0) // give the notification that the slime core is dead for(var/mob/living/M in seen) - to_chat(M, "[bicon(my_atom)] [my_atom]'s power is consumed in the reaction.") + to_chat(M, SPAN_NOTICE("[bicon(my_atom)] [my_atom]'s power is consumed in the reaction.")) ME2.name = "used slime extract" ME2.desc = "This extract has been used up." @@ -660,24 +660,24 @@ if(affecting) if(chem_temp > H.dna.species.heat_level_1) if(H.reagent_safety_check()) - to_chat(H, "You are scalded by the hot chemicals!") + to_chat(H, SPAN_DANGER("You are scalded by the hot chemicals!")) affecting.receive_damage(0, round(log(chem_temp / 50) * 10)) H.emote("scream") H.adjust_bodytemperature(min(max((chem_temp - T0C) - 20, 5), 500)) else if(chem_temp < H.dna.species.cold_level_1) if(H.reagent_safety_check(FALSE)) - to_chat(H, "You are frostbitten by the freezing cold chemicals!") + to_chat(H, SPAN_DANGER("You are frostbitten by the freezing cold chemicals!")) affecting.receive_damage(0, round(log(T0C - chem_temp / 50) * 10)) H.emote("scream") H.adjust_bodytemperature(- min(max(T0C - chem_temp - 20, 5), 500)) if(method == REAGENT_INGEST) if(chem_temp > H.dna.species.heat_level_1) - to_chat(H, "You scald yourself trying to consume the boiling hot substance!") + to_chat(H, SPAN_DANGER("You scald yourself trying to consume the boiling hot substance!")) H.adjustFireLoss(7) H.adjust_bodytemperature(min(max((chem_temp - T0C) - 20, 5), 700)) else if(chem_temp < H.dna.species.cold_level_1) - to_chat(H, "You frostburn yourself trying to consume the freezing cold substance!") + to_chat(H, SPAN_DANGER("You frostburn yourself trying to consume the freezing cold substance!")) H.adjustFireLoss(7) H.adjust_bodytemperature(- min(max((T0C - chem_temp) - 20, 5), 700)) diff --git a/code/modules/reagents/chemistry/recipes/drinks_reactions.dm b/code/modules/reagents/chemistry/recipes/drinks_reactions.dm index 18fd2cf1896..d19839967e7 100644 --- a/code/modules/reagents/chemistry/recipes/drinks_reactions.dm +++ b/code/modules/reagents/chemistry/recipes/drinks_reactions.dm @@ -952,7 +952,7 @@ result = "bacchus_blessing" required_reagents = list("hooch" = 1, "absinthe" = 1, "manlydorf" = 1, "syndicatebomb" = 1) result_amount = 4 - mix_message = "The mixture turns to a sickening froth." + mix_message = SPAN_WARNING("The mixture turns to a sickening froth.") /datum/chemical_reaction/icecoco name = "Iced Cocoa" diff --git a/code/modules/reagents/chemistry/recipes/drugs_reactions.dm b/code/modules/reagents/chemistry/recipes/drugs_reactions.dm index a37b56e83a2..19ab7b9a355 100644 --- a/code/modules/reagents/chemistry/recipes/drugs_reactions.dm +++ b/code/modules/reagents/chemistry/recipes/drugs_reactions.dm @@ -42,7 +42,7 @@ /datum/chemical_reaction/methamphetamine/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) - T.visible_message("The solution generates a strong vapor!") + T.visible_message(SPAN_WARNING("The solution generates a strong vapor!")) for(var/mob/living/carbon/C in range(T, 1)) if(C.can_breathe_gas()) C.emote("gasp") @@ -94,7 +94,7 @@ /datum/chemical_reaction/jenkem/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) - T.visible_message("The solution generates a strong vapor!") + T.visible_message(SPAN_WARNING("The solution generates a strong vapor!")) for(var/mob/living/carbon/C in range(T, 1)) if(C.can_breathe_gas()) C.reagents.add_reagent("jenkem", 25) diff --git a/code/modules/reagents/chemistry/recipes/food_reactions.dm b/code/modules/reagents/chemistry/recipes/food_reactions.dm index 9e3d33fbf09..4ba62a51dff 100644 --- a/code/modules/reagents/chemistry/recipes/food_reactions.dm +++ b/code/modules/reagents/chemistry/recipes/food_reactions.dm @@ -189,7 +189,7 @@ /datum/chemical_reaction/fake_cheese/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) - T.visible_message("A faint cheese-ish smell drifts through the air...") + T.visible_message(SPAN_NOTICE("A faint cheese-ish smell drifts through the air...")) /datum/chemical_reaction/weird_cheese name = "Weird cheese" diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index ad5f6412815..a0052464583 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -17,7 +17,7 @@ /datum/chemical_reaction/foam/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) - holder.my_atom.visible_message("The solution spews out foam!") + holder.my_atom.visible_message(SPAN_WARNING("The solution spews out foam!")) var/datum/effect_system/foam_spread/s = new() s.set_up(created_volume, location, holder, 0) @@ -34,7 +34,7 @@ /datum/chemical_reaction/metalfoam/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) - holder.my_atom.visible_message("The solution spews out a metalic foam!") + holder.my_atom.visible_message(SPAN_WARNING("The solution spews out a metalic foam!")) var/datum/effect_system/foam_spread/metal/s = new() s.set_up(created_volume, location, holder, METAL_FOAM_ALUMINUM) @@ -50,7 +50,7 @@ /datum/chemical_reaction/ironfoam/on_reaction(datum/reagents/holder, created_volume) var/location = get_turf(holder.my_atom) - holder.my_atom.visible_message("The solution spews out a metalic foam!") + holder.my_atom.visible_message(SPAN_WARNING("The solution spews out a metalic foam!")) var/datum/effect_system/foam_spread/metal/s = new() s.set_up(created_volume, location, holder, METAL_FOAM_IRON) diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index cb988bde0d2..f68b52eee07 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -371,7 +371,7 @@ result = null required_reagents = list("teslium" = 5, "uranium" = 5) //uranium to this so it can't be spammed like no tomorrow without mining help. result_amount = 1 - mix_message = "The reaction releases an electrical blast!" + mix_message = SPAN_DANGER("The reaction releases an electrical blast!") mix_sound = 'sound/magic/lightningbolt.ogg' /datum/chemical_reaction/shock_explosion/on_reaction(datum/reagents/holder, created_volume) diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index 89c88a5cf60..09f9c0952f7 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -12,7 +12,7 @@ /datum/chemical_reaction/slimespawn/on_reaction(datum/reagents/holder) SSblackbox.record_feedback("tally", "slime_cores_used", 1, type) 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/slimeinaprov name = "Slime epinephrine" @@ -101,12 +101,12 @@ summon_mobs(holder, T) /datum/chemical_reaction/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!")) if(SSmobs.xenobiology_mobs < MAX_GOLD_CORE_MOBS) addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 5, "Gold Slime", HOSTILE_SPAWN, "chemicalsummon", TRUE, TRUE), 50) SSmobs.xenobiology_mobs += 5 else - T.visible_message("The slime extract sputters out, there's too many mobs to make any more!") + T.visible_message(SPAN_DANGER("The slime extract sputters out, there's too many mobs to make any more!")) /datum/chemical_reaction/slimemobspawn/lesser name = "Slime Crit Lesser" @@ -114,12 +114,12 @@ required_reagents = list("blood" = 1) /datum/chemical_reaction/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!")) if(SSmobs.xenobiology_mobs < MAX_GOLD_CORE_MOBS) addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral", TRUE, TRUE), 50) SSmobs.xenobiology_mobs += 3 else - T.visible_message("The slime extract sputters out, there's too many mobs to make any more!") + T.visible_message(SPAN_DANGER("The slime extract sputters out, there's too many mobs to make any more!")) /datum/chemical_reaction/slimemobspawn/friendly name = "Slime Crit Friendly" @@ -127,12 +127,12 @@ required_reagents = list("water" = 1) /datum/chemical_reaction/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!")) if(SSmobs.xenobiology_mobs < MAX_GOLD_CORE_MOBS) addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral", TRUE, TRUE), 50) SSmobs.xenobiology_mobs += 1 else - T.visible_message("The slime extract sputters out, there's too many mobs to make any more!") + T.visible_message(SPAN_DANGER("The slime extract sputters out, there's too many mobs to make any more!")) //Silver /datum/chemical_reaction/slimebork @@ -286,13 +286,13 @@ /datum/chemical_reaction/slimefreeze/on_reaction(datum/reagents/holder) SSblackbox.record_feedback("tally", "slime_cores_used", 1, type) 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 !")) spawn(50) if(holder && holder.my_atom) playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) for(var/mob/living/M in range (get_turf(holder.my_atom), 7)) M.bodytemperature -= 240 - to_chat(M, "You feel a chill!") + to_chat(M, SPAN_NOTICE("You feel a chill!")) /datum/chemical_reaction/slimefireproof @@ -334,7 +334,7 @@ /datum/chemical_reaction/slimefire/on_reaction(datum/reagents/holder) SSblackbox.record_feedback("tally", "slime_cores_used", 1, type) var/turf/TU = get_turf(holder.my_atom) - TU.visible_message("The slime extract begins to vibrate adorably !") + TU.visible_message(SPAN_DANGER("The slime extract begins to vibrate adorably !")) spawn(50) if(holder && holder.my_atom) var/turf/simulated/T = get_turf(holder.my_atom) @@ -386,7 +386,7 @@ /datum/chemical_reaction/slimeglow/on_reaction(datum/reagents/holder) SSblackbox.record_feedback("tally", "slime_cores_used", 1, type) 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.")) var/obj/item/flashlight/slime/F = new /obj/item/flashlight/slime F.forceMove(get_turf(holder.my_atom)) @@ -462,12 +462,12 @@ SSblackbox.record_feedback("tally", "slime_cores_used", 1, type) 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_appearance(UPDATE_NAME) continue slime.rabid = TRUE - slime.visible_message("[slime] is driven into a frenzy!") + slime.visible_message(SPAN_DANGER("[slime] is driven into a frenzy!")) /datum/chemical_reaction/slimespeed @@ -549,7 +549,7 @@ /datum/chemical_reaction/slime_explosion/on_reaction(datum/reagents/holder) SSblackbox.record_feedback("tally", "slime_cores_used", 1, type) var/obj/item/slime_extract/oil/extract = holder.my_atom - extract.visible_message("The slime extract begins to vibrate violently!") + extract.visible_message(SPAN_DANGER("The slime extract begins to vibrate violently!")) addtimer(CALLBACK(src, PROC_REF(explode), extract), 5 SECONDS) /datum/chemical_reaction/slime_explosion/proc/explode(obj/item/slime_extract/oil/extract) @@ -634,7 +634,7 @@ SSblackbox.record_feedback("tally", "slime_cores_used", 1, type) if(holder.my_atom) var/obj/item/stack/ore/bluespace_crystal/BC = new(get_turf(holder.my_atom)) - BC.visible_message("[BC] appears out of thin air!") + BC.visible_message(SPAN_NOTICE("[BC] appears out of thin air!")) //Cerulean /datum/chemical_reaction/slimepsteroid2 @@ -751,7 +751,7 @@ /datum/chemical_reaction/slime_rng/on_reaction(datum/reagents/holder) SSblackbox.record_feedback("tally", "slime_cores_used", 1, type) 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_transfer name = "Transfer Potion" diff --git a/code/modules/reagents/chemistry/recipes/toxins_reactions.dm b/code/modules/reagents/chemistry/recipes/toxins_reactions.dm index ba55e6aaede..0d3a83a635f 100644 --- a/code/modules/reagents/chemistry/recipes/toxins_reactions.dm +++ b/code/modules/reagents/chemistry/recipes/toxins_reactions.dm @@ -29,7 +29,7 @@ /datum/chemical_reaction/cyanide/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) - T.visible_message("The solution generates a strong vapor!") + T.visible_message(SPAN_WARNING("The solution generates a strong vapor!")) for(var/mob/living/carbon/C in range(T, 1)) if(C.can_breathe_gas()) C.reagents.add_reagent("cyanide", 7) @@ -96,7 +96,7 @@ /datum/chemical_reaction/sarin/on_reaction(datum/reagents/holder) var/turf/T = get_turf(holder.my_atom) - T.visible_message("The solution generates a strong vapor!") + T.visible_message(SPAN_WARNING("The solution generates a strong vapor!")) for(var/mob/living/carbon/C in range(T, 2)) if(C.can_breathe_gas()) C.reagents.add_reagent("sarin", 4) @@ -147,7 +147,7 @@ result = "teslium" required_reagents = list("plasma" = 1, "silver" = 1, "blackpowder" = 1) result_amount = 3 - mix_message = "A jet of sparks flies from the mixture as it merges into a flickering slurry." + mix_message = SPAN_DANGER("A jet of sparks flies from the mixture as it merges into a flickering slurry.") min_temp = T0C + 50 mix_sound = null @@ -169,4 +169,4 @@ result = "rotatium" required_reagents = list("lsd" = 1, "teslium" = 1, "methamphetamine" = 1) result_amount = 3 - mix_message = "After sparks, fire, and the smell of LSD, the mix is constantly spinning with no stop in sight." + mix_message = SPAN_DANGER("After sparks, fire, and the smell of LSD, the mix is constantly spinning with no stop in sight.") diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index a2af1f59a8c..e3523d81919 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -69,13 +69,13 @@ // error if they changed. if(!can_set_transfer_amount(user)) if(!Adjacent(user)) - to_chat(user, "You have moved too far away!") + to_chat(user, SPAN_WARNING("You have moved too far away!")) if(!ishuman(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - to_chat(user, "You can't use your hands!") + to_chat(user, SPAN_WARNING("You can't use your hands!")) return amount_per_transfer_from_this = new_transfer_rate - to_chat(user, "[src] will now transfer [amount_per_transfer_from_this] units at a time.") + to_chat(user, SPAN_NOTICE("[src] will now transfer [amount_per_transfer_from_this] units at a time.")) /obj/item/reagent_containers/Initialize(mapload) . = ..() @@ -113,20 +113,20 @@ return if(is_open_container()) - to_chat(usr, "You put the lid on [src].") + to_chat(usr, SPAN_NOTICE("You put the lid on [src].")) add_lid() else - to_chat(usr, "You take the lid off [src].") + to_chat(usr, SPAN_NOTICE("You take the lid off [src].")) remove_lid() /obj/item/reagent_containers/wash(mob/user, atom/source) if(is_open_container()) if(reagents.total_volume >= volume) - to_chat(user, "[src] is full.") + to_chat(user, SPAN_WARNING("[src] is full.")) return else reagents.add_reagent("water", min(volume - reagents.total_volume, amount_per_transfer_from_this)) - to_chat(user, "You fill [src] from [source].") + to_chat(user, SPAN_NOTICE("You fill [src] from [source].")) return ..() @@ -134,8 +134,8 @@ . = ..() if(visible_transfer_rate) - . += "It will transfer [amount_per_transfer_from_this] unit[amount_per_transfer_from_this != 1 ? "s" : ""] at a time." + . += SPAN_NOTICE("It will transfer [amount_per_transfer_from_this] unit[amount_per_transfer_from_this != 1 ? "s" : ""] at a time.") // Items that have no valid possible_transfer_amounts shouldn't say their transfer rate is variable if(possible_transfer_amounts) - . += "Alt-Click to change the transfer amount." + . += SPAN_NOTICE("Alt-Click to change the transfer amount.") diff --git a/code/modules/reagents/reagent_containers/applicator.dm b/code/modules/reagents/reagent_containers/applicator.dm index 9d91d0e6601..7f09781a54f 100644 --- a/code/modules/reagents/reagent_containers/applicator.dm +++ b/code/modules/reagents/reagent_containers/applicator.dm @@ -19,13 +19,13 @@ /obj/item/reagent_containers/applicator/examine(mob/user) . = ..() - . += "Alt-Click to empty it." + . += SPAN_NOTICE("Alt-Click to empty it.") /obj/item/reagent_containers/applicator/emag_act(mob/user) if(!emagged) emagged = TRUE ignore_flags = TRUE - to_chat(user, "You short out the safeties on [src].") + to_chat(user, SPAN_WARNING("You short out the safeties on [src].")) return TRUE /obj/item/reagent_containers/applicator/on_reagent_change() @@ -37,9 +37,9 @@ found_forbidden_reagent = TRUE if(found_forbidden_reagent) if(ismob(loc)) - to_chat(loc, "[src] identifies and removes a harmful substance.") + to_chat(loc, SPAN_WARNING("[src] identifies and removes a harmful substance.")) else - visible_message("[src] identifies and removes a harmful substance.") + visible_message(SPAN_WARNING("[src] identifies and removes a harmful substance.")) update_icon(UPDATE_OVERLAYS) /obj/item/reagent_containers/applicator/update_icon_state() @@ -67,17 +67,17 @@ /obj/item/reagent_containers/applicator/proc/apply(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(applying) - to_chat(user, "You're already applying [src].") + to_chat(user, SPAN_WARNING("You're already applying [src].")) return if(ignore_flags || M.can_inject(user, TRUE)) if(M == user) - M.visible_message("[user] begins mending [user.p_themselves()] with [src].", "You begin mending yourself with [src].") + M.visible_message("[user] begins mending [user.p_themselves()] with [src].", SPAN_NOTICE("You begin mending yourself with [src].")) else - user.visible_message("[user] begins mending [M] with [src].", "You begin mending [M] with [src].") + user.visible_message(SPAN_WARNING("[user] begins mending [M] with [src]."), SPAN_NOTICE("You begin mending [M] with [src].")) if(M.reagents) applying = TRUE update_icon(UPDATE_ICON_STATE) @@ -85,10 +85,10 @@ measured_health = M.health apply_to(M, user, 1, FALSE) if(measured_health == M.health) - to_chat(user, "[M] is finished healing and [src] powers down automatically.") + to_chat(user, SPAN_NOTICE("[M] is finished healing and [src] powers down automatically.")) break if(!reagents.total_volume) - to_chat(user, "[src] is out of reagents and powers down automatically.") + to_chat(user, SPAN_NOTICE("[src] is out of reagents and powers down automatically.")) break applying = FALSE update_icon() @@ -131,7 +131,7 @@ if(tgui_alert(user, "Are you sure you want to empty [src]?", "Empty Applicator", list("Yes", "No")) != "Yes") return if(!user.incapacitated() && isturf(user.loc) && loc == user) - to_chat(user, "You empty [src] onto the floor.") + to_chat(user, SPAN_NOTICE("You empty [src] onto the floor.")) reagents.reaction(user.loc) reagents.clear_reagents() diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 8113cbfa84b..b07a44d4675 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -88,12 +88,12 @@ if(!ishuman(target)) return if(!reagent_ids[reagent_selected]) - to_chat(user, "The injector is empty.") + to_chat(user, SPAN_WARNING("The injector is empty.")) return var/mob/living/carbon/human/mob = target if(mob.can_inject(user, TRUE, user.zone_selected, penetrate_thick)) - to_chat(user, "You inject [mob] with [src].") - to_chat(mob, "You feel a tiny prick!") + to_chat(user, SPAN_NOTICE("You inject [mob] with [src].")) + to_chat(mob, SPAN_NOTICE("You feel a tiny prick!")) var/reagents_to_transfer = min(amount_per_transfer_from_this, reagent_ids[reagent_selected]) mob.reagents.add_reagent(reagent_selected, reagents_to_transfer) reagent_ids[reagent_selected] -= reagents_to_transfer @@ -104,7 +104,7 @@ var/datum/reagent/injected = GLOB.chemical_reagents_list[reagent_selected] var/contained = injected.name add_attack_logs(user, mob, "Injected with [name] containing [contained], transfered [reagents_to_transfer] units", injected.harmless ? ATKLOG_ALMOSTALL : null) - to_chat(user, "[reagents_to_transfer] units injected. [reagent_ids[reagent_selected]] units remaining.") + to_chat(user, SPAN_NOTICE("[reagents_to_transfer] units injected. [reagent_ids[reagent_selected]] units remaining.")) /obj/item/reagent_containers/borghypo/proc/get_radial_contents() return reagent_icons & reagent_ids @@ -118,13 +118,13 @@ if(!selected_reagent) return var/datum/reagent/R = GLOB.chemical_reagents_list[selected_reagent] - to_chat(user, "Synthesizer is now dispensing [R.name].") + to_chat(user, SPAN_NOTICE("Synthesizer is now dispensing [R.name].")) reagent_selected = selected_reagent /// Overriding because this is not really a reagent container /obj/item/reagent_containers/borghypo/build_reagent_description(mob/user) var/datum/reagent/get_reagent_name = GLOB.chemical_reagents_list[reagent_selected] - return "Contains [reagent_ids[reagent_selected]] units of [get_reagent_name.name]." + return SPAN_NOTICE("Contains [reagent_ids[reagent_selected]] units of [get_reagent_name.name].") /obj/item/reagent_containers/borghypo/emag_act(mob/user) if(!emagged) diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 920ad226db3..f9be53d58ae 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -28,7 +28,7 @@ if(!reagents.total_volume) return if(user != C) - visible_message("[user] begins to drip something into [C]'s eyes!") + visible_message(SPAN_DANGER("[user] begins to drip something into [C]'s eyes!")) if(!do_mob(user, C, mob_drip_delay)) return if(ishuman(target)) @@ -36,8 +36,8 @@ var/obj/item/safe_thing = null if(!H.get_organ(BODY_ZONE_HEAD)) - user.visible_message("With a blank stare, [user] drips something where [H]'s eyes should be, but the body has no head to be found. Perhaps [user] is as dead inside as [user.p_their()] patient.", \ - "You mindlessly drip something into [H]'s eyes, not realizing that [H.p_their()] head is missing. It's hard to tell which of you is more dead inside.") + user.visible_message(SPAN_WARNING("With a blank stare, [user] drips something where [H]'s eyes should be, but the body has no head to be found. Perhaps [user] is as dead inside as [user.p_their()] patient."), \ + SPAN_WARNING("You mindlessly drip something into [H]'s eyes, not realizing that [H.p_their()] head is missing. It's hard to tell which of you is more dead inside.")) reagents.remove_any(amount_per_transfer_from_this) return @@ -51,15 +51,15 @@ safe_thing = H.head if(safe_thing) - visible_message("[user] tries to drip something into [H]'s eyes, but fails!") + visible_message(SPAN_DANGER("[user] tries to drip something into [H]'s eyes, but fails!")) reagents.reaction(safe_thing, REAGENT_TOUCH) to_transfer = reagents.remove_any(amount_per_transfer_from_this) - to_chat(user, "You transfer [to_transfer] units of the solution.") + to_chat(user, SPAN_NOTICE("You transfer [to_transfer] units of the solution.")) return - visible_message("[user] drips something into [C]'s eyes!") + visible_message(SPAN_DANGER("[user] drips something into [C]'s eyes!")) reagents.reaction(C, REAGENT_TOUCH) var/list/injected = list() @@ -69,7 +69,7 @@ add_attack_logs(user, C, "Dripped with [src] containing ([contained]), transfering [to_transfer]") to_transfer = reagents.trans_to(C, amount_per_transfer_from_this) - to_chat(user, "You transfer [to_transfer] units of the solution.") + to_chat(user, SPAN_NOTICE("You transfer [to_transfer] units of the solution.")) /obj/item/reagent_containers/dropper/normal_act(atom/target, mob/living/user) var/to_transfer = 0 @@ -78,28 +78,28 @@ if(reagents.total_volume) if(!target.is_open_container() && !(isfood(target) && !ispill(target)) && !istype(target, /obj/item/clothing/mask/cigarette)) - to_chat(user, "You cannot directly fill this object.") + to_chat(user, SPAN_WARNING("You cannot directly fill this object.")) return if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "[target] is full.") + to_chat(user, SPAN_WARNING("[target] is full.")) return to_transfer = reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "You transfer [to_transfer] units of the solution.") + to_chat(user, SPAN_NOTICE("You transfer [to_transfer] units of the solution.")) else if(!target.is_open_container() && !istype(target, /obj/structure/reagent_dispensers)) - 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 to_transfer = target.reagents.trans_to(src, amount_per_transfer_from_this) - to_chat(user, "You fill [src] with [to_transfer] units of the solution.") + to_chat(user, SPAN_NOTICE("You fill [src] with [to_transfer] units of the solution.")) return TRUE /obj/item/reagent_containers/dropper/cyborg @@ -121,7 +121,7 @@ /obj/item/reagent_containers/dropper/precision/viral_injector/mob_act(mob/living/target, mob/living/user) if(target.can_inject(user, TRUE)) - to_chat(user, "You stealthily stab [target] with [src].") + to_chat(user, SPAN_WARNING("You stealthily stab [target] with [src].")) if(reagents.total_volume && target.reagents) var/list/injected = list() for(var/datum/reagent/R in reagents.reagent_list) diff --git a/code/modules/reagents/reagent_containers/food.dm b/code/modules/reagents/reagent_containers/food.dm index 91f3eb9ed0f..b7c5cd18bdd 100644 --- a/code/modules/reagents/reagent_containers/food.dm +++ b/code/modules/reagents/reagent_containers/food.dm @@ -36,12 +36,12 @@ if(!target.is_refillable()) return if(target.reagents.holder_full()) - to_chat(user, "[target] is full.") + to_chat(user, SPAN_WARNING("[target] is full.")) return - to_chat(user, "You [!target.reagents.total_volume ? "pour" : "dump"] [src] in [target].") + to_chat(user, SPAN_NOTICE("You [!target.reagents.total_volume ? "pour" : "dump"] [src] in [target].")) for(var/mob/O as anything in oviewers(2, user)) - O.show_message("[user] puts something in [target].", 1) + O.show_message(SPAN_WARNING("[user] puts something in [target]."), 1) reagents.trans_to(target, reagents.total_volume) qdel(src) diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index cb1810127a9..b3a223dd132 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -22,9 +22,9 @@ /obj/item/reagent_containers/glass/examine(mob/user) . = ..() if(get_dist(user, src) <= 2 && !is_open_container()) - . += "Airtight lid seals it completely." + . += SPAN_NOTICE("Airtight lid seals it completely.") - . += "[src] can hold up to [reagents.maximum_volume] units." + . += SPAN_NOTICE("[src] can hold up to [reagents.maximum_volume] units.") /obj/item/reagent_containers/glass/mob_act(mob/target, mob/living/user) . = TRUE @@ -32,7 +32,7 @@ return if(!reagents || !reagents.total_volume) - to_chat(user, "[src] is empty!") + to_chat(user, SPAN_WARNING("[src] is empty!")) return if(istype(target)) @@ -42,27 +42,27 @@ var/contained = english_list(transferred) if(user.a_intent == INTENT_HARM) - target.visible_message("[user] splashes the contents of [src] onto [target]!", \ - "[user] splashes the contents of [src] onto [target]!") + target.visible_message(SPAN_DANGER("[user] splashes the contents of [src] onto [target]!"), \ + SPAN_USERDANGER("[user] splashes the contents of [src] onto [target]!")) add_attack_logs(user, target, "Splashed with [name] containing [contained]", !!target.ckey ? null : ATKLOG_ALL) reagents.reaction(target, REAGENT_TOUCH) reagents.clear_reagents() else if(!iscarbon(target)) // Non-carbons can't process reagents - to_chat(user, "You cannot find a way to feed [target].") + to_chat(user, SPAN_WARNING("You cannot find a way to feed [target].")) return if(target != user) - target.visible_message("[user] attempts to feed something to [target].", \ - "[user] attempts to feed something to you.") + target.visible_message(SPAN_DANGER("[user] attempts to feed something to [target]."), \ + SPAN_USERDANGER("[user] attempts to feed something to you.")) if(!do_mob(user, target)) return if(!reagents || !reagents.total_volume) return // The drink might be empty after the delay, such as by spam-feeding - target.visible_message("[user] feeds something to [target].", "[user] feeds something to you.") + target.visible_message(SPAN_DANGER("[user] feeds something to [target]."), SPAN_USERDANGER("[user] feeds something to you.")) add_attack_logs(user, target, "Fed with [name] containing [contained]", !!target.ckey ? null : ATKLOG_ALL) else - to_chat(user, "You swallow a gulp of [src].") + to_chat(user, SPAN_NOTICE("You swallow a gulp of [src].")) var/fraction = min(5 / reagents.total_volume, 1) reagents.reaction(target, REAGENT_INGEST, fraction) addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, trans_to), target, 5), 5) @@ -85,33 +85,33 @@ . = TRUE 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) - 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].")) return 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) - 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].")) return else if(reagents.total_volume) if(user.a_intent == INTENT_HARM) - user.visible_message("[user] splashes the contents of [src] onto [target]!", \ - "You splash the contents of [src] onto [target].") + user.visible_message(SPAN_DANGER("[user] splashes the contents of [src] onto [target]!"), \ + SPAN_NOTICE("You splash the contents of [src] onto [target].")) reagents.reaction(target, REAGENT_TOUCH) reagents.clear_reagents() return @@ -146,7 +146,7 @@ /obj/item/reagent_containers/glass/beaker/examine(mob/user) . = ..() if(assembly) - . += "There is an [assembly] attached to it, use a screwdriver to remove it." + . += SPAN_NOTICE("There is an [assembly] attached to it, use a screwdriver to remove it.") /obj/item/reagent_containers/glass/beaker/on_reagent_change() update_icon(UPDATE_OVERLAYS) @@ -188,7 +188,7 @@ /obj/item/reagent_containers/glass/beaker/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(istype(used, /obj/item/assembly_holder) && can_assembly) if(assembly) - to_chat(usr, "[src] already has an assembly.") + to_chat(usr, SPAN_WARNING("[src] already has an assembly.")) else assembly = used user.drop_item() @@ -221,12 +221,12 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return if(assembly) - to_chat(user, "You detach [assembly] from [src]") + to_chat(user, SPAN_NOTICE("You detach [assembly] from [src]")) user.put_in_hands(assembly) assembly = null update_icon(UPDATE_OVERLAYS) else - to_chat(user, "There is no assembly to remove.") + to_chat(user, SPAN_NOTICE("There is no assembly to remove.")) /obj/item/reagent_containers/glass/beaker/large name = "large beaker" @@ -323,7 +323,7 @@ /obj/item/reagent_containers/glass/bucket/equipped(mob/user, slot) ..() if(slot == ITEM_SLOT_HEAD && 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.reaction(user, REAGENT_TOUCH) reagents.clear_reagents() @@ -333,7 +333,7 @@ mop.wet_mop(src, user) return ITEM_INTERACT_COMPLETE if(isprox(used)) - to_chat(user, "You add [used] to [src].") + to_chat(user, SPAN_NOTICE("You add [used] to [src].")) qdel(used) user.put_in_hands(new /obj/item/bucket_sensor) user.unequip(src) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index bb64367a332..e3fde54a838 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -30,7 +30,7 @@ /obj/item/reagent_containers/hypospray/proc/apply(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)) @@ -40,12 +40,12 @@ if(H.wear_suit) // This check is here entirely to stop goobers injecting Nukies, the SST, and the Deathsquad with meme chems. if(HAS_TRAIT(H.wear_suit, TRAIT_HYPOSPRAY_IMMUNE) && !ignore_hypospray_immunity) - to_chat(user, "[src] is unable to penetrate the armour of [M] or interface with any injection ports.") + to_chat(user, SPAN_WARNING("[src] is unable to penetrate the armour of [M] or interface with any injection ports.")) return if(reagents.total_volume && M.can_inject(user, TRUE, user.zone_selected, penetrate_thick, penetrate_everything)) - 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].")) if(M.reagents) var/list/injected = list() @@ -56,10 +56,10 @@ var/trans = reagents.trans_to(M, amount_per_transfer_from_this) if(safety_hypo) - visible_message("[user] injects [M] with [trans] units of [primary_reagent_name].") + visible_message(SPAN_WARNING("[user] injects [M] with [trans] units of [primary_reagent_name].")) playsound(loc, 'sound/goonstation/items/hypo.ogg', 80, 0) - 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].")) var/contained = english_list(injected) @@ -87,7 +87,7 @@ /obj/item/reagent_containers/hypospray/examine(mob/user) . = ..() if(Adjacent(user)) - . += "You can use a pen to add a label to [src]." + . += SPAN_NOTICE("You can use a pen to add a label to [src].") /obj/item/reagent_containers/hypospray/on_reagent_change() if(safety_hypo && !emagged) @@ -98,16 +98,16 @@ found_forbidden_reagent = TRUE if(found_forbidden_reagent) if(ismob(loc)) - to_chat(loc, "[src] identifies and removes a harmful substance.") + to_chat(loc, SPAN_WARNING("[src] identifies and removes a harmful substance.")) else - visible_message("[src] identifies and removes a harmful substance.") + visible_message(SPAN_WARNING("[src] identifies and removes a harmful substance.")) /obj/item/reagent_containers/hypospray/emag_act(mob/user) if(safety_hypo && !emagged) emagged = TRUE penetrate_thick = TRUE penetrate_everything = TRUE - to_chat(user, "You short out the safeties on [src].") + to_chat(user, SPAN_WARNING("You short out the safeties on [src].")) return TRUE ////////////////////////////// @@ -202,9 +202,9 @@ /obj/item/reagent_containers/hypospray/autoinjector/examine() . = ..() if(length(reagents?.reagent_list)) - . += "It is currently loaded." + . += SPAN_NOTICE("It is currently loaded.") else - . += "It is spent." + . += SPAN_NOTICE("It is spent.") /obj/item/reagent_containers/hypospray/autoinjector/epinephrine name = "emergency autoinjector" diff --git a/code/modules/reagents/reagent_containers/iv_bag.dm b/code/modules/reagents/reagent_containers/iv_bag.dm index 31129f2fcb8..147bbe2b984 100644 --- a/code/modules/reagents/reagent_containers/iv_bag.dm +++ b/code/modules/reagents/reagent_containers/iv_bag.dm @@ -50,7 +50,7 @@ /obj/item/reagent_containers/iv_bag/proc/on_examine(datum/source, mob/examiner, list/examine_list) SIGNAL_HANDLER // COMSIG_PARENT_EXAMINE - examine_list += "[source.p_they(TRUE)] [source.p_have()] an active IV bag." + examine_list += SPAN_NOTICE("[source.p_they(TRUE)] [source.p_have()] an active IV bag.") /obj/item/reagent_containers/iv_bag/proc/begin_processing(mob/target) injection_target = target @@ -83,7 +83,7 @@ /obj/item/reagent_containers/iv_bag/proc/tether_snapped() if(!injection_target) return - to_chat(injection_target, "[src]'s needle is ripped out of you!") + to_chat(injection_target, SPAN_USERDANGER("[src]'s needle is ripped out of you!")) injection_target.apply_damage(3, BRUTE, pick("r_arm", "l_arm")) end_processing(FALSE) @@ -93,7 +93,7 @@ return if(amount_per_transfer_from_this > 10) // Prevents people from switching to illegal transfer values while the IV is already in someone, i.e. anything over 10 - visible_message("The IV bag's needle pops out of [injection_target]'s arm. The transfer amount is too high!") + visible_message(SPAN_DANGER("The IV bag's needle pops out of [injection_target]'s arm. The transfer amount is too high!")) end_processing() return @@ -124,26 +124,26 @@ to_chat(user, "[src] is already inserted into [injection_target]'s arm!") return if(L != user) - L.visible_message("[user] is trying to remove [src]'s needle from [L]'s arm!", \ - "[user] is trying to remove [src]'s needle from [L]'s arm!") + L.visible_message(SPAN_DANGER("[user] is trying to remove [src]'s needle from [L]'s arm!"), \ + SPAN_USERDANGER("[user] is trying to remove [src]'s needle from [L]'s arm!")) if(!do_mob(user, L, injection_action_delay)) return - L.visible_message("[user] removes [src]'s needle from [L]'s arm!", \ - "[user] removes [src]'s needle from [L]'s arm!") + L.visible_message(SPAN_DANGER("[user] removes [src]'s needle from [L]'s arm!"), \ + SPAN_USERDANGER("[user] removes [src]'s needle from [L]'s arm!")) end_processing() else // Inserting the needle if(!L.can_inject(user, TRUE)) return if(amount_per_transfer_from_this > 10) // We only want to be able to transfer 1, 5, or 10 units to people. Higher numbers are for transfering to other containers - to_chat(user, "The IV bag can only be used on someone with a transfer amount of 1, 5 or 10.") + to_chat(user, SPAN_WARNING("The IV bag can only be used on someone with a transfer amount of 1, 5 or 10.")) return if(L != user) - L.visible_message("[user] is trying to insert [src]'s needle into [L]'s arm!", \ - "[user] is trying to insert [src]'s needle into [L]'s arm!") + L.visible_message(SPAN_DANGER("[user] is trying to insert [src]'s needle into [L]'s arm!"), \ + SPAN_USERDANGER("[user] is trying to insert [src]'s needle into [L]'s arm!")) if(!do_mob(user, L, injection_action_delay)) return - L.visible_message("[user] inserts [src]'s needle into [L]'s arm!", \ - "[user] inserts [src]'s needle into [L]'s arm!") + L.visible_message(SPAN_DANGER("[user] inserts [src]'s needle into [L]'s arm!"), \ + SPAN_USERDANGER("[user] inserts [src]'s needle into [L]'s arm!")) begin_processing(L) /obj/item/reagent_containers/iv_bag/normal_act(atom/target, mob/living/user) @@ -153,18 +153,18 @@ if(target.is_refillable() && is_drainable()) // Transferring from IV bag to other containers if(!reagents.total_volume) - to_chat(user, "[src] is empty.") + to_chat(user, SPAN_WARNING("[src] is empty.")) return if(target.reagents.total_volume >= target.reagents.maximum_volume) - 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) - to_chat(user, "You transfer [trans] units of the solution to [target].") + to_chat(user, SPAN_NOTICE("You transfer [trans] units of the solution to [target].")) else if(istype(target, /obj/item/reagent_containers/glass) && !target.is_open_container()) - to_chat(user, "You cannot fill [target] while it is sealed.") + to_chat(user, SPAN_WARNING("You cannot fill [target] while it is sealed.")) return diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index b284148097e..93516ce824a 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -30,19 +30,19 @@ return if(ismachineperson(C)) - to_chat(user, "[user == C ? "You" : C] can't use [src]!") + to_chat(user, SPAN_WARNING("[user == C ? "You" : C] can't use [src]!")) return if(user == C) - to_chat(user, "You apply [src].") + to_chat(user, SPAN_NOTICE("You apply [src].")) else if(!instant_application) - C.visible_message("[user] attempts to force [C] to apply [src].") + C.visible_message(SPAN_WARNING("[user] attempts to force [C] to apply [src].")) if(!do_after(user, 3 SECONDS, TRUE, C, TRUE)) return C.forceFedAttackLog(src, user) - C.visible_message("[user] forces [C] to apply [src].") + C.visible_message(SPAN_WARNING("[user] forces [C] to apply [src].")) if(user.get_active_hand() == src) user.drop_item() // Only drop if they're holding the patch directly diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 3c7487d08e2..f8293408638 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -33,18 +33,18 @@ if(ishuman(C)) var/mob/living/carbon/human/H = C if(!H.check_has_mouth()) - to_chat(user, "[user == H ? "You" : H] can't ingest [src]!") + to_chat(user, SPAN_WARNING("[user == H ? "You" : H] can't ingest [src]!")) return FALSE if(user == C) - to_chat(user, "You swallow [src].") + to_chat(user, SPAN_NOTICE("You swallow [src].")) else - C.visible_message("[user] attempts to force [C] to swallow [src].") + C.visible_message(SPAN_WARNING("[user] attempts to force [C] to swallow [src].")) if(!do_after(user, 3 SECONDS, TRUE, C, TRUE)) return FALSE C.forceFedAttackLog(src, user) - C.visible_message("[user] forces [C] to swallow [src].") + C.visible_message(SPAN_WARNING("[user] forces [C] to swallow [src].")) reagents.reaction(C, REAGENT_INGEST) reagents.trans_to(C, reagents.total_volume) @@ -66,12 +66,12 @@ if(!target.is_refillable()) return if(target.reagents.holder_full()) - to_chat(user, "[target] is full.") + to_chat(user, SPAN_WARNING("[target] is full.")) return - to_chat(user, "You [!target.reagents.total_volume ? "break open" : "dissolve"] [src] in [target].") + to_chat(user, SPAN_NOTICE("You [!target.reagents.total_volume ? "break open" : "dissolve"] [src] in [target].")) for(var/mob/O in oviewers(2, user)) - O.show_message("[user] puts something in [target].", 1) + O.show_message(SPAN_WARNING("[user] puts something in [target]."), 1) reagents.trans_to(target, reagents.total_volume) qdel(src) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index f021c39cb50..7480f128330 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -40,23 +40,23 @@ if(istype(A, /obj/structure/reagent_dispensers) && get_dist(src,A) <= 1) //this block copypasted from reagent_containers/glass, for lack of a better solution if(!A.reagents.total_volume && A.reagents) - to_chat(user, "[A] is empty.") + to_chat(user, SPAN_NOTICE("[A] is empty.")) return if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "[src] is full.") + to_chat(user, SPAN_NOTICE("[src] is full.")) return if(!is_open_container()) - to_chat(user, "[src] cannot be refilled.") + to_chat(user, SPAN_NOTICE("[src] cannot be refilled.")) return var/trans = A.reagents.trans_to(src, 50) //This is a static amount, otherwise, it'll take forever to fill. - to_chat(user, "You fill [src] with [trans] units of the contents of [A].") + to_chat(user, SPAN_NOTICE("You fill [src] with [trans] units of the contents of [A].")) return if(reagents.total_volume < amount_per_transfer_from_this) - to_chat(user, "[src] is empty!") + to_chat(user, SPAN_NOTICE("[src] is empty!")) return var/contents_log = reagents.reagent_list.Join(", ") @@ -101,13 +101,13 @@ return FINISH_ATTACK amount_per_transfer_from_this = (amount_per_transfer_from_this == 10 ? 5 : 10) spray_currentrange = (amount_per_transfer_from_this == 10 ? spray_maxrange : spray_minrange) - to_chat(user, "You [adjust_action]. You'll now use [amount_per_transfer_from_this] units per spray.") + to_chat(user, SPAN_NOTICE("You [adjust_action]. You'll now use [amount_per_transfer_from_this] units per spray.")) /obj/item/reagent_containers/spray/examine(mob/user) . = ..() if(get_dist(user, src) && user == loc) . += "[round(reagents.total_volume)] units left." - . += "Alt-Shift-Click to empty it." + . += SPAN_NOTICE("Alt-Shift-Click to empty it.") /obj/item/reagent_containers/spray/AltShiftClick(mob/user) if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) @@ -115,7 +115,7 @@ if(tgui_alert(user, "Are you sure you want to empty that?", "Empty Bottle", list("Yes", "No")) != "Yes") return if(isturf(user.loc) && loc == user) - to_chat(user, "You empty [src] onto the floor.") + to_chat(user, SPAN_NOTICE("You empty [src] onto the floor.")) reagents.reaction(user.loc) reagents.clear_reagents() @@ -149,9 +149,9 @@ if(R.id != "cleaner") //all chems other than space cleaner are filthy. reagents.del_reagent(R.id) if(ismob(loc)) - to_chat(loc, "[src] identifies and removes a filthy substance.") + to_chat(loc, SPAN_WARNING("[src] identifies and removes a filthy substance.")) else - visible_message("[src] identifies and removes a filthy substance.") + visible_message(SPAN_WARNING("[src] identifies and removes a filthy substance.")) /obj/item/reagent_containers/spray/cleaner/drone desc = "BLAM!-brand non-foaming space cleaner!" diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 8ff3fca7806..04cf7b0bb43 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -53,19 +53,19 @@ . = FALSE if(!reagents.total_volume) - to_chat(user, "[src] is empty.") + to_chat(user, SPAN_NOTICE("[src] is empty.")) return if(L.reagents.total_volume >= L.reagents.maximum_volume) - to_chat(user, "[L] is full.") + to_chat(user, SPAN_NOTICE("[L] is full.")) return if(L) //living mob if(!L.can_inject(user, TRUE, penetrate_thick = penetrates_thick)) return if(L != user) - L.visible_message("[user] is trying to inject [L]!", \ - "[user] is trying to inject you!") + L.visible_message(SPAN_DANGER("[user] is trying to inject [L]!"), \ + SPAN_USERDANGER("[user] is trying to inject you!")) if(!do_mob(user, L)) return if(L.reagents.total_volume >= L.reagents.maximum_volume) @@ -86,8 +86,8 @@ . = FALSE var/drawn_amount = reagents.maximum_volume - reagents.total_volume if(L != user) - L.visible_message("[user] is trying to take a blood sample from [L]!", \ - "[user] is trying to take a blood sample from [L]!") + L.visible_message(SPAN_DANGER("[user] is trying to take a blood sample from [L]!"), \ + SPAN_USERDANGER("[user] is trying to take a blood sample from [L]!")) busy = TRUE if(!do_mob(user, L, syringe_draw_time)) busy = FALSE @@ -96,9 +96,9 @@ return busy = FALSE if(L.transfer_blood_to(src, drawn_amount)) - user.visible_message("[user] takes a blood sample from [L].") + user.visible_message(SPAN_NOTICE("[user] takes a blood sample from [L].")) else - to_chat(user, "You are unable to draw any blood from [L]!") + to_chat(user, SPAN_WARNING("You are unable to draw any blood from [L]!")) if(reagents.holder_full()) mode = !mode @@ -109,15 +109,15 @@ /obj/item/reagent_containers/syringe/proc/normal_draw(atom/target, mob/living/user) . = FALSE if(!target.reagents.total_volume) - to_chat(user, "[target] is empty!") + to_chat(user, SPAN_WARNING("[target] is empty!")) return 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 var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // 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.")) if(reagents.holder_full()) mode = !mode @@ -129,11 +129,11 @@ . = FALSE if(!reagents.total_volume) - to_chat(user, "[src] is empty.") + to_chat(user, SPAN_NOTICE("[src] is empty.")) return if(!target.is_injectable(user)) - to_chat(user, "You cannot directly fill [target]!") + to_chat(user, SPAN_WARNING("You cannot directly fill [target]!")) return if(isfood(target)) @@ -173,7 +173,7 @@ switch(mode) if(SYRINGE_DRAW) if(reagents.holder_full()) - to_chat(user, "The syringe is full.") + to_chat(user, SPAN_NOTICE("The syringe is full.")) return // still one check here because we're not sure from the above logic @@ -192,7 +192,7 @@ var/mob/living/carbon/carbon_target = target if(length(carbon_target.viruses)) AddComponent(/datum/component/viral_contamination, carbon_target.viruses) - 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.")) if(reagents.total_volume <= 0 && mode == SYRINGE_INJECT) mode = SYRINGE_DRAW update_icon() @@ -242,8 +242,8 @@ if(IS_HORIZONTAL(H) && ((H.wear_suit && (H.wear_suit.body_parts_covered & UPPER_TORSO)) || (H.w_uniform && (H.w_uniform.body_parts_covered & UPPER_TORSO)))) return - H.visible_message("[H] is injected by [src].", \ - "You are injected by [src]!") + H.visible_message(SPAN_DANGER("[H] is injected by [src]."), \ + SPAN_USERDANGER("You are injected by [src]!")) if(IS_HORIZONTAL(H)) H.apply_damage(5, BRUTE, BODY_ZONE_CHEST) diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 961ee5ab94c..0ccf7181a4e 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -63,7 +63,7 @@ do_boom(rigtrigger, log_attack) /obj/structure/reagent_dispensers/proc/do_boom(rigtrigger = FALSE, log_attack = FALSE) - visible_message("[src] ruptures!") + visible_message(SPAN_DANGER("[src] ruptures!")) chem_splash(loc, 5, list(reagents)) qdel(src) @@ -164,13 +164,13 @@ /obj/structure/reagent_dispensers/fueltank/examine(mob/user) . = ..() if(get_dist(user, src) <= 2 && rig) - . += "There is some kind of device rigged to the tank." + . += SPAN_NOTICE("There is some kind of device rigged to the tank.") /obj/structure/reagent_dispensers/fueltank/attack_hand() if(rig) - usr.visible_message("[usr] begins to detach [rig] from [src].", "You begin to detach [rig] from [src].") + usr.visible_message(SPAN_NOTICE("[usr] begins to detach [rig] from [src]."), SPAN_NOTICE("You begin to detach [rig] from [src].")) if(do_after(usr, 20, target = src)) - usr.visible_message("[usr] detaches [rig] from [src].", "You detach [rig] from [src].") + usr.visible_message(SPAN_NOTICE("[usr] detaches [rig] from [src]."), SPAN_NOTICE("You detach [rig] from [src].")) rig.forceMove(get_turf(usr)) rig = null lastrigger = null @@ -179,11 +179,11 @@ /obj/structure/reagent_dispensers/fueltank/item_interaction(mob/living/user, obj/item/I, list/modifiers) if(istype(I, /obj/item/assembly_holder) && accepts_rig) if(rig) - to_chat(user, "There is another device in the way.") + to_chat(user, SPAN_WARNING("There is another device in the way.")) return ITEM_INTERACT_COMPLETE user.visible_message("[user] begins rigging [I] to [src].", "You begin rigging [I] to [src]") if(do_after(user, 20, target = src)) - user.visible_message("[user] rigs [I] to [src].", "You rig [I] to [src].") + user.visible_message(SPAN_NOTICE("[user] rigs [I] to [src]."), SPAN_NOTICE("You rig [I] to [src].")) var/obj/item/assembly_holder/H = I if(istype(H.a_left, /obj/item/assembly/igniter) || istype(H.a_right, /obj/item/assembly/igniter)) @@ -206,10 +206,10 @@ /obj/structure/reagent_dispensers/fueltank/welder_act(mob/user, obj/item/I) . = TRUE if(!reagents.has_reagent("fuel")) - to_chat(user, "[src] is out of fuel!") + to_chat(user, SPAN_WARNING("[src] is out of fuel!")) return if(I.tool_enabled && I.use_tool(src, user, volume = I.tool_volume)) //check it's enabled first to prevent duplicate messages when refuelling - user.visible_message("[user] catastrophically fails at refilling [user.p_their()] [I]!", "That was stupid of you.") + user.visible_message(SPAN_DANGER("[user] catastrophically fails at refilling [user.p_their()] [I]!"), SPAN_USERDANGER("That was stupid of you.")) message_admins("[key_name_admin(user)] triggered a fueltank explosion at [COORD(loc)]") log_game("[key_name(user)] triggered a fueltank explosion at [COORD(loc)]") add_attack_logs(user, src, "hit with lit welder") @@ -271,9 +271,9 @@ /obj/structure/reagent_dispensers/water_cooler/attack_hand(mob/living/user) 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/drinks/sillycup/S = new(get_turf(src)) user.put_in_hands(S) paper_cups-- @@ -306,8 +306,8 @@ if(!istype(O, /obj/item/disk/nuclear)) return user.visible_message( - "[user] inserts [O] into [src] and it begins making a loud beeping noise! Uh-oh!", - "You prime [src] with [O] and it begins making a loud beeping noise! Better run!") + SPAN_DANGER("[user] inserts [O] into [src] and it begins making a loud beeping noise! Uh-oh!"), + SPAN_DANGER("You prime [src] with [O] and it begins making a loud beeping noise! Better run!")) playsound(src, 'sound/machines/alarm.ogg', 100, FALSE, 0) exploding = TRUE addtimer(CALLBACK(src, PROC_REF(explode)), 13 SECONDS) diff --git a/code/modules/recycling/belt-placer.dm b/code/modules/recycling/belt-placer.dm index 45ad538e91f..705b41b743e 100644 --- a/code/modules/recycling/belt-placer.dm +++ b/code/modules/recycling/belt-placer.dm @@ -31,7 +31,7 @@ C.id = S.id linked = TRUE if(linked) - to_chat(user, "All belts in [src] linked with [S].") + to_chat(user, SPAN_NOTICE("All belts in [src] linked with [S].")) else return ..() @@ -40,6 +40,6 @@ return var/obj/item/conveyor_construct/C = locate() in src if(!C) - to_chat(user, "There are no belts in [src].") + to_chat(user, SPAN_NOTICE("There are no belts in [src].")) else C.afterattack__legacy__attackchain(A, user, proximity) diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index cbb27f18702..9c39afb3240 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -68,7 +68,7 @@ GLOBAL_LIST_EMPTY(conveyor_switches) if(CS.id == id) CS.conveyors -= src id = S.id - to_chat(user, "You link [used] with [src].") + to_chat(user, SPAN_NOTICE("You link [used] with [src].")) return ITEM_INTERACT_COMPLETE if(user.a_intent == INTENT_HELP) @@ -86,7 +86,7 @@ GLOBAL_LIST_EMPTY(conveyor_switches) var/obj/item/conveyor_construct/C = new(loc) C.id = id transfer_fingerprints_to(C) - to_chat(user,"You remove [src].") + to_chat(user,SPAN_NOTICE("You remove [src].")) qdel(src) /obj/machinery/conveyor/wrench_act(mob/user, obj/item/I) @@ -146,7 +146,7 @@ GLOBAL_LIST_EMPTY(conveyor_switches) var/turf/left = get_step(src, turn(dir, 90)) //We need to get conveyors to the right, left, and behind this one to be able to determine if we need to make a corner piece var/turf/right = get_step(src, turn(dir, -90)) var/turf/back = get_step(src, turn(dir, 180)) - to_chat(user, "You rotate [src].") + to_chat(user, SPAN_NOTICE("You rotate [src].")) var/obj/machinery/conveyor/CL = locate() in left var/obj/machinery/conveyor/CR = locate() in right var/obj/machinery/conveyor/CB = locate() in back @@ -324,7 +324,7 @@ GLOBAL_LIST_EMPTY(conveyor_switches) add_fingerprint(user) playsound(loc, 'sound/machines/switch.ogg', 10, TRUE) if(!allowed(user) && !user.can_advanced_admin_interact()) //this is in Para but not TG. I don't think there's any which are set anyway. - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return if(position) position = DIRECTION_OFF @@ -366,7 +366,7 @@ GLOBAL_LIST_EMPTY(conveyor_switches) return var/obj/item/conveyor_switch_construct/C = new(loc, id) transfer_fingerprints_to(C) - to_chat(user,"You detach [src].") + to_chat(user,SPAN_NOTICE("You detach [src].")) qdel(src) /obj/machinery/conveyor_switch/multitool_act(mob/user, obj/item/I) @@ -432,7 +432,7 @@ GLOBAL_LIST_EMPTY(conveyor_switches) if(!istype(I, /obj/item/conveyor_switch_construct)) return var/obj/item/conveyor_switch_construct/C = I - to_chat(user, "You link [src] to [C].") + to_chat(user, SPAN_NOTICE("You link [src] to [C].")) id = C.id /obj/item/conveyor_construct/afterattack__legacy__attackchain(turf/T, mob/user, proximity) @@ -443,10 +443,10 @@ GLOBAL_LIST_EMPTY(conveyor_switches) if(!isfloorturf(T)) return if(T == get_turf(user)) - to_chat(user, "You cannot place [src] under yourself.") + to_chat(user, SPAN_NOTICE("You cannot place [src] under yourself.")) return if(locate(/obj/machinery/conveyor) in T) //Can't put conveyors beneath conveyors - to_chat(user, "There's already a conveyor there!") + to_chat(user, SPAN_NOTICE("There's already a conveyor there!")) return var/obj/machinery/conveyor/C = new(T, user.dir, id) transfer_fingerprints_to(C) @@ -483,7 +483,7 @@ GLOBAL_LIST_EMPTY(conveyor_switches) found = TRUE break if(!found) - to_chat(user, "[src] did not detect any linked conveyor belts in range.") + to_chat(user, SPAN_NOTICE("[src] did not detect any linked conveyor belts in range.")) return var/obj/machinery/conveyor_switch/NC = new(T, id) transfer_fingerprints_to(NC) @@ -494,7 +494,7 @@ GLOBAL_LIST_EMPTY(conveyor_switches) return ..() var/obj/item/conveyor_switch_construct/S = I id = S.id - to_chat(user, "You link the two switch constructs.") + to_chat(user, SPAN_NOTICE("You link the two switch constructs.")) /obj/item/paper/conveyor name = "paper- 'Nano-it-up U-build series, #9: Build your very own conveyor belt, in SPACE'" diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm index 6b56546b6f6..51a9759a3b9 100644 --- a/code/modules/recycling/disposal-construction.dm +++ b/code/modules/recycling/disposal-construction.dm @@ -23,7 +23,7 @@ /obj/structure/disposalconstruct/examine(mob/user) . = ..() - . += "Alt-Click to rotate it, Alt-Shift-Click to flip it." + . += SPAN_NOTICE("Alt-Click to rotate it, Alt-Shift-Click to flip it.") // update iconstate and dpdir due to dir and type /obj/structure/disposalconstruct/proc/update() @@ -80,7 +80,7 @@ /obj/structure/disposalconstruct/proc/rotate(mob/user) if(anchored) - to_chat(user, "You must unfasten the pipe before rotating it.") + to_chat(user, SPAN_NOTICE("You must unfasten the pipe before rotating it.")) return dir = turn(dir, -90) @@ -93,7 +93,7 @@ /obj/structure/disposalconstruct/proc/flip(mob/user) if(anchored) - to_chat(user, "You must unfasten the pipe before flipping it.") + to_chat(user, SPAN_NOTICE("You must unfasten the pipe before flipping it.")) return dir = turn(dir, 180) @@ -141,21 +141,21 @@ var/turf/T = get_turf(src) if(T.intact) - to_chat(user, "You can only attach the [nicetype] if the floor plating is removed.") + to_chat(user, SPAN_WARNING("You can only attach the [nicetype] if the floor plating is removed.")) return if(ispipe) anchored = !anchored level = anchored ? 1 : 2 - to_chat(user, anchored ? "You attach the [nicetype] to the underfloor." : "You detach the [nicetype] from the underfloor.") + to_chat(user, anchored ? SPAN_NOTICE("You attach the [nicetype] to the underfloor.") : SPAN_NOTICE("You detach the [nicetype] from the underfloor.")) else var/obj/structure/disposalpipe/trunk/CT = locate() in T //For disposal bins, chutes, outlets. if(!CT) - to_chat(user, "The [nicetype] requires a trunk underneath it in order to be anchored.") + to_chat(user, SPAN_WARNING("The [nicetype] requires a trunk underneath it in order to be anchored.")) return anchored = !anchored density = anchored - to_chat(user, anchored ? "You attach the [nicetype] to the trunk." : "You detach the [nicetype] from the trunk.") + to_chat(user, anchored ? SPAN_NOTICE("You attach the [nicetype] to the trunk.") : SPAN_NOTICE("You detach the [nicetype] from the trunk.")) I.play_tool_sound(src, I.tool_volume) update() @@ -192,13 +192,13 @@ add_fingerprint(user) if(T.intact) - to_chat(user, "You can only attach the [nicetype] if the floor plating is removed.") + to_chat(user, SPAN_WARNING("You can only attach the [nicetype] if the floor plating is removed.")) return if(ptype in list(PIPE_DISPOSALS_BIN, PIPE_DISPOSALS_OUTLET, PIPE_DISPOSALS_CHUTE)) // Disposal or outlet var/obj/structure/disposalpipe/trunk/CP = locate() in T if(!CP) // There's no trunk - to_chat(user, "The [nicetype] requires a trunk underneath it in order to work.") + to_chat(user, SPAN_WARNING("The [nicetype] requires a trunk underneath it in order to work.")) return else for(var/obj/structure/disposalpipe/CP in T) @@ -208,15 +208,15 @@ if(istype(CP, /obj/structure/disposalpipe/broken)) pdir = CP.dir if(pdir & dpdir) - to_chat(user, "There is already a [nicetype] at that location.") + to_chat(user, SPAN_WARNING("There is already a [nicetype] at that location.")) return if(istype(I, /obj/item/weldingtool)) if(anchored) if(I.tool_use_check(user, 0)) - to_chat(user, "You begin welding the [nicetype] in place.") + to_chat(user, SPAN_NOTICE("You begin welding the [nicetype] in place.")) if(I.use_tool(src, user, 20, volume = I.tool_volume)) - to_chat(user, "You have welded the [nicetype] in place!") + to_chat(user, SPAN_NOTICE("You have welded the [nicetype] in place!")) update() // TODO: Make this neat if(ispipe) // Pipe @@ -253,10 +253,10 @@ qdel(src) return else - to_chat(user, "You need more welding fuel to complete this task.") + to_chat(user, SPAN_WARNING("You need more welding fuel to complete this task.")) return 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 /obj/structure/disposalconstruct/rpd_act(mob/user, obj/item/rpd/our_rpd) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 78d552829b9..bee60e72b57 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -72,8 +72,8 @@ var/turf/simulated/floor/F = T F.remove_tile(null,TRUE,TRUE) T.visible_message( - "The floortile is ripped from the floor!", - "You hear a loud bang!" + SPAN_WARNING("The floortile is ripped from the floor!"), + SPAN_WARNING("You hear a loud bang!") ) if(trunk) @@ -135,7 +135,7 @@ if(istype(used, /obj/item/gripper)) var/obj/item/gripper/gripper = used if(!gripper.gripped_item) - to_chat(user, "There's nothing in your gripper to throw away!") + to_chat(user, SPAN_WARNING("There's nothing in your gripper to throw away!")) return ITEM_INTERACT_COMPLETE // Gripper will cancel the attack and call `item_interaction()` with the held item. @@ -161,9 +161,9 @@ if((S.allow_quick_empty || S.allow_quick_gather) && length(S.contents)) S.hide_from(user) user.visible_message( - "[user] empties [S] into the disposal unit.", - "You empty [S] into disposal unit.", - "You hear someone emptying something into a disposal unit." + SPAN_NOTICE("[user] empties [S] into the disposal unit."), + SPAN_NOTICE("You empty [S] into disposal unit."), + SPAN_NOTICE("You hear someone emptying something into a disposal unit.") ) for(var/obj/item/O in S.contents) S.remove_from_storage(O, src) @@ -180,9 +180,9 @@ var/mob/GM = G.affecting user.visible_message( - "[user] starts stuffing [GM] into the disposal unit!", - "You start stuffing [GM] into the disposal unit.", - "You hear someone trying to stuff someone else into a disposal unit!" + SPAN_WARNING("[user] starts stuffing [GM] into the disposal unit!"), + SPAN_WARNING("You start stuffing [GM] into the disposal unit."), + SPAN_WARNING("You hear someone trying to stuff someone else into a disposal unit!") ) // Abort if the target manages to scurry away. @@ -191,9 +191,9 @@ GM.forceMove(src) user.visible_message( - "[GM] has been stuffed into the disposal unit by [user]!", - "You stuff [GM] into the disposal unit.", - "You hear someone being stuffed into a disposal unit!" + SPAN_WARNING("[GM] has been stuffed into the disposal unit by [user]!"), + SPAN_WARNING("You stuff [GM] into the disposal unit."), + SPAN_WARNING("You hear someone being stuffed into a disposal unit!") ) qdel(G) update() @@ -206,9 +206,9 @@ // If we're here, it's an item without any special interactions, drop it in the bin without any further delay. used.forceMove(src) user.visible_message( - "[user] places [used] into the disposal unit.", - "You place [used] into the disposal unit.", - "You hear someone dropping something into a disposal unit." + SPAN_NOTICE("[user] places [used] into the disposal unit."), + SPAN_NOTICE("You place [used] into the disposal unit."), + SPAN_NOTICE("You hear someone dropping something into a disposal unit.") ) update() @@ -216,7 +216,7 @@ /obj/machinery/disposal/screwdriver_act(mob/user, obj/item/I) if(mode != DISPOSALS_OFF) // It's on - to_chat(user, "You need to turn the disposal unit off first!") + to_chat(user, SPAN_WARNING("You need to turn the disposal unit off first!")) return . = TRUE @@ -224,7 +224,7 @@ return if(length(contents) > 0) - to_chat(user, "You need to empty the contents of the disposal unit first!") + to_chat(user, SPAN_WARNING("You need to empty the contents of the disposal unit first!")) return if(mode == DISPOSALS_OFF) // It's off but still not unscrewed @@ -232,20 +232,20 @@ else if(mode == DISPOSALS_UNSCREWED) mode = DISPOSALS_OFF user.visible_message( - "[user] [mode ? "unfastens": "fastens"] the screws around the power connection of the disposal unit.", - "You [mode ? "unfasten": "fasten"] the screws around the power connection of the disposal unit.", - "You hear screws being [mode ? "unfastened": "fastened"]." + SPAN_NOTICE("[user] [mode ? "unfastens": "fastens"] the screws around the power connection of the disposal unit."), + SPAN_NOTICE("You [mode ? "unfasten": "fasten"] the screws around the power connection of the disposal unit."), + SPAN_NOTICE("You hear screws being [mode ? "unfastened": "fastened"].") ) update() /obj/machinery/disposal/welder_act(mob/user, obj/item/I) if(mode != DISPOSALS_UNSCREWED) - to_chat(user, "You need to unscrew the disposal unit first!") + to_chat(user, SPAN_WARNING("You need to unscrew the disposal unit first!")) return . = TRUE if(length(contents) > 0) - to_chat(user, "You need to empty the contents of the disposal unit first!") + to_chat(user, SPAN_WARNING("You need to empty the contents of the disposal unit first!")) return if(!I.tool_use_check(user, 0)) @@ -263,9 +263,9 @@ /obj/machinery/disposal/shove_impact(mob/living/target, mob/living/attacker) target.visible_message( - "[attacker] shoves [target] inside of the disposal unit!", - "[attacker] shoves you inside of the disposal unit!", - "You hear the sound of someone being thrown into a disposal unit." + SPAN_WARNING("[attacker] shoves [target] inside of the disposal unit!"), + SPAN_USERDANGER("[attacker] shoves you inside of the disposal unit!"), + SPAN_WARNING("You hear the sound of someone being thrown into a disposal unit.") ) target.forceMove(src) add_attack_logs(attacker, target, "Shoved into disposals", target.ckey ? null : ATKLOG_ALL) @@ -286,19 +286,19 @@ src.add_fingerprint(user) if(target == user && !user.stat && !user.IsWeakened() && !user.IsStunned() && !user.IsParalyzed()) user.visible_message( - "[user] starts climbing into the disposal unit.", - "You start climbing into the disposal unit.", - "You hear someone trying to climb into a disposal unit." + SPAN_NOTICE("[user] starts climbing into the disposal unit."), + SPAN_NOTICE("You start climbing into the disposal unit."), + SPAN_NOTICE("You hear someone trying to climb into a disposal unit.") ) if(target != user && !user.restrained() && !user.stat && !user.IsWeakened() && !user.IsStunned() && !user.IsParalyzed()) if(target.anchored) return - user.visible_message("[user] starts stuffing [target.name] into the disposal.") + user.visible_message(SPAN_WARNING("[user] starts stuffing [target.name] into the disposal.")) user.visible_message( - "[user] starts stuffing [target] into the disposal unit!", - "You start stuffing [target] into the disposal unit.", - "You hear someone trying to stuff someone else into a disposal unit!" + SPAN_WARNING("[user] starts stuffing [target] into the disposal unit!"), + SPAN_WARNING("You start stuffing [target] into the disposal unit."), + SPAN_WARNING("You hear someone trying to stuff someone else into a disposal unit!") ) INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/machinery/disposal, put_in), target, user) return TRUE @@ -314,16 +314,16 @@ // All the extra checks ensure you cannot disposal yourself/others whilst incapacitated. if(target == user && !user.stat && !user.IsWeakened() && !user.IsStunned() && !user.IsParalyzed()) user.visible_message( - "[user] climbs into the disposal unit.", - "You climb into the disposal unit.", - "You hear someone climbing into a disposal unit." + SPAN_NOTICE("[user] climbs into the disposal unit."), + SPAN_NOTICE("You climb into the disposal unit."), + SPAN_NOTICE("You hear someone climbing into a disposal unit.") ) else if(target != user && !user.restrained() && !user.stat && !user.IsWeakened() && !user.IsStunned() && !user.IsParalyzed()) user.visible_message( - "[user] stuffs [target] into the disposal unit.", - "You stuff [target] into the disposal unit.", - "You hear the sound of someone being stuffed into a disposal unit." + SPAN_WARNING("[user] stuffs [target] into the disposal unit."), + SPAN_WARNING("You stuff [target] into the disposal unit."), + SPAN_WARNING("You hear the sound of someone being stuffed into a disposal unit.") ) add_attack_logs(user, target, "Disposal'ed", !!target.ckey ? null : ATKLOG_ALL) @@ -364,7 +364,7 @@ return if(user && user.loc == src) - to_chat(usr, "You cannot reach the controls from inside.") + to_chat(usr, SPAN_WARNING("You cannot reach the controls from inside.")) return // Clumsy folks can only flush it. @@ -399,11 +399,11 @@ if(..()) return if(usr.loc == src) - to_chat(usr, "You cannot reach the controls from inside!") + to_chat(usr, SPAN_WARNING("You cannot reach the controls from inside!")) return if(mode == DISPOSALS_UNSCREWED && action != "eject") // If the mode is DISPOSALS_UNSCREWED, only allow ejection - to_chat(usr, "The disposal unit's power is disabled!") + to_chat(usr, SPAN_WARNING("The disposal unit's power is disabled!")) return if(stat & BROKEN) @@ -446,16 +446,16 @@ if(!Adjacent(user) || !ishuman(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return user.visible_message( - "[user] tries to eject the contents of the disposal unit manually.", - "You operate the manual ejection lever on the disposal unit.", - "You hear a lever being pulled." + SPAN_NOTICE("[user] tries to eject the contents of the disposal unit manually."), + SPAN_NOTICE("You operate the manual ejection lever on the disposal unit."), + SPAN_NOTICE("You hear a lever being pulled.") ) if(do_after(user, 5 SECONDS, target = src)) user.visible_message( - "[user] ejects the contents of the disposal unit.", - "You eject the contents of the disposal unit.", - "You hear a sudden gush of air and the clattering of objects." + SPAN_NOTICE("[user] ejects the contents of the disposal unit."), + SPAN_NOTICE("You eject the contents of the disposal unit."), + SPAN_NOTICE("You hear a sudden gush of air and the clattering of objects.") ) eject() @@ -622,16 +622,16 @@ if(prob(75) || (istype(thrower) && (HAS_TRAIT(thrower, TRAIT_BADASS) || HAS_TRAIT(thrower, TRAIT_NEVER_MISSES_DISPOSALS)))) I.forceMove(src) visible_message( - "[I] lands in [src].", - "You hear something being tossed into a disposal unit." + SPAN_NOTICE("[I] lands in [src]."), + SPAN_NOTICE("You hear something being tossed into a disposal unit.") ) update() return else visible_message( - "[I] bounces off of [src]'s rim!", - "You hear something bouncing off the rim of a disposal unit!" + SPAN_WARNING("[I] bounces off of [src]'s rim!"), + SPAN_WARNING("You hear something bouncing off the rim of a disposal unit!") ) return @@ -751,7 +751,7 @@ // find the fat guys for(var/mob/living/carbon/human/H in src) if(HAS_TRAIT(H, TRAIT_FAT)) - to_chat(H, "You suddenly stop in [last], your extra weight jamming you against the walls!") + to_chat(H, SPAN_USERDANGER("You suddenly stop in [last], your extra weight jamming you against the walls!")) break sleep(1) // was 1 var/obj/structure/disposalpipe/curr = loc @@ -1051,7 +1051,7 @@ /obj/structure/disposalpipe/item_interaction(mob/living/user, obj/item/used, list/modifiers) var/turf/T = get_turf(src) if(T.intact || T.transparent_floor) - to_chat(user, "You can't interact with something that's under the floor!") + to_chat(user, SPAN_DANGER("You can't interact with something that's under the floor!")) return ITEM_INTERACT_COMPLETE // prevent interaction with T-scanner revealed pipes and pipes under glass add_fingerprint(user) @@ -1062,7 +1062,7 @@ if(!I.tool_use_check(user, 0)) return if(T.transparent_floor) - to_chat(user, "You can't interact with something that's under the floor!") + to_chat(user, SPAN_DANGER("You can't interact with something that's under the floor!")) return WELDER_ATTEMPT_SLICING_MESSAGE if(!I.use_tool(src, user, 30, volume = I.tool_volume)) @@ -1236,18 +1236,18 @@ playsound(loc, 'sound/machines/twobeep.ogg', 100, 1) if(O.currTag == 1) sort_type = list(1) - to_chat(user, "Filter set to [tag] only.") + to_chat(user, SPAN_NOTICE("Filter set to [tag] only.")) else if(O.currTag in sort_type) sort_type.Remove(O.currTag) - to_chat(user, "Removed [tag] from filter.") + to_chat(user, SPAN_NOTICE("Removed [tag] from filter.")) if(!length(sort_type)) sort_type.Add(1) // Default to Disposals if everything is removed. - to_chat(user, "Filter defaulting to [uppertext(GLOB.TAGGERLOCATIONS[1])].") + to_chat(user, SPAN_NOTICE("Filter defaulting to [uppertext(GLOB.TAGGERLOCATIONS[1])].")) else if(1 in sort_type) // Remove Disposals if a destination is added. sort_type.Remove(1) sort_type.Add(O.currTag) - to_chat(user, "Added [tag] to filter.") + to_chat(user, SPAN_NOTICE("Added [tag] to filter.")) update_appearance(UPDATE_NAME|UPDATE_DESC) return ITEM_INTERACT_COMPLETE @@ -1490,7 +1490,7 @@ /obj/structure/disposalpipe/broken/welder_act(mob/user, obj/item/I) if(I.use_tool(src, user, 0, volume = I.tool_volume)) - to_chat(user, "You remove [src]!") + to_chat(user, SPAN_NOTICE("You remove [src]!")) I.play_tool_sound(src, I.tool_volume) qdel(src) return TRUE @@ -1531,7 +1531,7 @@ START_PROCESSING(SSobj, src) /obj/structure/disposaloutlet/multitool_act(mob/living/user, obj/item/I) - to_chat(user, "You [delay_large_object_expel_enabled ? "disable" : "enable"] the delay between large objects leaving the disposal outlet.") + to_chat(user, SPAN_NOTICE("You [delay_large_object_expel_enabled ? "disable" : "enable"] the delay between large objects leaving the disposal outlet.")) delay_large_object_expel_enabled = !delay_large_object_expel_enabled /obj/structure/disposaloutlet/process() @@ -1590,9 +1590,9 @@ add_fingerprint(user) if(!mode) - to_chat(user, "You remove the screws around the power connection.") + to_chat(user, SPAN_NOTICE("You remove the screws around the power connection.")) else if(mode) - to_chat(user, "You attach the screws around the power connection.") + to_chat(user, SPAN_NOTICE("You attach the screws around the power connection.")) I.play_tool_sound(src) mode = !mode return TRUE @@ -1620,8 +1620,8 @@ var/turf/simulated/floor/F = T F.remove_tile(null,TRUE,TRUE) T.visible_message( - "The floortile is ripped from the floor!", - "You hear a loud bang!" + SPAN_WARNING("The floortile is ripped from the floor!"), + SPAN_WARNING("You hear a loud bang!") ) if(linkedtrunk) diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 7c4c340f381..378f6f77ba1 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -29,7 +29,7 @@ /obj/structure/big_delivery/container_resist(mob/living/L) var/breakout_time = 1 MINUTES - to_chat(L, "You attempt to break the wrapping on [src].") + to_chat(L, SPAN_NOTICE("You attempt to break the wrapping on [src].")) if(do_after_once(L, breakout_time, needhand = FALSE, target = src, allow_moving = TRUE, allow_moving_target = TRUE)) open() @@ -54,7 +54,7 @@ if(sortTag != O.currTag) var/tag = uppertext(GLOB.TAGGERLOCATIONS[O.currTag]) - to_chat(user, "*[tag]*") + to_chat(user, SPAN_NOTICE("*[tag]*")) sortTag = O.currTag playsound(loc, 'sound/machines/twobeep.ogg', 100, 1) @@ -64,7 +64,7 @@ return else sortTag = sp.sortTag - to_chat(user, "You rip the label off the shipping package and affix it to [src].") + to_chat(user, SPAN_NOTICE("You rip the label off the shipping package and affix it to [src].")) qdel(sp) playsound(loc, 'sound/items/poster_ripped.ogg', 50, 1) @@ -74,7 +74,7 @@ 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 if(istype(wrapped, /obj/structure/closet/crate)) icon_state = "giftcrate" @@ -83,7 +83,7 @@ if(WP.amount <= 0 && !WP.loc) //if we used our last wrapping paper, drop a cardboard tube new /obj/item/c_tube( get_turf(user) ) else - to_chat(user, "You need more paper.") + to_chat(user, SPAN_NOTICE("You need more paper.")) else return ..() @@ -122,7 +122,7 @@ if(sortTag != O.currTag) var/tag = uppertext(GLOB.TAGGERLOCATIONS[O.currTag]) - to_chat(user, "*[tag]*") + to_chat(user, SPAN_NOTICE("*[tag]*")) sortTag = O.currTag playsound(loc, 'sound/machines/twobeep.ogg', 100, 1) @@ -132,7 +132,7 @@ return else sortTag = sp.sortTag - to_chat(user, "You rip the label off the shipping package and affix it to [src].") + to_chat(user, SPAN_NOTICE("You rip the label off the shipping package and affix it to [src].")) qdel(sp) playsound(loc, 'sound/items/poster_ripped.ogg', 50, 1) @@ -144,11 +144,11 @@ if(WP.use(1)) icon_state = "giftcrate[wrapped.w_class]" giftwrapped = TRUE - user.visible_message("[user] wraps the package in festive paper!") + user.visible_message(SPAN_NOTICE("[user] wraps the package in festive paper!")) if(WP.amount <= 0 && !WP.loc) //if we used our last wrapping paper, drop a cardboard tube new /obj/item/c_tube( get_turf(user) ) else - to_chat(user, "You need more paper.") + to_chat(user, SPAN_NOTICE("You need more paper.")) else return ..() @@ -222,14 +222,14 @@ C.welded = TRUE else if(target.GetComponent(/datum/component/two_handed)) - to_chat(user, "[target] is too unwieldy to wrap effectively.") + to_chat(user, SPAN_NOTICE("[target] is too unwieldy to wrap effectively.")) return CONTINUE_ATTACK else - to_chat(user, "The object you are trying to wrap is unsuitable for the sorting machinery.") + to_chat(user, SPAN_NOTICE("The object you are trying to wrap is unsuitable for the sorting machinery.")) return CONTINUE_ATTACK - user.visible_message("[user] wraps [target].") + user.visible_message(SPAN_NOTICE("[user] wraps [target].")) user.create_attack_log("Has used [name] on [target]") add_attack_logs(user, target, "used [name]", ATKLOG_ALL) @@ -243,10 +243,10 @@ if(C.opened) return if(amount < 3) - to_chat(user, "You need more paper.") + to_chat(user, SPAN_WARNING("You need more paper.")) return if(user in C) - to_chat(user, "How do you plan to wrap it from the inside?") + to_chat(user, SPAN_WARNING("How do you plan to wrap it from the inside?")) return // Checking these again since it's after a delay var/wrap_do_after = wrap_time @@ -433,30 +433,30 @@ if(is_pen(O)) var/str = tgui_input_text(user, "Intended recipient?", "Address", max_length = MAX_NAME_LEN) if(!str || !length(str)) - to_chat(user, "Invalid text.") + to_chat(user, SPAN_NOTICE("Invalid text.")) return - user.visible_message("[user] addresses [src] to [str].") + user.visible_message(SPAN_NOTICE("[user] addresses [src] to [str].")) name = "Shipping package (RE: [str])" return if(wrapped) - to_chat(user, "[src] already contains \a [wrapped].") + to_chat(user, SPAN_NOTICE("[src] already contains \a [wrapped].")) return if(isitem(O) && !isstorage(O) && !istype(O, /obj/item/shipping_package)) if(!user.canUnEquip(O)) - to_chat(user, "[O] is stuck to your hand, you cannot put it in [src]!") + to_chat(user, SPAN_WARNING("[O] is stuck to your hand, you cannot put it in [src]!")) return if(O.w_class > 3) - to_chat(user, "[O] is too large to fit in [src].") + to_chat(user, SPAN_NOTICE("[O] is too large to fit in [src].")) else wrapped = O user.transfer_item_to(O, src) O.add_fingerprint(usr) add_fingerprint(usr) - to_chat(user, "You put [O] in [src].") + to_chat(user, SPAN_NOTICE("You put [O] in [src].")) /obj/item/shipping_package/attack_self__legacy__attackchain(mob/user) if(sealed) - to_chat(user, "You tear open [src], dropping the contents onto the floor.") + to_chat(user, SPAN_NOTICE("You tear open [src], dropping the contents onto the floor.")) playsound(loc, 'sound/items/poster_ripped.ogg', 50, 1) user.unequip(src) wrapped.forceMove(get_turf(user)) @@ -465,17 +465,17 @@ else if(wrapped) switch(tgui_alert(user, "Select an action:", "Shipping", list("Remove Object", "Seal Package", "Cancel"))) if("Remove Object") - to_chat(user, "You shake out [src]'s contents onto the floor.") + to_chat(user, SPAN_NOTICE("You shake out [src]'s contents onto the floor.")) wrapped.forceMove(get_turf(user)) wrapped = null if("Seal Package") - to_chat(user, "You seal [src], preparing it for delivery.") + to_chat(user, SPAN_NOTICE("You seal [src], preparing it for delivery.")) icon_state = "shippack_sealed" sealed = 1 update_appearance(UPDATE_DESC) else if(tgui_alert(user, "Do you want to tear up the package?", "Shipping", list("Yes", "No")) == "Yes") - to_chat(user, "You shred [src].") + to_chat(user, SPAN_NOTICE("You shred [src].")) playsound(loc, 'sound/items/poster_ripped.ogg', 50, 1) user.drop_item_to_ground(src) qdel(src) diff --git a/code/modules/redis/callbacks/asay_callback.dm b/code/modules/redis/callbacks/asay_callback.dm index 571e2633fa3..819e8d4fb5e 100644 --- a/code/modules/redis/callbacks/asay_callback.dm +++ b/code/modules/redis/callbacks/asay_callback.dm @@ -8,4 +8,4 @@ return for(var/client/C in GLOB.admins) if(R_ADMIN & C.holder.rights) - to_chat(C, "ADMIN: [data["author"]]@[data["source"]]: [html_encode(data["message"])]") + to_chat(C, SPAN_ADMIN_CHANNEL("ADMIN: [data["author"]]@[data["source"]]: [html_encode(data["message"])]")) diff --git a/code/modules/redis/callbacks/dev_callback.dm b/code/modules/redis/callbacks/dev_callback.dm index ea192d6440d..98ba5d9775e 100644 --- a/code/modules/redis/callbacks/dev_callback.dm +++ b/code/modules/redis/callbacks/dev_callback.dm @@ -8,4 +8,4 @@ return for(var/client/C in GLOB.admins) if(check_rights(R_ADMIN|R_DEV_TEAM, FALSE, C.mob)) - to_chat(C, "DEV: [data["author"]]@[data["source"]]: [html_encode(data["message"])]") + to_chat(C, SPAN_DEV_CHANNEL("DEV: [data["author"]]@[data["source"]]: [html_encode(data["message"])]")) diff --git a/code/modules/redis/callbacks/msay_callback.dm b/code/modules/redis/callbacks/msay_callback.dm index 3b689f761e9..07dab94b67d 100644 --- a/code/modules/redis/callbacks/msay_callback.dm +++ b/code/modules/redis/callbacks/msay_callback.dm @@ -8,5 +8,5 @@ return for(var/client/C in GLOB.admins) if(check_rights(R_ADMIN|R_MOD|R_MENTOR, FALSE, C.mob)) - to_chat(C, "MENTOR: [data["author"]]@[data["source"]]: [html_encode(data["message"])]") + to_chat(C, SPAN_MENTOR_CHANNEL("MENTOR: [data["author"]]@[data["source"]]: [html_encode(data["message"])]")) diff --git a/code/modules/redis/callbacks/staff_callback.dm b/code/modules/redis/callbacks/staff_callback.dm index 80001306d55..0bcaf7648d1 100644 --- a/code/modules/redis/callbacks/staff_callback.dm +++ b/code/modules/redis/callbacks/staff_callback.dm @@ -8,4 +8,4 @@ return for(var/client/C in GLOB.admins) if(check_rights(null, FALSE, C.mob)) - to_chat(C, "STAFF: [data["author"]]@[data["source"]]: [html_encode(data["message"])]") + to_chat(C, SPAN_STAFF_CHANNEL("STAFF: [data["author"]]@[data["source"]]: [html_encode(data["message"])]")) diff --git a/code/modules/research/anomaly/anomaly.dm b/code/modules/research/anomaly/anomaly.dm index a36196fb6a2..5f1e6bfc9a5 100644 --- a/code/modules/research/anomaly/anomaly.dm +++ b/code/modules/research/anomaly/anomaly.dm @@ -100,7 +100,7 @@ var/armour_path = anomaly_armour_types[A.type] if(!armour_path) armour_path = /obj/item/clothing/suit/armor/reactive/stealth //Fallback - to_chat(user, "You insert [A] into the chest plate, and the armor gently hums to life.") + to_chat(user, SPAN_NOTICE("You insert [A] into the chest plate, and the armor gently hums to life.")) new armour_path(get_turf(src)) qdel(src) qdel(A) diff --git a/code/modules/research/anomaly/anomaly_refiner.dm b/code/modules/research/anomaly/anomaly_refiner.dm index 592b4e3d123..14de8f61371 100644 --- a/code/modules/research/anomaly/anomaly_refiner.dm +++ b/code/modules/research/anomaly/anomaly_refiner.dm @@ -41,13 +41,13 @@ if(!istype(used, /obj/item/raw_anomaly_core)) return ..() if(refined_core) - to_chat(user, "There is already a core in [src]!") + to_chat(user, SPAN_WARNING("There is already a core in [src]!")) return ITEM_INTERACT_COMPLETE if(used.flags & NODROP || !user.drop_item() || !used.forceMove(src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE inserted_core = used - to_chat(user, "You insert [used] into [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into [src].")) atom_say("Analyzing... [inserted_core]'s causality point corresponds to an explosive of size [inserted_core.target_explosion_size].") return ITEM_INTERACT_COMPLETE @@ -83,11 +83,11 @@ if(panel_open) var/obj/item/multitool/multi = I if(!istype(multi.buffer, /obj/machinery/doppler_array)) - to_chat(user, "You cannot link [multi.buffer] to [src]!") + to_chat(user, SPAN_NOTICE("You cannot link [multi.buffer] to [src]!")) return linked_doppler = multi.buffer linked_doppler.linked_machines |= src - to_chat(user, "You link [multi.buffer] to [src].") + to_chat(user, SPAN_NOTICE("You link [multi.buffer] to [src].")) /obj/machinery/anomaly_refinery/proc/refine_core(explosion_size) if(!inserted_core) diff --git a/code/modules/research/backup_console.dm b/code/modules/research/backup_console.dm index 56465560385..8068e9116e4 100644 --- a/code/modules/research/backup_console.dm +++ b/code/modules/research/backup_console.dm @@ -45,7 +45,7 @@ return ITEM_INTERACT_COMPLETE inserted_disk = used - to_chat(user, "You insert [used] into [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into [src].")) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE @@ -239,13 +239,13 @@ // Check the password if(user_pass == C.network_password) network_manager_uid = C.UID() - to_chat(usr, "Successfully linked to [C.network_name].") + to_chat(usr, SPAN_NOTICE("Successfully linked to [C.network_name].")) else - to_chat(usr, "ERROR: Password incorrect.") + to_chat(usr, SPAN_ALERT("ERROR: Password incorrect.")) else - to_chat(usr, "ERROR: Controller not found. Please file an issue report.") + to_chat(usr, SPAN_ALERT("ERROR: Controller not found. Please file an issue report.")) /obj/machinery/computer/rnd_backup/ui_interact(mob/user, datum/tgui/ui = null) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index e544c86fe1c..df34235e4a6 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -79,7 +79,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). return ..() 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 ITEM_INTERACT_COMPLETE return ..() diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 33a0c93b6a4..e4c22f0ad91 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -666,7 +666,7 @@ /datum/design/cyberimp_clownvoice name = "Comical Implant" - desc = "Uh oh." + desc = SPAN_SANS("Uh oh.") id = "ci-clownvoice" req_tech = list("materials" = 2, "biotech" = 2) build_type = PROTOLATHE | MECHFAB diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 350850b098e..cbf0f5b5354 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -89,7 +89,7 @@ Note: Must be placed west/left of and R&D console to function. return ITEM_INTERACT_COMPLETE 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 ITEM_INTERACT_COMPLETE return ..() diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 8000876b9fc..b8492b3716b 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -190,12 +190,12 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(istype(used, /obj/item/disk/tech_disk)) t_disk = used else if(istype(used, /obj/item/disk/design_disk)) d_disk = used else - to_chat(user, "Machine cannot accept disks in that format.") + to_chat(user, SPAN_DANGER("Machine cannot accept disks in that format.")) return if(!user.transfer_item_to(used, src)) return playsound(src, used.drop_sound, DROP_SOUND_VOLUME, ignore_walls = FALSE) // Highly important auditory feedback - to_chat(user, "You add the disk to the machine!") + to_chat(user, SPAN_NOTICE("You add the disk to the machine!")) else if(!(linked_analyzer && linked_analyzer.busy) && !(linked_lathe && linked_lathe.busy) && !(linked_imprinter && linked_imprinter.busy)) return ..() @@ -206,7 +206,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, playsound(get_turf(src), 'sound/effects/sparks4.ogg', 75, 1) req_one_access = list() emagged = TRUE - to_chat(user, "You disable the security protocols") + to_chat(user, SPAN_NOTICE("You disable the security protocols")) return TRUE /obj/machinery/computer/rdconsole/proc/prompt_eject_sheets(obj/machinery/r_n_d/machine, material_id, amount) @@ -252,11 +252,11 @@ won't update every console in existence) but it's more of a hassle to do. Also, return if(linked_analyzer.busy) - to_chat(user, "[linked_analyzer] is busy at the moment.") + to_chat(user, SPAN_DANGER("[linked_analyzer] is busy at the moment.")) return if(!linked_analyzer.loaded_item) - to_chat(user, "[linked_analyzer] appears to be empty.") + to_chat(user, SPAN_DANGER("[linked_analyzer] appears to be empty.")) return var/datum/research/files = get_files() @@ -287,11 +287,11 @@ won't update every console in existence) but it's more of a hassle to do. Also, return if(linked_analyzer.busy) - to_chat(user, "[linked_analyzer] is busy at the moment.") + to_chat(user, SPAN_DANGER("[linked_analyzer] is busy at the moment.")) return if(!linked_analyzer.loaded_item) - to_chat(user, "[linked_analyzer] appears to be empty.") + to_chat(user, SPAN_DANGER("[linked_analyzer] appears to be empty.")) return if(!istype(linked_analyzer.loaded_item, /obj/item/relic)) @@ -306,7 +306,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, R.reveal() R.forceMove(get_turf(linked_analyzer)) linked_analyzer.loaded_item = null - investigate_log("Scientific analyser has revealed a relic with effect ID [R.function_id] effect.", "strangeobjects") + investigate_log("Scientific analyser has revealed a relic with effect ID [SPAN_DANGER("[R.function_id]")] effect.", "strangeobjects") linked_analyzer.icon_state = "s_analyzer" SStgui.update_uis(src) @@ -335,7 +335,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, return if(!linked_analyzer.loaded_item) - to_chat(user, "[linked_analyzer] appears to be empty.") + to_chat(user, SPAN_DANGER("[linked_analyzer] appears to be empty.")) else for(var/T in temp_tech) files.UpdateTech(T, temp_tech[T]) @@ -366,7 +366,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, /obj/machinery/computer/rdconsole/proc/start_machine(obj/machinery/r_n_d/machine, design_id, amount) if(!machine) - to_chat(usr, "No linked device detected.") + to_chat(usr, SPAN_DANGER("No linked device detected.")) return var/datum/research/files = get_files() @@ -377,16 +377,16 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/is_imprinter = istype(machine, /obj/machinery/r_n_d/circuit_imprinter) if(!is_lathe && !is_imprinter) - to_chat(usr, "Unexpected linked device type.") + to_chat(usr, SPAN_DANGER("Unexpected linked device type.")) return if(machine.busy) - to_chat(usr, "[machine] is busy at the moment.") + to_chat(usr, SPAN_DANGER("[machine] is busy at the moment.")) return var/datum/design/being_built = files.known_designs[design_id] if(!being_built) - to_chat(usr, "Unknown design specified.") + to_chat(usr, SPAN_DANGER("Unknown design specified.")) return if(!(being_built.build_type & (is_lathe ? PROTOLATHE : IMPRINTER))) @@ -522,18 +522,18 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(user_pass == C.network_password) C.consoles += UID() network_manager_uid = C.UID() - to_chat(usr, "Successfully linked to [C.network_name].") + to_chat(usr, SPAN_NOTICE("Successfully linked to [C.network_name].")) else - to_chat(usr, "ERROR: Password incorrect.") + to_chat(usr, SPAN_ALERT("ERROR: Password incorrect.")) else - to_chat(usr, "ERROR: Controller not found. Please file an issue report.") + to_chat(usr, SPAN_ALERT("ERROR: Controller not found. Please file an issue report.")) return TRUE // Now we do a files check var/datum/research/files = get_files() if(!files) - to_chat(usr, "Error - No research network linked.") + to_chat(usr, SPAN_DANGER("Error - No research network linked.")) return @@ -608,7 +608,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if("erase_disk") if(t_disk && d_disk) - to_chat(ui.user, "Can not simultaneously wipe tech disk and design disk.") + to_chat(ui.user, SPAN_WARNING("Can not simultaneously wipe tech disk and design disk.")) return FALSE if(t_disk) t_disk.wipe_tech() @@ -634,7 +634,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if("eject_item") //Eject the item inside the scientific analyzer. if(linked_analyzer) if(linked_analyzer.busy) - to_chat(ui.user, "[linked_analyzer] is busy at the moment.") + to_chat(ui.user, SPAN_DANGER("[linked_analyzer] is busy at the moment.")) else if(linked_analyzer.loaded_item) linked_analyzer.loaded_item.forceMove(linked_analyzer.loc) @@ -745,11 +745,11 @@ won't update every console in existence) but it's more of a hassle to do. Also, // Check the password if(user_pass == C.network_password) network_manager_uid = C.UID() - to_chat(usr, "Successfully linked to [C.network_name].") + to_chat(usr, SPAN_NOTICE("Successfully linked to [C.network_name].")) else - to_chat(usr, "ERROR: Password incorrect.") + to_chat(usr, SPAN_ALERT("ERROR: Password incorrect.")) else - to_chat(usr, "ERROR: Controller not found. Please file an issue report.") + to_chat(usr, SPAN_ALERT("ERROR: Controller not found. Please file an issue report.")) return TRUE // update uis @@ -771,7 +771,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(..()) return 1 if(!allowed(user) && !isobserver(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return TRUE ui_interact(user) diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index fe2c5ba202b..1e878e059b3 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -30,27 +30,27 @@ //whether the machine can have an item inserted in its current state. /obj/machinery/r_n_d/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(!linked_console) - to_chat(user, "[src] must be linked to an R&D console first!") + to_chat(user, SPAN_WARNING("[src] must be linked to an R&D console first!")) 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(stat & BROKEN) - to_chat(user, "[src] is broken.") + to_chat(user, SPAN_WARNING("[src] is broken.")) return FALSE if(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/research.dm b/code/modules/research/research.dm index e8e06cb19d7..df82920706d 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -410,7 +410,7 @@ datum/tech/robotics /obj/item/disk/tech_disk/proc/load_tech(datum/tech/T) name = "[default_name] \[[T]\]" - desc = T.desc + "\n Level: [T.level]" + desc = T.desc + "\n [SPAN_NOTICE("Level: [T.level]")]" // NOTE: This is just a reference to the tech on the system it grabbed it from // This seems highly fragile tech_id = T.id diff --git a/code/modules/research/rnd_network_controller.dm b/code/modules/research/rnd_network_controller.dm index c072fc972eb..f53f7c7d67e 100644 --- a/code/modules/research/rnd_network_controller.dm +++ b/code/modules/research/rnd_network_controller.dm @@ -201,10 +201,10 @@ GLOBAL_LIST_EMPTY(rnd_network_managers) return if(name_check(new_name)) - to_chat(usr, "Error, network name [new_name] already in use.") + to_chat(usr, SPAN_WARNING("Error, network name [new_name] already in use.")) return - to_chat(usr, "Network name changed from [network_name] to [new_name].") + to_chat(usr, SPAN_NOTICE("Network name changed from [network_name] to [new_name].")) network_name = new_name if("blacklist_design") @@ -248,7 +248,7 @@ GLOBAL_LIST_EMPTY(rnd_network_managers) var/new_password = tgui_input_text(usr, "Please enter a new network ID", "Network ID", network_password) if(!Adjacent(usr)) return - to_chat(usr, "Network password changed from [network_password] to [new_password].") + to_chat(usr, SPAN_NOTICE("Network password changed from [network_password] to [new_password].")) network_password = new_password // Remove a device @@ -315,7 +315,7 @@ GLOBAL_LIST_EMPTY(rnd_network_managers) backupconsoles -= params["uid"] if(RB) RB.unlink() - to_chat(usr, "Successfully unlinked [RB.name] from the network [network_name]") + to_chat(usr, SPAN_NOTICE("Successfully unlinked [RB.name] from the network [network_name]")) return diff --git a/code/modules/research/scientific_analyzer.dm b/code/modules/research/scientific_analyzer.dm index 401fa3f9b98..0450015c827 100644 --- a/code/modules/research/scientific_analyzer.dm +++ b/code/modules/research/scientific_analyzer.dm @@ -66,30 +66,30 @@ Note: Must be placed within 3 tiles of the R&D Console return ITEM_INTERACT_COMPLETE if(!linked_console) - to_chat(user, "[src] must be linked to an R&D console first!") + to_chat(user, SPAN_WARNING("[src] must be linked to an R&D console first!")) return ITEM_INTERACT_COMPLETE if(busy) - to_chat(user, "[src] is busy right now.") + to_chat(user, SPAN_WARNING("[src] is busy right now.")) return ITEM_INTERACT_COMPLETE if(isitem(used) && !loaded_item) if(!used.origin_tech) - to_chat(user, "This doesn't seem to have a tech origin!") + to_chat(user, SPAN_WARNING("This doesn't seem to have a tech origin!")) return ITEM_INTERACT_COMPLETE var/list/temp_tech = ConvertReqString2List(used.origin_tech) if(length(temp_tech) == 0) - to_chat(user, "You cannot deconstruct this item!") + to_chat(user, SPAN_WARNING("You cannot deconstruct this item!")) return ITEM_INTERACT_COMPLETE if(!user.transfer_item_to(used, src)) - to_chat(user, "[used] is stuck to your hand, you cannot put it in [src]!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand, you cannot put it in [src]!")) return ITEM_INTERACT_COMPLETE busy = TRUE loaded_item = used - to_chat(user, "You add [used] to [src]!") + to_chat(user, SPAN_NOTICE("You add [used] to [src]!")) SStgui.update_uis(linked_console) flick("s_analyzer_la", src) spawn(10) diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index a0dfa0fada7..72c418ac16d 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -131,12 +131,12 @@ if(wifi_pass == RNC.network_password) network_manager_uid = RNC.UID() RNC.servers += UID() - to_chat(usr, "Successfully linked to [RNC.network_name].") + to_chat(usr, SPAN_NOTICE("Successfully linked to [RNC.network_name].")) else - to_chat(usr, "ERROR: Password incorrect.") + to_chat(usr, SPAN_ALERT("ERROR: Password incorrect.")) else - to_chat(usr, "ERROR: Network manager not found. Please file an issue report.") + to_chat(usr, SPAN_ALERT("ERROR: Network manager not found. Please file an issue report.")) diff --git a/code/modules/research/strange_objects.dm b/code/modules/research/strange_objects.dm index 6a90a3de3bb..5e9b5f4271d 100644 --- a/code/modules/research/strange_objects.dm +++ b/code/modules/research/strange_objects.dm @@ -87,7 +87,7 @@ /obj/item/relic/attack_self__legacy__attackchain(mob/user) if(revealed) if((last_use_time + cooldown_duration) > world.time) - to_chat(user, "[src] does not react!") + to_chat(user, SPAN_WARNING("[src] does not react!")) return else if(loc == user) last_use_time = world.time @@ -95,11 +95,11 @@ // Figure out our real function switch(function_id) if(STRANGEOBJECT_FUNCTION_TELEPORT) - to_chat(user, "[src] begins to vibrate!") + to_chat(user, SPAN_NOTICE("[src] begins to vibrate!")) addtimer(CALLBACK(src, PROC_REF(teleport_callback), user), rand(10, 30)) if(STRANGEOBJECT_FUNCTION_EXPLODE) - to_chat(user, "[src] begins to heat up!") + to_chat(user, SPAN_DANGER("[src] begins to heat up!")) addtimer(CALLBACK(src, PROC_REF(explode_callback), user), rand(35, 100)) if(STRANGEOBJECT_FUNCTION_RAPID_DUPE) @@ -118,7 +118,7 @@ if(STRANGEOBJECT_FUNCTION_MASS_SPAWN) // This is the unlucky one - 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) var/animal_spawncount = rand(1,25) @@ -145,7 +145,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) if(STRANGEOBJECT_FUNCTION_FLASH) @@ -168,14 +168,14 @@ warn_admins(user, "Pet Spawn", 0) else - to_chat(user, "You aren't quite sure what to do with this, yet.") + to_chat(user, SPAN_NOTICE("You aren't quite sure what to do with this, yet.")) // Callbacks for timers /obj/item/relic/proc/teleport_callback(mob/user) var/turf/userturf = get_turf(user) if(loc == user && is_teleport_allowed(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!")) throw_smoke(userturf) do_teleport(user, userturf, 8, sound_in = 'sound/effects/phasein.ogg') throw_smoke(get_turf(user)) @@ -184,7 +184,7 @@ /obj/item/relic/proc/explode_callback(mob/user) if(loc == user) - visible_message("[src]'s top opens, releasing a powerful blast!") + visible_message(SPAN_NOTICE("[src]'s top opens, releasing a powerful blast!")) explosion(user.loc, -1, rand(1,5), rand(1,5), rand(1,5), rand(1,5), flame_range = 2, cause = "Exploding relic") warn_admins(user, "Explosion") qdel(src) diff --git a/code/modules/research/xenobiology/organ_analyzer.dm b/code/modules/research/xenobiology/organ_analyzer.dm index 0e30e5dee95..776929c89a3 100644 --- a/code/modules/research/xenobiology/organ_analyzer.dm +++ b/code/modules/research/xenobiology/organ_analyzer.dm @@ -67,7 +67,7 @@ /obj/machinery/organ_analyzer/screwdriver_act(mob/user, obj/item/I) . = TRUE if(processing_organ || contains_organ) - to_chat(user, "The machine cannot be opened while holding an organ! Remove it first.") + to_chat(user, SPAN_WARNING("The machine cannot be opened while holding an organ! Remove it first.")) return TRUE default_deconstruction_screwdriver(user, "organ_analyzer1", "organ_analyzer0", I) @@ -79,13 +79,13 @@ /obj/machinery/organ_analyzer/attack_hand(mob/user) if(panel_open) - to_chat(user, "You can't interact with the machine while the panel is open!") + to_chat(user, SPAN_WARNING("You can't interact with the machine while the panel is open!")) return if(stat & (NOPOWER|BROKEN)) return if(contains_organ) if(processing_organ) - to_chat(user, "The machine is already analyzing the organ!") + to_chat(user, SPAN_WARNING("The machine is already analyzing the organ!")) return else COOLDOWN_START(src, process_organ, time_to_complete) @@ -95,16 +95,16 @@ /obj/machinery/organ_analyzer/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!istype(used, /obj/item/organ/internal)) - to_chat(user, "The machines rejects [used]; it finds no possible potential in it.") + to_chat(user, SPAN_WARNING("The machines rejects [used]; it finds no possible potential in it.")) return ITEM_INTERACT_COMPLETE if(panel_open) - to_chat(user, "You can't interact with the machine while the panel is open!") + to_chat(user, SPAN_WARNING("You can't interact with the machine while the panel is open!")) return ITEM_INTERACT_COMPLETE var/obj/item/organ/internal/organ = used if(organ.is_xeno_organ) if(organ.type in GLOB.scanned_organs) if(GLOB.scanned_organs[organ.type] >= 3) // No more than - to_chat(user, "The analyzer rejects the organ. It's gotten as much data as it can from this type of organ.") + to_chat(user, SPAN_WARNING("The analyzer rejects the organ. It's gotten as much data as it can from this type of organ.")) return ITEM_INTERACT_COMPLETE else GLOB.scanned_organs[organ.type]++ @@ -119,10 +119,10 @@ /obj/machinery/organ_analyzer/AltClick(mob/user) if(panel_open) - to_chat(user, "You can't interact with the machine while the panel is open!") + to_chat(user, SPAN_WARNING("You can't interact with the machine while the panel is open!")) return if(processing_organ) - to_chat(user, "You cannot remove an organ currently being processed!") + to_chat(user, SPAN_WARNING("You cannot remove an organ currently being processed!")) return if(contains_organ) user.put_in_hands(contains_organ) diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 7a8a2173548..e34590242ae 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -130,13 +130,13 @@ current_potion = null /obj/machinery/computer/camera_advanced/xenobio/proc/capture_slime(mob/living/simple_animal/slime/slime) - slime.visible_message("[slime] vanishes in a flash of light!") + slime.visible_message(SPAN_NOTICE("[slime] vanishes in a flash of light!")) slime.forceMove(src) stored_slimes += slime RegisterSignal(slime, COMSIG_PARENT_QDELETING, PROC_REF(clear_slime)) /obj/machinery/computer/camera_advanced/xenobio/proc/release_slime(mob/living/simple_animal/slime/slime, release_spot) - slime.visible_message("[slime] warps in!") + slime.visible_message(SPAN_NOTICE("[slime] warps in!")) clear_slime(slime) slime.forceMove(release_spot) @@ -153,13 +153,13 @@ if(istype(used, /obj/item/food/monkeycube)) if(user.drop_item()) monkeys++ - to_chat(user, "You feed [used] to [src]. It now has [monkeys] monkey cubes stored.") + to_chat(user, SPAN_NOTICE("You feed [used] to [src]. It now has [monkeys] monkey cubes stored.")) qdel(used) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/slimepotion/slime)) if(!user.drop_item()) return ITEM_INTERACT_COMPLETE - to_chat(user, "You load [used] in the console's potion slot[current_potion ? ", replacing the one that was there before" : ""].") + to_chat(user, SPAN_NOTICE("You load [used] in the console's potion slot[current_potion ? ", replacing the one that was there before" : ""].")) insert_potion(used, user) return ITEM_INTERACT_COMPLETE else if(istype(used, /obj/item/storage/bag) || istype(used, /obj/item/storage/box)) @@ -171,7 +171,7 @@ P.remove_from_storage(MC) qdel(MC) if(loaded) - to_chat(user, "You fill [src] with the monkey cubes stored in [used]. [src] now has [monkeys] monkey cubes stored.") + to_chat(user, SPAN_NOTICE("You fill [src] with the monkey cubes stored in [used]. [src] now has [monkeys] monkey cubes stored.")) return ITEM_INTERACT_COMPLETE return ..() @@ -186,7 +186,7 @@ if(istype(M.buffer, /obj/machinery/monkey_recycler)) connected_recycler = M.buffer connected_recycler.connected += src - to_chat(user, "You link [src] to the recycler stored in [M]'s buffer.") + to_chat(user, SPAN_NOTICE("You link [src] to the recycler stored in [M]'s buffer.")) // === SLIME ACTION DATUMS ==== /datum/action/innate/slime_place @@ -207,7 +207,7 @@ for(var/mob/living/simple_animal/slime/S in X.stored_slimes) X.release_slime(S, remote_eye.loc) else - to_chat(owner, "Target is not near a camera. Cannot proceed.") + to_chat(owner, SPAN_NOTICE("Target is not near a camera. Cannot proceed.")) /datum/action/innate/slime_pick_up name = "Pick up Slime" @@ -229,7 +229,7 @@ S.Feedstop(silent = TRUE) X.capture_slime(S) else - to_chat(owner, "Target is not near a camera. Cannot proceed.") + to_chat(owner, SPAN_NOTICE("Target is not near a camera. Cannot proceed.")) /datum/action/innate/feed_slime name = "Feed Slimes" @@ -245,7 +245,7 @@ if(GLOB.cameranet.check_turf_vis(remote_eye.loc)) if(LAZYLEN(SSmobs.cubemonkeys) >= GLOB.configuration.general.monkey_cube_cap) - to_chat(owner, "Bluespace harmonics prevent the spawning of more than [GLOB.configuration.general.monkey_cube_cap] monkeys on the station at one time!") + to_chat(owner, SPAN_WARNING("Bluespace harmonics prevent the spawning of more than [GLOB.configuration.general.monkey_cube_cap] monkeys on the station at one time!")) return else if(iswallturf(remote_eye.loc)) to_chat(owner, "You can't place monkey here.") @@ -272,7 +272,7 @@ X.monkeys -- to_chat(owner, "[X] now has [X.monkeys] monkeys left.") else - to_chat(owner, "Target is not near a camera. Cannot proceed.") + to_chat(owner, SPAN_NOTICE("Target is not near a camera. Cannot proceed.")) /datum/action/innate/monkey_recycle name = "Recycle Monkeys" @@ -287,7 +287,7 @@ 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_NOTICE("There is no connected monkey recycler. Use a multitool to link one.")) return if(GLOB.cameranet.check_turf_vis(remote_eye.loc)) for(var/mob/living/carbon/human/M in remote_eye.loc) @@ -297,7 +297,7 @@ X.monkeys = round(X.monkeys + recycler.cube_production / recycler.required_grind, 0.1) qdel(M) else - to_chat(owner, "Target is not near a camera. Cannot proceed.") + to_chat(owner, SPAN_NOTICE("Target is not near a camera. Cannot proceed.")) /datum/action/innate/slime_scan name = "Scan Slime" @@ -313,7 +313,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" @@ -328,7 +328,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.check_turf_vis(remote_eye.loc)) @@ -336,7 +336,7 @@ X.current_potion.interact_with_atom(S, C) break else - to_chat(owner, "Target is not near a camera. Cannot proceed.") + to_chat(owner, SPAN_NOTICE("Target is not near a camera. Cannot proceed.")) /datum/action/innate/hotkey_help name = "Hotkey Help" @@ -390,7 +390,7 @@ // Scans slime /obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickCtrl(mob/living/user, mob/living/simple_animal/slime/S) if(!GLOB.cameranet.check_turf_vis(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/eye/xenobio/E = C.remote_control @@ -401,14 +401,14 @@ //Feeds a potion to slime /obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickAlt(mob/living/user, mob/living/simple_animal/slime/S) if(!GLOB.cameranet.check_turf_vis(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/eye/xenobio/E = C.remote_control var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin var/area/mobarea = get_area(S.loc) if(!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.xenobiology_compatible) X.current_potion.interact_with_atom(S, C) @@ -416,7 +416,7 @@ //Picks up slime /obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickShift(mob/living/user, mob/living/simple_animal/slime/S) if(!GLOB.cameranet.check_turf_vis(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/eye/xenobio/E = C.remote_control @@ -424,10 +424,10 @@ var/area/mobarea = get_area(S.loc) if(mobarea.name == E.allowed_area || mobarea.xenobiology_compatible) if(length(X.stored_slimes) >= 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) @@ -437,7 +437,7 @@ //Place slimes /obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickShift(mob/living/user, turf/T) if(!GLOB.cameranet.check_turf_vis(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/eye/xenobio/E = C.remote_control @@ -453,7 +453,7 @@ //Place monkey /obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickCtrl(mob/living/user, turf/T) if(!GLOB.cameranet.check_turf_vis(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/eye/xenobio/E = C.remote_control @@ -461,7 +461,7 @@ var/obj/machinery/monkey_recycler/recycler = X.connected_recycler var/area/turfarea = get_area(T) if(!recycler) - to_chat(C, "There is no connected monkey recycler. Use a multitool to link one.") + to_chat(C, SPAN_NOTICE("There is no connected monkey recycler. Use a multitool to link one.")) return if(iswallturf(T)) to_chat(user, "You can't place monkey here.") @@ -488,7 +488,7 @@ //Pick up monkey /obj/machinery/computer/camera_advanced/xenobio/proc/XenoMonkeyClickCtrl(mob/living/user, mob/living/carbon/human/M) if(!GLOB.cameranet.check_turf_vis(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/eye/xenobio/E = C.remote_control @@ -496,7 +496,7 @@ var/area/mobarea = get_area(M.loc) var/obj/machinery/monkey_recycler/recycler = X.connected_recycler if(!recycler) - to_chat(C, "There is no connected monkey recycler. Use a multitool to link one.") + to_chat(C, SPAN_NOTICE("There is no connected monkey recycler. Use a multitool to link one.")) return if(mobarea.name == E.allowed_area || mobarea.xenobiology_compatible) if(issmall(M) && M.stat) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 62a50c14a8d..960e5fa8875 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -22,9 +22,9 @@ /obj/item/slime_extract/attackby__legacy__attackchain(obj/item/O, mob/user) if(istype(O, /obj/item/slimepotion/enhancer)) if(Uses >= 5) - to_chat(user, "You cannot enhance this extract further!") + to_chat(user, SPAN_WARNING("You cannot enhance this extract further!")) return ..() - 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++ qdel(O) if(istype(O, /obj/item/reagent_containers/syringe)) @@ -157,18 +157,18 @@ /obj/item/slimepotion/proc/is_valid_potion_receiver(atom/target, mob/user) if(istype(target, /obj/item/reagent_containers)) - to_chat(user, "You cannot give [src] to [target]! It must be given directly to a slime to absorb.") // le fluff faec + to_chat(user, SPAN_NOTICE("You cannot give [src] to [target]! It must be given directly to a slime to absorb.")) // le fluff faec return FALSE var/mob/living/simple_animal/slime/M = target if(!isslime(M)) - to_chat(user, "[src] only works on slimes!") + to_chat(user, SPAN_WARNING("[src] only works on slimes!")) return FALSE if(M.stat) - to_chat(user, "The slime is dead!") + to_chat(user, SPAN_WARNING("The slime is dead!")) return FALSE if(being_used) - to_chat(user, "You're already using this on another slime!") + to_chat(user, SPAN_WARNING("You're already using this on another slime!")) return FALSE return TRUE @@ -190,15 +190,15 @@ /obj/item/slimepotion/slime/docility/apply_potion(atom/target, mob/living/user) var/mob/living/simple_animal/slime/M = target 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 = TRUE 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.")) being_used = TRUE var/newname = tgui_input_text(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime", MAX_NAME_LEN, 1) if(!newname) @@ -223,23 +223,23 @@ switch(heat_stage) if(1) - . += "The vial is hot to the touch." + . += SPAN_WARNING("The vial is hot to the touch.") if(2) - . += "The vial is scalding hot! Is it really a good idea to use this..?" + . += SPAN_WARNING("The vial is scalding hot! Is it really a good idea to use this..?") /obj/item/slimepotion/sentience/is_valid_potion_receiver(atom/target, mob/user) if(being_used || !ismob(target)) return FALSE var/mob/M = target if(!isanimal_or_basicmob(M) || M.mind) // 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 FALSE if(M.stat) - to_chat(user, "[M] is dead!") + to_chat(user, SPAN_WARNING("[M] is dead!")) return FALSE var/mob/living/simple_animal/SM = M if(SM.sentience_type != sentience_type) - to_chat(user, "The potion won't work on [SM].") + to_chat(user, SPAN_WARNING("The potion won't work on [SM].")) return FALSE return TRUE @@ -247,7 +247,7 @@ /obj/item/slimepotion/sentience/apply_potion(atom/target, mob/living/user) var/mob/living/simple_animal/SM = target if(heat_stage >= 2) - to_chat(user, "[src] violently explodes!") + to_chat(user, SPAN_DANGER("[src] violently explodes!")) var/turf/T = get_turf(loc) if(T) T.hotspot_expose(700, 125) @@ -257,7 +257,7 @@ var/reason_text = tgui_input_text(user, "Enter reason for giving sentience", "Reason for sentience potion") if(!reason_text) return - to_chat(user, "You offer [src] sentience potion to [SM]...") + to_chat(user, SPAN_NOTICE("You offer [src] sentience potion to [SM]...")) being_used = TRUE var/ghostmsg = "Play as [SM.name], pet of [user.name]?[reason_text ? "\nReason: [sanitize(reason_text)]\n" : ""]" @@ -275,23 +275,23 @@ SM.master_commander = user SM.sentience_act() SM.AddElement(/datum/element/wears_collar) - 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] a great debt. Serve [user], 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] a great debt. Serve [user], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.")) if(SM.flags_2 & HOLOGRAM_2) //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 the potion 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 the potion and suddenly becomes attentive and aware. It worked!")) 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.")) heat_stage += 1 addtimer(CALLBACK(src, PROC_REF(cooldown_potion)), 60 SECONDS) if(user.Adjacent(src)) switch(heat_stage) if(1) - to_chat(user, "An intense heat emanates from [src]. It might need to cool off for awhile.") + to_chat(user, SPAN_WARNING("An intense heat emanates from [src]. It might need to cool off for awhile.")) if(2) - to_chat(user, "[src] is boiling hot! You shudder to think what would happen if you used it again...") + to_chat(user, SPAN_WARNING("[src] is boiling hot! You shudder to think what would happen if you used it again...")) being_used = FALSE /obj/item/slimepotion/sentience/proc/cooldown_potion() @@ -316,17 +316,17 @@ return FALSE var/mob/M = target if(!isanimal_or_basicmob(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 FALSE if(M.stat) - to_chat(user, "[M] is dead!") + to_chat(user, SPAN_WARNING("[M] is dead!")) return FALSE var/mob/living/simple_animal/SM = M if(SM.sentience_type != animal_type) - to_chat(user, "You cannot transfer your consciousness to [SM].") //no controlling machines + to_chat(user, SPAN_WARNING("You cannot transfer your consciousness to [SM].")) //no controlling machines return FALSE if(jobban_isbanned(user, ROLE_SENTIENT)) - 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 FALSE return TRUE @@ -338,15 +338,15 @@ prompted = FALSE 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.universal_speak = TRUE SM.faction = user.faction SM.sentience_act() //Same deal here as with sentience SM.AddElement(/datum/element/wears_collar) 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 roles are still the same as they were 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 roles are still the same as they were prior to consciousness transfer!")) SM.name = "[SM.name] as [user.real_name]" qdel(src) @@ -364,17 +364,17 @@ return FALSE 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 FALSE 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 FALSE return TRUE /obj/item/slimepotion/slime/steroid/apply_potion(atom/target, mob/living/user) var/mob/living/simple_animal/slime/M = target - 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) @@ -385,7 +385,7 @@ /obj/item/slimepotion/enhancer/is_valid_potion_receiver(atom/target, mob/user) if(!istype(target, /obj/item/slime_extract)) - to_chat(user, "[src] only works on slime extracts!") + to_chat(user, SPAN_WARNING("[src] only works on slime extracts!")) return FALSE return TRUE @@ -398,10 +398,10 @@ /obj/item/slimepotion/slime/stabilizer/apply_potion(atom/target, mob/living/user) var/mob/living/simple_animal/slime/M = target 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) @@ -415,17 +415,17 @@ var/mob/living/simple_animal/slime/M = target 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 FALSE 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 FALSE return TRUE /obj/item/slimepotion/slime/mutator/apply_potion(atom/target, mob/living/user) var/mob/living/simple_animal/slime/M = target - 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) @@ -441,7 +441,7 @@ heat_up(target) /obj/item/slimepotion/speed/proc/heat_up(mob/living/simple_animal/slime/M) - M.visible_message("As [M] gobbles [src], it starts buzzing with joyful energy!") + M.visible_message(SPAN_NOTICE("As [M] gobbles [src], it starts buzzing with joyful energy!")) M.bodytemperature = 550 // We remain jittery even if we cool down for it was a good treat @@ -466,17 +466,17 @@ return FALSE var/obj/item/clothing/C = target 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 FALSE if(C.max_heat_protection_temperature == FIRE_IMMUNITY_MAX_TEMP_PROTECT) - to_chat(user, "[C] is already fireproof!") + to_chat(user, SPAN_WARNING("[C] is already fireproof!")) return FALSE return TRUE /obj/item/slimepotion/fireproof/apply_potion(atom/target, mob/living/user) var/obj/item/clothing/C = target - to_chat(user, "You slather the blue gunk over [C], fireproofing it.") + to_chat(user, SPAN_NOTICE("You slather the blue gunk over [C], fireproofing it.")) C.name = "fireproofed [C.name]" C.color = "#000080" C.max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -508,21 +508,21 @@ return FALSE if(!isitem(O)) if(!istype(O, /obj/structure/table)) - to_chat(user, "The potion can only be used on items!") + to_chat(user, SPAN_WARNING("The potion can only be used on items!")) return FALSE var/obj/structure/table/T = O if(T.slippery) - to_chat(user, "[T] can luckily not be made any slippier!") + to_chat(user, SPAN_WARNING("[T] can luckily not be made any slippier!")) return FALSE else var/obj/item/I = O if(I.slowdown <= 0) - to_chat(user, "[I] can't be made any faster!") + to_chat(user, SPAN_WARNING("[I] can't be made any faster!")) return FALSE if(ismodcontrol(O)) var/obj/item/mod/control/C = O if(C.active) - to_chat(user, "It is too dangerous to smear [src] on [C] while it is active!") + to_chat(user, SPAN_WARNING("It is too dangerous to smear [src] on [C] while it is active!")) return FALSE return TRUE @@ -531,7 +531,7 @@ var/obj/structure/table/T = target if(istype(T)) // Speed table must remain. - to_chat(user, "You go to place the potion on [T], but before you know it, your hands are moving on their own!") + to_chat(user, SPAN_WARNING("You go to place the potion on [T], but before you know it, your hands are moving on their own!")) T.slippery = TRUE else var/obj/item/I = target @@ -547,7 +547,7 @@ finalize_potion_apply(target, user) /obj/item/slimepotion/oil_slick/proc/finalize_potion_apply(atom/target, mob/user) - to_chat(user, "You slather the oily gunk over [target], making it slick and slippery.") + to_chat(user, SPAN_NOTICE("You slather the oily gunk over [target], making it slick and slippery.")) target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) target.add_atom_colour("#6e6e86", FIXED_COLOUR_PRIORITY) ADD_TRAIT(target, TRAIT_OIL_SLICKED, "potion") diff --git a/code/modules/research/xenobiology/xenobiology_dissections.dm b/code/modules/research/xenobiology/xenobiology_dissections.dm index dfbf605fff0..bb5e2940348 100644 --- a/code/modules/research/xenobiology/xenobiology_dissections.dm +++ b/code/modules/research/xenobiology/xenobiology_dissections.dm @@ -235,27 +235,27 @@ /// Contains specialty text for each dissection step. var/list/dissection_text = list( - "You begin prepping the subject for dissection...", - "You begin to make a careful incision into the subject's corpse.", - "You begin clamping any cavities leaking fluids into the surgical site.", - "You begin forcing the dissection cavity open.", - "You begin removing an unidentifiable mass out of the subject!", + SPAN_NOTICE("You begin prepping the subject for dissection..."), + SPAN_NOTICE("You begin to make a careful incision into the subject's corpse."), + SPAN_NOTICE("You begin clamping any cavities leaking fluids into the surgical site."), + SPAN_NOTICE("You begin forcing the dissection cavity open."), + SPAN_NOTICE("You begin removing an unidentifiable mass out of the subject!"), ) /// Contains specialty text for dissection success steps var/list/dissection_success_text = list( - "You successfully set up a dissection site.", - "You successfully make an incision into the dissection site.", - "You successfully clamp any leaking cavities.", - "You successfully force the dissection cavity open.", - "You remove some kind of unidentifiable mass from the subject!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You successfully make an incision into the dissection site."), + SPAN_NOTICE("You successfully clamp any leaking cavities."), + SPAN_NOTICE("You successfully force the dissection cavity open."), + SPAN_NOTICE("You remove some kind of unidentifiable mass from the subject!"), ) /// Contains specialty text for dissection step failures var/list/dissection_failure_text = list( - "The tool fails to get a grip on the corpse's surface!", - "Your hand slips, slicing open the corpse in a wrong spot with the tool!", - "Your hand slips, tearing some of the flesh from the subject and worsening the leakage!", - "Your hand slips, tearing the edges of incision!", - "The tool fails to remove the organ from the surrounding flesh!", + SPAN_WARNING("The tool fails to get a grip on the corpse's surface!"), + SPAN_WARNING("Your hand slips, slicing open the corpse in a wrong spot with the tool!"), + SPAN_WARNING("Your hand slips, tearing some of the flesh from the subject and worsening the leakage!"), + SPAN_WARNING("Your hand slips, tearing the edges of incision!"), + SPAN_WARNING("The tool fails to remove the organ from the surrounding flesh!"), ) /datum/xenobiology_surgery_container/goliath @@ -310,19 +310,19 @@ ) dissection_text = list( - "You begin prepping the subject for dissection...", - "You begin to easily open up a surgical site from the ashen mound.", - "You begin removing an unidentifiable mass out of the subject!", + SPAN_NOTICE("You begin prepping the subject for dissection..."), + SPAN_NOTICE("You begin to easily open up a surgical site from the ashen mound."), + SPAN_NOTICE("You begin removing an unidentifiable mass out of the subject!"), ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You successfully force the dissection cavity open.", - "You remove some kind of unidentifiable mass from the subject!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You successfully force the dissection cavity open."), + SPAN_NOTICE("You remove some kind of unidentifiable mass from the subject!"), ) dissection_failure_text = list( - "The tool fails to get a grip on the nearly ashen pile!", - "You struggle to get the surgical site open as ash crumples back in on itself!", - "The tool fails to remove the organ from the surrounding flesh!", + SPAN_WARNING("The tool fails to get a grip on the nearly ashen pile!"), + SPAN_WARNING("You struggle to get the surgical site open as ash crumples back in on itself!"), + SPAN_WARNING("The tool fails to remove the organ from the surrounding flesh!"), ) /datum/xenobiology_surgery_container/colossus @@ -340,28 +340,28 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You make a careful incision into the subject's corpse.", - "You clamp any cavities leaking fluids into the surgical site.", - "You force the dissection cavity open.", - "You carefully begin severing the metal sections from the surrounding flesh.", - "You begin removing an unidentifiable mass out of the subject!", + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You make a careful incision into the subject's corpse."), + SPAN_NOTICE("You clamp any cavities leaking fluids into the surgical site."), + SPAN_NOTICE("You force the dissection cavity open."), + SPAN_NOTICE("You carefully begin severing the metal sections from the surrounding flesh."), + SPAN_NOTICE("You begin removing an unidentifiable mass out of the subject!"), ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You successfully make an incision into the dissection site.", - "You successfully clamp any leaking cavities.", - "You successfully force the dissection cavity open.", - "You manage to cut away and seperate the metal from flesh.", - "You remove some kind of unidentifiable mass from the subject!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You successfully make an incision into the dissection site."), + SPAN_NOTICE("You successfully clamp any leaking cavities."), + SPAN_NOTICE("You successfully force the dissection cavity open."), + SPAN_NOTICE("You manage to cut away and seperate the metal from flesh."), + SPAN_NOTICE("You remove some kind of unidentifiable mass from the subject!"), ) dissection_failure_text = list( - "The tool fails to get a grip on the corpse's surface!", - "Your hand slips, slicing open the corpse in a wrong spot with the tool!", - "Your hand slips, tearing some of the flesh from the subject and worsening the leakage!", - "Your hand slips, tearing the edges of incision!", - "The mixture of metal and flesh seems impossible to distinguish in some places!", - "The tool fails to remove the organ from the surrounding flesh!", + SPAN_WARNING("The tool fails to get a grip on the corpse's surface!"), + SPAN_WARNING("Your hand slips, slicing open the corpse in a wrong spot with the tool!"), + SPAN_WARNING("Your hand slips, tearing some of the flesh from the subject and worsening the leakage!"), + SPAN_WARNING("Your hand slips, tearing the edges of incision!"), + SPAN_WARNING("The mixture of metal and flesh seems impossible to distinguish in some places!"), + SPAN_WARNING("The tool fails to remove the organ from the surrounding flesh!"), ) /datum/xenobiology_surgery_container/pandora @@ -378,25 +378,25 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You begin to unscrew the coverings.", - "You begin prying open the loose panel from the machine.", - "You carefully begin to disconnect the core from the surrounding power network.", - "You begin removing the core from the metal housing surrounding it.", + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You begin to unscrew the coverings."), + SPAN_NOTICE("You begin prying open the loose panel from the machine."), + SPAN_NOTICE("You carefully begin to disconnect the core from the surrounding power network."), + SPAN_NOTICE("You begin removing the core from the metal housing surrounding it."), ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You successfully remove any screws keeping the panel shut.", - "You pry open the loose panels to expose the core within.", - "You successfully disconnect the core from the power connectors.", - "You remove the core from the metal housing!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You successfully remove any screws keeping the panel shut."), + SPAN_NOTICE("You pry open the loose panels to expose the core within."), + SPAN_NOTICE("You successfully disconnect the core from the power connectors."), + SPAN_NOTICE("You remove the core from the metal housing!"), ) dissection_failure_text = list( - "You begin to prep the subject for dissection...", - "You cant get enough torque to unscrew the rusted fastenings off!", - "You fail to find enough leverage to get the panel off!", - "You cant find how to safely remove the core from its attached wiring!", - "The tool fails to remove the core from the metal housing!", + SPAN_WARNING("You begin to prep the subject for dissection..."), + SPAN_WARNING("You cant get enough torque to unscrew the rusted fastenings off!"), + SPAN_WARNING("You fail to find enough leverage to get the panel off!"), + SPAN_WARNING("You cant find how to safely remove the core from its attached wiring!"), + SPAN_WARNING("The tool fails to remove the core from the metal housing!"), ) /datum/xenobiology_surgery_container/legionnaire @@ -412,22 +412,22 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You begin sawing through the dense bone obstructions.", - "With a sickening crunch, you begin forcing the dissection cavity open.", - "You begin removing an unidentifiable mass out of the subject!" + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You begin sawing through the dense bone obstructions."), + SPAN_NOTICE("With a sickening crunch, you begin forcing the dissection cavity open."), + SPAN_NOTICE("You begin removing an unidentifiable mass out of the subject!") ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You manage to detach the bones away from the dissection cavity.", - "You successfully force the dissection cavity open.", - "You remove some kind of unidentifiable mass from the subject!" + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You manage to detach the bones away from the dissection cavity."), + SPAN_NOTICE("You successfully force the dissection cavity open."), + SPAN_NOTICE("You remove some kind of unidentifiable mass from the subject!") ) dissection_failure_text = list( - "The tool fails to get a grip on the corpse's surface!", - "Your saw fails to find purchase against the hardened bone!", - "The surrounding bone refuses to budge!", - "The tool fails to remove the organ from the surrounding skeletal structure!" + SPAN_NOTICE("The tool fails to get a grip on the corpse's surface!"), + SPAN_NOTICE("Your saw fails to find purchase against the hardened bone!"), + SPAN_NOTICE("The surrounding bone refuses to budge!"), + SPAN_NOTICE("The tool fails to remove the organ from the surrounding skeletal structure!") ) /datum/xenobiology_surgery_container/bubblegum @@ -445,28 +445,28 @@ ) dissection_text = list( - "You begin to prep the corpse for dissection... If you can even call it that at this point", - "You begin removing shards and chunks of bone, clearing a spot to safely cut deeper.", - "You slowly cut your way into the pile, looking for anything other than formless flesh and bone...", - "You begin clamping the mass amount of leaking arteries in the surgical site.", - "You begin forcing the dissection cavity open.", - "You finally find something, and begin to remove a unidentifiable mass out of the mass!", + SPAN_NOTICE("You begin to prep the corpse for dissection... If you can even call it that at this point"), + SPAN_NOTICE("You begin removing shards and chunks of bone, clearing a spot to safely cut deeper."), + SPAN_NOTICE("You slowly cut your way into the pile, looking for anything other than formless flesh and bone..."), + SPAN_NOTICE("You begin clamping the mass amount of leaking arteries in the surgical site."), + SPAN_NOTICE("You begin forcing the dissection cavity open."), + SPAN_NOTICE("You finally find something, and begin to remove a unidentifiable mass out of the mass!"), ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You manage to clear out the dissection site of obstructive bone.", - "You manage to cut deep enough until something of signifigance seems to reveal.", - "You successfully clamp any leaking cavities.", - "You successfully force the dissection cavity open.", - "You remove some kind of unidentifiable mass from the subject!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You manage to clear out the dissection site of obstructive bone."), + SPAN_NOTICE("You manage to cut deep enough until something of signifigance seems to reveal."), + SPAN_NOTICE("You successfully clamp any leaking cavities."), + SPAN_NOTICE("You successfully force the dissection cavity open."), + SPAN_NOTICE("You remove some kind of unidentifiable mass from the subject!"), ) dissection_failure_text = list( - "The tool fails to get a grip on the corpse's surface!", - "You begin removing shards and chunks of bone, clearing a spot to safely cut deeper.", - "You slowly cut your way into the pile, looking for anything other than formless flesh and bone..", - "You clamp the mass amount of leaking arteries in the surgical site.", - "You force the dissection cavity open.", - "The tool fails to remove the organ from the surrounding flesh!", + SPAN_WARNING("The tool fails to get a grip on the corpse's surface!"), + SPAN_WARNING("You begin removing shards and chunks of bone, clearing a spot to safely cut deeper."), + SPAN_WARNING("You slowly cut your way into the pile, looking for anything other than formless flesh and bone.."), + SPAN_WARNING("You clamp the mass amount of leaking arteries in the surgical site."), + SPAN_WARNING("You force the dissection cavity open."), + SPAN_WARNING("The tool fails to remove the organ from the surrounding flesh!"), ) /datum/xenobiology_surgery_container/alien @@ -481,25 +481,25 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You begin sawing through the chitinous outer layer.", - "You begin clamping any cavities leaking fluids into the surgical site.", - "You begin forcing the dissection cavity open.", - "You begin removing an unidentifiable mass out of the subject!", + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You begin sawing through the chitinous outer layer."), + SPAN_NOTICE("You begin clamping any cavities leaking fluids into the surgical site."), + SPAN_NOTICE("You begin forcing the dissection cavity open."), + SPAN_NOTICE("You begin removing an unidentifiable mass out of the subject!"), ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You manage to saw through the armored exoskeleton.", - "You successfully clamp any leaking cavities.", - "You successfully force the dissection cavity open.", - "You remove some kind of unidentifiable mass from the subject!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You manage to saw through the armored exoskeleton."), + SPAN_NOTICE("You successfully clamp any leaking cavities."), + SPAN_NOTICE("You successfully force the dissection cavity open."), + SPAN_NOTICE("You remove some kind of unidentifiable mass from the subject!"), ) dissection_failure_text = list( - "The tool fails to get a grip on the corpse's surface!", - "You fail to get through the armored outer layer!", - "Your hand slips, tearing some of the flesh from the subject and worsening the leakage!", - "Your hand slips, tearing the edges of incision!", - "The tool fails to remove the organ from the surrounding flesh!", + SPAN_WARNING("The tool fails to get a grip on the corpse's surface!"), + SPAN_WARNING("You fail to get through the armored outer layer!"), + SPAN_WARNING("Your hand slips, tearing some of the flesh from the subject and worsening the leakage!"), + SPAN_WARNING("Your hand slips, tearing the edges of incision!"), + SPAN_WARNING("The tool fails to remove the organ from the surrounding flesh!"), ) /datum/xenobiology_surgery_container/alien/sentinel @@ -556,25 +556,25 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You begin to unscrew the coverings.", - "You begin prying open the loose panel from the machine.", - "You carefully begin to disconnect the core from the surrounding power network.", - "You begin removing the core from the metal housing surrounding it.", + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You begin to unscrew the coverings."), + SPAN_NOTICE("You begin prying open the loose panel from the machine."), + SPAN_NOTICE("You carefully begin to disconnect the core from the surrounding power network."), + SPAN_NOTICE("You begin removing the core from the metal housing surrounding it."), ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You successfully remove any screws keeping the panel shut.", - "You pry open the loose panels to expose the core within.", - "You successfully disconnect the core from the power connectors.", - "You remove the core from the metal housing!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You successfully remove any screws keeping the panel shut."), + SPAN_NOTICE("You pry open the loose panels to expose the core within."), + SPAN_NOTICE("You successfully disconnect the core from the power connectors."), + SPAN_NOTICE("You remove the core from the metal housing!"), ) dissection_failure_text = list( - "The tool fails to get a grip on the corpse's surface!", - "You cant get enough torque to unscrew the rusted fastenings off!", - "You fail to find enough leverage to get the panel off!", - "You cant find how to safely remove the core from its attached wiring!", - "The tool fails to remove the core from the metal housing!", + SPAN_WARNING("The tool fails to get a grip on the corpse's surface!"), + SPAN_WARNING("You cant get enough torque to unscrew the rusted fastenings off!"), + SPAN_WARNING("You fail to find enough leverage to get the panel off!"), + SPAN_WARNING("You cant find how to safely remove the core from its attached wiring!"), + SPAN_WARNING("The tool fails to remove the core from the metal housing!"), ) /datum/xenobiology_surgery_container/blobbernaut @@ -592,34 +592,34 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You begin forcing the dissection cavity open.", - "You begin closing off one of the many leaking fluid sacks in the corpse.", - "Your work area closed filled back in. You begin to re-open it.", - "You begin closing off more leaking sacks and fluid veins.", - "This damned dissection site WON'T STOP CLOSING!", - "You begin once again closing off more fluid sacks and leaking cavities....", - "You at last begin to remove something from the cadaver...", + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You begin forcing the dissection cavity open."), + SPAN_NOTICE("You begin closing off one of the many leaking fluid sacks in the corpse."), + SPAN_NOTICE("Your work area closed filled back in. You begin to re-open it."), + SPAN_NOTICE("You begin closing off more leaking sacks and fluid veins."), + SPAN_NOTICE("This damned dissection site WON'T STOP CLOSING!"), + SPAN_NOTICE("You begin once again closing off more fluid sacks and leaking cavities...."), + SPAN_NOTICE("You at last begin to remove something from the cadaver..."), ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You easily pry apart the semi-liquid corpse.", - "You close off one numerous leaking cavities.", - "You manage to get the dissection site back open", - "You close off more leaking sacks and fluid veins.", - "You manage to get the dissection site back open... again.", - "You finally get the leaking under control.", - "You remove some kind of unidentifiable mass from the subject!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You easily pry apart the semi-liquid corpse."), + SPAN_NOTICE("You close off one numerous leaking cavities."), + SPAN_NOTICE("You manage to get the dissection site back open"), + SPAN_NOTICE("You close off more leaking sacks and fluid veins."), + SPAN_NOTICE("You manage to get the dissection site back open... again."), + SPAN_NOTICE("You finally get the leaking under control."), + SPAN_NOTICE("You remove some kind of unidentifiable mass from the subject!"), ) dissection_failure_text = list( - "The tool fails to get a grip on the corpse's surface!", - "The you fail to open the incision site, it simply closes back up!", - "The leakage is too intense, you cant get it under control!", - "The you fail to open the incision site, it simply closes back up!", - "The leakage is too intense, you cant get it under control!", - "The you fail to open the incision site, it simply closes back up!", - "The leakage is too intense, you cant get it under control!", - "The tool fails to remove the organ from the goopy flesh!", + SPAN_WARNING("The tool fails to get a grip on the corpse's surface!"), + SPAN_WARNING("The you fail to open the incision site, it simply closes back up!"), + SPAN_WARNING("The leakage is too intense, you cant get it under control!"), + SPAN_WARNING("The you fail to open the incision site, it simply closes back up!"), + SPAN_WARNING("The leakage is too intense, you cant get it under control!"), + SPAN_WARNING("The you fail to open the incision site, it simply closes back up!"), + SPAN_WARNING("The leakage is too intense, you cant get it under control!"), + SPAN_WARNING("The tool fails to remove the organ from the goopy flesh!"), ) /datum/xenobiology_surgery_container/terror_spider @@ -634,25 +634,25 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You begin sawing through the chitinout outer layer.", - "You begin clamping any cavities leaking fluids into the surgical site.", - "You begin forcing the dissection cavity open.", - "You begin removing an unidentifiable mass out of the subject!", + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You begin sawing through the chitinout outer layer."), + SPAN_NOTICE("You begin clamping any cavities leaking fluids into the surgical site."), + SPAN_NOTICE("You begin forcing the dissection cavity open."), + SPAN_NOTICE("You begin removing an unidentifiable mass out of the subject!"), ) dissection_success_text = list( - "You begin to prep the subject for dissection...", - "You manage to saw through the hardened exoskeleton.", - "You clamp any cavities leaking fluids into the surgical site.", - "You force the dissection cavity open.", - "You remove some kind of unidentifiable mass from the subject!", + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You manage to saw through the hardened exoskeleton."), + SPAN_NOTICE("You clamp any cavities leaking fluids into the surgical site."), + SPAN_NOTICE("You force the dissection cavity open."), + SPAN_NOTICE("You remove some kind of unidentifiable mass from the subject!"), ) dissection_failure_text = list( - "You begin to prep the subject for dissection...", - "Your saw fails to find purchase against the reinforced exoskeleton!", - "Your hand slips, tearing some of the flesh from the subject and worsening the leakage!", - "Your hand slips, tearing the edges of incision!", - "The tool fails to remove the organ from the surrounding flesh!", + SPAN_WARNING("You begin to prep the subject for dissection..."), + SPAN_WARNING("Your saw fails to find purchase against the reinforced exoskeleton!"), + SPAN_WARNING("Your hand slips, tearing some of the flesh from the subject and worsening the leakage!"), + SPAN_WARNING("Your hand slips, tearing the edges of incision!"), + SPAN_WARNING("The tool fails to remove the organ from the surrounding flesh!"), ) /datum/xenobiology_surgery_container/vetus @@ -669,25 +669,25 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You begin to unscrew the coverings.", - "You begin prying open the loose panel from the machine.", - "You carefully begin to disconnect the core from the machinery without setting off any secondary explosions.", - "You begin removing the core from the metal housing surrounding it.", + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You begin to unscrew the coverings."), + SPAN_NOTICE("You begin prying open the loose panel from the machine."), + SPAN_NOTICE("You carefully begin to disconnect the core from the machinery without setting off any secondary explosions."), + SPAN_NOTICE("You begin removing the core from the metal housing surrounding it."), ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You successfully remove any screws keeping the panel shut.", - "You pry open the loose panels to expose the core within.", - "You successfully disconnect the core from the power connectors.", - "You remove the core from the metal housing!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You successfully remove any screws keeping the panel shut."), + SPAN_NOTICE("You pry open the loose panels to expose the core within."), + SPAN_NOTICE("You successfully disconnect the core from the power connectors."), + SPAN_NOTICE("You remove the core from the metal housing!"), ) dissection_failure_text = list( - "You begin to prep the subject for dissection...", - "You cant get enough torque to unscrew the rusted fastenings off!", - "You fail to find enough leverage to get the panel off!", - "You cant find how to safely remove the core from its attached wiring!", - "The tool fails to remove the core from the metal housing!", + SPAN_WARNING("You begin to prep the subject for dissection..."), + SPAN_WARNING("You cant get enough torque to unscrew the rusted fastenings off!"), + SPAN_WARNING("You fail to find enough leverage to get the panel off!"), + SPAN_WARNING("You cant find how to safely remove the core from its attached wiring!"), + SPAN_WARNING("The tool fails to remove the core from the metal housing!"), ) /datum/xenobiology_surgery_container/drake @@ -704,31 +704,31 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You begin sawing through the hardened scales of the drake.", - "You carefully begin removing the scales from the corpse", - "You begin to make a careful incision into the subject's corpse.", - "You begin clamping any cavities leaking fluids into the surgical site.", - "You begin forcing the dissection cavity open.", - "You begin removing an unidentifiable mass out of the subject!", + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You begin sawing through the hardened scales of the drake."), + SPAN_NOTICE("You carefully begin removing the scales from the corpse"), + SPAN_NOTICE("You begin to make a careful incision into the subject's corpse."), + SPAN_NOTICE("You begin clamping any cavities leaking fluids into the surgical site."), + SPAN_NOTICE("You begin forcing the dissection cavity open."), + SPAN_NOTICE("You begin removing an unidentifiable mass out of the subject!"), ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You feel the resistance of the hardened scales give away to the saw.", - "You pluck away the remaining scales from around the dissection site.", - "You successfully make an incision into the dissection site.", - "You successfully clamp any leaking cavities.", - "You force the dissection cavity open.", - "You remove some kind of unidentifiable mass from the subject!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You feel the resistance of the hardened scales give away to the saw."), + SPAN_NOTICE("You pluck away the remaining scales from around the dissection site."), + SPAN_NOTICE("You successfully make an incision into the dissection site."), + SPAN_NOTICE("You successfully clamp any leaking cavities."), + SPAN_NOTICE("You force the dissection cavity open."), + SPAN_NOTICE("You remove some kind of unidentifiable mass from the subject!"), ) dissection_failure_text = list( - "The tool fails to get a grip on the corpse's surface!", - "You fail to find enough leverage to saw through the thick scales!", - "You cant get a good enough grip on the loosened scales to pluck them off!", - "Your hand slips, slicing open the corpse in a wrong spot with the tool!", - "Your hand slips, tearing some of the flesh from the subject and worsening the leakage!", - "Your hand slips, tearing the edges of incision!", - "The tool fails to remove the organ from the surrounding flesh!", + SPAN_WARNING("The tool fails to get a grip on the corpse's surface!"), + SPAN_WARNING("You fail to find enough leverage to saw through the thick scales!"), + SPAN_WARNING("You cant get a good enough grip on the loosened scales to pluck them off!"), + SPAN_WARNING("Your hand slips, slicing open the corpse in a wrong spot with the tool!"), + SPAN_WARNING("Your hand slips, tearing some of the flesh from the subject and worsening the leakage!"), + SPAN_WARNING("Your hand slips, tearing the edges of incision!"), + SPAN_WARNING("The tool fails to remove the organ from the surrounding flesh!"), ) /datum/xenobiology_surgery_container/headslug @@ -741,19 +741,19 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You carefully begin making a tiny incision in the diminutive creature.", - "You begin removing an unidentifiable mass out of the subject!", + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You carefully begin making a tiny incision in the diminutive creature."), + SPAN_NOTICE("You begin removing an unidentifiable mass out of the subject!"), ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You successfully make an incision into the tiny creature.", - "You remove some kind of unidentifiable mass from the subject!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You successfully make an incision into the tiny creature."), + SPAN_NOTICE("You remove some kind of unidentifiable mass from the subject!"), ) dissection_failure_text = list( - "The tool fails to get a grip on the corpse's surface!", - "Your hand slips, slicing open the corpse in a wrong spot with the tool!", - "The tool fails to remove the organ from the surrounding flesh!", + SPAN_WARNING("The tool fails to get a grip on the corpse's surface!"), + SPAN_WARNING("Your hand slips, slicing open the corpse in a wrong spot with the tool!"), + SPAN_WARNING("The tool fails to remove the organ from the surrounding flesh!"), ) /datum/xenobiology_surgery_container/basilisk @@ -771,34 +771,34 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You begin drilling into the crystals to weakent he structure.", - "You begin breaking apart the crystals preventing access to the subject.", - "You begin removing the remaining pieces of obstructive material.", - "You begin to make a careful incision into the subject's corpse.", - "You begin clamping any cavities leaking fluids into the surgical site.", - "You begin forcing the dissection cavity open.", - "You begin removing an unidentifiable mass out of the subject!", + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You begin drilling into the crystals to weakent he structure."), + SPAN_NOTICE("You begin breaking apart the crystals preventing access to the subject."), + SPAN_NOTICE("You begin removing the remaining pieces of obstructive material."), + SPAN_NOTICE("You begin to make a careful incision into the subject's corpse."), + SPAN_NOTICE("You begin clamping any cavities leaking fluids into the surgical site."), + SPAN_NOTICE("You begin forcing the dissection cavity open."), + SPAN_NOTICE("You begin removing an unidentifiable mass out of the subject!"), ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You drill a series of holes into the crystalline carapace.", - "You crack open the crystalline lattice into many pieces.", - "You colelct and remove the myriad of loose crystals.", - "You successfully make an incision into the dissection site.", - "You successfully clamp any leaking cavities.", - "You successfully force the dissection cavity open.", - "You remove some kind of unidentifiable mass from the subject!", + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You drill a series of holes into the crystalline carapace."), + SPAN_NOTICE("You crack open the crystalline lattice into many pieces."), + SPAN_NOTICE("You colelct and remove the myriad of loose crystals."), + SPAN_NOTICE("You successfully make an incision into the dissection site."), + SPAN_NOTICE("You successfully clamp any leaking cavities."), + SPAN_NOTICE("You successfully force the dissection cavity open."), + SPAN_NOTICE("You remove some kind of unidentifiable mass from the subject!"), ) dissection_failure_text = list( - "The tool fails to get a grip on the corpse's surface!", - "You fail to drill through the hardened crystals!", - "You fail to get enough leverage to break apart the crystal lattice!", - "You cant seem to get a good grip on the irregular chunks of material!", - "Your hand slips, slicing open the corpse in a wrong spot with the tool!", - "Your hand slips, tearing some of the flesh from the subject and worsening the leakage!", - "Your hand slips, tearing the edges of incision!", - "The tool fails to remove the organ from the surrounding flesh!", + SPAN_WARNING("The tool fails to get a grip on the corpse's surface!"), + SPAN_WARNING("You fail to drill through the hardened crystals!"), + SPAN_WARNING("You fail to get enough leverage to break apart the crystal lattice!"), + SPAN_WARNING("You cant seem to get a good grip on the irregular chunks of material!"), + SPAN_WARNING("Your hand slips, slicing open the corpse in a wrong spot with the tool!"), + SPAN_WARNING("Your hand slips, tearing some of the flesh from the subject and worsening the leakage!"), + SPAN_WARNING("Your hand slips, tearing the edges of incision!"), + SPAN_WARNING("The tool fails to remove the organ from the surrounding flesh!"), ) /datum/xenobiology_surgery_container/legion @@ -815,29 +815,29 @@ ) dissection_text = list( - "You begin to prep the subject for dissection...", - "You begin to saw through the thick skull plating.", - "You make a careful incision into the subject's corpse.", - "You begin cutting away at the small skulls continuing to bud up from the corpse.", - "You begin forcing the dissection cavity open.", - "You once again cut away at the budding skulls attempting to seal up the surgical site.", - "You begin removing an unidentifiable mass out of the subject!" + SPAN_NOTICE("You begin to prep the subject for dissection..."), + SPAN_NOTICE("You begin to saw through the thick skull plating."), + SPAN_NOTICE("You make a careful incision into the subject's corpse."), + SPAN_NOTICE("You begin cutting away at the small skulls continuing to bud up from the corpse."), + SPAN_NOTICE("You begin forcing the dissection cavity open."), + SPAN_NOTICE("You once again cut away at the budding skulls attempting to seal up the surgical site."), + SPAN_NOTICE("You begin removing an unidentifiable mass out of the subject!") ) dissection_success_text = list( - "You successfully set up a dissection site.", - "You manage to crack through the thick skull plating.", - "You successfully make an incision into the dissection site", - "You manage to cut away and control the growing buds.", - "You force the dissection cavity open.", - "You again manage to cut away and control the growing buds.", - "You remove an unidentifiable mass out of the subject!" + SPAN_NOTICE("You successfully set up a dissection site."), + SPAN_NOTICE("You manage to crack through the thick skull plating."), + SPAN_NOTICE("You successfully make an incision into the dissection site"), + SPAN_NOTICE("You manage to cut away and control the growing buds."), + SPAN_NOTICE("You force the dissection cavity open."), + SPAN_NOTICE("You again manage to cut away and control the growing buds."), + SPAN_NOTICE("You remove an unidentifiable mass out of the subject!") ) dissection_failure_text = list( - "The tool fails to get a grip on the corpse's surface!", - "You cant get enough leverage to saw through the thick skull plating!", - "Your hand slips, slicing open the corpse in a wrong spot with the tool!", - "You fail to cut the buds away faster than they're regrowing!", - "Your hand slips, tearing the edges of incision!", - "You fail to cut the buds away faster than they're regrowing!", - "The tool fails to remove the organ from the surrounding flesh!" + SPAN_WARNING("The tool fails to get a grip on the corpse's surface!"), + SPAN_WARNING("You cant get enough leverage to saw through the thick skull plating!"), + SPAN_WARNING("Your hand slips, slicing open the corpse in a wrong spot with the tool!"), + SPAN_WARNING("You fail to cut the buds away faster than they're regrowing!"), + SPAN_WARNING("Your hand slips, tearing the edges of incision!"), + SPAN_WARNING("You fail to cut the buds away faster than they're regrowing!"), + SPAN_WARNING("The tool fails to remove the organ from the surrounding flesh!") ) diff --git a/code/modules/research/xenobiology/xenobiology_organs.dm b/code/modules/research/xenobiology/xenobiology_organs.dm index 7a577af5485..910f8158c23 100644 --- a/code/modules/research/xenobiology/xenobiology_organs.dm +++ b/code/modules/research/xenobiology/xenobiology_organs.dm @@ -11,16 +11,16 @@ if(istype(used, /obj/item/organ/internal)) var/obj/item/organ/internal/organ = used if(!organ.is_xeno_organ) - to_chat(user, "The regenerative mesh cannot improve this!") + to_chat(user, SPAN_WARNING("The regenerative mesh cannot improve this!")) return ITEM_INTERACT_COMPLETE if(organ.organ_quality < ORGAN_PRISTINE) organ.organ_quality = ORGAN_PRISTINE - to_chat(user, "The regenerative mesh clings to [organ] and fuses to its surface. \The [organ] now looks pristine!") + to_chat(user, SPAN_INFO("The regenerative mesh clings to [organ] and fuses to its surface. \The [organ] now looks pristine!")) organ.name = "pristine [name]" qdel(src) return ITEM_INTERACT_COMPLETE else - to_chat(user, "This organ is already in pristine condition!") + to_chat(user, SPAN_WARNING("This organ is already in pristine condition!")) return ITEM_INTERACT_COMPLETE @@ -151,7 +151,7 @@ . = ..() if(!(owner.mob_biotypes & MOB_ORGANIC)) return - to_chat(owner, "You feel nauseous as your insides feel like they're disintegrating!") + to_chat(owner, SPAN_NOTICE("You feel nauseous as your insides feel like they're disintegrating!")) switch(organ_quality) if(ORGAN_DAMAGED) owner.adjustToxLoss(1) @@ -239,8 +239,8 @@ sound = 'sound/magic/fireball.ogg' antimagic_flags = NONE - selection_activated_message = "You take in a deep breath, readying to breathe fire!" - selection_deactivated_message = "You relax your breaths as you decide not to breathe fire." + selection_activated_message = SPAN_NOTICE("You take in a deep breath, readying to breathe fire!") + selection_deactivated_message = SPAN_NOTICE("You relax your breaths as you decide not to breathe fire.") /datum/spell/drake_breath/create_new_targeting() var/datum/spell_targeting/clicked_atom/external/C = new() @@ -306,7 +306,7 @@ switch(quality) if(ORGAN_DAMAGED) user.adjustBruteLoss(10) - to_chat(user, "The bands don't detach cleanly, ripping some flesh away with it!") + to_chat(user, SPAN_WARNING("The bands don't detach cleanly, ripping some flesh away with it!")) user.put_in_hands(sinew_cuffs) if(ORGAN_NORMAL) user.put_in_hands(sinew_cuffs) @@ -458,8 +458,8 @@ var/cooldown = 0 var/terror = FALSE - selection_activated_message = "We unfold our stinger from our body, ready to sting someone." - selection_deactivated_message = "We retract our stinger for now." + selection_activated_message = SPAN_NOTICE("We unfold our stinger from our body, ready to sting someone.") + selection_deactivated_message = SPAN_NOTICE("We retract our stinger for now.") /datum/spell/organ_sting/create_new_targeting(list/targets, mob/living/user) . = ..() @@ -472,20 +472,20 @@ var/atom/target = targets[1] //There is only ever one target var/dist = get_dist(user.loc, target.loc) if(dist > 2) // Too far, don't bother pathfinding - to_chat(user, "Our target is too far for our sting!") + to_chat(user, SPAN_WARNING("Our target is too far for our sting!")) revert_cast() return FALSE if(!length(get_path_to(user, target, max_distance = 2, simulated_only = FALSE, skip_first = FALSE))) - to_chat(user, "Our sting is blocked from reaching our target!") + to_chat(user, SPAN_WARNING("Our sting is blocked from reaching our target!")) revert_cast() return if(ismachineperson(target)) - to_chat(user, "This won't work on synthetics.") + to_chat(user, SPAN_WARNING("This won't work on synthetics.")) revert_cast() return FALSE if(ishuman(target)) var/mob/living/carbon/human/H = target - to_chat(target, "You feel a sharp prick in your side!") + to_chat(target, SPAN_WARNING("You feel a sharp prick in your side!")) if(quality == ORGAN_PRISTINE) if(terror) H.reagents.add_reagent("terror_black_toxin", 10) @@ -497,7 +497,7 @@ else H.reagents.add_reagent("toxin", 10) else - to_chat(user, "We wouldn't get much use out of stinging that.") + to_chat(user, SPAN_WARNING("We wouldn't get much use out of stinging that.")) revert_cast() /obj/item/organ/internal/heart/xenobiology/contortion @@ -544,7 +544,7 @@ return ADD_TRAIT(user, TRAIT_CONTORTED_BODY, ORGAN_TRAIT) RegisterSignal(user, COMSIG_MOB_DEATH, PROC_REF(deactivate)) - to_chat(user, "We contort our form to allow us to fit in and under things we normally wouldn't be able to.") + to_chat(user, SPAN_NOTICE("We contort our form to allow us to fit in and under things we normally wouldn't be able to.")) if(IS_HORIZONTAL(user)) user.layer = TURF_LAYER + 0.2 active = TRUE @@ -552,7 +552,7 @@ if(prob(10)) var/obj/item/organ/external/limb_to_break = pick(user.bodyparts) limb_to_break.fracture() - to_chat(user, "We tense ourself incorrectly, something inside our [limb_to_break] snaps!") + to_chat(user, SPAN_DANGER("We tense ourself incorrectly, something inside our [limb_to_break] snaps!")) if(quality == ORGAN_PRISTINE) duration_time = 1 MINUTES addtimer(CALLBACK(src, PROC_REF(deactivate), user), duration_time) @@ -566,7 +566,7 @@ UnregisterSignal(user, COMSIG_MOB_DEATH) if(IS_HORIZONTAL(user)) user.layer = initial(user.layer) - to_chat(user, "Our body stiffens and returns to form. That was exhausting!") + to_chat(user, SPAN_NOTICE("Our body stiffens and returns to form. That was exhausting!")) /obj/item/organ/internal/heart/xenobiology/bloody_sack name = "bloody sack" @@ -608,7 +608,7 @@ return if(quality == ORGAN_DAMAGED) user.blood_volume = max(user.blood_volume - 50, 0) // Slurp slurp slurp - to_chat(user, "You can feel your stolen organ draining you of your blood!") + to_chat(user, SPAN_DANGER("You can feel your stolen organ draining you of your blood!")) for(var/obj/effect/decal/cleanable/blood/B in range(T, 3)) if(B.blood_state == BLOOD_STATE_HUMAN && (B.can_bloodcrawl_in())) temp += 10 @@ -724,7 +724,7 @@ /obj/effect/temp_visual/goliath_flick/proc/retract(atom/target, organ_quality, mob/user) icon_state = "Goliath_tentacle_retract" - user.visible_message("[user] digs a massive tendril into the ground!") + user.visible_message(SPAN_WARNING("[user] digs a massive tendril into the ground!")) timerid = QDEL_IN(src, 7) if(target.loc == src.loc) if(isliving(target)) @@ -738,7 +738,7 @@ var/dist = get_dist(user.loc, target.loc) T.throw_at(user, dist - 1, 1, user, spin = TRUE) else - T.visible_message("[T] refuses to budge!") + T.visible_message(SPAN_WARNING("[T] refuses to budge!")) /obj/item/organ/internal/eyes/cybernetic/xenobiology/glowing name = "glowing core" @@ -787,18 +787,18 @@ /datum/spell/turf_teleport/organ_teleport/cast(list/targets, mob/living/user) var/atom/target = targets[1] if(!isliving(target)) - to_chat(user, "We can only teleport living things!") + to_chat(user, SPAN_WARNING("We can only teleport living things!")) revert_cast() return if(target == user) - to_chat(user, "We are unable to teleport ourself!") + to_chat(user, SPAN_WARNING("We are unable to teleport ourself!")) revert_cast() return if(get_dist(target.loc, user.loc) > 2) - to_chat(user, "They're too far away!") + to_chat(user, SPAN_WARNING("They're too far away!")) revert_cast() if(!length(get_path_to(user, target, max_distance = 2, simulated_only = FALSE, skip_first = FALSE))) - to_chat(user, "Something is blocking the way!") + to_chat(user, SPAN_WARNING("Something is blocking the way!")) revert_cast() return if(quality == ORGAN_BROKEN) @@ -806,9 +806,9 @@ targets += user user.adjustBruteLoss(10) user.adjustFireLoss(10) - to_chat(user, "You get dragged along into bluespace, your flesh searing from the unstable energies!") + to_chat(user, SPAN_DANGER("You get dragged along into bluespace, your flesh searing from the unstable energies!")) else - to_chat(user, "Drawing upon unstable energy singes your flesh!") + to_chat(user, SPAN_DANGER("Drawing upon unstable energy singes your flesh!")) user.adjustFireLoss(8) user.mob_light(LIGHT_COLOR_PURPLE, 3, _duration = 3) new /obj/effect/temp_visual/hierophant/telegraph/teleport(get_turf(target)) @@ -875,7 +875,7 @@ M.dna.species.exotic_blood = "tomatojuice" M.dna.species.blood_color = "#e25821" M.dna.blood_type = "Tomato" - to_chat(owner, "You feel unnaturally soupy...") + to_chat(owner, SPAN_USERDANGER("You feel unnaturally soupy...")) /obj/item/organ/internal/liver/xenobiology/soupy/remove(mob/living/carbon/human/M, special = 0) . = ..() @@ -883,7 +883,7 @@ M.dna.species.exotic_blood = original_exotic_blood M.dna.species.blood_color = original_blood_color M.dna.blood_type = original_blood_type - to_chat(owner, "You no longer constantly taste ketchup.") + to_chat(owner, SPAN_USERDANGER("You no longer constantly taste ketchup.")) /obj/item/organ/internal/appendix/xenobiology/toxin_stinger/terror name = "hidden terror stinger" @@ -1047,7 +1047,7 @@ /datum/action/innate/migo_noise/Activate() var/mob/living/carbon/human/user = owner if(!COOLDOWN_FINISHED(src, migo_cooldown)) - to_chat(user, "You can't get your noisy organ to speak again so soon!") + to_chat(user, SPAN_WARNING("You can't get your noisy organ to speak again so soon!")) return var/chosen_sound = pick(GLOB.migo_sounds) playsound(owner.loc, chosen_sound, 50, TRUE) @@ -1106,13 +1106,13 @@ if(M.mind) if(M.mind.assigned_role == "Clown") M.AddComponent(/datum/component/squeak, null, null, null, null, null, TRUE, falloff_exponent = 20) - to_chat(M, "You feel great!") + to_chat(M, SPAN_USERDANGER("You feel great!")) return else if(M.mind.assigned_role == "Mime") M.AddComponent(/datum/component/squeak) M.dna.SetSEState(GLOB.clumsyblock, TRUE, TRUE) M.dna.SetSEState(GLOB.comicblock, TRUE, TRUE) - to_chat(M, "UH OH") + to_chat(M, SPAN_USERDANGER("UH OH")) else M.emote("scream") M.AdjustJitter(20 SECONDS) @@ -1159,7 +1159,7 @@ "Your legs feel like jelly.", "You feel like telling a pun.", ) - to_chat(owner, "[pick(clown_message)]") + to_chat(owner, SPAN_WARNING("[pick(clown_message)]")) /obj/item/organ/internal/heart/xenobiology/bananium/remove(mob/living/carbon/human/M, special) @@ -1167,10 +1167,10 @@ if(M.mind) if(M.mind.assigned_role == "Clown") M.DeleteComponent(/datum/component/squeak) - to_chat(M, "Awh, the funs over...") + to_chat(M, SPAN_USERDANGER("Awh, the funs over...")) else M.DeleteComponent(/datum/component/squeak) - to_chat(M, "Blissful silence...") + to_chat(M, SPAN_DANGER("Blissful silence...")) M.dna.SetSEState(GLOB.clumsyblock, FALSE, FALSE) M.dna.SetSEState(GLOB.comicblock, FALSE, FALSE) @@ -1194,7 +1194,7 @@ /obj/item/organ/internal/heart/xenobiology/cursed_bananium/insert(mob/living/carbon/human/M, special, dont_remove_slot) if(M.mind && M.mind.assigned_role == "Clown") addtimer(CALLBACK(src, PROC_REF(glorious_death), M), 5 MINUTES) - to_chat(owner, "YOU FEEL THE PURE, UNFILTERED JOY OF THE HONKMOTHER!!!") + to_chat(owner, SPAN_USERDANGER("YOU FEEL THE PURE, UNFILTERED JOY OF THE HONKMOTHER!!!")) playsound(M, 'sound/magic/magic_block_holy.ogg', 60) ADD_TRAIT(M, TRAIT_GOTTAGOFAST, ORGAN_TRAIT) M.color = rgb(255, 251, 0) @@ -1218,7 +1218,7 @@ M.dir = SOUTH animate(M, pixel_y = 64, time = 2 SECONDS) addtimer(CALLBACK(src, PROC_REF(finalize_death), M), 2 SECONDS) - to_chat(owner, "THE JOY! THE POWER! YOU CAN FEEL THE HONKMOTHERS SMILE! YOU CAN FEEL- oh no") + to_chat(owner, SPAN_USERDANGER("THE JOY! THE POWER! YOU CAN FEEL THE HONKMOTHERS SMILE! YOU CAN FEEL- oh no")) /obj/item/organ/internal/heart/xenobiology/cursed_bananium/proc/finalize_death(mob/living/carbon/human/M) explosion(get_turf(M),0,2,4,4, smoke = TRUE, cause = owner) @@ -1235,7 +1235,7 @@ owner.adjustStaminaLoss(-30) owner.SetJitter(500 SECONDS) //High numbers for violent convulsions if(prob(10)) - to_chat(owner, "[pick(clown_noises)]") + to_chat(owner, SPAN_USERDANGER("[pick(clown_noises)]")) /obj/item/organ/internal/cell/xenobiology/supercharged name = "supercharged core" @@ -1316,7 +1316,7 @@ /obj/item/organ/internal/heart/xenobiology/megacarp/insert(mob/living/carbon/human/M, special = 0, dont_remove_slot = 0) if(!M.mind) - M.visible_message("[src] doesn't look like it's going to fit right now! It...refuses?") + M.visible_message(SPAN_WARNING("[src] doesn't look like it's going to fit right now! It...refuses?")) return var/datum/spell/shapeshift/megacarp/spell = new(organ_quality) M.mind.AddSpell(spell) @@ -1347,10 +1347,10 @@ possible_shapes = list(/mob/living/basic/carp/xeno_organ) /datum/spell/shapeshift/megacarp/Shapeshift(mob/living/carbon/human/M) - M.visible_message("[M] screams in agony as scales and fins erupt out of [M.p_their()] flesh!", - "You begin channeling the painful transformation.") + M.visible_message(SPAN_DANGER("[M] screams in agony as scales and fins erupt out of [M.p_their()] flesh!"), + SPAN_USERDANGER("You begin channeling the painful transformation.")) if(!do_after(M, 5 SECONDS, FALSE, M)) - to_chat(M, "You lose concentration of the spell!") + to_chat(M, SPAN_WARNING("You lose concentration of the spell!")) return return ..() @@ -1507,33 +1507,33 @@ /datum/spell/head_attack/Click(mob/user) . = ..() if(newhead) - to_chat(user, "We disperse the summoned head.") + to_chat(user, SPAN_NOTICE("We disperse the summoned head.")) on_head_death() return /datum/spell/head_attack/cast(list/targets, mob/living/carbon/human/user) . = ..() if(!isliving(targets[1])) - to_chat(user, "We can only select living targets!") + to_chat(user, SPAN_WARNING("We can only select living targets!")) revert_cast() return var/mob/living/target = targets[1] // only ever one target if(!user.get_organ("head")) - to_chat(user, "We cant use this without a head!") + to_chat(user, SPAN_WARNING("We cant use this without a head!")) revert_cast() return if(target == user) - to_chat(user, "It would be a bad idea to target ourselves.") + to_chat(user, SPAN_WARNING("It would be a bad idea to target ourselves.")) revert_cast() return if(target.stat == DEAD) - to_chat(user, "Our new head wont attack corpses.") + to_chat(user, SPAN_WARNING("Our new head wont attack corpses.")) revert_cast() return if(!newhead) if(quality == ORGAN_DAMAGED && prob(30)) user.adjustBruteLoss(15) // ouch! - user.visible_message("[src] produces a new head!", "You produce a new head and send it to your target!") + user.visible_message(SPAN_WARNING("[src] produces a new head!"), SPAN_WARNING("You produce a new head and send it to your target!")) newhead = new /mob/living/simple_animal/hostile/asteroid/elite/legionnairehead/xenobiology(user.loc, user, target) RegisterSignal(newhead, COMSIG_MOB_DEATH, PROC_REF(on_head_death)) revert_cast() @@ -1581,9 +1581,9 @@ /mob/living/simple_animal/hostile/asteroid/elite/legionnairehead/xenobiology/Life(seconds, times_fired) if(target != permanent_target) - src.visible_message("With no valid targets, the head crumbles into a pile of flesh.") + src.visible_message(SPAN_NOTICE("With no valid targets, the head crumbles into a pile of flesh.")) death() if(COOLDOWN_FINISHED(src, time_to_live)) - src.visible_message("\The [src] loses energy, and it crumbles into a pile of flesh.") + src.visible_message(SPAN_NOTICE("\The [src] loses energy, and it crumbles into a pile of flesh.")) death() return ..() diff --git a/code/modules/response_team/ert.dm b/code/modules/response_team/ert.dm index 50021ca559c..549e77b2c4c 100644 --- a/code/modules/response_team/ert.dm +++ b/code/modules/response_team/ert.dm @@ -15,11 +15,11 @@ USER_VERB(dispatch_ert, R_EVENT, "Dispatch CentComm Response Team", \ "Send an CentComm response team to the station.", \ VERB_CATEGORY_EVENT) if(SSticker.current_state < GAME_STATE_PLAYING) - to_chat(client, "The game hasn't started yet!") + to_chat(client, SPAN_WARNING("The game hasn't started yet!")) return if(SSticker.current_state == GAME_STATE_PREGAME) - to_chat(client, "The round hasn't started yet!") + to_chat(client, SPAN_WARNING("The round hasn't started yet!")) return var/datum/ui_module/ert_manager/E = new() @@ -28,16 +28,16 @@ USER_VERB(dispatch_ert, R_EVENT, "Dispatch CentComm Response Team", \ /mob/proc/JoinResponseTeam() if(!GLOB.send_emergency_team) - to_chat(src, "No emergency response team is currently being sent.") + to_chat(src, SPAN_WARNING("No emergency response team is currently being sent.")) return FALSE if(jobban_isbanned(src, ROLE_ERT)) - to_chat(src, "You are jobbanned from playing on an emergency response team!") + to_chat(src, SPAN_WARNING("You are jobbanned from playing on an emergency response team!")) return FALSE var/player_age_check = check_client_age(client, GLOB.responseteam_age) if(player_age_check && GLOB.configuration.gamemode.antag_account_age_restriction) - to_chat(src, "This role is not yet available to you. You need to wait another [player_age_check] days.") + to_chat(src, SPAN_WARNING("This role is not yet available to you. You need to wait another [player_age_check] days.")) return FALSE return TRUE @@ -45,7 +45,7 @@ USER_VERB(dispatch_ert, R_EVENT, "Dispatch CentComm Response Team", \ /mob/dead/observer/JoinResponseTeam() . = ..() if(!check_ahud_rejoin_eligibility()) - to_chat(src, "Upon using the antagHUD you forfeited the ability to join the round.") + to_chat(src, SPAN_BOLDNOTICE("Upon using the antagHUD you forfeited the ability to join the round.")) return FALSE /proc/trigger_armed_response_team(datum/response_team/response_team_type, commander_slots, security_slots, medical_slots, engineering_slots, janitor_slots, paranormal_slots, cyborg_slots, cyborg_security) diff --git a/code/modules/ruins/ghost_bar.dm b/code/modules/ruins/ghost_bar.dm index b134a0b381a..60e2cecb027 100644 --- a/code/modules/ruins/ghost_bar.dm +++ b/code/modules/ruins/ghost_bar.dm @@ -55,7 +55,7 @@ GLOBAL_LIST_EMPTY(occupants_by_key) continue if(G.slot) if(human.equip_to_slot_or_del(G.spawn_item(human, save_to_load.get_gear_metadata(G)), G.slot, TRUE)) - to_chat(human, "Equipping you with [G.display_name]!") + to_chat(human, SPAN_NOTICE("Equipping you with [G.display_name]!")) else human.equip_or_collect(G.spawn_item(null, save_to_load.get_gear_metadata(G))) @@ -100,7 +100,7 @@ GLOBAL_LIST_EMPTY(occupants_by_key) if(mob_to_delete.client) if(tgui_alert(mob_to_delete, "Would you like to return to the realm of spirits? (This will delete your current character, but you can rejoin later)", "Ghost Bar", list("Yes", "No")) != "Yes") return - mob_to_delete.visible_message("[mob_to_delete.name] climbs into [src]...") + mob_to_delete.visible_message(SPAN_NOTICE("[mob_to_delete.name] climbs into [src]...")) playsound(src, 'sound/machines/wooden_closet_close.ogg', 50) qdel(mob_to_delete) diff --git a/code/modules/ruins/lavalandruin_code/ash_walker_den.dm b/code/modules/ruins/lavalandruin_code/ash_walker_den.dm index 08cc73c360a..38df29ba503 100644 --- a/code/modules/ruins/lavalandruin_code/ash_walker_den.dm +++ b/code/modules/ruins/lavalandruin_code/ash_walker_den.dm @@ -35,7 +35,7 @@ /obj/structure/lavaland/ash_walker/proc/consume() for(var/mob/living/H in view(src, 1)) //Only for corpse right next to/on same tile if(H.stat) - 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, 1) for(var/obj/item/W in H) if(!H.drop_item_to_ground(W)) @@ -50,7 +50,7 @@ /obj/structure/lavaland/ash_walker/proc/spawn_mob() if(meat_counter >= ASH_WALKER_SPAWN_THRESHOLD) new /obj/effect/mob_spawn/human/alive/ash_walker(get_step(loc, pick(GLOB.alldirs))) - 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 /obj/effect/mob_spawn/human/alive/ash_walker @@ -75,7 +75,7 @@ /obj/effect/mob_spawn/human/alive/ash_walker/special(mob/living/carbon/human/new_spawn) to_chat(new_spawn, "Drag the corpses of men and beasts to your nest. It will absorb them to create more of your kind. Glory to the Necropolis!") - to_chat(new_spawn, "For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Ash_Walker)") + to_chat(new_spawn, SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Ash_Walker)")) /obj/effect/mob_spawn/human/alive/ash_walker/New() . = ..() diff --git a/code/modules/ruins/lavalandruin_code/dead_ratvar.dm b/code/modules/ruins/lavalandruin_code/dead_ratvar.dm index 8941dc36fe3..012b05d36d2 100644 --- a/code/modules/ruins/lavalandruin_code/dead_ratvar.dm +++ b/code/modules/ruins/lavalandruin_code/dead_ratvar.dm @@ -77,7 +77,7 @@ /obj/structure/clockwork/wall_gear/screwdriver_act(mob/user, obj/item/I) . = TRUE if(anchored) - to_chat(user, "[src] needs to be unsecured to disassemble it!") + to_chat(user, SPAN_WARNING("[src] needs to be unsecured to disassemble it!")) return if(!I.tool_use_check(user, 0)) return @@ -97,19 +97,19 @@ if(istype(I, /obj/item/stack/tile/brass)) var/obj/item/stack/tile/brass/W = I if(W.get_amount() < 1) - to_chat(user, "You need one brass sheet to do this!") + to_chat(user, SPAN_WARNING("You need one brass sheet to do this!")) return var/turf/T = get_turf(src) if(iswallturf(T)) - to_chat(user, "There is already a wall present!") + to_chat(user, SPAN_WARNING("There is already a wall present!")) return if(!isfloorturf(T)) - to_chat(user, "A floor must be present to build a [anchored ? "false ":""]wall!") + to_chat(user, SPAN_WARNING("A floor must be present to build a [anchored ? "false ":""]wall!")) return if(locate(/obj/structure/falsewall) in T.contents) - to_chat(user, "There is already a false wall present!") + to_chat(user, SPAN_WARNING("There is already a false wall present!")) return - to_chat(user, "You start adding [W] to [src]...") + to_chat(user, SPAN_NOTICE("You start adding [W] to [src]...")) if(do_after(user, 20, target = src)) var/brass_floor = FALSE if(istype(T, /turf/simulated/floor/clockwork)) //if the floor is already brass, costs less to make(conservation of masssssss) @@ -122,7 +122,7 @@ new /obj/structure/falsewall/brass(T) qdel(src) else - to_chat(user, "You need more brass to make a [anchored ? "false ":""]wall!") + to_chat(user, SPAN_WARNING("You need more brass to make a [anchored ? "false ":""]wall!")) return return ..() diff --git a/code/modules/ruins/lavalandruin_code/fountain_hall.dm b/code/modules/ruins/lavalandruin_code/fountain_hall.dm index e5a8d57d4bf..02feeb618b5 100644 --- a/code/modules/ruins/lavalandruin_code/fountain_hall.dm +++ b/code/modules/ruins/lavalandruin_code/fountain_hall.dm @@ -14,7 +14,7 @@ var/mob/living/L = locate() in buckled_mobs if(!L) return - to_chat(user, "You attempt to sacrifice [L] by invoking the sacrificial ritual.") + to_chat(user, SPAN_NOTICE("You attempt to sacrifice [L] by invoking the sacrificial ritual.")) L.gib() message_admins("[ADMIN_LOOKUPFLW(user)] has sacrificed [key_name_admin(L)] on the sacrificial altar at [AREACOORD(src)].") @@ -33,10 +33,10 @@ if(.) return if(last_process + time_between_uses > world.time) - to_chat(user, "The fountain appears to be empty.") + to_chat(user, SPAN_NOTICE("The fountain appears to be empty.")) return last_process = world.time - to_chat(user, "The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards.") + to_chat(user, SPAN_NOTICE("The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards.")) user.reagents.add_reagent("godblood", 20) update_icon(UPDATE_ICON_STATE) addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), time_between_uses) diff --git a/code/modules/ruins/lavalandruin_code/puzzle.dm b/code/modules/ruins/lavalandruin_code/puzzle.dm index 3371293e59e..f47b401abd1 100644 --- a/code/modules/ruins/lavalandruin_code/puzzle.dm +++ b/code/modules/ruins/lavalandruin_code/puzzle.dm @@ -278,7 +278,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) . = ..() @@ -310,12 +310,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 unconscious prisoners.") + to_chat(user,SPAN_NOTICE("[src] only accepts restrained or unconscious prisoners.")) /proc/puzzle_imprison(mob/living/prisoner) var/turf/T = get_turf(prisoner) @@ -327,7 +327,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/lavalandruin_code/sin_ruins.dm b/code/modules/ruins/lavalandruin_code/sin_ruins.dm index 0e527ca4cf8..ab342489e11 100644 --- a/code/modules/ruins/lavalandruin_code/sin_ruins.dm +++ b/code/modules/ruins/lavalandruin_code/sin_ruins.dm @@ -41,8 +41,8 @@ return 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 know it'll be worth it.") + SPAN_WARNING("[user] pulls [src]'s lever with a glint in [user.p_their()] eyes!"), + SPAN_WARNING("You feel a draining as you pull the lever, but you know it'll be worth it.")) icon_screen = "slots_screen_working" update_appearance() @@ -58,13 +58,13 @@ /// Validates that the user can use the cursed slot machine. User is the person using the slot machine. Returns TRUE if we can, FALSE otherwise. /obj/structure/cursed_slot_machine/proc/check_and_set_usage(mob/living/carbon/human/user) if(in_active_use) - to_chat(user, "The machine is already spinning!") + to_chat(user, SPAN_WARNING("The machine is already spinning!")) return FALSE var/signal_value = SEND_SIGNAL(user, COMSIG_CURSED_SLOT_MACHINE_USE, max_curse_amount) if(!COOLDOWN_FINISHED(src, spin_cooldown) || (signal_value & SLOT_MACHINE_USE_POSTPONE)) - to_chat(user, "The machine doesn't engage. You get the compulsion to try again in a few seconds.") + to_chat(user, SPAN_DANGER("The machine doesn't engage. You get the compulsion to try again in a few seconds.")) return FALSE if(signal_value & SLOT_MACHINE_USE_CANCEL) // failsafe in case we don't want to let the machine be used for some reason (like if we're maxed out on curses but not getting gibbed) @@ -92,7 +92,7 @@ playsound(src, 'sound/lavaland/cursed_slot_machine_jackpot.ogg', 50, FALSE) new prize(get_turf(src)) if(user) - to_chat(user, "You've hit the jackpot!!! Laughter echoes around you as your reward appears in the machine's place.") + to_chat(user, SPAN_BOLDWARNING("You've hit the jackpot!!! Laughter echoes around you as your reward appears in the machine's place.")) SEND_GLOBAL_SIGNAL(COMSIG_GLOB_CURSED_SLOT_MACHINE_WON) qdel(src) @@ -120,7 +120,7 @@ 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) @@ -142,10 +142,10 @@ if(ishuman(mover)) var/mob/living/carbon/human/H = mover if(H.nutrition >= NUTRITION_LEVEL_FAT || HAS_TRAIT(H, TRAIT_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(ismorph(mover)) return TRUE else @@ -158,15 +158,15 @@ desc = "Pride cometh before the..." /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) if(!user.Adjacent(src)) // Trying to escape? var/turf/return_turf = locate(x, y - 1, z) // To the south one to account for the fact the mirror is on a wall var/mob/living/carbon/human/fool = user if(return_turf && fool) - to_chat(fool, "You dare try to play me for a fool?") + to_chat(fool, SPAN_COLOSSUS("You dare try to play me for a fool?")) fool.monkeyize() fool.forceMove(return_turf) return @@ -197,8 +197,8 @@ if(user.real_name != H.dna.real_name) user.real_name = H.dna.real_name H.dna.transfer_identity(user) - 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_BOLDANNOUNCEIC("[H.p_they(TRUE)] think[H.p_s()] [H.p_theyre()] sooo much better than you. Not anymore, [H.p_they()] won't.")) // Sloth /obj/item/paper/fluff/stations/lavaland/sloth/note diff --git a/code/modules/ruins/objects_and_mobs/gym.dm b/code/modules/ruins/objects_and_mobs/gym.dm index 60ee4e5f8d3..4b3ce6e59bb 100644 --- a/code/modules/ruins/objects_and_mobs/gym.dm +++ b/code/modules/ruins/objects_and_mobs/gym.dm @@ -80,7 +80,7 @@ if(!I.tool_use_check(user, 0)) return if(in_use) - to_chat(user, "It's currently in use - wait a bit.") + to_chat(user, SPAN_WARNING("It's currently in use - wait a bit.")) return else WELDER_ATTEMPT_SLICING_MESSAGE diff --git a/code/modules/ruins/objects_and_mobs/id_upgrader.dm b/code/modules/ruins/objects_and_mobs/id_upgrader.dm index 3e83f63434f..a73aff6ab81 100644 --- a/code/modules/ruins/objects_and_mobs/id_upgrader.dm +++ b/code/modules/ruins/objects_and_mobs/id_upgrader.dm @@ -12,7 +12,7 @@ if(istype(used, /obj/item/card/id)) var/obj/item/card/id/D = used if(!length(access_to_give)) - to_chat(user, "This machine appears to be configured incorrectly.") + to_chat(user, SPAN_NOTICE("This machine appears to be configured incorrectly.")) return ITEM_INTERACT_COMPLETE var/did_upgrade = FALSE @@ -25,9 +25,9 @@ did_upgrade = TRUE if(did_upgrade) - to_chat(user, "An access type was added to your ID card.") + to_chat(user, SPAN_NOTICE("An access type was added to your ID card.")) else - to_chat(user, "Your ID card already has all the access this machine can give.") + to_chat(user, SPAN_NOTICE("Your ID card already has all the access this machine can give.")) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm index af173186dcc..20743097684 100644 --- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm @@ -89,7 +89,7 @@ /obj/structure/necropolis_gate/attack_hand(mob/user) . = ..() if(locked) - to_chat(user, "It's [open ? "stuck open" : "locked"].") + to_chat(user, SPAN_BOLDANNOUNCEIC("It's [open ? "stuck open" : "locked"].")) return if(GLOB.necropolis_gate == src) //funny override for knock knock gate @@ -107,7 +107,7 @@ if(open) new /obj/effect/temp_visual/necropolis(T) - visible_message("The door slams closed!") + visible_message(SPAN_BOLDWARNING("The door slams closed!")) playsound(T, 'sound/effects/stonedoor_openclose.ogg', 300, TRUE, frequency = 80000) density = TRUE var/turf/sight_blocker_turf = get_turf(src) @@ -124,7 +124,7 @@ cut_overlay(door_overlay) new /obj/effect/temp_visual/necropolis/open(T) - 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) addtimer(CALLBACK(src, PROC_REF(toggle_closed_delayed_step)), 2.2 SECONDS, TIMER_UNIQUE) return TRUE @@ -164,7 +164,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 || 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_BOLDANNOUNCEIC("You tentatively knock on [src]...")) playsound(user.loc, 'sound/effects/shieldbash.ogg', 100, 1) return ..() @@ -174,14 +174,14 @@ 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!")) message_admins("[user ? ADMIN_LOOKUPFLW(user) : "Unknown"] has released Legion!") log_game("[user ? key_name(user) : "Unknown"] released Legion.") var/sound/legion_sound = sound('sound/creatures/legion_spawn.ogg') for(var/mob/M in GLOB.player_list) if(M.z == z && M.client) - 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) M.flash_screen_color("#FF0000", 5 SECONDS) var/mutable_appearance/release_overlay = mutable_appearance('icons/effects/effects.dmi', "legiondoor") diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index e2ca41871b4..e09a0ca6557 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -40,7 +40,7 @@ /obj/machinery/keycard_auth/attack_ai(mob/user) - to_chat(user, "The station AI is not to interact with these devices.") + to_chat(user, SPAN_WARNING("The station AI is not to interact with these devices.")) return /obj/machinery/keycard_auth/item_interaction(mob/living/user, obj/item/used, list/modifiers) @@ -49,10 +49,10 @@ return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/card/id) || istype(used, /obj/item/pda)) if(!check_access(used)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return ITEM_INTERACT_COMPLETE if(user == event_source?.triggered_by) - to_chat(user, "Identical body-signature detected. Access denied.") + to_chat(user, SPAN_WARNING("Identical body-signature detected. Access denied.")) return ITEM_INTERACT_COMPLETE if(active) //This is not the device that made the initial request. It is the device confirming the request. @@ -66,7 +66,7 @@ return ITEM_INTERACT_COMPLETE if(swiping) if(event == "Emergency Response Team" && !ert_reason) - to_chat(user, "Supply a reason for calling the ERT first!") + to_chat(user, SPAN_WARNING("Supply a reason for calling the ERT first!")) return ITEM_INTERACT_COMPLETE triggered_by = user SStgui.update_uis(src) @@ -113,10 +113,10 @@ if(..()) return if(busy) - to_chat(usr, "This device is busy.") + to_chat(usr, SPAN_WARNING("This device is busy.")) return if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_WARNING("Access denied.")) return . = TRUE switch(action) diff --git a/code/modules/server_commands/commands/newroundannounce.dm b/code/modules/server_commands/commands/newroundannounce.dm index b1b645d649a..d786b164523 100644 --- a/code/modules/server_commands/commands/newroundannounce.dm +++ b/code/modules/server_commands/commands/newroundannounce.dm @@ -8,7 +8,7 @@ var/startup_msg = "The server [server_name] ([source]) is now starting up. The map is [map_fluff] ([map_name]). You can connect with the Switch Server verb." - to_chat(world, "
Attention

[startup_msg]
") + to_chat(world, "
[SPAN_BOLDANNOUNCEOOC("Attention")]

[startup_msg]
") SEND_SOUND(world, sound('sound/misc/notice2.ogg')) // Same as captains priority announce /datum/server_command/new_round_announce/custom_dispatch(sname, mname, mfluff) diff --git a/code/modules/shuttle/dock_generator.dm b/code/modules/shuttle/dock_generator.dm index c020b71e8af..35b04598c0d 100644 --- a/code/modules/shuttle/dock_generator.dm +++ b/code/modules/shuttle/dock_generator.dm @@ -14,8 +14,8 @@ . = ..() var/count = max_docks - length(placed_docks) var/plural = count > 1 - . += "There [plural ? "are" : "is"] [count] use[plural ? "s" : ""] left." - . += "Alt-Click to call the ship to an existing docking area." + . += SPAN_NOTICE("There [plural ? "are" : "is"] [count] use[plural ? "s" : ""] left.") + . += SPAN_NOTICE("Alt-Click to call the ship to an existing docking area.") /obj/item/whiteship_port_generator/activate_self(mob/user) . = FINISH_ATTACK @@ -25,17 +25,17 @@ if(is_station_level(user.z)) log_admin("[key_name(user)] attempted to create a whiteship dock in the station's sector at [COORD(user)].") - to_chat(user, "New docking areas cannot be designated within the station's sector!") + to_chat(user, SPAN_NOTICE("New docking areas cannot be designated within the station's sector!")) return if(is_admin_level(user.z)) log_admin("[key_name(user)] attempted to create a whiteship dock on Centcomm level at [COORD(user)].") - to_chat(user, "New docking areas cannot be designated in this sector!") + to_chat(user, SPAN_NOTICE("New docking areas cannot be designated in this sector!")) return if(is_mining_level(user.z)) log_admin("[key_name(user)] attempted to create a whiteship dock on Lavaland at [COORD(user)].") - to_chat(user, "New docking areas cannot be designated planet side!") + to_chat(user, SPAN_NOTICE("New docking areas cannot be designated planet side!")) return var/list/docks_per_z = list() @@ -45,13 +45,13 @@ docks_per_z["[placed_dock.z]"]++ if(docks_per_z["[user.z]"] >= 3) - to_chat(user, "This sector cannot support any more docking areas!") + to_chat(user, SPAN_NOTICE("This sector cannot support any more docking areas!")) return var/list/dir_choices = list("North" = NORTH, "East" = EAST, "South" = SOUTH, "West" = WEST) var/dir_choice = tgui_input_list(user, "Select the new docking area orientation.", "Dock Orientation", dir_choices) if(!dir_choice) - to_chat(user, "Docking placement cancelled.") + to_chat(user, SPAN_NOTICE("Docking placement cancelled.")) return var/dest_dir = dir_choices[dir_choice] @@ -71,23 +71,23 @@ max_x = max_x < 0 ? T.x : max(max_x, T.x) max_y = max_y < 0 ? T.y : max(max_y, T.y) if(!isspaceturf(T)) - to_chat(user, "Obstruction found in docking space area, aborting!") + to_chat(user, SPAN_NOTICE("Obstruction found in docking space area, aborting!")) qdel(port, force = TRUE) return for(var/obj/O in T.contents) if(O == port) continue else - to_chat(user, "Objects found in docking space area, aborting!") + to_chat(user, SPAN_NOTICE("Objects found in docking space area, aborting!")) qdel(port, force = TRUE) return if(min_x <= TRANSITION_BORDER_WEST + 1 || max_x >= TRANSITION_BORDER_EAST - 1) - to_chat(user, "Docking space area too close to edge of sector, aborting!") + to_chat(user, SPAN_NOTICE("Docking space area too close to edge of sector, aborting!")) qdel(port, force = TRUE) return if(min_y <= TRANSITION_BORDER_SOUTH + 1 || max_y >= TRANSITION_BORDER_NORTH - 1) - to_chat(user, "Docking space area too close to edge of sector, aborting!") + to_chat(user, SPAN_NOTICE("Docking space area too close to edge of sector, aborting!")) qdel(port, force = TRUE) return @@ -99,7 +99,7 @@ max_length = 20 ) if(!name) - to_chat(user, "Docking placement cancelled.") + to_chat(user, SPAN_NOTICE("Docking placement cancelled.")) qdel(port, force = TRUE) return @@ -116,7 +116,7 @@ possible_destinations = S.possible_destinations log_admin("[key_name(user)] created a whiteship dock named '[name]' at [COORD(port)].") - to_chat(user, "Landing zone set.") + to_chat(user, SPAN_NOTICE("Landing zone set.")) /obj/item/whiteship_port_generator/AltClick(mob/user, modifiers) for(var/obj/machinery/computer/shuttle/white_ship/S in SSmachines.get_by_type(/obj/machinery/computer/shuttle/white_ship)) @@ -162,13 +162,13 @@ if(..()) //we can't actually interact, so no action return TRUE if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_DANGER("Access denied.")) return TRUE var/list/options = params2list(possible_destinations) if(action == "move") var/destination = params["move"] if(!options.Find(destination))//figure out if this translation works - message_admins("EXPLOIT: [ADMIN_LOOKUPFLW(usr)] attempted to move [src] to an invalid location! [ADMIN_COORDJMP(src)]") + message_admins("[SPAN_BOLDANNOUNCEOOC("EXPLOIT:")] [ADMIN_LOOKUPFLW(usr)] attempted to move [src] to an invalid location! [ADMIN_COORDJMP(src)]") return switch(SSshuttle.moveShuttle(shuttleId, destination, TRUE, usr)) if(0) @@ -177,9 +177,9 @@ add_fingerprint(usr) return TRUE if(1) - to_chat(usr, "Invalid shuttle requested.") + to_chat(usr, SPAN_WARNING("Invalid shuttle requested.")) if(2) - to_chat(usr, "Unable to comply.") + to_chat(usr, SPAN_NOTICE("Unable to comply.")) if(3) atom_say("Shuttle is regenerating fuel. Please wait...") if(4) diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index e8326fe610a..e75c06dd89c 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -31,10 +31,10 @@ if(hijack_announce) . += "Security systems present on console. Any unauthorized tampering will result in an emergency announcement, and a fee of 20000 credits." 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 [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_DANGER("It will take you [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/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(stat & (BROKEN|NOPOWER)) @@ -161,7 +161,7 @@ update_icon() AI.cancel_camera() AI.can_shunt = FALSE //ONE AI ENTERS. NO AI LEAVES. - to_chat(AI, "You are now loaded into the shuttle computer. Make sure command does not wipe you from it, there is no going back...") + to_chat(AI, SPAN_USERDANGER("You are now loaded into the shuttle computer. Make sure command does not wipe you from it, there is no going back...")) SSshuttle.emergency.aihacked = TRUE authorized.Cut() //In case command was already swiping to early launch or something @@ -198,11 +198,11 @@ if(!ishuman(user) && !is_ai) //No, xenomorphs, constructs and traitors in cyborgs can not hack it. return if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - to_chat(user, "You need your hands free before you can manipulate [src].") + to_chat(user, SPAN_WARNING("You need your hands free before you can manipulate [src].")) return var/speed = user.mind?.get_hijack_speed() if(!speed) - to_chat(user, "You manage to open a user-mode shell on [src], and hundreds of lines of debugging output fly through your vision. It is probably best to leave this alone.") + to_chat(user, SPAN_WARNING("You manage to open a user-mode shell on [src], and hundreds of lines of debugging output fly through your vision. It is probably best to leave this alone.")) return if(is_ai && isnull(windows_33_exe)) var/mob/living/silicon/ai/AI = user @@ -215,13 +215,13 @@ if(hijack_hacking) 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) atom_say("ACCESS DENIED: Console is temporarily on security lockdown. Please try again.") 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_USERDANGER("You [SSshuttle.emergency.hijack_status == NOT_BEGUN ? "begin" : "continue"] to override [src]'s navigational protocols.")) atom_say("Software override initiated.") playsound(src, 'sound/machines/terminal_on.ogg', 100, FALSE) var/turf/console_hijack_turf = get_turf(src) @@ -233,8 +233,8 @@ message_admins("[ADMIN_LOOKUPFLW(user)] has hijacked [src] in [ADMIN_VERBOSEJMP(console_hijack_turf)]. Hijack stage increased to stage [SSshuttle.emergency.hijack_status] out of [HIJACKED].") log_game("[key_name(usr)] has hijacked [src]. Hijack stage increased to stage [SSshuttle.emergency.hijack_status] out of [HIJACKED].") . = TRUE - to_chat(user, "You fiddle with [src]'s programming and manage to get a foothold, looks like it'll take [hijack_stage_cooldown / 10] seconds before you can try again!") - visible_message("[user.name] appears to be tampering with [src].") + to_chat(user, SPAN_NOTICE("You fiddle with [src]'s programming and manage to get a foothold, looks like it'll take [hijack_stage_cooldown / 10] seconds before you can try again!")) + visible_message(SPAN_DANGER("[user.name] appears to be tampering with [src].")) hijack_hacking = FALSE /obj/machinery/computer/emergency_shuttle/proc/announce_hijack_stage() @@ -264,7 +264,7 @@ /obj/machinery/computer/emergency_shuttle/proc/announce_here(a_header = "Emergency Shuttle", a_text = "") - var/msg_text = "[a_header]
[a_text]
" + var/msg_text = "[a_header]
[SPAN_ROBOT("[a_text]
")]" for(var/mob/R in range(35, src)) //Normal escape shutttle is 30 tiles from console to bottom. Extra range for if we ever get a bigger shuttle. Would do in shuttle area, doesn't account for mechs and such, to_chat(R, msg_text) SEND_SOUND(R, sound('sound/misc/notice1.ogg')) diff --git a/code/modules/shuttle/lance_docking_targeter.dm b/code/modules/shuttle/lance_docking_targeter.dm index 3dcfc28bfe2..b1292c68fe5 100644 --- a/code/modules/shuttle/lance_docking_targeter.dm +++ b/code/modules/shuttle/lance_docking_targeter.dm @@ -16,7 +16,7 @@ /obj/item/lance_docking_generator/emag_act(mob/user) if(!emagged) emagged = TRUE - to_chat(user, "You emag [src], removing its docking safeties.") + to_chat(user, SPAN_NOTICE("You emag [src], removing its docking safeties.")) var/turf/T = get_turf(src) do_sparks(5, FALSE, T) playsound(T, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) @@ -24,7 +24,7 @@ /obj/item/lance_docking_generator/attack_self__legacy__attackchain(mob/living/user) if(!is_station_level(user.z)) - to_chat(user, "You'll want this to dock on the station.") + to_chat(user, SPAN_WARNING("You'll want this to dock on the station.")) return var/list/dir_choices = list("North" = NORTH, "East" = EAST, "South" = SOUTH, "West" = WEST) var/dir_choice = tgui_input_list(user, "Which direction should the shuttle approach from?", "Dock Orientation", dir_choices) @@ -49,16 +49,16 @@ max_y = max_y < 0 ? T.y : max(max_y, T.y) for(var/obj/O in T.contents) if((istype(O, /obj/machinery/atmospherics/supermatter_crystal) || istype(O, /obj/singularity)) && !emagged) - to_chat(user, "Dangerous landing conditions, aborting!") + to_chat(user, SPAN_WARNING("Dangerous landing conditions, aborting!")) qdel(port, force = TRUE) return if(min_x <= TRANSITION_BORDER_WEST + 1 || max_x >= TRANSITION_BORDER_EAST - 1) - to_chat(user, "Docking space area too close to edge of sector, aborting!") + to_chat(user, SPAN_WARNING("Docking space area too close to edge of sector, aborting!")) qdel(port, force = TRUE) return if(min_y <= TRANSITION_BORDER_SOUTH + 1 || max_y >= TRANSITION_BORDER_NORTH - 1) - to_chat(user, "Docking space area too close to edge of sector, aborting!") + to_chat(user, SPAN_WARNING("Docking space area too close to edge of sector, aborting!")) qdel(port, force = TRUE) return var/list/L2 = list() @@ -74,13 +74,13 @@ for(var/turf/BT in L2) for(var/obj/Ohno in BT.contents) if((istype(Ohno, /obj/machinery/atmospherics/supermatter_crystal) || istype(Ohno, /obj/singularity)) && !emagged) - to_chat(user, "Dangerous landing conditions, aborting!") + to_chat(user, SPAN_WARNING("Dangerous landing conditions, aborting!")) qdel(port, force = TRUE) return port.register() log_admin("[key_name(user)] created the lance docking location at [COORD(port)].") - to_chat(user, "Landing zone set. The signaller vanishes!") + to_chat(user, SPAN_NOTICE("Landing zone set. The signaller vanishes!")) new /obj/structure/lance_beacon(get_turf(src)) qdel(src) diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm index 83050ab1d16..e585e284378 100644 --- a/code/modules/shuttle/navigation_computer.dm +++ b/code/modules/shuttle/navigation_computer.dm @@ -37,7 +37,7 @@ /obj/machinery/computer/camera_advanced/shuttle_docker/attack_hand(mob/user) if(!shuttle_port && !SSshuttle.getShuttle(shuttleId)) - to_chat(user,"Warning: Shuttle connection severed!") + to_chat(user,SPAN_WARNING("Warning: Shuttle connection severed!")) return return ..() @@ -108,23 +108,23 @@ var/mob/camera/eye/shuttle_docker/the_eye = eyeobj var/landing_clear = check_landing_spot() 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, FALSE, designating_target_loc, TRUE, CALLBACK(src, PROC_REF(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 = check_landing_spot() 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 if(!my_port) @@ -155,7 +155,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 /obj/machinery/computer/camera_advanced/shuttle_docker/proc/canDesignateTarget() @@ -311,6 +311,6 @@ if(T) playsound(console, 'sound/machines/terminal_prompt_confirm.ogg', 25, 0) remote_eye.set_loc(T) - to_chat(target, "Jumped to [selected]") + to_chat(target, SPAN_NOTICE("Jumped to [selected]")) else playsound(console, 'sound/machines/terminal_prompt_deny.ogg', 25, 0) diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 3d6d4cd4ff3..3a18d54aad3 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -1056,7 +1056,7 @@ if(..()) //we can't actually interact, so no action return TRUE if(!allowed(usr)) - to_chat(usr, "Access denied.") + to_chat(usr, SPAN_DANGER("Access denied.")) return TRUE if(!can_call_shuttle(usr, action)) return TRUE @@ -1064,7 +1064,7 @@ if(action == "move") var/destination = params["move"] if(!options.Find(destination))//figure out if this translation works - message_admins("EXPLOIT: [ADMIN_LOOKUPFLW(usr)] attempted to move [src] to an invalid location! [ADMIN_COORDJMP(src)]") + message_admins("[SPAN_BOLDANNOUNCEOOC("EXPLOIT:")] [ADMIN_LOOKUPFLW(usr)] attempted to move [src] to an invalid location! [ADMIN_COORDJMP(src)]") return switch(SSshuttle.moveShuttle(shuttleId, destination, TRUE, usr)) if(0) @@ -1075,9 +1075,9 @@ add_fingerprint(usr) return TRUE if(1) - to_chat(usr, "Invalid shuttle requested.") + to_chat(usr, SPAN_WARNING("Invalid shuttle requested.")) if(2) - to_chat(usr, "Unable to comply.") + to_chat(usr, SPAN_NOTICE("Unable to comply.")) if(3) atom_say("Shuttle is refuelling at dock. Please wait...") if(4) @@ -1089,7 +1089,7 @@ if(!emagged) src.req_access = list() emagged = TRUE - to_chat(user, "You fried the consoles ID checking system.") + to_chat(user, SPAN_NOTICE("You fried the consoles ID checking system.")) return TRUE //for restricting when the computer can be used, needed for some console subtypes. @@ -1118,7 +1118,7 @@ if(world.time < next_request) return next_request = world.time + 60 SECONDS //1 minute cooldown - to_chat(usr, "Your request has been received by Centcom.") + to_chat(usr, SPAN_NOTICE("Your request has been received by Centcom.")) log_admin("[key_name(usr)] requested to move the transport ferry to Centcom.") message_admins("FERRY: [key_name_admin(usr)] (Move Ferry) is requesting to move the transport ferry to Centcom.") return TRUE diff --git a/code/modules/shuttle/shuttle_manipulator.dm b/code/modules/shuttle/shuttle_manipulator.dm index b1f19b8abd7..7b12e5356e1 100644 --- a/code/modules/shuttle/shuttle_manipulator.dm +++ b/code/modules/shuttle/shuttle_manipulator.dm @@ -141,7 +141,7 @@ if(..()) return if(shuttle_and_preview_cooldown > world.time) - to_chat(usr, "Please wait until the desired shuttle has finished being loaded.") + to_chat(usr, SPAN_WARNING("Please wait until the desired shuttle has finished being loaded.")) return . = TRUE diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index c0273af46ca..c1efc99d857 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -321,11 +321,11 @@ credit_changes[item.account] += item.credits if(item.credits > 0) - msg += "[item.account.account_name] +[item.credits]: [item.reason]
" + msg += "[SPAN_GOOD("[item.account.account_name] +[item.credits]")]: [item.reason]
" else if(item.credits == 0) msg += "[item.account.account_name] Notice: [item.reason]
" else - msg += "[item.account.account_name] [item.credits]: [item.reason]
" + msg += "[SPAN_BAD("[item.account.account_name] [item.credits]")]: [item.reason]
" if(item.requests_console_department) if(!department_messages[item.requests_console_department]) diff --git a/code/modules/shuttle/syndicate_shuttles.dm b/code/modules/shuttle/syndicate_shuttles.dm index f5eb52e912e..485088dbc32 100644 --- a/code/modules/shuttle/syndicate_shuttles.dm +++ b/code/modules/shuttle/syndicate_shuttles.dm @@ -23,7 +23,7 @@ var/time_to_go = max(SYNDICATE_CHALLENGE_TIMER, (challenge_time + 10 MINUTES)) if(action == "move") if(challenge && world.time < time_to_go) - to_chat(user, "You've issued a combat challenge to the station! You've got to give them at least [round(((time_to_go - world.time) / 10) / 60)] more minutes 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 [round(((time_to_go - world.time) / 10) / 60)] more minutes to allow them to prepare.")) return FALSE return TRUE @@ -39,7 +39,7 @@ /obj/machinery/computer/shuttle/syndicate/drop_pod/can_call_shuttle(user, action) if(action == "move") if(z != level_name_to_num(CENTCOMM)) - to_chat(user, "Pods are one way!") + to_chat(user, SPAN_WARNING("Pods are one way!")) return FALSE return ..() diff --git a/code/modules/smithing/machinery/casting_basin.dm b/code/modules/smithing/machinery/casting_basin.dm index 79decfff418..9677b54d583 100644 --- a/code/modules/smithing/machinery/casting_basin.dm +++ b/code/modules/smithing/machinery/casting_basin.dm @@ -37,32 +37,32 @@ /obj/machinery/smithing/casting_basin/examine(mob/user) . = ..() if(cast) - . += "You can activate the machine with your hand, or remove the cast by alt-clicking." - . += "There is a [cast] in the cast slot." - . += "Currently set to produce: [cast.selected_product.name]" + . += SPAN_NOTICE("You can activate the machine with your hand, or remove the cast by alt-clicking.") + . += SPAN_NOTICE("There is a [cast] in the cast slot.") + . += SPAN_NOTICE("Currently set to produce: [cast.selected_product.name]") if(istype(cast, /obj/item/smithing_cast/component) && !produced_item) var/obj/item/temp_product = new cast.selected_product(src) // This is necessary due to selected_product being a type var/obj/item/smithing_cast/component/comp_cast = cast var/datum/smith_quality/quality = new comp_cast.quality - . += "Required Resources:" + . += SPAN_NOTICE("Required Resources:") var/MAT // Get the materials the item needs and display for(MAT in temp_product.materials) - . += " - [MAT]: [ROUND_UP(((temp_product.materials[MAT] * quality.material_mult) * efficiency) / MINERAL_MATERIAL_AMOUNT)] sheets." + . += SPAN_NOTICE(" - [MAT]: [ROUND_UP(((temp_product.materials[MAT] * quality.material_mult) * efficiency) / MINERAL_MATERIAL_AMOUNT)] sheets.") // Get rid of the temp product qdel(temp_product) else if(istype(cast, /obj/item/smithing_cast/misc) && !produced_item) var/obj/item/temp_product = new cast.selected_product(src) // This is necessary due to selected_product being a type - . += "Required Resources:" + . += SPAN_NOTICE("Required Resources:") var/MAT // Get the materials the item needs and display for(MAT in temp_product.materials) - . += " - [MAT]: [ROUND_UP((temp_product.materials[MAT] * efficiency) / MINERAL_MATERIAL_AMOUNT)] sheets." + . += SPAN_NOTICE(" - [MAT]: [ROUND_UP((temp_product.materials[MAT] * efficiency) / MINERAL_MATERIAL_AMOUNT)] sheets.") // Get rid of the temp product qdel(temp_product) if(produced_item) - . += "There is a [produced_item] in the machine. You can pick it up with your hand." + . += SPAN_NOTICE("There is a [produced_item] in the machine. You can pick it up with your hand.") /obj/machinery/smithing/casting_basin/RefreshParts() var/operation_mult = 0 @@ -112,25 +112,25 @@ if(panel_open) var/obj/item/multitool/multi = I if(!istype(multi.buffer, /obj/machinery/magma_crucible)) - to_chat(user, "You cannot link [src] to [multi.buffer]!") + to_chat(user, SPAN_NOTICE("You cannot link [src] to [multi.buffer]!")) return linked_crucible = multi.buffer linked_crucible.linked_machines |= src - to_chat(user, "You link [src] to [multi.buffer].") + to_chat(user, SPAN_NOTICE("You link [src] to [multi.buffer].")) /obj/machinery/smithing/casting_basin/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(!istype(used, /obj/item/smithing_cast)) - to_chat(user, "[used] does not fit in [src]'s cast slot.") + to_chat(user, SPAN_WARNING("[used] does not fit in [src]'s cast slot.")) return if(used.flags & NODROP || !user.transfer_item_to(used, src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE if(cast) user.put_in_active_hand(cast) - to_chat(user, "You swap [used] with [cast] in [src].") + to_chat(user, SPAN_NOTICE("You swap [used] with [cast] in [src].")) else - to_chat(user, "You insert [used] into [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into [src].")) cast = used update_icon(UPDATE_OVERLAYS) return ITEM_INTERACT_COMPLETE @@ -139,18 +139,18 @@ if(!Adjacent(user)) return if(!we_are_open) - to_chat(user, "You open [src].") + to_chat(user, SPAN_NOTICE("You open [src].")) we_are_open = TRUE update_icon(UPDATE_OVERLAYS) return if(produced_item) - to_chat(user, "Remove the item first!") + to_chat(user, SPAN_WARNING("Remove the item first!")) return if(!cast) - to_chat(user, "There is no cast to remove.") + to_chat(user, SPAN_WARNING("There is no cast to remove.")) return if(operating) - to_chat(user, "[src] is currently operating!") + to_chat(user, SPAN_WARNING("[src] is currently operating!")) return user.put_in_hands(cast) cast = null @@ -158,7 +158,7 @@ /obj/machinery/smithing/casting_basin/attack_hand(mob/user) if(!we_are_open) - to_chat(user, "You open [src].") + to_chat(user, SPAN_NOTICE("You open [src].")) we_are_open = TRUE update_icon(UPDATE_OVERLAYS) return FINISH_ATTACK @@ -174,16 +174,16 @@ update_icon(UPDATE_OVERLAYS) return FINISH_ATTACK if(!allowed(user) && !isobserver(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return FINISH_ATTACK if(!cast) - to_chat(user, "There is no cast inserted!") + to_chat(user, SPAN_WARNING("There is no cast inserted!")) return FINISH_ATTACK if(!linked_crucible) - to_chat(user, "There is no linked magma crucible!") + to_chat(user, SPAN_WARNING("There is no linked magma crucible!")) return FINISH_ATTACK if(operating) - to_chat(user, "[src] is currently operating!") + to_chat(user, SPAN_WARNING("[src] is currently operating!")) return FINISH_ATTACK var/datum/component/material_container/materials = linked_crucible.GetComponent(/datum/component/material_container) @@ -192,7 +192,7 @@ var/MAT if(!istype(temp_product)) - to_chat(user, "The product is not an item! This is a problem you should make an issue report about!") + to_chat(user, SPAN_WARNING("The product is not an item! This is a problem you should make an issue report about!")) log_debug("Attempted to make [temp_product] at a casting basin, product is not an item.") return FINISH_ATTACK @@ -206,11 +206,11 @@ used_mats[MAT] = (temp_product.materials[MAT] * quality.material_mult) * efficiency if(!materials.has_materials(used_mats, 1)) - to_chat(user, "Not enough materials in the crucible to smelt [temp_product.name]!") + to_chat(user, SPAN_WARNING("Not enough materials in the crucible to smelt [temp_product.name]!")) qdel(temp_product) return FINISH_ATTACK - to_chat(user, "You begin to pour the liquid minerals into the [src]...") + to_chat(user, SPAN_NOTICE("You begin to pour the liquid minerals into the [src]...")) // Use the materials and create the item. materials.use_amount(used_mats) we_are_open = FALSE @@ -241,11 +241,11 @@ if(istype(cast, /obj/item/smithing_cast/sheet)) amount = min(amount, stored, MAX_STACK_SIZE) if(!amount) - to_chat(user, "Not enough materials in the crucible to smelt a sheet of [temp_product.name]!") + to_chat(user, SPAN_WARNING("Not enough materials in the crucible to smelt a sheet of [temp_product.name]!")) qdel(temp_product) return FINISH_ATTACK - to_chat(user, "You begin to pour the liquid minerals into the [src]...") + to_chat(user, SPAN_NOTICE("You begin to pour the liquid minerals into the [src]...")) playsound(src, 'sound/machines/recycler.ogg', 50, FALSE) // Use the materials and create the item. materials.use_amount(temp_product.materials, amount) @@ -267,11 +267,11 @@ used_mats[MAT] = temp_product.materials[MAT] * efficiency if(!materials.has_materials(used_mats, 1)) - to_chat(user, "Not enough materials in the crucible to smelt [temp_product.name]!") + to_chat(user, SPAN_WARNING("Not enough materials in the crucible to smelt [temp_product.name]!")) qdel(temp_product) return FINISH_ATTACK - to_chat(user, "You begin to pour the liquid minerals into the [src]...") + to_chat(user, SPAN_NOTICE("You begin to pour the liquid minerals into the [src]...")) // Use the materials and create the item. materials.use_amount(used_mats) linked_crucible.animate_pour(operation_time SECONDS) diff --git a/code/modules/smithing/machinery/kinetic_assembler.dm b/code/modules/smithing/machinery/kinetic_assembler.dm index b624599b46e..c7185734974 100644 --- a/code/modules/smithing/machinery/kinetic_assembler.dm +++ b/code/modules/smithing/machinery/kinetic_assembler.dm @@ -50,15 +50,15 @@ /obj/machinery/smithing/kinetic_assembler/examine(mob/user) . = ..() if(primary || secondary || trim) - . += "You can activate the machine with your hand, or remove a component by alt-clicking." + . += SPAN_NOTICE("You can activate the machine with your hand, or remove a component by alt-clicking.") if(primary) - . += "There is a [primary] in the primary slot." + . += SPAN_NOTICE("There is a [primary] in the primary slot.") if(secondary) - . += "There is a [secondary] in the secondary slot." + . += SPAN_NOTICE("There is a [secondary] in the secondary slot.") if(trim) - . += "There is a [trim] in the trim slot." + . += SPAN_NOTICE("There is a [trim] in the trim slot.") if(finished_product) - . += "There is a nearly-complete [finished_product] on the assembler. To complete the product, strike it with your hammer!" + . += SPAN_NOTICE("There is a nearly-complete [finished_product] on the assembler. To complete the product, strike it with your hammer!") /obj/machinery/smithing/kinetic_assembler/RefreshParts() var/operation_mult = 0 @@ -88,7 +88,7 @@ if(!Adjacent(user)) return if(!primary && !secondary && !trim) - to_chat(user, "There is no component to remove.") + to_chat(user, SPAN_WARNING("There is no component to remove.")) return var/list/components = list("Primary", "Secondary", "Trim") var/removed = tgui_input_list(user, "Select a component to remove", src, components) @@ -97,9 +97,9 @@ switch(removed) if("Primary") if(!primary) - to_chat(user, "There is no primary component to remove.") + to_chat(user, SPAN_WARNING("There is no primary component to remove.")) return - to_chat(user, "You remove [primary] from the primary component slot of [src].") + to_chat(user, SPAN_NOTICE("You remove [primary] from the primary component slot of [src].")) if(primary.burn_check(user)) primary.burn_user(user) primary.forceMove(user.loc) @@ -110,9 +110,9 @@ return if("Secondary") if(!secondary) - to_chat(user, "There is no secondary component to remove.") + to_chat(user, SPAN_WARNING("There is no secondary component to remove.")) return - to_chat(user, "You remove [secondary] from the secondary component slot of [src].") + to_chat(user, SPAN_NOTICE("You remove [secondary] from the secondary component slot of [src].")) if(secondary.burn_check(user)) secondary.burn_user(user) secondary.forceMove(user.loc) @@ -123,9 +123,9 @@ return if("Trim") if(!trim) - to_chat(user, "There is no trim component to remove.") + to_chat(user, SPAN_WARNING("There is no trim component to remove.")) return - to_chat(user, "You remove [trim] from the trim component slot of [src].") + to_chat(user, SPAN_NOTICE("You remove [trim] from the trim component slot of [src].")) if(trim.burn_check(user)) trim.burn_user(user) trim.forceMove(user.loc) @@ -140,83 +140,83 @@ return ..() if(operating) - to_chat(user, "[src] is still operating!") + to_chat(user, SPAN_WARNING("[src] is still operating!")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/hammer)) return ITEM_INTERACT_COMPLETE if(!istype(used, /obj/item/smithed_item/component)) - to_chat(user, "You feel like there's no reason to process [used].") + to_chat(user, SPAN_WARNING("You feel like there's no reason to process [used].")) return ITEM_INTERACT_COMPLETE if(finished_product) - to_chat(user, "There is an almost finished [finished_product] in [src]!") + to_chat(user, SPAN_WARNING("There is an almost finished [finished_product] in [src]!")) return ITEM_INTERACT_COMPLETE var/obj/item/smithed_item/component/comp = used if(comp.hammer_time) - to_chat(user, "[used] is not complete yet!") + to_chat(user, SPAN_WARNING("[used] is not complete yet!")) return ITEM_INTERACT_COMPLETE if(comp.part_type == PART_PRIMARY) if(primary) - to_chat(user, "You remove [primary] from the primary component slot of [src].") + to_chat(user, SPAN_NOTICE("You remove [primary] from the primary component slot of [src].")) primary.forceMove(src.loc) primary = null if(comp.flags & NODROP || !user.transfer_item_to(used, src)) - to_chat(user, "[comp] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[comp] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You insert [comp] into the primary component slot of [src].") + to_chat(user, SPAN_NOTICE("You insert [comp] into the primary component slot of [src].")) primary = comp return ITEM_INTERACT_COMPLETE if(comp.part_type == PART_SECONDARY) if(secondary) - to_chat(user, "You remove [secondary] from the secondary component slot of [src].") + to_chat(user, SPAN_NOTICE("You remove [secondary] from the secondary component slot of [src].")) secondary.forceMove(src.loc) secondary = null if(comp.flags & NODROP || !user.transfer_item_to(used, src)) - to_chat(user, "[comp] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[comp] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You insert [comp] into the secondary component slot of [src].") + to_chat(user, SPAN_NOTICE("You insert [comp] into the secondary component slot of [src].")) secondary = comp return ITEM_INTERACT_COMPLETE if(comp.part_type == PART_TRIM) if(trim) - to_chat(user, "You remove [trim] from the trim component slot of [src].") + to_chat(user, SPAN_NOTICE("You remove [trim] from the trim component slot of [src].")) trim.forceMove(src.loc) trim = null if(comp.flags & NODROP || !user.transfer_item_to(used, src)) - to_chat(user, "[comp] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[comp] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You insert [comp] into the trim component slot of [src].") + to_chat(user, SPAN_NOTICE("You insert [comp] into the trim component slot of [src].")) trim = comp return ITEM_INTERACT_COMPLETE /obj/machinery/smithing/kinetic_assembler/attack_hand(mob/user) if(!allowed(user) && !isobserver(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return FINISH_ATTACK if(finished_product) - to_chat(user, "[src] has a nearly-complete product!") + to_chat(user, SPAN_WARNING("[src] has a nearly-complete product!")) return FINISH_ATTACK if(!primary) - to_chat(user, "[src] lacks a primary component!") + to_chat(user, SPAN_WARNING("[src] lacks a primary component!")) return FINISH_ATTACK if(!secondary) - to_chat(user, "[src] lacks a secondary component!") + to_chat(user, SPAN_WARNING("[src] lacks a secondary component!")) return FINISH_ATTACK if(!trim) - to_chat(user, "[src] lacks a trim component!") + to_chat(user, SPAN_WARNING("[src] lacks a trim component!")) return FINISH_ATTACK if(primary.finished_product != secondary.finished_product) - to_chat(user, "[primary] does not match [secondary]!") + to_chat(user, SPAN_WARNING("[primary] does not match [secondary]!")) return FINISH_ATTACK operate(operation_time, user) @@ -254,10 +254,10 @@ /obj/machinery/smithing/kinetic_assembler/hammer_act(mob/user, obj/item/i) if(operating) - to_chat(user, "[src] is still operating!") + to_chat(user, SPAN_WARNING("[src] is still operating!")) return if(!finished_product) - to_chat(user, "There is no finished product ready!") + to_chat(user, SPAN_WARNING("There is no finished product ready!")) return playsound(src, 'sound/magic/fellowship_armory.ogg', 50, TRUE) finished_product.forceMove(src.loc) @@ -323,13 +323,13 @@ /obj/machinery/smithing/scientific_assembler/examine(mob/user) . = ..() if(slime_core || parts || cell) - . += "You can activate the machine with your hand, or remove a component by alt-clicking." + . += SPAN_NOTICE("You can activate the machine with your hand, or remove a component by alt-clicking.") if(slime_core) - . += "There is a [slime_core] in the core slot." + . += SPAN_NOTICE("There is a [slime_core] in the core slot.") if(parts) - . += "There is a [parts] in the gun frame slot." + . += SPAN_NOTICE("There is a [parts] in the gun frame slot.") if(cell) - . += "There is a [cell] in the power cell slot." + . += SPAN_NOTICE("There is a [cell] in the power cell slot.") /obj/machinery/smithing/scientific_assembler/RefreshParts() var/operation_mult = 0 @@ -360,70 +360,70 @@ return ..() if(operating) - to_chat(user, "[src] is still operating!") + to_chat(user, SPAN_WARNING("[src] is still operating!")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/slime_extract)) var/obj/item/slime_extract/core = used if(!core.associated_gun_type) - to_chat(user, "[core] is not capable of producing an energy gun!") + to_chat(user, SPAN_NOTICE("[core] is not capable of producing an energy gun!")) return ITEM_INTERACT_COMPLETE if(slime_core) - to_chat(user, "You remove [slime_core] from the core component slot of [src].") + to_chat(user, SPAN_NOTICE("You remove [slime_core] from the core component slot of [src].")) slime_core.forceMove(src.loc) slime_core = null if(used.flags & NODROP || !user.transfer_item_to(used, src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You insert [used] into the core component slot of [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into the core component slot of [src].")) slime_core = used return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/smithed_item/component/egun_parts)) if(parts) - to_chat(user, "You remove [parts] from the gun parts component slot of [src].") + to_chat(user, SPAN_NOTICE("You remove [parts] from the gun parts component slot of [src].")) parts.forceMove(src.loc) parts = null if(used.flags & NODROP || !user.transfer_item_to(used, src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE var/obj/item/smithed_item/component/egun_parts/new_parts = used if(new_parts.hammer_time) - to_chat(user, "[new_parts] is not complete yet!") + to_chat(user, SPAN_WARNING("[new_parts] is not complete yet!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You insert [used] into the gun parts component slot of [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into the gun parts component slot of [src].")) parts = used return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/stock_parts/cell)) if(cell) - to_chat(user, "You remove [cell] from the power cell component slot of [src].") + to_chat(user, SPAN_NOTICE("You remove [cell] from the power cell component slot of [src].")) cell.forceMove(src.loc) cell = null if(used.flags & NODROP || !user.transfer_item_to(used, src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE - to_chat(user, "You insert [used] into the power cell component slot of [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into the power cell component slot of [src].")) cell = used return ITEM_INTERACT_COMPLETE - to_chat(user, "You feel like there's no reason to process [used].") + to_chat(user, SPAN_WARNING("You feel like there's no reason to process [used].")) return ITEM_INTERACT_COMPLETE /obj/machinery/smithing/scientific_assembler/attack_hand(mob/user) if(!allowed(user) && !isobserver(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return FINISH_ATTACK if(!slime_core) - to_chat(user, "[src] lacks a slime core!") + to_chat(user, SPAN_WARNING("[src] lacks a slime core!")) return FINISH_ATTACK if(!parts) - to_chat(user, "[src] lacks an energy gun frame!") + to_chat(user, SPAN_WARNING("[src] lacks an energy gun frame!")) return FINISH_ATTACK if(!cell) - to_chat(user, "[src] lacks a power cell!") + to_chat(user, SPAN_WARNING("[src] lacks a power cell!")) return FINISH_ATTACK operate(operation_time, user) diff --git a/code/modules/smithing/machinery/lava_furnace.dm b/code/modules/smithing/machinery/lava_furnace.dm index 96ae1977c02..f06e56ff2a6 100644 --- a/code/modules/smithing/machinery/lava_furnace.dm +++ b/code/modules/smithing/machinery/lava_furnace.dm @@ -47,10 +47,10 @@ /obj/machinery/smithing/lava_furnace/operate(loops, mob/living/user) if(working_component.heat > 10) - to_chat(user, "[working_component] is already well heated.") + to_chat(user, SPAN_NOTICE("[working_component] is already well heated.")) return if(working_component.hammer_time <= 0) - to_chat(user, "[working_component] is already fully shaped.") + to_chat(user, SPAN_NOTICE("[working_component] is already fully shaped.")) return ..() working_component.heat_up(heat_amount) @@ -58,13 +58,13 @@ /obj/machinery/smithing/lava_furnace/attack_hand(mob/user) . = ..() if(!allowed(user) && !isobserver(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return FINISH_ATTACK if(operating) - to_chat(user, "[src] is currently operating!") + to_chat(user, SPAN_WARNING("[src] is currently operating!")) return if(!working_component) - to_chat(user, "There is nothing in [src]!") + to_chat(user, SPAN_WARNING("There is nothing in [src]!")) return operate(operation_time, user) @@ -73,10 +73,10 @@ /obj/machinery/smithing/lava_furnace/special_attack(mob/user, mob/living/target) var/obj/item/organ/external/head/head = target.get_organ(BODY_ZONE_HEAD) if(!istype(head)) - to_chat(user, "This person doesn't have a head!") + to_chat(user, SPAN_WARNING("This person doesn't have a head!")) return FALSE - target.visible_message("[user] pushes [target]'s head into [src]!", \ - "[user] pushes your head into [src]! The heat is agonizing!") + target.visible_message(SPAN_DANGER("[user] pushes [target]'s head into [src]!"), \ + SPAN_USERDANGER("[user] pushes your head into [src]! The heat is agonizing!")) var/armor = target.run_armor_check(def_zone = BODY_ZONE_HEAD, armor_type = MELEE, armor_penetration_percentage = 50) target.apply_damage(40, BURN, BODY_ZONE_HEAD, armor) target.adjust_fire_stacks(5) diff --git a/code/modules/smithing/machinery/magma_crucible.dm b/code/modules/smithing/machinery/magma_crucible.dm index 78e818ce65d..a27e756db9b 100644 --- a/code/modules/smithing/machinery/magma_crucible.dm +++ b/code/modules/smithing/machinery/magma_crucible.dm @@ -41,7 +41,7 @@ /obj/machinery/magma_crucible/examine(mob/user) . = ..() - . += "You can check the contents of [src] using a multitool." + . += SPAN_NOTICE("You can check the contents of [src] using a multitool.") /obj/machinery/magma_crucible/screwdriver_act(mob/user, obj/item/I) if(!I.use_tool(src, user, 0, volume = 0)) @@ -142,11 +142,11 @@ return var/obj/item/multitool/multi = I multi.set_multitool_buffer(user, src) - to_chat(user, "You save [src]'s linking data to the buffer.") + to_chat(user, SPAN_NOTICE("You save [src]'s linking data to the buffer.")) return var/list/msgs = list() - msgs += "Scanning contents of [src]:" + msgs += SPAN_NOTICE("Scanning contents of [src]:") var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) for(var/MAT in materials.materials) diff --git a/code/modules/smithing/machinery/power_hammer.dm b/code/modules/smithing/machinery/power_hammer.dm index d4c76405b89..26f627fc1a4 100644 --- a/code/modules/smithing/machinery/power_hammer.dm +++ b/code/modules/smithing/machinery/power_hammer.dm @@ -18,8 +18,8 @@ /obj/machinery/smithing/power_hammer/examine(mob/user) . = ..() - . += "You can set [src] to automatically continue hammering heated metal with a multitool." - . += "The autohammer light is currently [repeating ? "on" : "off"]." + . += SPAN_NOTICE("You can set [src] to automatically continue hammering heated metal with a multitool.") + . += SPAN_NOTICE("The autohammer light is currently [repeating ? "on" : "off"].") /obj/machinery/smithing/power_hammer/update_overlays() . = ..() @@ -46,13 +46,13 @@ /obj/machinery/smithing/power_hammer/operate(loops, mob/living/user) if(!working_component) - to_chat(user, "There is no component to hammer!") + to_chat(user, SPAN_NOTICE("There is no component to hammer!")) return if(!working_component.heat) - to_chat(user, "[working_component] is too cold to properly shape.") + to_chat(user, SPAN_NOTICE("[working_component] is too cold to properly shape.")) return if(working_component.hammer_time <= 0) - to_chat(user, "[working_component] is already fully shaped.") + to_chat(user, SPAN_NOTICE("[working_component] is already fully shaped.")) return ..() working_component.powerhammer() @@ -70,18 +70,18 @@ return if(!repeating) repeating = TRUE - to_chat(user, "You set [src] to auto-repeat.") + to_chat(user, SPAN_NOTICE("You set [src] to auto-repeat.")) else repeating = FALSE - to_chat(user, "You set [src] to not auto-repeat.") + to_chat(user, SPAN_NOTICE("You set [src] to not auto-repeat.")) /obj/machinery/smithing/power_hammer/attack_hand(mob/user) . = ..() if(!allowed(user) && !isobserver(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return FINISH_ATTACK if(operating) - to_chat(user, "[src] is currently operating!") + to_chat(user, SPAN_WARNING("[src] is currently operating!")) return operate(operation_time, user) update_icon(UPDATE_ICON_STATE) @@ -90,10 +90,10 @@ /obj/machinery/smithing/power_hammer/special_attack(mob/user, mob/living/target) var/obj/item/organ/external/head/head = target.get_organ(BODY_ZONE_HEAD) if(!istype(head)) - to_chat(user, "This person doesn't have a head!") + to_chat(user, SPAN_WARNING("This person doesn't have a head!")) return FALSE - target.visible_message("[user] hammers [target]'s head with [src]!", \ - "[user] hammers your head with [src]! Did somebody get the license plate on that car?") + target.visible_message(SPAN_DANGER("[user] hammers [target]'s head with [src]!"), \ + SPAN_USERDANGER("[user] hammers your head with [src]! Did somebody get the license plate on that car?")) var/armor = target.run_armor_check(def_zone = BODY_ZONE_HEAD, armor_type = MELEE, armor_penetration_percentage = 50) target.apply_damage(40, BRUTE, BODY_ZONE_HEAD, armor) target.Weaken(4 SECONDS) diff --git a/code/modules/smithing/machinery/smart_hopper.dm b/code/modules/smithing/machinery/smart_hopper.dm index 945365d9e69..2fdea667ad9 100644 --- a/code/modules/smithing/machinery/smart_hopper.dm +++ b/code/modules/smithing/machinery/smart_hopper.dm @@ -45,7 +45,7 @@ /obj/machinery/mineral/smart_hopper/examine(mob/user) . = ..() - . += "There are currently [points] claimable points. [points ? "Swipe your ID to claim them." : ""]" + . += SPAN_NOTICE("There are currently [points] claimable points. [points ? "Swipe your ID to claim them." : ""]") /obj/machinery/mineral/smart_hopper/update_overlays() . = ..() @@ -99,19 +99,19 @@ if(istype(used, /obj/item/card/id)) var/obj/item/card/id/ID = used if(!points) - to_chat(user, "There are no points to claim."); + to_chat(user, SPAN_WARNING("There are no points to claim.")); return ITEM_INTERACT_COMPLETE var/claimed = FALSE for(var/access in req_access_claim) if(anyone_claim || (access in ID.access)) ID.mining_points += points ID.total_mining_points += points - to_chat(user, "[points] Mining Points claimed. You have earned a total of [ID.total_mining_points] Mining Points this Shift!") + to_chat(user, SPAN_NOTICE("[points] Mining Points claimed. You have earned a total of [ID.total_mining_points] Mining Points this Shift!")) points = 0 claimed = TRUE break if(!claimed) - to_chat(user, "Required access not found.") + to_chat(user, SPAN_WARNING("Required access not found.")) add_fingerprint(user) return ITEM_INTERACT_COMPLETE return ..() @@ -125,11 +125,11 @@ if(panel_open) var/obj/item/multitool/multi = I if(!istype(multi.buffer, /obj/machinery/magma_crucible)) - to_chat(user, "You cannot link [src] to [multi.buffer]!") + to_chat(user, SPAN_WARNING("You cannot link [src] to [multi.buffer]!")) return linked_crucible = multi.buffer linked_crucible.linked_machines |= src - to_chat(user, "You link [src] to [multi.buffer].") + to_chat(user, SPAN_NOTICE("You link [src] to [multi.buffer].")) /obj/machinery/mineral/smart_hopper/crowbar_act(mob/user, obj/item/I) if(default_deconstruction_crowbar(user, I)) @@ -150,7 +150,7 @@ if(!I.tool_start_check(src, user, 0)) return input_dir = turn(input_dir, -90) - to_chat(user, "You change [src]'s input, moving the input to [dir2text(input_dir)].") + to_chat(user, SPAN_NOTICE("You change [src]'s input, moving the input to [dir2text(input_dir)].")) /obj/machinery/mineral/smart_hopper/Destroy() if(linked_crucible) diff --git a/code/modules/smithing/smith_component.dm b/code/modules/smithing/smith_component.dm index c31c89f53a7..25c20cbe436 100644 --- a/code/modules/smithing/smith_component.dm +++ b/code/modules/smithing/smith_component.dm @@ -49,7 +49,7 @@ else . += "It is complete." if(heat) - . +="It is glowing hot!" + . +=SPAN_WARNING("It is glowing hot!") /obj/item/smithed_item/component/attack_hand(mob/user) if(!heat) @@ -84,7 +84,7 @@ var/mob/living/carbon/human/H = user if(!istype(H)) return - to_chat(user, "You burn your hand as you try to pick up [src]!") + to_chat(user, SPAN_WARNING("You burn your hand as you try to pick up [src]!")) var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand") if(affecting.receive_damage(0, 10)) // 10 burn damage H.UpdateDamageIcon() diff --git a/code/modules/smithing/smith_item.dm b/code/modules/smithing/smith_item.dm index 84b21e62d59..7a8e592064e 100644 --- a/code/modules/smithing/smith_item.dm +++ b/code/modules/smithing/smith_item.dm @@ -45,4 +45,4 @@ /obj/item/smithed_item/examine(mob/user) . = ..() if(HAS_TRAIT(user.mind, TRAIT_SMITH)) - . += "You can use ALT + Click while in-hand to determine specific statistics of this item." + . += SPAN_NOTICE("You can use ALT + Click while in-hand to determine specific statistics of this item.") diff --git a/code/modules/smithing/smith_machinery.dm b/code/modules/smithing/smith_machinery.dm index 0b2f6c27ed5..5a231f6ba29 100644 --- a/code/modules/smithing/smith_machinery.dm +++ b/code/modules/smithing/smith_machinery.dm @@ -29,8 +29,8 @@ /obj/machinery/smithing/examine(mob/user) . = ..() if(working_component) - . += "You can activate the machine with your hand, or remove the component by alt-clicking." - . += "There is currently a [working_component] in [src]." + . += SPAN_NOTICE("You can activate the machine with your hand, or remove the component by alt-clicking.") + . += SPAN_NOTICE("There is currently a [working_component] in [src].") /obj/machinery/smithing/power_change() if(!..()) @@ -49,25 +49,25 @@ if(istype(used, /obj/item/grab)) var/obj/item/grab/G = used if(HAS_TRAIT(user, TRAIT_PACIFISM)) - to_chat(user, "Putting [G.affecting] in [src] might hurt them!") + to_chat(user, SPAN_DANGER("Putting [G.affecting] in [src] might hurt them!")) return ITEM_INTERACT_COMPLETE special_attack_grab(G, user) return ITEM_INTERACT_COMPLETE if(operating) - to_chat(user, "[src] is still operating!") + to_chat(user, SPAN_WARNING("[src] is still operating!")) return FINISH_ATTACK if(istype(used, /obj/item/smithed_item/component)) if(used.flags & NODROP || !user.drop_item() || !used.forceMove(src)) - to_chat(user, "[used] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE if(working_component) user.put_in_active_hand(working_component) - to_chat(user, "You swap [used] with [working_component] in [src].") + to_chat(user, SPAN_NOTICE("You swap [used] with [working_component] in [src].")) else - to_chat(user, "You insert [used] into [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into [src].")) working_component = used return ITEM_INTERACT_COMPLETE @@ -78,7 +78,7 @@ playsound(get_turf(src), 'sound/effects/sparks4.ogg', 75, 1) req_one_access = list() emagged = TRUE - to_chat(user, "You disable the security protocols") + to_chat(user, SPAN_NOTICE("You disable the security protocols")) return TRUE /obj/machinery/smithing/proc/operate(loops, mob/living/user) @@ -103,13 +103,13 @@ if(!istype(G)) return FALSE if(!iscarbon(G.affecting)) - to_chat(user, "You can't shove that in there!") + to_chat(user, SPAN_WARNING("You can't shove that in there!")) return FALSE if(G.state < GRAB_NECK) - to_chat(user, "You need a better grip to do that!") + to_chat(user, SPAN_WARNING("You need a better grip to do that!")) return FALSE if(!allowed(user) && !isobserver(user)) - to_chat(user, "You try to shove someone into the machine, but your access is denied!") + to_chat(user, SPAN_WARNING("You try to shove someone into the machine, but your access is denied!")) return FALSE var/result = special_attack(user, G.affecting) user.changeNext_move(CLICK_CD_MELEE) @@ -128,10 +128,10 @@ if(!Adjacent(user)) return if(!working_component) - to_chat(user, "There isn't anything in [src].") + to_chat(user, SPAN_NOTICE("There isn't anything in [src].")) return if(operating) - to_chat(user, "[src] is currently operating!") + to_chat(user, SPAN_WARNING("[src] is currently operating!")) return if(working_component.burn_check(user)) working_component.burn_user(user) @@ -146,7 +146,7 @@ return . = TRUE if(operating) - to_chat(user, "[src] is busy. Please wait for completion of previous operation.") + to_chat(user, SPAN_ALERT("[src] is busy. Please wait for completion of previous operation.")) return default_deconstruction_screwdriver(user, icon_state, icon_state, I) diff --git a/code/modules/smithing/smithed_items/knives.dm b/code/modules/smithing/smithed_items/knives.dm index 7e544e3dd7d..5835981f48b 100644 --- a/code/modules/smithing/smithed_items/knives.dm +++ b/code/modules/smithing/smithed_items/knives.dm @@ -97,7 +97,7 @@ return ITEM_INTERACT_COMPLETE var/obj/item/stack/stacked_item = used if(wrap_type) - to_chat(user, "There is already a wrap on [src]!") + to_chat(user, SPAN_WARNING("There is already a wrap on [src]!")) return ITEM_INTERACT_COMPLETE var/wrap_to_attach if(istype(stacked_item, /obj/item/stack/cable_coil)) @@ -113,7 +113,7 @@ if(istype(stacked_item, /obj/item/stack/sheet/mothsilk)) wrap_to_attach = /datum/handle_wrapping/mothsilk if(!wrap_to_attach) - to_chat(user, "You cannot wrap [stacked_item] around [src]!") + to_chat(user, SPAN_WARNING("You cannot wrap [stacked_item] around [src]!")) return ITEM_INTERACT_COMPLETE if(do_after_once(user, 5 SECONDS, target = src)) if(stacked_item.use(5)) @@ -123,7 +123,7 @@ /obj/item/kitchen/knife/smithed/wirecutter_act(mob/living/user, obj/item/I) . = ..() if(wrap_type) - to_chat(user, "You cut off the wrap on [src].") + to_chat(user, SPAN_NOTICE("You cut off the wrap on [src].")) remove_wrapping() /obj/item/kitchen/knife/smithed/utility diff --git a/code/modules/smithing/smithed_items/lens.dm b/code/modules/smithing/smithed_items/lens.dm index a2239737bcc..e502799f0cf 100644 --- a/code/modules/smithing/smithed_items/lens.dm +++ b/code/modules/smithing/smithed_items/lens.dm @@ -74,7 +74,7 @@ if(20 to 39) . += "It's been heavily used." if(0 to 19) - . += "It's falling apart!" + . += SPAN_WARNING("It's falling apart!") /obj/item/smithed_item/lens/proc/damage_lens() durability-- diff --git a/code/modules/smithing/smithed_items/tool_bits.dm b/code/modules/smithing/smithed_items/tool_bits.dm index 8d1b22b7342..0e00fd0cb08 100644 --- a/code/modules/smithing/smithed_items/tool_bits.dm +++ b/code/modules/smithing/smithed_items/tool_bits.dm @@ -73,7 +73,7 @@ if(20 to 39) . += "It's been heavily used." if(0 to 19) - . += "It's falling apart!" + . += SPAN_WARNING("It's falling apart!") /obj/item/smithed_item/tool_bit/proc/damage_bit() durability-- diff --git a/code/modules/smithing/smithing_cast.dm b/code/modules/smithing/smithing_cast.dm index dcc53a86d03..3d317931da2 100644 --- a/code/modules/smithing/smithing_cast.dm +++ b/code/modules/smithing/smithing_cast.dm @@ -22,7 +22,7 @@ /obj/item/smithing_cast/examine(mob/user) . = ..() . += "It is currently configured to make [amount_to_make == 1 ? "a" : "[amount_to_make]"] [selected_product.name][amount_to_make == 1 ? "" : "s"]." - . += "You can select the desired product by using [src] in your hand." + . += SPAN_NOTICE("You can select the desired product by using [src] in your hand.") /obj/item/smithing_cast/activate_self(mob/user) . = ..() @@ -57,7 +57,7 @@ /obj/item/smithing_cast/sheet/examine(mob/user) . = ..() - . += "You can change the amount of sheets smelted by alt-clicking [src]." + . += SPAN_NOTICE("You can change the amount of sheets smelted by alt-clicking [src].") /obj/item/smithing_cast/sheet/populate_products() possible_products = list(/obj/item/stack/sheet/metal, @@ -101,7 +101,7 @@ /obj/item/smithing_cast/component/examine(mob/user) . = ..() . += "The current selected quality is [quality.name]." - . += "You can change the quality of the product by alt-clicking [src]." + . += SPAN_NOTICE("You can change the quality of the product by alt-clicking [src].") /obj/item/smithing_cast/component/AltClick(mob/user) . = ..() diff --git a/code/modules/station_goals/bluespace_tap.dm b/code/modules/station_goals/bluespace_tap.dm index 0033226e62e..375948c667d 100644 --- a/code/modules/station_goals/bluespace_tap.dm +++ b/code/modules/station_goals/bluespace_tap.dm @@ -584,7 +584,7 @@ emagged = TRUE do_sparks(5, FALSE, src) if(user) - user.visible_message("[user] disables the [src]'s safeties'.", "You disable the [src]'s safeties'.") + user.visible_message(SPAN_WARNING("[user] disables the [src]'s safeties'."), SPAN_WARNING("You disable the [src]'s safeties'.")) return TRUE /obj/structure/spawner/nether/bluespace_tap diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm index fcffeaa39fc..f3a4f7e296d 100644 --- a/code/modules/station_goals/bsa.dm +++ b/code/modules/station_goals/bsa.dm @@ -38,7 +38,7 @@ /obj/machinery/bsa/multitool_act(mob/living/user, obj/item/multitool/M) M.buffer = src - to_chat(user, "You store linkage information in [M]'s buffer.") + to_chat(user, SPAN_NOTICE("You store linkage information in [M]'s buffer.")) return TRUE /obj/machinery/bsa/back @@ -61,16 +61,16 @@ /obj/machinery/bsa/middle/multitool_act(mob/living/user, obj/item/multitool/M) . = TRUE if(!M.buffer) - to_chat(user, "[M]'s buffer is empty!") + to_chat(user, SPAN_WARNING("[M]'s buffer is empty!")) return 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].")) /obj/machinery/bsa/middle/proc/check_completion() if(!front || !back) diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index ef70f506d83..46f41aa1176 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -88,35 +88,35 @@ GLOBAL_LIST_INIT(non_simple_animals, typecacheof(list(/mob/living/carbon/human/m to_chat(user, "Plants 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 if(isanimal_or_basicmob(target) || is_type_in_typecache(target, GLOB.non_simple_animals)) if(isanimal_or_basicmob(target)) var/mob/living/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_WARNING("No compatible DNA detected")) return if(animals[target.type]) - to_chat(user, "Animal data already present in local storage.") + to_chat(user, SPAN_NOTICE("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(HAS_TRAIT(H, TRAIT_GENELESS)) - to_chat(user, "This humanoid doesn't have DNA.") + to_chat(user, SPAN_NOTICE("This humanoid doesn't have DNA.")) return 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/item/circuitboard/machine/dna_vault @@ -269,7 +269,7 @@ GLOBAL_LIST_INIT(non_simple_animals, typecacheof(list(/mob/living/carbon/human/m uploaded++ dna[ui] = 1 check_goal() - to_chat(user, "[uploaded] new datapoints uploaded.") + to_chat(user, SPAN_NOTICE("[uploaded] new datapoints uploaded.")) return ITEM_INTERACT_COMPLETE return ..() @@ -280,34 +280,34 @@ GLOBAL_LIST_INIT(non_simple_animals, typecacheof(list(/mob/living/carbon/human/m if(!completed) return if(!istype(H) || HAS_TRAIT(H, TRAIT_GENELESS)) - to_chat(H, "Error, no DNA detected.") + to_chat(H, SPAN_WARNING("Error, no DNA detected.")) return 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.")) var/datum/organ/lungs/L = H.get_int_organ_datum(ORGAN_DATUM_LUNGS) if(L) 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.burn_mod *= 0.5 ADD_TRAIT(H, TRAIT_RESISTHEAT, "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.stun_mod *= 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_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/secondary/secondary_goal.dm b/code/modules/station_goals/secondary/secondary_goal.dm index 25b299fb550..35bd44ef554 100644 --- a/code/modules/station_goals/secondary/secondary_goal.dm +++ b/code/modules/station_goals/secondary/secondary_goal.dm @@ -76,7 +76,7 @@ if(isnull(possible)) if(user) - to_chat(user, "No goals available for [department]. Goals are currently available for [english_list(SSticker.mode.secondary_goal_grab_bags)].") + to_chat(user, SPAN_NOTICE("No goals available for [department]. Goals are currently available for [english_list(SSticker.mode.secondary_goal_grab_bags)].")) return if(length(possible) == 0) diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm index e4d197e172e..9e6fdd25cf7 100644 --- a/code/modules/station_goals/shield.dm +++ b/code/modules/station_goals/shield.dm @@ -233,10 +233,10 @@ /obj/machinery/satellite/proc/toggle(mob/user) if(!active && !isinspace()) if(user) - to_chat(user, "You can only activate satellites which are in space.") + to_chat(user, SPAN_WARNING("You can only activate satellites which are in space.")) return FALSE if(user) - to_chat(user, "You [active ? "deactivate": "activate"] [src]") + to_chat(user, SPAN_NOTICE("You [active ? "deactivate": "activate"] [src]")) active = !active if(active) animate(src, pixel_y = 2, time = 10, loop = -1) @@ -251,7 +251,7 @@ icon_state = active ? "sat_active" : "sat_inactive" /obj/machinery/satellite/multitool_act(mob/living/user, obj/item/I) - to_chat(user, "// NTSAT-[id] // Mode : [active ? "PRIMARY" : "STANDBY"] //[emagged ? "DEBUG_MODE //" : ""]") + to_chat(user, SPAN_NOTICE("// NTSAT-[id] // Mode : [active ? "PRIMARY" : "STANDBY"] //[emagged ? "DEBUG_MODE //" : ""]")) /obj/machinery/satellite/meteor_shield name = "Meteor Shield Satellite" @@ -304,7 +304,7 @@ /obj/machinery/satellite/meteor_shield/emag_act(mob/user) if(!emagged) - to_chat(user, "You override the shield's circuits, causing it to attract meteors instead of destroying them.") + to_chat(user, SPAN_DANGER("You override the shield's circuits, causing it to attract meteors instead of destroying them.")) emagged = TRUE 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 8b0d4606677..6f7886f7a9f 100644 --- a/code/modules/station_goals/station_goal.dm +++ b/code/modules/station_goals/station_goal.dm @@ -28,9 +28,9 @@ /datum/station_goal/proc/print_result() if(check_completion()) - to_chat(world, "Station Goal: [name]: Completed!") + to_chat(world, "Station Goal: [name]: [SPAN_GREENANNOUNCE("Completed!")]") else - to_chat(world, "Station Goal: [name]: Failed!") + to_chat(world, "Station Goal: [name]: [SPAN_BOLDANNOUNCEIC("Failed!")]") /datum/station_goal/Destroy() SSticker.mode.station_goals -= src diff --git a/code/modules/supply/supply_console.dm b/code/modules/supply/supply_console.dm index 2304a022b14..76ebee2ca5b 100644 --- a/code/modules/supply/supply_console.dm +++ b/code/modules/supply/supply_console.dm @@ -33,7 +33,7 @@ /obj/machinery/computer/supplycomp/attack_hand(mob/user) if(!allowed(user) && !isobserver(user)) - to_chat(user, "Access denied.") + to_chat(user, SPAN_WARNING("Access denied.")) return TRUE ui_interact(user) @@ -273,7 +273,7 @@ return if(!P.can_order()) - to_chat(user, "That cannot be ordered right now. Please try again later.") + to_chat(user, SPAN_WARNING("That cannot be ordered right now. Please try again later.")) return if(P.are_you_sure_you_want_to_be_banned) var/we_warned_you = tgui_alert(user, "[P.are_you_sure_you_want_to_be_banned]", "ARE YOU SURE?", list("Yes", "No")) @@ -303,7 +303,7 @@ var/datum/money_account/selected_account = locateUID(params["account"]) if(!selected_account) playsound(loc, 'sound/machines/buzz-sigh.ogg', 15, FALSE) - to_chat(user, "You must select an account to pay for the order.") + to_chat(user, SPAN_WARNING("You must select an account to pay for the order.")) return var/successes = 0 for(var/i in 1 to amount) @@ -313,11 +313,11 @@ order_crate(user, order, selected_account) if(successes == 1) playsound(loc, 'sound/machines/ping.ogg', 15, FALSE) - to_chat(user, "Order Sent.") + to_chat(user, SPAN_NOTICE("Order Sent.")) generate_requisition_paper(order, amount) if(successes != amount) playsound(loc, 'sound/machines/buzz-sigh.ogg', 15, FALSE) - to_chat(user, "Some items were unable to be ordered. Please check requisition paper and try again at a different time.") + to_chat(user, SPAN_WARNING("Some items were unable to be ordered. Please check requisition paper and try again at a different time.")) if("approve") var/ordernum = text2num(params["ordernum"]) @@ -448,7 +448,7 @@ if(is_public) // Public consoles cant move the shuttle. Dont allow exploiters. return if(!SSshuttle.supply.canMove()) - to_chat(user, "For safety reasons, the automated supply shuttle cannot transport [SSshuttle.supply.blocking_item].") + to_chat(user, SPAN_WARNING("For safety reasons, the automated supply shuttle cannot transport [SSshuttle.supply.blocking_item].")) else if(SSshuttle.supply.getDockedId() == "supply_home") SSshuttle.toggleShuttle("supply", "supply_home", "supply_away", 1) investigate_log("| [key_name(user)] has sent the supply shuttle away. Shuttle contents: [SSeconomy.sold_atoms]", INVESTIGATE_CARGO) @@ -471,19 +471,19 @@ return FALSE var/is_admin = is_admin(user) if(!account_database.try_authenticate_login(customer_account, attempt_pin, TRUE, FALSE, is_admin)) - to_chat(user, "Unable to access account: incorrect credentials.") + to_chat(user, SPAN_WARNING("Unable to access account: incorrect credentials.")) return FALSE return TRUE /obj/machinery/computer/supplycomp/proc/pay_with_account(datum/money_account/customer_account, amount, purpose, transactor, mob/user, datum/money_account/target) if(!customer_account) - to_chat(user, "Error: Unable to access account. Please contact technical support if problem persists.") + to_chat(user, SPAN_WARNING("Error: Unable to access account. Please contact technical support if problem persists.")) return FALSE if(customer_account.suspended) - to_chat(user, "Unable to access account: account suspended.") + to_chat(user, SPAN_WARNING("Unable to access account: account suspended.")) return FALSE if(!account_database.charge_account(customer_account, amount, purpose, transactor, allow_overdraft = FALSE, supress_log = FALSE)) - to_chat(user, "Unable to complete transaction: account has insufficient credit balance to purchase this.") + to_chat(user, SPAN_WARNING("Unable to complete transaction: account has insufficient credit balance to purchase this.")) return FALSE account_database.credit_account(target, amount, purpose, transactor, FALSE) return TRUE @@ -514,7 +514,7 @@ /obj/machinery/computer/supplycomp/emag_act(mob/user) if(!hacked) - to_chat(user, "Special supplies unlocked.") + to_chat(user, SPAN_NOTICE("Special supplies unlocked.")) hacked = TRUE update_static_data(user) SStgui.update_uis(src) diff --git a/code/modules/surgery/abstract_steps.dm b/code/modules/surgery/abstract_steps.dm index fd1d6291a14..cd82d4d366c 100644 --- a/code/modules/surgery/abstract_steps.dm +++ b/code/modules/surgery/abstract_steps.dm @@ -267,7 +267,7 @@ else // Normally, adding to_chat to can_start is poor practice since this gets called when listing surgery steps. // It's alright for intermediate surgeries, though, since they never get called like that. - to_chat(user, "The veins in [target]'s [parse_zone(affected)] seem to be in perfect condition, they don't need mending.") + to_chat(user, SPAN_WARNING("The veins in [target]'s [parse_zone(affected)] seem to be in perfect condition, they don't need mending.")) return FALSE @@ -290,7 +290,7 @@ if(affected.status & ORGAN_BROKEN) return TRUE else - to_chat(user, "The bones in [target]'s [parse_zone(affected)] look fully intact, they don't need mending.") + to_chat(user, SPAN_WARNING("The bones in [target]'s [parse_zone(affected)] look fully intact, they don't need mending.")) return FALSE /datum/surgery/intermediate/treat_burns diff --git a/code/modules/surgery/bio_chip_removal.dm b/code/modules/surgery/bio_chip_removal.dm index c2541971d9a..dacb2aa2b6f 100644 --- a/code/modules/surgery/bio_chip_removal.dm +++ b/code/modules/surgery/bio_chip_removal.dm @@ -39,8 +39,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) if(times_repeated >= max_times_to_check) user.visible_message( - "[user] seems to have had enough and stops checking inside [target].", - "There doesn't seem to be anything inside, you've checked enough times.", + SPAN_NOTICE("[user] seems to have had enough and stops checking inside [target]."), + SPAN_NOTICE("There doesn't seem to be anything inside, you've checked enough times."), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_BEGINSTEP_SKIP @@ -59,8 +59,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] grips onto [target]'s [affected.name] by mistake, tearing it!", - "You think you've found something, but you've grabbed onto [target]'s [affected.name] instead, damaging it!", + SPAN_WARNING("[user] grips onto [target]'s [affected.name] by mistake, tearing it!"), + SPAN_WARNING("You think you've found something, but you've grabbed onto [target]'s [affected.name] instead, damaging it!"), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.receive_damage(10) @@ -71,8 +71,8 @@ I = locate(/obj/item/bio_chip) in target if(I && prob(80)) //implant removal only works on the chest. user.visible_message( - "[user] takes something out of [target]'s [affected.name] with \the [tool].", - "You take \an [I] out of [target]'s [affected.name]s with \the [tool].", + SPAN_NOTICE("[user] takes something out of [target]'s [affected.name] with \the [tool]."), + SPAN_NOTICE("You take \an [I] out of [target]'s [affected.name]s with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -91,13 +91,13 @@ case.imp = I I.forceMove(case) case.update_state() - user.visible_message("[user] places \the [I] into \the [case]!", "You place \the [I] into \the [case].") + user.visible_message("[user] places \the [I] into \the [case]!", SPAN_NOTICE("You place \the [I] into \the [case].")) else qdel(I) else user.visible_message( - "[user] could not find anything inside [target]'s [affected.name], and pulls \the [tool] out.", - "You could not find anything inside [target]'s [affected.name].", + SPAN_NOTICE("[user] could not find anything inside [target]'s [affected.name], and pulls \the [tool] out."), + SPAN_NOTICE("You could not find anything inside [target]'s [affected.name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_CONTINUE diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index d14ddd44c33..efbfaed819d 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -76,8 +76,8 @@ /datum/surgery_step/glue_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] applies some [tool] to [target]'s bone in [affected.name].", - "You apply some [tool] to [target]'s bone in [affected.name] with \the [tool].", + SPAN_NOTICE("[user] applies some [tool] to [target]'s bone in [affected.name]."), + SPAN_NOTICE("You apply some [tool] to [target]'s bone in [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -86,8 +86,8 @@ /datum/surgery_step/glue_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!", - "Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!", + SPAN_WARNING("[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!"), + SPAN_WARNING("Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_RETRY @@ -116,8 +116,8 @@ /datum/surgery_step/set_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] sets the bone in [target]'s [affected.name] in place with \the [tool].", - "You set the bone in [target]'s [affected.name] in place with \the [tool].", + SPAN_NOTICE("[user] sets the bone in [target]'s [affected.name] in place with \the [tool]."), + SPAN_NOTICE("You set the bone in [target]'s [affected.name] in place with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_CONTINUE @@ -125,8 +125,8 @@ /datum/surgery_step/set_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!", - "Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!", + SPAN_WARNING("[user]'s hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!"), + SPAN_WARNING("Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.receive_damage(5) @@ -146,8 +146,8 @@ /datum/surgery_step/set_bone/mend_skull/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] sets [target]'s [affected.encased] with \the [tool].", - "You set [target]'s [affected.encased] with \the [tool].", + SPAN_NOTICE("[user] sets [target]'s [affected.encased] with \the [tool]."), + SPAN_NOTICE("You set [target]'s [affected.encased] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -156,8 +156,8 @@ /datum/surgery_step/set_bone/mend_skull/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, damaging [target]'s face with \the [tool]!", - "Your hand slips, damaging [target]'s face with \the [tool]!", + SPAN_WARNING("[user]'s hand slips, damaging [target]'s face with \the [tool]!"), + SPAN_WARNING("Your hand slips, damaging [target]'s face with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) var/obj/item/organ/external/head/H = affected @@ -196,8 +196,8 @@ /datum/surgery_step/finish_bone/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] has mended the damaged bones in [target]'s [affected.name] with \the [tool].", - "You have mended the damaged bones in [target]'s [affected.name] with \the [tool].", + SPAN_NOTICE("[user] has mended the damaged bones in [target]'s [affected.name] with \the [tool]."), + SPAN_NOTICE("You have mended the damaged bones in [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.mend_fracture() @@ -206,8 +206,8 @@ /datum/surgery_step/finish_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!", - "Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!", + SPAN_WARNING("[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!"), + SPAN_WARNING("Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_RETRY diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm index 3d7e012a50b..d95b32e6cf9 100644 --- a/code/modules/surgery/cavity_implant.dm +++ b/code/modules/surgery/cavity_implant.dm @@ -134,8 +134,8 @@ /datum/surgery_step/cavity/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!", - "Your hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!", + SPAN_WARNING("[user]'s hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!"), + SPAN_WARNING("Your hand slips, scraping around inside [target]'s [affected.name] with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.receive_damage(20) @@ -171,8 +171,8 @@ /datum/surgery_step/cavity/make_space/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) user.visible_message( - "[user] makes some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].", - "You make some space inside [target]'s [get_cavity(affected)] cavity with \the [tool].", + SPAN_NOTICE("[user] makes some space inside [target]'s [get_cavity(affected)] cavity with \the [tool]."), + SPAN_NOTICE("You make some space inside [target]'s [get_cavity(affected)] cavity with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -206,8 +206,8 @@ /datum/surgery_step/cavity/close_space/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) user.visible_message( - "[user] mends [target]'s [get_cavity(affected)] cavity walls with \the [tool].", - "You mend [target]'s [get_cavity(affected)] cavity walls with \the [tool].", + SPAN_NOTICE("[user] mends [target]'s [get_cavity(affected)] cavity walls with \the [tool]."), + SPAN_NOTICE("You mend [target]'s [get_cavity(affected)] cavity walls with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -231,7 +231,7 @@ // Check even if there isn't anything inside user.visible_message( "[user] checks for items in [target]'s [target_zone].", - "You check for items in [target]'s [target_zone]...", + SPAN_NOTICE("You check for items in [target]'s [target_zone]..."), chat_message_type = MESSAGE_TYPE_COMBAT ) return ..() @@ -243,11 +243,11 @@ extracting = get_item_inside(affected) if(!extracting) - to_chat(user, "You don't find anything in [target]'s [target_zone].") + to_chat(user, SPAN_WARNING("You don't find anything in [target]'s [target_zone].")) return SURGERY_STEP_CONTINUE user.visible_message( - "[user] pulls [extracting] out of [target]'s [target_zone]!", - "You pull [extracting] out of [target]'s [target_zone].", + SPAN_NOTICE("[user] pulls [extracting] out of [target]'s [target_zone]!"), + SPAN_NOTICE("You pull [extracting] out of [target]'s [target_zone]."), chat_message_type = MESSAGE_TYPE_COMBAT ) user.put_in_hands(extracting) @@ -258,8 +258,8 @@ /datum/surgery_step/cavity/remove_item/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] grabs onto something else by mistake, damaging it!.", - "You grab onto something else inside [target]'s [get_cavity(affected)] cavity by mistake, damaging it!", + SPAN_WARNING("[user] grabs onto something else by mistake, damaging it!."), + SPAN_WARNING("You grab onto something else inside [target]'s [get_cavity(affected)] cavity by mistake, damaging it!"), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -276,20 +276,20 @@ /datum/surgery_step/cavity/place_item/tool_check(mob/user, obj/item/tool) if(istype(tool, /obj/item/disk/nuclear)) - to_chat(user, "Central command would kill you if you implanted the disk into someone.") + to_chat(user, SPAN_WARNING("Central command would kill you if you implanted the disk into someone.")) return FALSE var/obj/item/disk/nuclear/datdisk = locate() in tool if(datdisk) - to_chat(user, "Central Command would kill you if you implanted the disk into someone. Especially if in a [tool].") + to_chat(user, SPAN_WARNING("Central Command would kill you if you implanted the disk into someone. Especially if in a [tool].")) return FALSE if(istype(tool, /obj/item/organ)) - to_chat(user, "This isn't the type of surgery for organ transplants!") + to_chat(user, SPAN_WARNING("This isn't the type of surgery for organ transplants!")) return FALSE if(!user.canUnEquip(tool, 0)) - to_chat(user, "[tool] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[tool] is stuck to your hand!")) return FALSE if(istype(tool, /obj/item/cautery)) @@ -304,7 +304,7 @@ var/can_fit = !affected.hidden && tool.w_class <= get_max_wclass(affected) if(!can_fit) - to_chat(user, "\The [tool] won't fit in \the [affected]!") + to_chat(user, SPAN_WARNING("\The [tool] won't fit in \the [affected]!")) return SURGERY_BEGINSTEP_SKIP user.visible_message( @@ -318,19 +318,19 @@ /datum/surgery_step/cavity/place_item/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/chest/affected = target.get_organ(target_zone) if(get_item_inside(affected)) - to_chat(user, "There seems to be something in there already!") + to_chat(user, SPAN_NOTICE("There seems to be something in there already!")) return SURGERY_STEP_CONTINUE user.visible_message( - "[user] puts \the [tool] inside [target]'s [get_cavity(affected)] cavity.", - "You put \the [tool] inside [target]'s [get_cavity(affected)] cavity.", + SPAN_NOTICE("[user] puts \the [tool] inside [target]'s [get_cavity(affected)] cavity."), + SPAN_NOTICE("You put \the [tool] inside [target]'s [get_cavity(affected)] cavity."), chat_message_type = MESSAGE_TYPE_COMBAT ) if((tool.w_class > get_max_wclass(affected) / 2 && prob(50) && !affected.is_robotic())) user.visible_message( - "[user] tears some blood vessels trying to fit the object in the cavity!", - "You tear some blood vessels trying to fit the object into the cavity!", - "You hear some gentle tearing.", MESSAGE_TYPE_COMBAT) + SPAN_WARNING("[user] tears some blood vessels trying to fit the object in the cavity!"), + SPAN_DANGER("You tear some blood vessels trying to fit the object into the cavity!"), + SPAN_WARNING("You hear some gentle tearing."), MESSAGE_TYPE_COMBAT) affected.cause_internal_bleeding() user.drop_item() affected.hidden = tool diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm index a57178f9734..426485378a6 100644 --- a/code/modules/surgery/core_removal.dm +++ b/code/modules/surgery/core_removal.dm @@ -30,13 +30,13 @@ return ..() /datum/surgery_step/slime/cut_flesh/end_step(mob/living/user, mob/living/simple_animal/slime/target, target_zone, obj/item/tool) - user.visible_message("[user] cuts through [target]'s flesh with \the [tool].", - "You cut through [target]'s flesh with \the [tool], revealing its silky innards.", chat_message_type = MESSAGE_TYPE_COMBAT) + user.visible_message(SPAN_NOTICE("[user] cuts through [target]'s flesh with \the [tool]."), + SPAN_NOTICE("You cut through [target]'s flesh with \the [tool], revealing its silky innards."), chat_message_type = MESSAGE_TYPE_COMBAT) return SURGERY_STEP_CONTINUE /datum/surgery_step/slime/cut_flesh/fail_step(mob/living/user, mob/living/simple_animal/slime/target, target_zone, obj/item/tool) - user.visible_message("[user]'s hand slips, tearing [target]'s flesh with \the [tool]!", \ - "Your hand slips, tearing [target]'s flesh with \the [tool]!", chat_message_type = MESSAGE_TYPE_COMBAT) + user.visible_message(SPAN_WARNING("[user]'s hand slips, tearing [target]'s flesh with \the [tool]!"), \ + SPAN_WARNING("Your hand slips, tearing [target]'s flesh with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT) return SURGERY_STEP_RETRY /datum/surgery_step/slime/extract_core @@ -48,8 +48,8 @@ /datum/surgery_step/slime/extract_core/begin_step(mob/user, mob/living/simple_animal/slime/target, target_zone, obj/item/tool) user.visible_message( - "[user] begins to extract a core from [target].", - "You begin to extract a core from [target]...", + SPAN_NOTICE("[user] begins to extract a core from [target]."), + SPAN_NOTICE("You begin to extract a core from [target]..."), chat_message_type = MESSAGE_TYPE_COMBAT ) return ..() @@ -58,8 +58,8 @@ /datum/surgery_step/slime/extract_core/end_step(mob/user, mob/living/simple_animal/slime/slime, target_zone, obj/item/tool) if(slime.cores > 0) slime.cores-- - user.visible_message("[user] successfully extracts a core from [slime]!", - "You successfully extract a core from [slime]. [slime.cores] core\s remaining.", chat_message_type = MESSAGE_TYPE_COMBAT) + user.visible_message(SPAN_NOTICE("[user] successfully extracts a core from [slime]!"), + SPAN_NOTICE("You successfully extract a core from [slime]. [slime.cores] core\s remaining."), chat_message_type = MESSAGE_TYPE_COMBAT) new slime.coretype(slime.loc) @@ -69,10 +69,10 @@ else return SURGERY_STEP_INCOMPLETE else - to_chat(user, "There aren't any cores left in [slime]!") + to_chat(user, SPAN_WARNING("There aren't any cores left in [slime]!")) return SURGERY_STEP_CONTINUE /datum/surgery_step/slime/extract_core/fail_step(mob/living/user, mob/living/simple_animal/slime/target, target_zone, obj/item/tool) - user.visible_message("[user]'s hand slips, tearing [target]'s flesh with \the [tool]!", \ - "Your hand slips, tearing [target]'s flesh with \the [tool]!", chat_message_type = MESSAGE_TYPE_COMBAT) + user.visible_message(SPAN_WARNING("[user]'s hand slips, tearing [target]'s flesh with \the [tool]!"), \ + SPAN_WARNING("Your hand slips, tearing [target]'s flesh with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT) return SURGERY_STEP_RETRY diff --git a/code/modules/surgery/dental_implant.dm b/code/modules/surgery/dental_implant.dm index b86d5cc82d1..8b7b5fc18df 100644 --- a/code/modules/surgery/dental_implant.dm +++ b/code/modules/surgery/dental_implant.dm @@ -18,7 +18,7 @@ /datum/surgery_step/insert_pill/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message( "[user] begins to wedge \the [tool] in [target]'s [parse_zone(target_zone)].", - "You begin to wedge [tool] in [target]'s [parse_zone(target_zone)]...", + SPAN_NOTICE("You begin to wedge [tool] in [target]'s [parse_zone(target_zone)]..."), chat_message_type = MESSAGE_TYPE_COMBAT ) return ..() @@ -31,7 +31,7 @@ for(var/obj/item/reagent_containers/pill in target.contents) // Can't give them more than 4 dental implants. dental_implants++ if(dental_implants >= 4) - user.visible_message("[user] pulls \the [tool] back out of [target]'s [parse_zone(target_zone)]!", "You pull \the [tool] back out of [target]'s [parse_zone(target_zone)], there wans't enough room...", chat_message_type = MESSAGE_TYPE_COMBAT) + user.visible_message("[user] pulls \the [tool] back out of [target]'s [parse_zone(target_zone)]!", SPAN_NOTICE("You pull \the [tool] back out of [target]'s [parse_zone(target_zone)], there wans't enough room..."), chat_message_type = MESSAGE_TYPE_COMBAT) return SURGERY_STEP_INCOMPLETE user.drop_item() @@ -41,7 +41,7 @@ P.name = "Activate Pill ([tool.name])" P.Grant(target) - user.visible_message("[user] wedges \the [tool] into [target]'s [parse_zone(target_zone)]!", "You wedge [tool] into [target]'s [parse_zone(target_zone)].", chat_message_type = MESSAGE_TYPE_COMBAT) + user.visible_message("[user] wedges \the [tool] into [target]'s [parse_zone(target_zone)]!", SPAN_NOTICE("You wedge [tool] into [target]'s [parse_zone(target_zone)]."), chat_message_type = MESSAGE_TYPE_COMBAT) return SURGERY_STEP_CONTINUE /datum/action/item_action/hands_free/activate_pill @@ -55,7 +55,7 @@ /datum/action/item_action/hands_free/activate_pill/Trigger(left_click = TRUE) if(!..(left_click, FALSE)) return - to_chat(owner, "You grit your teeth and burst the implanted [target]!") + to_chat(owner, SPAN_CAUTION("You grit your teeth and burst the implanted [target]!")) add_attack_logs(owner, owner, "Swallowed implanted [target]") if(target.reagents.total_volume) target.reagents.reaction(owner, REAGENT_INGEST) diff --git a/code/modules/surgery/encased.dm b/code/modules/surgery/encased.dm index 3db821ea1be..bf32eead28d 100644 --- a/code/modules/surgery/encased.dm +++ b/code/modules/surgery/encased.dm @@ -40,8 +40,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] has cut [target]'s [affected.encased] open with \the [tool].", - "You have cut [target]'s [affected.encased] open with \the [tool].", + SPAN_NOTICE("[user] has cut [target]'s [affected.encased] open with \the [tool]."), + SPAN_NOTICE("You have cut [target]'s [affected.encased] open with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.open = ORGAN_ORGANIC_ENCASED_OPEN @@ -52,8 +52,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, cracking [target]'s [affected.encased] with \the [tool]!" , - "Your hand slips, cracking [target]'s [affected.encased] with \the [tool]!", + SPAN_WARNING("[user]'s hand slips, cracking [target]'s [affected.encased] with \the [tool]!") , + SPAN_WARNING("Your hand slips, cracking [target]'s [affected.encased] with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -91,8 +91,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] forces open [target]'s [affected.encased] with \the [tool].", - "You force open [target]'s [affected.encased] with \the [tool].", + SPAN_NOTICE("[user] forces open [target]'s [affected.encased] with \the [tool]."), + SPAN_NOTICE("You force open [target]'s [affected.encased] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -104,8 +104,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, cracking [target]'s [affected.encased]!", - "Your hand slips, cracking [target]'s [affected.encased]!", + SPAN_WARNING("[user]'s hand slips, cracking [target]'s [affected.encased]!"), + SPAN_WARNING("Your hand slips, cracking [target]'s [affected.encased]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -141,8 +141,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] bends [target]'s [affected.encased] back into place with \the [tool].", - "You bend [target]'s [affected.encased] back into place with \the [tool].", + SPAN_NOTICE("[user] bends [target]'s [affected.encased] back into place with \the [tool]."), + SPAN_NOTICE("You bend [target]'s [affected.encased] back into place with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -152,8 +152,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, bending [target]'s [affected.encased] the wrong way!", - "Your hand slips, bending [target]'s [affected.encased] the wrong way!", + SPAN_WARNING("[user]'s hand slips, bending [target]'s [affected.encased] the wrong way!"), + SPAN_WARNING("Your hand slips, bending [target]'s [affected.encased] the wrong way!"), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -192,8 +192,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] applied [tool] to [target]'s [affected.encased].", - "You applied \the [tool] to [target]'s [affected.encased].", + SPAN_NOTICE("[user] applied [tool] to [target]'s [affected.encased]."), + SPAN_NOTICE("You applied \the [tool] to [target]'s [affected.encased]."), chat_message_type = MESSAGE_TYPE_COMBAT ) diff --git a/code/modules/surgery/external_infection_treatment.dm b/code/modules/surgery/external_infection_treatment.dm index 97bddca7d93..40aa081bf65 100644 --- a/code/modules/surgery/external_infection_treatment.dm +++ b/code/modules/surgery/external_infection_treatment.dm @@ -43,7 +43,7 @@ /datum/surgery_step/heal_infection/can_repeat(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(!can_be_healed(user, target, target_zone)) - to_chat(user, "It doesn't look like [target] has any remaining infection.") + to_chat(user, SPAN_NOTICE("It doesn't look like [target] has any remaining infection.")) return FALSE return TRUE @@ -63,7 +63,7 @@ /datum/surgery_step/heal_infection/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) if(!can_be_healed(user, target, target_zone)) - to_chat(user, "It doesn't look like [target] has any remaining infection.") + to_chat(user, SPAN_NOTICE("It doesn't look like [target] has any remaining infection.")) return SURGERY_STEP_CONTINUE var/outer_msg = "[user] succeeds in fixing some of [target]'s infection" @@ -79,8 +79,8 @@ if(COOLDOWN_FINISHED(src, success_message_spam_cooldown)) user.visible_message( - "[outer_msg].", - "[self_msg].", + SPAN_NOTICE("[outer_msg]."), + SPAN_NOTICE("[self_msg]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -95,8 +95,8 @@ /datum/surgery_step/heal_infection/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!", - "Your hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!", + SPAN_WARNING("[user]'s hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!"), + SPAN_WARNING("Your hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) target.apply_damage(3, BURN, affected) @@ -156,8 +156,8 @@ /datum/surgery_step/pull_skin/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user] pulls the incision closed on [target]'s [affected.name] with [tool]." - var/self_msg = "You pull the incision closed on [target]'s [affected.name] with [tool]." + var/msg = SPAN_NOTICE("[user] pulls the incision closed on [target]'s [affected.name] with [tool].") + var/self_msg = SPAN_NOTICE("You pull the incision closed on [target]'s [affected.name] with [tool].") user.visible_message(msg, self_msg, chat_message_type = MESSAGE_TYPE_COMBAT) affected.open = ORGAN_ORGANIC_ENCASED_OPEN @@ -165,8 +165,8 @@ /datum/surgery_step/pull_skin/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user]'s hand slips, tearing the edges of incision on [target]'s [affected.name] with [tool]!" - var/self_msg = "Your hand slips, tearing the edges of incision on [target]'s [affected.name] with [tool]!" + var/msg = SPAN_WARNING("[user]'s hand slips, tearing the edges of incision on [target]'s [affected.name] with [tool]!") + var/self_msg = SPAN_WARNING("Your hand slips, tearing the edges of incision on [target]'s [affected.name] with [tool]!") user.visible_message(msg, self_msg, chat_message_type = MESSAGE_TYPE_COMBAT) target.apply_damage(12, BRUTE, affected, sharp = TRUE) return SURGERY_STEP_RETRY diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 73a8d46ae67..c3c2849494e 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -46,8 +46,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] has made an incision on [target]'s [affected.name] with [tool].", - "You have made an incision on [target]'s [affected.name] with [tool].", + SPAN_NOTICE("[user] has made an incision on [target]'s [affected.name] with [tool]."), + SPAN_NOTICE("You have made an incision on [target]'s [affected.name] with [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.open = ORGAN_ORGANIC_OPEN @@ -60,8 +60,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, slicing open [target]'s [affected.name] in a wrong spot with [tool]!", - "Your hand slips, slicing open [target]'s [affected.name] in a wrong spot with [tool]!", + SPAN_WARNING("[user]'s hand slips, slicing open [target]'s [affected.name] in a wrong spot with [tool]!"), + SPAN_WARNING("Your hand slips, slicing open [target]'s [affected.name] in a wrong spot with [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.receive_damage(10) @@ -101,8 +101,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] clamps bleeders in [target]'s [affected.name] with \the [tool].", - "You clamp bleeders in [target]'s [affected.name] with \the [tool].", + SPAN_NOTICE("[user] clamps bleeders in [target]'s [affected.name] with \the [tool]."), + SPAN_NOTICE("You clamp bleeders in [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) spread_germs_to_organ(affected, user, tool) @@ -114,8 +114,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!", - "Your hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!", + SPAN_WARNING("[user]'s hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!"), + SPAN_WARNING("Your hand slips, tearing blood vessels and causing massive bleeding in [target]'s [affected.name] with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.receive_damage(10) @@ -159,14 +159,14 @@ to_chat(user, "[target.surgery_container.dissection_success_text[surgery.step_number]]") else var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user] keeps the incision open on [target]'s [affected.name] with \the [tool]." - var/self_msg = "You keep the incision open on [target]'s [affected.name] with \the [tool]." + var/msg = SPAN_NOTICE("[user] keeps the incision open on [target]'s [affected.name] with \the [tool].") + var/self_msg = SPAN_NOTICE("You keep the incision open on [target]'s [affected.name] with \the [tool].") if(target_zone == BODY_ZONE_CHEST) - msg = "[user] keeps the ribcage open on [target]'s torso with \the [tool]." + msg = SPAN_NOTICE("[user] keeps the ribcage open on [target]'s torso with \the [tool].") self_msg = "You keep the ribcage open on [target]'s torso with \the [tool]." if(target_zone == BODY_ZONE_PRECISE_GROIN) - msg = "[user] keeps the incision open on [target]'s lower abdomen with \the [tool]." - self_msg = "You keep the incision open on [target]'s lower abdomen with \the [tool]." + msg = SPAN_NOTICE("[user] keeps the incision open on [target]'s lower abdomen with \the [tool].") + self_msg = SPAN_NOTICE("You keep the incision open on [target]'s lower abdomen with \the [tool].") user.visible_message(msg, self_msg, chat_message_type = MESSAGE_TYPE_COMBAT) affected.open = ORGAN_ORGANIC_ENCASED_OPEN return SURGERY_STEP_CONTINUE @@ -176,14 +176,14 @@ to_chat(user, "[target.surgery_container.dissection_failure_text[surgery.step_number]]") else var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/msg = "[user]'s hand slips, tearing the edges of incision on [target]'s [affected.name] with \the [tool]!" - var/self_msg = "Your hand slips, tearing the edges of incision on [target]'s [affected.name] with \the [tool]!" + var/msg = SPAN_WARNING("[user]'s hand slips, tearing the edges of incision on [target]'s [affected.name] with \the [tool]!") + var/self_msg = SPAN_WARNING("Your hand slips, tearing the edges of incision on [target]'s [affected.name] with \the [tool]!") if(target_zone == BODY_ZONE_CHEST) - msg = "[user]'s hand slips, damaging several organs [target]'s torso with \the [tool]!" - self_msg = "Your hand slips, damaging several organs [target]'s torso with \the [tool]!" + msg = SPAN_WARNING("[user]'s hand slips, damaging several organs [target]'s torso with \the [tool]!") + self_msg = SPAN_WARNING("Your hand slips, damaging several organs [target]'s torso with \the [tool]!") if(target_zone == BODY_ZONE_PRECISE_GROIN) - msg = "[user]'s hand slips, damaging several organs [target]'s lower abdomen with \the [tool]" - self_msg = "Your hand slips, damaging several organs [target]'s lower abdomen with \the [tool]!" + msg = SPAN_WARNING("[user]'s hand slips, damaging several organs [target]'s lower abdomen with \the [tool]") + self_msg = SPAN_WARNING("Your hand slips, damaging several organs [target]'s lower abdomen with \the [tool]!") user.visible_message(msg, self_msg, chat_message_type = MESSAGE_TYPE_COMBAT) target.apply_damage(12, BRUTE, affected, sharp = TRUE) return SURGERY_STEP_RETRY @@ -208,7 +208,7 @@ /datum/surgery_step/generic/cauterize/tool_check(mob/user, obj/item/tool) if(tool.damtype != BURN) - to_chat(user, "[tool] is too cold to cauterize!") + to_chat(user, SPAN_WARNING("[tool] is too cold to cauterize!")) return FALSE return TRUE @@ -231,8 +231,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] cauterizes the incision on [target]'s [affected.name] with \the [tool].", - "You cauterize the incision on [target]'s [affected.name] with \the [tool].", + SPAN_NOTICE("[user] cauterizes the incision on [target]'s [affected.name] with \the [tool]."), + SPAN_NOTICE("You cauterize the incision on [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.open = ORGAN_CLOSED @@ -245,8 +245,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!", - "Your hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!", + SPAN_WARNING("[user]'s hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!"), + SPAN_WARNING("Your hand slips, leaving a small burn on [target]'s [affected.name] with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) target.apply_damage(3, BURN, affected) @@ -260,7 +260,7 @@ user.visible_message( "[user] is beginning to cauterize the incision on [target]'s [affected.name] with \the [tool].", // give a little heads up to the surgeon that they're stopping the surgery prematurely in case that wasn't the intention. - "You are interrupting the current surgery, beginning to cauterize the incision on [target]'s [affected.name] with \the [tool].", + "[SPAN_WARNING("You are interrupting the current surgery")], beginning to cauterize the incision on [target]'s [affected.name] with \the [tool].", chat_message_type = MESSAGE_TYPE_COMBAT ) affected.custom_pain("Your [affected.name] is being burned!") @@ -294,7 +294,7 @@ else user.visible_message( "[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)].", - "You begin to drill into the bone in [target]'s [parse_zone(target_zone)]...", + SPAN_NOTICE("You begin to drill into the bone in [target]'s [parse_zone(target_zone)]..."), chat_message_type = MESSAGE_TYPE_COMBAT ) return ..() @@ -303,7 +303,7 @@ if(istype(surgery, /datum/surgery/dissect)) to_chat(user, "[target.surgery_container.dissection_success_text[surgery.step_number]]") else - user.visible_message("[user] drills into [target]'s [parse_zone(target_zone)]!", "You drill into [target]'s [parse_zone(target_zone)].") + user.visible_message("[user] drills into [target]'s [parse_zone(target_zone)]!", SPAN_NOTICE("You drill into [target]'s [parse_zone(target_zone)].")) return SURGERY_STEP_CONTINUE /datum/surgery_step/generic/drill/fail_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -312,8 +312,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s [tool] doesn't get a firm grip and tears at the bone in [target]'s [parse_zone(target_zone)]!", - "Your [tool] doesn't get a firm grip and tears at the bone in [target]'s [parse_zone(target_zone)]!", + SPAN_WARNING("[user]'s [tool] doesn't get a firm grip and tears at the bone in [target]'s [parse_zone(target_zone)]!"), + SPAN_WARNING("Your [tool] doesn't get a firm grip and tears at the bone in [target]'s [parse_zone(target_zone)]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.receive_damage(15) @@ -359,8 +359,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] amputates [target]'s [affected.name] at the [affected.amputation_point] with \the [tool].", - "You amputate [target]'s [affected.name] with \the [tool].", + SPAN_NOTICE("[user] amputates [target]'s [affected.name] at the [affected.amputation_point] with \the [tool]."), + SPAN_NOTICE("You amputate [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -370,7 +370,7 @@ if(istype(target) && target.can_feel_pain()) // okay if you can feel your arm getting chopped off you aren't gonna be singing - to_chat(target, "Your [affected] goes completely numb at the [affected.amputation_point]!") + to_chat(target, SPAN_USERDANGER("Your [affected] goes completely numb at the [affected.amputation_point]!")) target.emote("scream") if(isitem(thing)) user.put_in_hands(thing) @@ -382,8 +382,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, sawing through the bone in [target]'s [affected.name] with \the [tool]!", - "Your hand slips, sawing through the bone in [target]'s [affected.name] with \the [tool]!", + SPAN_WARNING("[user]'s hand slips, sawing through the bone in [target]'s [affected.name] with \the [tool]!"), + SPAN_WARNING("Your hand slips, sawing through the bone in [target]'s [affected.name] with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.receive_damage(30) diff --git a/code/modules/surgery/limb_augmentation.dm b/code/modules/surgery/limb_augmentation.dm index b8331903d58..9431369d34a 100644 --- a/code/modules/surgery/limb_augmentation.dm +++ b/code/modules/surgery/limb_augmentation.dm @@ -36,7 +36,7 @@ chat_message_type = MESSAGE_TYPE_COMBAT ) return ..() - to_chat(user, "[tool] cannot be used to augment this limb!") + to_chat(user, SPAN_WARNING("[tool] cannot be used to augment this limb!")) return SURGERY_BEGINSTEP_ABORT @@ -45,8 +45,8 @@ var/obj/item/robot_parts/L = tool var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] has finished augmenting [affected] with [tool].", - "You augment [affected] with [tool].", + SPAN_NOTICE("[user] has finished augmenting [affected] with [tool]."), + SPAN_NOTICE("You augment [affected] with [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm index ee4582c34b4..44f138260c1 100644 --- a/code/modules/surgery/limb_reattach.dm +++ b/code/modules/surgery/limb_reattach.dm @@ -94,25 +94,25 @@ var/obj/item/organ/external/E = tool if(target.get_organ(E.limb_name)) // This catches attaching an arm to a missing hand while the arm is still there - to_chat(user, "[target] already has an [E.name]!") + to_chat(user, SPAN_WARNING("[target] already has an [E.name]!")) return SURGERY_BEGINSTEP_ABORT if(E.limb_name != target_zone) // This ensures you must be aiming at the appropriate location to attach // this limb. (Can't aim at a missing foot to re-attach a missing arm) - to_chat(user, "The [E.name] does not go there.") + to_chat(user, SPAN_WARNING("The [E.name] does not go there.")) return SURGERY_BEGINSTEP_ABORT if(!is_correct_limb(E)) - to_chat(user, "This is not the correct limb type for this surgery!") + to_chat(user, SPAN_WARNING("This is not the correct limb type for this surgery!")) return SURGERY_BEGINSTEP_ABORT var/list/organ_data = target.dna.species.has_limbs["[user.zone_selected]"] if(isnull(organ_data)) - to_chat(user, "[target.dna.species] don't have the anatomy for [E.name]!") + to_chat(user, SPAN_WARNING("[target.dna.species] don't have the anatomy for [E.name]!")) return SURGERY_BEGINSTEP_ABORT if(!target.bodyparts_by_name[E.parent_organ]) - to_chat(user, "[target] doesn't have a [parse_zone(E.parent_organ)] to attach the [E.name] to!") + to_chat(user, SPAN_WARNING("[target] doesn't have a [parse_zone(E.parent_organ)] to attach the [E.name] to!")) return SURGERY_BEGINSTEP_ABORT if(length(E.search_contents_for(/obj/item/organ/internal/brain)) && target.get_int_organ(/obj/item/organ/internal/brain)) - to_chat(user, "Both [target] and [E.name] contain a brain, and [target] can't have two brains!") + to_chat(user, SPAN_WARNING("Both [target] and [E.name] contain a brain, and [target] can't have two brains!")) return SURGERY_BEGINSTEP_ABORT user.visible_message( @@ -125,8 +125,8 @@ /datum/surgery_step/limb/attach/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/E = tool user.visible_message( - "[user] has attached [target]'s [E.name] to the [E.amputation_point].", - "You have attached [target]'s [E.name] to the [E.amputation_point].", + SPAN_NOTICE("[user] has attached [target]'s [E.name] to the [E.amputation_point]."), + SPAN_NOTICE("You have attached [target]'s [E.name] to the [E.amputation_point]."), chat_message_type = MESSAGE_TYPE_COMBAT ) attach_limb(user, target, E) @@ -135,8 +135,8 @@ /datum/surgery_step/limb/attach/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/E = tool user.visible_message( - "[user]'s hand slips, damaging [target]'s [E.amputation_point]!", - "Your hand slips, damaging [target]'s [E.amputation_point]!", + SPAN_ALERT("[user]'s hand slips, damaging [target]'s [E.amputation_point]!"), + SPAN_ALERT("Your hand slips, damaging [target]'s [E.amputation_point]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) target.apply_damage(10, BRUTE, null, sharp = TRUE) @@ -199,8 +199,8 @@ /datum/surgery_step/limb/connect/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/E = target.get_organ(target_zone) user.visible_message( - "[user] has connected tendons and muscles in [target]'s [E.amputation_point] with [tool].", - "You have connected tendons and muscles in [target]'s [E.amputation_point] with [tool].", + SPAN_NOTICE("[user] has connected tendons and muscles in [target]'s [E.amputation_point] with [tool]."), + SPAN_NOTICE("You have connected tendons and muscles in [target]'s [E.amputation_point] with [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) E.properly_attached = TRUE @@ -212,8 +212,8 @@ /datum/surgery_step/limb/connect/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/E = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, damaging [target]'s [E.amputation_point]!", - "Your hand slips, damaging [target]'s [E.amputation_point]!", + SPAN_ALERT("[user]'s hand slips, damaging [target]'s [E.amputation_point]!"), + SPAN_ALERT("Your hand slips, damaging [target]'s [E.amputation_point]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) target.apply_damage(10, BRUTE, null, sharp = TRUE) @@ -230,7 +230,7 @@ var/obj/item/robot_parts/P = tool if(P.part) if(!(target_zone in P.part)) - to_chat(user, "\The [tool] does not go there!") + to_chat(user, SPAN_WARNING("\The [tool] does not go there!")) return SURGERY_BEGINSTEP_ABORT user.visible_message( @@ -243,8 +243,8 @@ /datum/surgery_step/limb/mechanize/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/robot_parts/L = tool user.visible_message( - "[user] has attached \the [tool] to [target].", - "You have attached \the [tool] to [target].", + SPAN_NOTICE("[user] has attached \the [tool] to [target]."), + SPAN_NOTICE("You have attached \the [tool] to [target]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -274,8 +274,8 @@ /datum/surgery_step/limb/mechanize/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) user.visible_message( - "[user]'s hand slips, damaging [target]'s flesh!", - "Your hand slips, damaging [target]'s flesh!", + SPAN_ALERT("[user]'s hand slips, damaging [target]'s flesh!"), + SPAN_ALERT("Your hand slips, damaging [target]'s flesh!"), chat_message_type = MESSAGE_TYPE_COMBAT ) target.apply_damage(10, BRUTE, null, sharp = TRUE) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 4e28c8337a8..74bd3d9b983 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -32,7 +32,7 @@ /obj/item/organ/internal/cyberimp/arm/examine(mob/user) . = ..() - . += "[src] is assembled in the [parent_organ == "r_arm" ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it." + . += SPAN_NOTICE("[src] is assembled in the [parent_organ == "r_arm" ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it.") /obj/item/organ/internal/cyberimp/arm/screwdriver_act(mob/user, obj/item/I) . = TRUE @@ -43,7 +43,7 @@ else parent_organ = "r_arm" slot = parent_organ + "_device" - to_chat(user, "You modify [src] to be installed on the [parent_organ == "r_arm" ? "right" : "left"] arm.") + to_chat(user, SPAN_NOTICE("You modify [src] to be installed on the [parent_organ == "r_arm" ? "right" : "left"] arm.")) update_icon(UPDATE_ICON_STATE) /obj/item/organ/internal/cyberimp/arm/insert(mob/living/carbon/M, special, dont_remove_slot) @@ -62,7 +62,7 @@ if(emp_proof) return if(prob(15/severity) && owner) - to_chat(owner, "[src] is hit by EMP!") + to_chat(owner, SPAN_WARNING("[src] is hit by EMP!")) // give the owner an idea about why his implant is glitching Retract() ..() @@ -107,7 +107,7 @@ /obj/item/organ/internal/cyberimp/arm/proc/check_cuffs() if(owner.handcuffed) - to_chat(owner, "The handcuffs interfere with [src]!") + to_chat(owner, SPAN_WARNING("The handcuffs interfere with [src]!")) return TRUE /obj/item/organ/internal/cyberimp/arm/proc/Retract() @@ -116,9 +116,9 @@ if(status & ORGAN_DEAD) return - owner.visible_message("[owner] retracts [holder] back into [owner.p_their()] [parent_organ == "r_arm" ? "right" : "left"] arm.", - "[holder] snaps back into your [parent_organ == "r_arm" ? "right" : "left"] arm.", - "You hear a short mechanical noise.") + owner.visible_message(SPAN_NOTICE("[owner] retracts [holder] back into [owner.p_their()] [parent_organ == "r_arm" ? "right" : "left"] arm."), + SPAN_NOTICE("[holder] snaps back into your [parent_organ == "r_arm" ? "right" : "left"] arm."), + SPAN_ITALICS("You hear a short mechanical noise.")) if(istype(holder, /obj/item/flash/armimplant)) var/obj/item/flash/F = holder @@ -152,31 +152,31 @@ if(arm_item) if(istype(arm_item, /obj/item/offhand)) var/obj/item/offhand_arm_item = owner.get_active_hand() - to_chat(owner, "Your hands are too encumbered wielding [offhand_arm_item] to deploy [src]!") + to_chat(owner, SPAN_WARNING("Your hands are too encumbered wielding [offhand_arm_item] to deploy [src]!")) return else if(!owner.drop_item_to_ground(arm_item)) - to_chat(owner, "Your [arm_item] interferes with [src]!") + to_chat(owner, SPAN_WARNING("Your [arm_item] interferes with [src]!")) return else - to_chat(owner, "You drop [arm_item] to activate [src]!") + to_chat(owner, SPAN_NOTICE("You drop [arm_item] to activate [src]!")) if(parent_organ == "r_arm" ? !owner.put_in_r_hand(holder) : !owner.put_in_l_hand(holder)) - to_chat(owner, "Your [src] fails to activate!") + to_chat(owner, SPAN_WARNING("Your [src] fails to activate!")) return // Activate the hand that now holds our item. if(parent_organ == "r_arm" ? owner.hand : !owner.hand) owner.swap_hand() - owner.visible_message("[owner] extends [holder] from [owner.p_their()] [parent_organ == "r_arm" ? "right" : "left"] arm.", - "You extend [holder] from your [parent_organ == "r_arm" ? "right" : "left"] arm.", - "You hear a short mechanical noise.") + owner.visible_message(SPAN_NOTICE("[owner] extends [holder] from [owner.p_their()] [parent_organ == "r_arm" ? "right" : "left"] arm."), + SPAN_NOTICE("You extend [holder] from your [parent_organ == "r_arm" ? "right" : "left"] arm."), + SPAN_ITALICS("You hear a short mechanical noise.")) playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1) return TRUE /obj/item/organ/internal/cyberimp/arm/ui_action_click() if(crit_fail || (!holder && !length(contents)) || status & ORGAN_DEAD) - 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 // You can emag the arm-mounted implant by activating it while holding emag in it's hand. @@ -216,9 +216,9 @@ return if(prob(30/severity) && owner && !crit_fail) Retract() - owner.visible_message("A loud bang comes from [owner]\'s [parent_organ == "r_arm" ? "right" : "left"] arm!") + owner.visible_message(SPAN_DANGER("A loud bang comes from [owner]\'s [parent_organ == "r_arm" ? "right" : "left"] arm!")) playsound(get_turf(owner), 'sound/weapons/flashbang.ogg', 100, 1) - to_chat(owner, "You feel an explosion erupt inside your [parent_organ == "r_arm" ? "right" : "left"] arm as your implant misfires!") + to_chat(owner, SPAN_USERDANGER("You feel an explosion erupt inside your [parent_organ == "r_arm" ? "right" : "left"] arm as your implant misfires!")) owner.adjust_fire_stacks(20) owner.IgniteMob() owner.adjustFireLoss(25) @@ -268,7 +268,7 @@ /obj/item/organ/internal/cyberimp/arm/toolset/emag_act(mob/user) if(!(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list)) - to_chat(user, "You unlock [src]'s integrated knife!") + to_chat(user, SPAN_NOTICE("You unlock [src]'s integrated knife!")) items_list += new /obj/item/kitchen/knife/combat/cyborg(src) return TRUE return FALSE @@ -475,7 +475,7 @@ /obj/item/organ/internal/cyberimp/arm/power_cord/surgeryize() if(crit_fail && owner) - to_chat(owner, "Your [src] feels functional again.") + to_chat(owner, SPAN_NOTICE("Your [src] feels functional again.")) crit_fail = FALSE @@ -491,7 +491,7 @@ if(!istype(target, /obj/machinery/power/apc) || !ishuman(user) || !proximity_flag) return ..() if(drawing_power) - to_chat(user, "You're already charging.") + to_chat(user, SPAN_WARNING("You're already charging.")) return user.changeNext_move(CLICK_CD_MELEE) var/obj/machinery/power/apc/A = target @@ -500,28 +500,28 @@ if(istype(power_source)) if(A.emagged || A.stat & BROKEN) do_sparks(3, 1, A) - to_chat(H, "The APC power currents surge erratically, damaging your chassis!") + to_chat(H, SPAN_WARNING("The APC power currents surge erratically, damaging your chassis!")) H.adjustFireLoss(10,0) else if(A.cell && A.cell.charge > 0) if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) - to_chat(user, "You are already fully charged!") + to_chat(user, SPAN_WARNING("You are already fully charged!")) else INVOKE_ASYNC(src, PROC_REF(powerdraw_loop), A, H) else - to_chat(user, "There is no charge to draw from that APC.") + to_chat(user, SPAN_WARNING("There is no charge to draw from that APC.")) else - to_chat(user, "You lack a power source in which to store charge!") + to_chat(user, SPAN_WARNING("You lack a power source in which to store charge!")) /obj/item/apc_powercord/proc/powerdraw_loop(obj/machinery/power/apc/A, mob/living/carbon/human/H) - H.visible_message("[H] inserts a power connector into \the [A].", "You begin to draw power from \the [A].") + H.visible_message(SPAN_NOTICE("[H] inserts a power connector into \the [A]."), SPAN_NOTICE("You begin to draw power from \the [A].")) drawing_power = TRUE var/can_safely_charge = HAS_TRAIT(H, TRAIT_NO_APC_CHARGING) ? FALSE : TRUE while(do_after(H, 10, target = A)) if(loc != H) - to_chat(H, "You must keep your connector out while charging!") + to_chat(H, SPAN_WARNING("You must keep your connector out while charging!")) break if(A.cell.charge == 0) - to_chat(H, "\The [A] has no more charge.") + to_chat(H, SPAN_WARNING("\The [A] has no more charge.")) break A.charging = APC_IS_CHARGING if(A.cell.charge >= 500) @@ -529,16 +529,16 @@ H.adjust_bodytemperature(60) // Don't overcharge your batteries H.adjust_nutrition(50) A.cell.charge -= 500 - to_chat(H, "You siphon off some of the stored charge for your own use.") + to_chat(H, SPAN_NOTICE("You siphon off some of the stored charge for your own use.")) else H.adjust_nutrition(A.cell.charge * 0.1) A.cell.charge = 0 - to_chat(H, "You siphon off the last of \the [A]'s charge.") + to_chat(H, SPAN_NOTICE("You siphon off the last of \the [A]'s charge.")) break if(H.nutrition > NUTRITION_LEVEL_WELL_FED) - to_chat(H, "You are now fully charged.") + to_chat(H, SPAN_NOTICE("You are now fully charged.")) break - H.visible_message("[H] unplugs from \the [A].", "You unplug from \the [A].") + H.visible_message(SPAN_NOTICE("[H] unplugs from \the [A]."), SPAN_NOTICE("You unplug from \the [A].")) drawing_power = FALSE if(can_safely_charge) return @@ -547,7 +547,7 @@ H.IgniteMob() var/datum/organ/battery/microbattery = H.get_int_organ_datum(ORGAN_DATUM_BATTERY) microbattery.linked_organ.receive_damage(H.bodytemperature / 50) - H.visible_message("...Then immediately bursts into flame!", "Something inside you combusts!") + H.visible_message(SPAN_WARNING("...Then immediately bursts into flame!"), SPAN_USERDANGER("Something inside you combusts!")) /datum/action/item_action/organ_action/toggle/telebaton button_icon = 'icons/obj/items.dmi' @@ -630,7 +630,7 @@ /obj/item/melee/razorwire/examine(mob/user) . = ..() - . += "Alt-click it to reskin it." + . += SPAN_NOTICE("Alt-click it to reskin it.") /obj/item/melee/razorwire/examine_more(mob/user) . = ..() @@ -648,7 +648,7 @@ /obj/item/melee/razorwire/AltClick(mob/user) ..() if(user.incapacitated()) - to_chat(user, "You can't do that right now!") + to_chat(user, SPAN_WARNING("You can't do that right now!")) return if(loc == user) reskin(user) @@ -710,7 +710,7 @@ can_sawoff = FALSE /obj/item/gun/projectile/revolver/doublebarrel/shell_launcher/proc/missfire(mob/living/carbon/human/H, our_organ) - to_chat(H, "Your [name] misfires!") + to_chat(H, SPAN_WARNING("Your [name] misfires!")) process_fire(H, H, 1, zone_override = our_organ) /obj/item/gun/projectile/revolver/doublebarrel/shell_launcher/examine_more(mob/user) @@ -760,7 +760,7 @@ emp_proof = TRUE //This kills the server without it. Do not remove this. SL.missfire(owner, parent_organ) emp_proof = FALSE - to_chat(owner, "The misfired [SL.chambered] causes your [name] to break!") + to_chat(owner, SPAN_WARNING("The misfired [SL.chambered] causes your [name] to break!")) necrotize() return if(istype(SL.chambered, /obj/item/ammo_casing/shotgun/frag12)) @@ -819,13 +819,13 @@ /obj/item/organ/internal/cyberimp/arm/v1_arm/Extend(obj/item/item) if(disabled) - to_chat(owner, "Your arm fails to extend!") + to_chat(owner, SPAN_WARNING("Your arm fails to extend!")) return FALSE ..() /obj/item/organ/internal/cyberimp/arm/v1_arm/Retract() if(disabled) - to_chat(owner, "Your arm fails to retract!") + to_chat(owner, SPAN_WARNING("Your arm fails to retract!")) return FALSE ..() @@ -859,12 +859,12 @@ var/force_when_disabled = 5 //still basically a metal pipe, just hard to move /obj/item/shield/v1_arm/customised_abstract_text(mob/living/carbon/owner) - return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left arm" : "right arm"] is covered in metal." + return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left arm" : "right arm"] is covered in metal.") /obj/item/shield/v1_arm/emp_act(severity) if(disabled) return - to_chat(loc, "Your arm seises up!") + to_chat(loc, SPAN_WARNING("Your arm seises up!")) disabled = TRUE force = force_when_disabled addtimer(CALLBACK(src, PROC_REF(reboot)), 10 SECONDS) @@ -884,7 +884,7 @@ if(!.) // they did not block the attack return if(. == 1) // a normal block - owner.visible_message("[owner] blocks [attack_text] with [src]!") + owner.visible_message(SPAN_DANGER("[owner] blocks [attack_text] with [src]!")) playsound(src, 'sound/weapons/effects/ric3.ogg', 100, TRUE) return TRUE @@ -896,7 +896,7 @@ if(P.shield_buster || istype(P, /obj/projectile/ion)) //EMP's and unpariable attacks, after all. return FALSE if(P.reflectability == REFLECTABILITY_NEVER) //only 1 magic spell does this, but hey, needed - owner.visible_message("[owner] blocks [attack_text] with [src]!") + owner.visible_message(SPAN_DANGER("[owner] blocks [attack_text] with [src]!")) playsound(src, 'sound/weapons/effects/ric3.ogg', 100, TRUE) return TRUE @@ -906,11 +906,11 @@ P.hitsound_wall = sound P.add_overlay("parry") playsound(src, 'sound/weapons/v1_parry.ogg', 100, TRUE) - owner.visible_message("[owner] parries [attack_text] with [src]!") + owner.visible_message(SPAN_DANGER("[owner] parries [attack_text] with [src]!")) add_attack_logs(P.firer, src, "hit by [P.type] but got parried by [src]") return -1 - owner.visible_message("[owner] parries [attack_text] with [src]!") + owner.visible_message(SPAN_DANGER("[owner] parries [attack_text] with [src]!")) playsound(src, 'sound/weapons/v1_parry.ogg', 100, TRUE) if(attack_type == THROWN_PROJECTILE_ATTACK) if(!isitem(hitby)) @@ -931,7 +931,7 @@ /obj/item/v1_arm_shell/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, /obj/item/assembly/signaler/anomaly/vortex)) - to_chat(user, "You insert [I] into the back of the hand, and the implant begins to boot up.") + to_chat(user, SPAN_NOTICE("You insert [I] into the back of the hand, and the implant begins to boot up.")) new /obj/item/organ/internal/cyberimp/arm/v1_arm(get_turf(src)) qdel(src) qdel(I) diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm index ba01455b9d3..2090eef39f7 100644 --- a/code/modules/surgery/organs/augments_eyes.dm +++ b/code/modules/surgery/organs/augments_eyes.dm @@ -10,7 +10,7 @@ /obj/item/organ/internal/cyberimp/eyes/insert(mob/living/carbon/M, special = FALSE) ..() if(aug_message && !special) - to_chat(owner, "[aug_message]") + to_chat(owner, SPAN_NOTICE("[aug_message]")) // HUD implants /obj/item/organ/internal/cyberimp/eyes/hud diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index f0fb814ed49..aea1e1f68ab 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -20,7 +20,7 @@ /obj/item/organ/internal/cyberimp/examine(mob/user) . = ..() - . += "It looks like it belongs in the [parse_zone(parent_organ)]." + . += SPAN_NOTICE("It looks like it belongs in the [parse_zone(parent_organ)].") //[[[[BRAIN]]]] @@ -36,7 +36,7 @@ return var/weaken_time = (5 + (severity - 1 ? 0 : 5)) STATUS_EFFECT_CONSTANT owner.Weaken(weaken_time) - to_chat(owner, "Your body seizes up!") + to_chat(owner, SPAN_WARNING("Your body seizes up!")) return weaken_time @@ -74,7 +74,7 @@ r_hand_ignore = FALSE if(!l_hand_obj && !r_hand_obj) - 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 else var/msg = 0 @@ -82,14 +82,14 @@ msg += !r_hand_ignore && r_hand_obj ? 2 : 0 switch(msg) if(1) - to_chat(owner, "Your left hand's grip tightens.") + to_chat(owner, SPAN_NOTICE("Your left hand's grip tightens.")) if(2) - to_chat(owner, "Your right hand's grip tightens.") + to_chat(owner, SPAN_NOTICE("Your right hand's grip tightens.")) if(3) - to_chat(owner, "Both of your hand's grips tighten.") + to_chat(owner, SPAN_NOTICE("Both of your hand's grips tighten.")) else release_items() - to_chat(owner, "Your hands relax...") + to_chat(owner, SPAN_NOTICE("Your hands relax...")) l_hand_obj = null r_hand_obj = null @@ -106,12 +106,12 @@ if(L_item) A = pick(oview(range, owner)) L_item.throw_at(A, range, 2) - to_chat(owner, "Your left arm spasms and throws [L_item]!") + to_chat(owner, SPAN_NOTICE("Your left arm spasms and throws [L_item]!")) l_hand_obj = null if(R_item) A = pick(oview(range, owner)) R_item.throw_at(A, range, 2) - to_chat(owner, "Your right arm spasms and throws [R_item]!") + to_chat(owner, SPAN_NOTICE("Your right arm spasms and throws [R_item]!")) r_hand_obj = null /obj/item/organ/internal/cyberimp/brain/anti_drop/proc/release_items() @@ -202,13 +202,13 @@ if(owner.stat == UNCONSCIOUS && !cooldown) owner.AdjustSleeping(-200 SECONDS) owner.AdjustParalysis(-200 SECONDS) - to_chat(owner, "You feel a rush of energy course through your body!") + to_chat(owner, SPAN_NOTICE("You feel a rush of energy course through your body!")) cooldown = TRUE addtimer(CALLBACK(src, PROC_REF(sleepy_timer_end)), 50) /obj/item/organ/internal/cyberimp/brain/anti_sleep/proc/sleepy_timer_end() cooldown = FALSE - to_chat(owner, "You hear a small beep in your head as your Neural Jumpstarter finishes recharging.") + to_chat(owner, SPAN_NOTICE("You hear a small beep in your head as your Neural Jumpstarter finishes recharging.")) /obj/item/organ/internal/cyberimp/brain/anti_sleep/emp_act(severity) . = ..() @@ -235,7 +235,7 @@ /obj/item/organ/internal/cyberimp/brain/clown_voice name = "Comical implant" - desc = "Uh oh." + desc = SPAN_SANS("Uh oh.") implant_color = "#DEDE00" slot = "brain_clownvoice" origin_tech = "materials=2;biotech=2" @@ -270,7 +270,7 @@ if(emp_proof) return if(owner && active && !crit_fail) - to_chat(owner, "Your translator implant shuts down with a harsh buzz.") + to_chat(owner, SPAN_DANGER("Your translator implant shuts down with a harsh buzz.")) addtimer(CALLBACK(src, PROC_REF(reboot)), 60 SECONDS) crit_fail = TRUE active = FALSE @@ -278,17 +278,17 @@ /obj/item/organ/internal/cyberimp/brain/speech_translator/proc/reboot() crit_fail = FALSE if(owner) - to_chat(owner, "Your translator implant beeps.") + to_chat(owner, SPAN_NOTICE("Your translator implant beeps.")) SEND_SOUND(owner, sound('sound/machines/twobeep.ogg')) /obj/item/organ/internal/cyberimp/brain/speech_translator/ui_action_click() if(owner && crit_fail) - to_chat(owner, "The implant is still rebooting.") + to_chat(owner, SPAN_WARNING("The implant is still rebooting.")) else if(owner && !active) - to_chat(owner, "You turn on your translator implant.") + to_chat(owner, SPAN_NOTICE("You turn on your translator implant.")) active = TRUE else if(owner && active) - to_chat(owner, "You turn off your translator implant.") + to_chat(owner, SPAN_NOTICE("You turn off your translator implant.")) active = FALSE /obj/item/organ/internal/cyberimp/brain/wire_interface @@ -346,7 +346,7 @@ /obj/item/organ/internal/cyberimp/brain/sensory_enhancer/examine(mob/user) . = ..() - . += "Epilepsy Warning: Drug has vibrant visual effects!" + . += SPAN_USERDANGER("Epilepsy Warning: Drug has vibrant visual effects!") /obj/item/organ/internal/cyberimp/brain/sensory_enhancer/examine_more(mob/user) . = ..() @@ -411,7 +411,7 @@ if(istype(target, /obj/item/organ/internal/cyberimp/brain/sensory_enhancer)) var/obj/item/organ/internal/cyberimp/brain/sensory_enhancer/ourtarget = target if(!COOLDOWN_FINISHED(ourtarget, sensory_enhancer_cooldown)) - to_chat(owner, "[ourtarget] is still on cooldown for another [round(COOLDOWN_TIMELEFT(ourtarget, sensory_enhancer_cooldown), 1 SECONDS) / 10] seconds!") + to_chat(owner, SPAN_WARNING("[ourtarget] is still on cooldown for another [round(COOLDOWN_TIMELEFT(ourtarget, sensory_enhancer_cooldown), 1 SECONDS) / 10] seconds!")) return COOLDOWN_START(ourtarget, sensory_enhancer_cooldown, 5 MINUTES) @@ -431,8 +431,8 @@ human_owner.reagents.add_reagent("mephedrone", injection_amount) - owner.visible_message("[owner.name] jolts suddenly as two small glass vials are fired from ports in the implant on [owner.p_their()] spine, shattering as they land.", \ - "You jolt suddenly as your Qani-Laaca system ejects two empty glass vials rearward, shattering as they land.") + owner.visible_message(SPAN_DANGER("[owner.name] jolts suddenly as two small glass vials are fired from ports in the implant on [owner.p_their()] spine, shattering as they land."), \ + SPAN_USERDANGER("You jolt suddenly as your Qani-Laaca system ejects two empty glass vials rearward, shattering as they land.")) playsound(human_owner, 'sound/goonstation/items/hypo.ogg', 80, TRUE) var/obj/item/telegraph_vial = new /obj/item/qani_laaca_telegraph(get_turf(owner)) @@ -509,7 +509,7 @@ /obj/item/organ/internal/cyberimp/brain/hackerman_deck/emp_act(severity) owner.adjustStaminaLoss(40 / severity) owner.adjust_bodytemperature(400 / severity) - to_chat(owner, "Your [name] heats up drastically!") + to_chat(owner, SPAN_WARNING("Your [name] heats up drastically!")) return TRUE /datum/spell/hackerman_deck @@ -543,11 +543,11 @@ /datum/spell/hackerman_deck/cast(list/targets, mob/user) var/atom/target = targets[1] if(get_dist(user, target) > 3) //fucking cameras holy shit - to_chat(user, "Your implant is not robust enough to hack at that distance!") + to_chat(user, SPAN_WARNING("Your implant is not robust enough to hack at that distance!")) cooldown_handler.start_recharge(cooldown_handler.recharge_duration * 0.3) return if(istype(user.loc, /obj/machinery/atmospherics)) //Come now, no emaging all the doors on station from a pipe - to_chat(user, "Your implant is unable to get a lock on anything in the pipes!") + to_chat(user, SPAN_WARNING("Your implant is unable to get a lock on anything in the pipes!")) return var/beam if(!isturf(user.loc)) //Using it inside a locker or stealth box is fine! Let us make sure the beam can be seen though. @@ -555,8 +555,8 @@ else beam = user.Beam(target, icon_state = "sm_arc_supercharged", time = 3 SECONDS) - user.visible_message("[user] makes an unusual buzzing sound as the air between them and [target] crackles.", \ - "The air between you and [target] begins to crackle audibly as the Binyat gets to work and heats up in your head!") + user.visible_message(SPAN_WARNING("[user] makes an unusual buzzing sound as the air between them and [target] crackles."), \ + SPAN_WARNING("The air between you and [target] begins to crackle audibly as the Binyat gets to work and heats up in your head!")) if(!do_after(user, 3 SECONDS, target)) qdel(beam) @@ -564,7 +564,7 @@ return if(!target.emag_act(user)) - to_chat(user, "You are unable to hack this!") + to_chat(user, SPAN_WARNING("You are unable to hack this!")) cooldown_handler.start_recharge(cooldown_handler.recharge_duration * 0.3) return @@ -604,7 +604,7 @@ if(emp_proof) return if(prob(60/severity) && owner) - to_chat(owner, "Your breathing tube suddenly closes!") + to_chat(owner, SPAN_WARNING("Your breathing tube suddenly closes!")) owner.AdjustLoseBreath(4 SECONDS) //[[[[CHEST]]]] @@ -645,7 +645,7 @@ return FALSE 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(50) addtimer(CALLBACK(src, PROC_REF(synth_cool)), 50) @@ -659,9 +659,9 @@ if(!owner || emp_proof) return owner.vomit(100, FALSE, TRUE, 3, FALSE) // because when else do we ever use projectile vomiting - owner.visible_message("The contents of [owner]'s stomach erupt violently from [owner.p_their()] mouth!", - "You feel like your insides are burning as you vomit profusely!", - "You hear vomiting and a sickening splattering against the floor!") + owner.visible_message(SPAN_WARNING("The contents of [owner]'s stomach erupt violently from [owner.p_their()] mouth!"), + SPAN_WARNING("You feel like your insides are burning as you vomit profusely!"), + SPAN_WARNING("You hear vomiting and a sickening splattering against the floor!")) owner.reagents.add_reagent("????",poison_amount / severity) //food poisoning disabled_by_emp = TRUE // Disable the implant for a little bit so this effect actually matters synthesizing = FALSE @@ -745,7 +745,7 @@ if(owner.stat != DEAD && reached_heal_threshold()) //Don't stop healing when they are dead. 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)].")) applied_nugget_cooldown = FALSE else addtimer(CALLBACK(src, PROC_REF(heal)), 3 SECONDS) @@ -761,7 +761,7 @@ revive_cost = 0 reviving = TRUE has_defibed = FALSE - 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...")) COOLDOWN_START(src, defib_cooldown, 8 SECONDS) // 5 seconds after heal proc delay /obj/item/organ/internal/cyberimp/chest/reviver/proc/heal() @@ -791,23 +791,23 @@ if(body_damage_patched && prob(25)) // healing is called every few seconds, not every tick if(owner.stat != CONSCIOUS) - owner.visible_message("[owner]'s body [pick("twitches", "shifts", "shivers", "spasms", "vibrates")] a bit.", \ - "You feel like something is patching your injured body.") + owner.visible_message(SPAN_WARNING("[owner]'s body [pick("twitches", "shifts", "shivers", "spasms", "vibrates")] a bit."), \ + SPAN_NOTICE("You feel like something is patching your injured body.")) else // No twitching if awake. - to_chat(owner, "You feel like something is patching your injured body.") + to_chat(owner, SPAN_NOTICE("You feel like something is patching your injured body.")) /obj/item/organ/internal/cyberimp/chest/reviver/proc/revive_dead() if(!COOLDOWN_FINISHED(src, defib_cooldown) || owner.stat != DEAD || !can_defib()) return var/mob/dead/observer/ghost = owner.get_ghost() if(ghost) - to_chat(ghost, "You are being revived by [src]!") + to_chat(ghost, SPAN_GHOSTALERT("You are being revived by [src]!")) window_flash(ghost.client) SEND_SOUND(ghost, sound('sound/effects/genetics.ogg')) COOLDOWN_START(src, defib_cooldown, 16 SECONDS) playsound(get_turf(owner), 'sound/machines/defib_charge.ogg', 50, FALSE) owner.grab_ghost() - owner.visible_message("[owner]'s body spasms violently!") + owner.visible_message(SPAN_WARNING("[owner]'s body spasms violently!")) addtimer(CALLBACK(src, PROC_REF(zap_em)), 5 SECONDS) /obj/item/organ/internal/cyberimp/chest/reviver/proc/zap_em() @@ -889,7 +889,7 @@ H.adjustOxyLoss(-100) ///In the unlikely case that you are still alive, this should get you maybe to livable circumstances. H.SetLoseBreath(0) if(H.stat == CONSCIOUS) - to_chat(H, "You feel your heart beating again!") + to_chat(H, SPAN_NOTICE("You feel your heart beating again!")) /obj/item/organ/internal/cyberimp/chest/bluespace_anchor name = "bluespace anchor implant" @@ -916,7 +916,7 @@ /obj/item/organ/internal/cyberimp/chest/bluespace_anchor/proc/on_teleport(mob/living/teleportee, atom/destination, channel) SIGNAL_HANDLER // COMSIG_MOVABLE_TELEPORTED - to_chat(teleportee, "You feel yourself teleporting, but are suddenly flung back to where you just were!") + to_chat(teleportee, SPAN_USERDANGER("You feel yourself teleporting, but are suddenly flung back to where you just were!")) teleportee.Weaken(5 SECONDS) var/datum/effect_system/spark_spread/spark_system = new() @@ -928,7 +928,7 @@ /obj/item/organ/internal/cyberimp/chest/bluespace_anchor/proc/on_jaunt(mob/living/jaunter) SIGNAL_HANDLER // COMSIG_MOB_PRE_JAUNT - to_chat(jaunter, "As you attempt to jaunt, you slam directly into the barrier between realities and are sent crashing back into corporeality!") + to_chat(jaunter, SPAN_USERDANGER("As you attempt to jaunt, you slam directly into the barrier between realities and are sent crashing back into corporeality!")) jaunter.Weaken(5 SECONDS) var/datum/effect_system/spark_spread/spark_system = new() @@ -982,7 +982,7 @@ return if(ishuman(owner)) var/mob/living/carbon/human/H = owner - to_chat(H, "Your magnetic joints lose power!") + to_chat(H, SPAN_USERDANGER("Your magnetic joints lose power!")) for(var/obj/item/organ/external/E in H.bodyparts) if(E.body_part != UPPER_TORSO && E.body_part != LOWER_TORSO) E.droplimb(TRUE) //lego disasemble sound @@ -1006,7 +1006,7 @@ return var/weaken_time = (10 + (severity - 1 ? 0 : 10)) SECONDS owner.Weaken(weaken_time) //Pop it and lock it - to_chat(owner, "Your body seizes up!") + to_chat(owner, SPAN_WARNING("Your body seizes up!")) return weaken_time /obj/item/organ/internal/cyberimp/chest/ipc_joints/sealed/insert(mob/living/carbon/M, special = FALSE) diff --git a/code/modules/surgery/organs/autosurgeon.dm b/code/modules/surgery/organs/autosurgeon.dm index a3121e6998a..c702c1c632f 100644 --- a/code/modules/surgery/organs/autosurgeon.dm +++ b/code/modules/surgery/organs/autosurgeon.dm @@ -30,14 +30,14 @@ /obj/item/autosurgeon/organ/attack_self__legacy__attackchain(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 SSblackbox.record_feedback("tally", "o_implant_auto", 1, "[storedorgan.type]") 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) @@ -49,16 +49,16 @@ /obj/item/autosurgeon/organ/attackby__legacy__attackchain(obj/item/I, mob/user, params) if(istype(I, 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.drop_item()) return I.forceMove(src) storedorgan = I - to_chat(user, "You insert [I] into [src].") + to_chat(user, SPAN_NOTICE("You insert [I] into [src].")) else return ..() @@ -66,11 +66,11 @@ 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 storedorgan.forceMove(user.drop_location()) - to_chat(user, "You remove [storedorgan] from [src].") + to_chat(user, SPAN_NOTICE("You remove [storedorgan] from [src].")) I.play_tool_sound(src) storedorgan = null if(uses != INFINITE) @@ -158,7 +158,7 @@ /obj/item/autosurgeon/organ/syndicate/oneuse/sensory_enhancer/examine(mob/user) . = ..() - . += "Epilepsy Warning: Drug has vibrant visual effects!" + . += SPAN_USERDANGER("Epilepsy Warning: Drug has vibrant visual effects!") /obj/item/autosurgeon/organ/syndicate/oneuse/sensory_enhancer/examine_more(mob/user) . = ..() diff --git a/code/modules/surgery/organs/blood.dm b/code/modules/surgery/organs/blood.dm index a5126304949..47afa15fe8b 100644 --- a/code/modules/surgery/organs/blood.dm +++ b/code/modules/surgery/organs/blood.dm @@ -13,7 +13,7 @@ /mob/living/carbon/human/proc/resume_bleeding() if(stat != DEAD && bleed_rate && bleedsuppress) - to_chat(src, "The blood soaks through your bandage.") + to_chat(src, SPAN_WARNING("The blood soaks through your bandage.")) bleedsuppress = FALSE // Takes care blood loss and regeneration @@ -33,18 +33,18 @@ switch(blood_volume) if(BLOOD_VOLUME_OKAY to BLOOD_VOLUME_SAFE) if(prob(5)) - to_chat(src, "You feel [word].") + to_chat(src, SPAN_WARNING("You feel [word].")) adjustOxyLoss(round((BLOOD_VOLUME_NORMAL - blood_volume) * 0.01, 1)) if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY) adjustOxyLoss(round((BLOOD_VOLUME_NORMAL - blood_volume) * 0.02, 1)) if(prob(5)) EyeBlurry(12 SECONDS) - 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(5) if(prob(15)) Paralyse(rand(2 SECONDS, 6 SECONDS)) - to_chat(src, "You feel extremely [word].") + to_chat(src, SPAN_WARNING("You feel extremely [word].")) if(-INFINITY to BLOOD_VOLUME_SURVIVE) death() diff --git a/code/modules/surgery/organs/body_egg.dm b/code/modules/surgery/organs/body_egg.dm index 0affe9474bc..9076d4710ee 100644 --- a/code/modules/surgery/organs/body_egg.dm +++ b/code/modules/surgery/organs/body_egg.dm @@ -7,7 +7,7 @@ /obj/item/organ/internal/body_egg/on_find(mob/living/finder) ..() - to_chat(finder, "You found an unknown alien organism in [owner]'s [parent_organ]!") + to_chat(finder, SPAN_WARNING("You found an unknown alien organism in [owner]'s [parent_organ]!")) /obj/item/organ/internal/body_egg/insert(mob/living/carbon/M, special = 0) ..() diff --git a/code/modules/surgery/organs/bone_tumor.dm b/code/modules/surgery/organs/bone_tumor.dm index 6a90f4035e1..129b5e857fa 100644 --- a/code/modules/surgery/organs/bone_tumor.dm +++ b/code/modules/surgery/organs/bone_tumor.dm @@ -17,10 +17,10 @@ if(prob(5)) G.receive_damage(10 + tumor_damage_modifier, 0, FALSE) - to_chat(owner, "Something sharp is moving around in your lower body!") + to_chat(owner, SPAN_DANGER("Something sharp is moving around in your lower body!")) if(prob(1)) - to_chat(owner, "Something just tore in your lower body!") + to_chat(owner, SPAN_USERDANGER("Something just tore in your lower body!")) var/list/other_groin_organs = G.internal_organs other_groin_organs -= src diff --git a/code/modules/surgery/organs/brain.dm b/code/modules/surgery/organs/brain.dm index daaffbc74a2..b0785a9426c 100644 --- a/code/modules/surgery/organs/brain.dm +++ b/code/modules/surgery/organs/brain.dm @@ -51,7 +51,7 @@ if(H.mind) H.mind.transfer_to(brainmob) - to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a [initial(name)].") + to_chat(brainmob, SPAN_NOTICE("You feel slightly disoriented. That's normal when you're just a [initial(name)].")) /obj/item/organ/internal/brain/examine(mob/user) // -- TLE . = ..() @@ -148,48 +148,48 @@ /obj/item/organ/internal/brain/proc/handle_minor_brain_damage() if(prob(5)) owner.Dizzy(5 SECONDS) - to_chat(owner, "Your head feels foggy.") + to_chat(owner, SPAN_WARNING("Your head feels foggy.")) else if(prob(4)) owner.vomit() - to_chat(owner, "You feel nauseous.") + to_chat(owner, SPAN_WARNING("You feel nauseous.")) /obj/item/organ/internal/brain/proc/handle_moderate_brain_damage() if(prob(4)) owner.Confused(20 SECONDS) - to_chat(owner, "It's suddenly difficult to walk straight.") + to_chat(owner, SPAN_WARNING("It's suddenly difficult to walk straight.")) else if(prob(5)) owner.EyeBlurry(15 SECONDS) - to_chat(owner, "Your vision unfocuses.") + to_chat(owner, SPAN_WARNING("Your vision unfocuses.")) else if(prob(3)) owner.Slur(60 SECONDS) owner.Stuttering(60 SECONDS) - to_chat(owner, "You can't form your words properly.") + to_chat(owner, SPAN_WARNING("You can't form your words properly.")) /obj/item/organ/internal/brain/proc/handle_severe_brain_damage() if(prob(5)) owner.Hallucinate(60 SECONDS) - to_chat(owner, "You start losing your grip on reality.") + to_chat(owner, SPAN_WARNING("You start losing your grip on reality.")) else if(prob(3)) owner.Drowsy(20 SECONDS) - to_chat(owner, "You're getting tired.") + to_chat(owner, SPAN_WARNING("You're getting tired.")) else if(prob(2)) owner.Stun(5 SECONDS) - to_chat(owner, "You stare forward in a stupor.") + to_chat(owner, SPAN_WARNING("You stare forward in a stupor.")) else if(prob(5)) owner.KnockDown(1 SECONDS) - to_chat(owner, "You lose your footing, and stumble.") + to_chat(owner, SPAN_WARNING("You lose your footing, and stumble.")) /obj/item/organ/internal/brain/proc/handle_critical_brain_damage() if(prob(4)) owner.Silence(45 SECONDS) - to_chat(owner, "You open your mouth to speak, but no sound comes out.") + to_chat(owner, SPAN_WARNING("You open your mouth to speak, but no sound comes out.")) else if(prob(5)) owner.EyeBlind(30 SECONDS) - to_chat(owner, "Your vision gives out.") + to_chat(owner, SPAN_WARNING("Your vision gives out.")) else if(prob(5)) owner.Weaken(10 SECONDS) owner.Jitter(150 SECONDS) - to_chat(owner, "You start to have a seizure.") + to_chat(owner, SPAN_WARNING("You start to have a seizure.")) /obj/item/organ/internal/brain/prepare_eat() return // Too important to eat. diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 7e32d6bdeed..70b42bc9fa2 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -124,7 +124,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_eyes(flash_intensity, visual = TRUE) ..() @@ -313,20 +313,20 @@ receive_damage(0.25, 1) new /obj/effect/temp_visual/eyesofgod(T) if(prob(25)) - to_chat(M, "You feel like you are being watched...") + to_chat(M, SPAN_WARNING("You feel like you are being watched...")) switch(damage) if(25 to 30) if(prob(50)) - to_chat(owner, "Your eyes are burning in your skull!") + to_chat(owner, SPAN_WARNING("Your eyes are burning in your skull!")) owner.apply_damage(0.5, BURN, parent_organ) if(30 to 54) receive_damage(0.25, 1) //more pain when damaged if(prob(15)) //Warning that you are still hurting yourself still - to_chat(owner, "Your eyes are burning in your skull!") + to_chat(owner, SPAN_WARNING("Your eyes are burning in your skull!")) owner.apply_damage(0.5, BURN, parent_organ) if(55 to 60) if(prob(50)) - to_chat(owner, "Your eyes feel like they are going to explode!") + to_chat(owner, SPAN_WARNING("Your eyes feel like they are going to explode!")) owner.apply_damage(1, BURN, parent_organ) @@ -339,7 +339,7 @@ if(shatter_state == ONE_SHATTERED) return shatter_state = ONE_SHATTERED - to_chat(owner, "Your feel better as your [shatter_state ? "left eye" : "right eye"] fixes itself!") + to_chat(owner, SPAN_NOTICE("Your feel better as your [shatter_state ? "left eye" : "right eye"] fixes itself!")) /obj/item/organ/internal/eyes/cybernetic/eyesofgod/receive_damage(amount, silent) . = ..() @@ -357,7 +357,7 @@ shatter_state = ONE_SHATTERED msg = "right eye" owner.become_nearsighted(EYES_OF_GOD) - to_chat(owner, "You scream out in pain as your [msg] shatters!") + to_chat(owner, SPAN_USERDANGER("You scream out in pain as your [msg] shatters!")) owner.emote("scream") owner.bleed(5) deactivate() diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index dfaa539e7c6..06182801c76 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -18,7 +18,7 @@ /obj/item/organ/internal/heart/attack_self__legacy__attackchain(mob/user) ..() if(status & ORGAN_DEAD) - to_chat(user, "You can't restart a dead heart.") + to_chat(user, SPAN_WARNING("You can't restart a dead heart.")) return var/datum/organ/heart/heart = organ_datums[ORGAN_DATUM_HEART] heart.try_restart(8 SECONDS) @@ -58,7 +58,7 @@ /obj/item/organ/internal/heart/cursed/attack__legacy__attackchain(mob/living/carbon/human/H, mob/living/carbon/human/user, obj/target) if(H == user && istype(H)) if(NO_BLOOD in H.dna.species.species_traits) - to_chat(H, "[src] is not compatible with your form!") + to_chat(H, SPAN_USERDANGER("[src] is not compatible with your form!")) return playsound(user,'sound/effects/singlebeat.ogg', 40, 1) user.drop_item() @@ -72,7 +72,7 @@ var/mob/living/carbon/human/H = owner if(!(NO_BLOOD in H.dna.species.species_traits)) H.blood_volume = max(H.blood_volume - blood_loss, 0) - to_chat(H, "You have to keep pumping your blood!") + to_chat(H, SPAN_USERDANGER("You have to keep pumping your blood!")) if(H?.client?.prefs.colourblind_mode == COLOURBLIND_MODE_NONE) H.client.color = "red" //bloody screen so real else @@ -81,7 +81,7 @@ /obj/item/organ/internal/heart/cursed/insert(mob/living/carbon/M, 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!")) RegisterSignal(owner, COMSIG_LIVING_PRE_DEFIB, PROC_REF(just_before_revive)) RegisterSignal(owner, COMSIG_LIVING_DEFIBBED, PROC_REF(on_defib_revive)) in_grace_period = TRUE @@ -105,13 +105,13 @@ if(times_shocked >= max_shocks_allowed) shocker.visible_message( "Tendrils of ghastly electricity surge from [shocked] as [shocked.p_their()] heart seems to outright refuse defibrillation!", - blind_message = "You hear a loud shock." + blind_message = SPAN_DANGER("You hear a loud shock.") ) tesla_zap(owner, 4, 8000, ZAP_MOB_STUN | ZAP_MOB_DAMAGE) // NO, YOU! playsound(get_turf(owner), 'sound/magic/lightningshock.ogg', 50, 1) - defib.audible_message("[defib] buzzes: Resuscitation failed - Anomalous heart activity detected while administering shock.") + defib.audible_message(SPAN_BOLDNOTICE("[defib] buzzes: Resuscitation failed - Anomalous heart activity detected while administering shock.")) playsound(defib, "defib_saftyon.ogg", 50, FALSE) return COMPONENT_DEFIB_OVERRIDE @@ -137,14 +137,14 @@ in_grace_period = FALSE if(!owner) return - to_chat(owner, "The effects of the shock seem to wear off, and you feel a familiar tightness in your chest! Get pumping!") + to_chat(owner, SPAN_USERDANGER("The effects of the shock seem to wear off, and you feel a familiar tightness in your chest! Get pumping!")) if(times_shocked < max_shocks_allowed - 1) - to_chat(owner, "It doesn't feel like your [name] enjoyed that.") + to_chat(owner, SPAN_WARNING("It doesn't feel like your [name] enjoyed that.")) else if(times_shocked == max_shocks_allowed - 1) - to_chat(owner, "Your [name] starts to feel heavy in your chest. It doesn't seem like it'll be able to take many more shocks!") + to_chat(owner, SPAN_DANGER("Your [name] starts to feel heavy in your chest. It doesn't seem like it'll be able to take many more shocks!")) else - to_chat(owner, "Your [name] feels like lead. Something tells you that if you die with it again, you won't get another chance!") + to_chat(owner, SPAN_USERDANGER("Your [name] feels like lead. Something tells you that if you die with it again, you won't get another chance!")) /datum/action/item_action/organ_action/cursed_heart name = "Pump your heart" @@ -156,12 +156,12 @@ var/obj/item/organ/internal/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,1) - to_chat(owner, "Your heart beats.") + to_chat(owner, SPAN_NOTICE("Your heart beats.")) var/mob/living/carbon/human/H = owner if(istype(H)) @@ -232,20 +232,20 @@ var/datum/organ/heart/heart_datum = organ_datums[ORGAN_DATUM_HEART] if(!heart_datum.beating) - to_chat(owner, "Your [name] detects a cardiac event and attempts to return to its normal rhythm!") + to_chat(owner, SPAN_WARNING("Your [name] detects a cardiac event and attempts to return to its normal rhythm!")) if(prob(20) && emagged) attempted_restart = TRUE heart_datum.change_beating(TRUE) // Mötley Crüe - Kickstart My Heart owner.adjustOxyLoss(-100) owner.SetLoseBreath(0) - addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] returns to its normal rhythm!"), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, SPAN_WARNING("Your [name] returns to its normal rhythm!")), 3 SECONDS) addtimer(CALLBACK(src, PROC_REF(recharge)), 20 SECONDS) else if(prob(10)) attempted_restart = TRUE heart_datum.change_beating(TRUE) owner.adjustOxyLoss(-100) owner.SetLoseBreath(0) - addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] returns to its normal rhythm!"), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, SPAN_WARNING("Your [name] returns to its normal rhythm!")), 3 SECONDS) addtimer(CALLBACK(src, PROC_REF(recharge)), 30 SECONDS) else attempted_restart = TRUE @@ -253,21 +253,21 @@ addtimer(CALLBACK(src, PROC_REF(recharge)), 10 SECONDS) else addtimer(CALLBACK(src, PROC_REF(recharge)), 15 SECONDS) - addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] fails to return to its normal rhythm!"), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, SPAN_WARNING("Your [name] fails to return to its normal rhythm!")), 3 SECONDS) if(owner.HasDisease(/datum/disease/critical/heart_failure)) - to_chat(owner, "Your [name] detects a cardiac event and attempts to return to its normal rhythm!") + to_chat(owner, SPAN_WARNING("Your [name] detects a cardiac event and attempts to return to its normal rhythm!")) if(prob(40) && emagged) attempted_restart = TRUE for(var/datum/disease/critical/heart_failure/HF in owner.viruses) HF.cure() - addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] returns to its normal rhythm!"), 30) + addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, SPAN_WARNING("Your [name] returns to its normal rhythm!")), 30) addtimer(CALLBACK(src, PROC_REF(recharge)), 20 SECONDS) else if(prob(25)) attempted_restart = TRUE for(var/datum/disease/critical/heart_failure/HF in owner.viruses) HF.cure() - addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] returns to its normal rhythm!"), 30) + addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, SPAN_WARNING("Your [name] returns to its normal rhythm!")), 30) addtimer(CALLBACK(src, PROC_REF(recharge)), 20 SECONDS) else attempted_restart = TRUE @@ -275,7 +275,7 @@ addtimer(CALLBACK(src, PROC_REF(recharge)), 10 SECONDS) else addtimer(CALLBACK(src, PROC_REF(recharge)), 15 SECONDS) - addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] fails to return to its normal rhythm!"), 30) + addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, SPAN_WARNING("Your [name] fails to return to its normal rhythm!")), 30) /obj/item/organ/internal/heart/cybernetic/upgraded/proc/message_to_owner(mob/M, message) @@ -288,11 +288,11 @@ /obj/item/organ/internal/heart/cybernetic/upgraded/emag_act(mob/user) if(!emagged) - to_chat(user, "You disable the safeties on [src]") + to_chat(user, SPAN_WARNING("You disable the safeties on [src]")) emagged = TRUE return TRUE else - to_chat(user, "You re-enable the safeties on [src]") + to_chat(user, SPAN_WARNING("You re-enable the safeties on [src]")) emagged = FALSE @@ -309,31 +309,31 @@ var/numLow = round(intensity / 20) if(emagged && !(status & ORGAN_DEAD)) if(prob(numHigh)) - to_chat(owner, "Your [name] spasms violently!") + to_chat(owner, SPAN_WARNING("Your [name] spasms violently!")) // invoke asyncs here because this sleeps INVOKE_ASYNC(owner, TYPE_PROC_REF(/mob/living/carbon/human, adjustBruteLoss), numHigh) if(prob(numHigh)) - to_chat(owner, "Your [name] shocks you painfully!") + to_chat(owner, SPAN_WARNING("Your [name] shocks you painfully!")) INVOKE_ASYNC(owner, TYPE_PROC_REF(/mob/living/carbon/human, adjustFireLoss), numHigh) if(prob(numMid)) - to_chat(owner, "Your [name] lurches awkwardly!") + to_chat(owner, SPAN_WARNING("Your [name] lurches awkwardly!")) owner.ForceContractDisease(new /datum/disease/critical/heart_failure(0)) if(prob(numMid)) - to_chat(owner, "Your [name] stops beating!") + to_chat(owner, SPAN_DANGER("Your [name] stops beating!")) var/datum/organ/heart/heart_datum = organ_datums[ORGAN_DATUM_HEART] heart_datum.change_beating(FALSE) // Rambunctious Crew - Stop My Fucking Heart if(prob(numLow)) - to_chat(owner, "Your [name] shuts down!") + to_chat(owner, SPAN_DANGER("Your [name] shuts down!")) INVOKE_ASYNC(src, PROC_REF(necrotize)) else if(!emagged && !(status & ORGAN_DEAD)) if(prob(numMid)) - to_chat(owner, "Your [name] spasms violently!") + to_chat(owner, SPAN_WARNING("Your [name] spasms violently!")) INVOKE_ASYNC(owner, TYPE_PROC_REF(/mob/living/carbon/human, adjustBruteLoss), numMid) if(prob(numMid)) - to_chat(owner, "Your [name] shocks you painfully!") + to_chat(owner, SPAN_WARNING("Your [name] shocks you painfully!")) INVOKE_ASYNC(owner, TYPE_PROC_REF(/mob/living/carbon/human, adjustFireLoss), numMid) if(prob(numLow)) - to_chat(owner, "Your [name] lurches awkwardly!") + to_chat(owner, SPAN_WARNING("Your [name] lurches awkwardly!")) owner.ForceContractDisease(new /datum/disease/critical/heart_failure(0)) /obj/item/organ/internal/heart/cybernetic/upgraded/hardened diff --git a/code/modules/surgery/organs/liver.dm b/code/modules/surgery/organs/liver.dm index a726f375f8c..9b357793511 100644 --- a/code/modules/surgery/organs/liver.dm +++ b/code/modules/surgery/organs/liver.dm @@ -9,7 +9,7 @@ /obj/item/organ/internal/liver/on_life() if(germ_level > INFECTION_LEVEL_ONE) if(prob(1)) - to_chat(owner, "Your skin itches.") + to_chat(owner, SPAN_WARNING("Your skin itches.")) if(germ_level > INFECTION_LEVEL_TWO) if(prob(1)) owner.vomit() diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 16f6b09ad7a..b5833467810 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -50,7 +50,7 @@ /obj/item/organ/internal/lungs/cybernetic/examine(mob/user) . = ..() - . += "[src] is configured for [species_state] standards of atmosphere." + . += SPAN_NOTICE("[src] is configured for [species_state] standards of atmosphere.") /obj/item/organ/internal/lungs/cybernetic/multitool_act(mob/user, obj/item/I) . = TRUE @@ -59,7 +59,7 @@ var/chosen = input(user, "Select lung type", "What kind of lung settings?") as null|anything in possible if(isnull(chosen) || chosen == species_state || !Adjacent(user) || !I.use_tool(src, user, 0, volume = I.tool_volume)) return - to_chat(user, "You configure [src] to [chosen] settings.") + to_chat(user, SPAN_NOTICE("You configure [src] to [chosen] settings.")) configure_species(chosen) /obj/item/organ/internal/lungs/cybernetic/proc/configure_species(new_species_state) diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm index d3c8bf9ae31..181afa95c30 100644 --- a/code/modules/surgery/organs/organ.dm +++ b/code/modules/surgery/organs/organ.dm @@ -77,7 +77,7 @@ var/obj/item/stack/nanopaste/nano = I nano.use(1) rejuvenate() - to_chat(user, "You repair the damage on [src].") + to_chat(user, SPAN_NOTICE("You repair the damage on [src].")) return return ..() @@ -162,9 +162,9 @@ . = ..() if(status & ORGAN_DEAD) if(!is_robotic()) - . += "The decay has set in." + . += SPAN_NOTICE("The decay has set in.") else - . += "It looks in need of repairs." + . += SPAN_NOTICE("It looks in need of repairs.") /obj/item/organ/proc/handle_germs() if(germ_level > 0 && germ_level < INFECTION_LEVEL_ONE / 2 && prob(30)) @@ -328,7 +328,7 @@ I use this so that this can be made better once the organ overhaul rolls out -- if(!owner.can_feel_pain() || !message) return - var/msg = "[message]" + var/msg = SPAN_USERDANGER("[message]") // Anti message spam checks if(msg != last_pain_message || world.time >= next_pain_time) diff --git a/code/modules/surgery/organs/organ_datums/lung_datum.dm b/code/modules/surgery/organs/organ_datums/lung_datum.dm index 4997ba9967b..7cfd3e7ca79 100644 --- a/code/modules/surgery/organs/organ_datums/lung_datum.dm +++ b/code/modules/surgery/organs/organ_datums/lung_datum.dm @@ -242,7 +242,7 @@ H.apply_damage_type(TC * CM * cold_damage_types[D], D) if(breath_temperature < cold_level_1_threshold) if(prob(20)) - to_chat(H, "You feel [cold_message] in your [linked_organ.name]!") + to_chat(H, SPAN_WARNING("You feel [cold_message] in your [linked_organ.name]!")) if(!HAS_TRAIT(H, TRAIT_RESISTHEAT)) // HEAT DAMAGE var/HM = abs(H.dna.species.heatmod) @@ -258,7 +258,7 @@ H.apply_damage_type(TH * HM * heat_damage_types[D], D) if(breath_temperature > heat_level_1_threshold) if(prob(20)) - to_chat(H, "You feel [hot_message] in your [linked_organ.name]!") + to_chat(H, SPAN_WARNING("You feel [hot_message] in your [linked_organ.name]!")) /** diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 478dc9fc6b1..98de484c068 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -46,7 +46,7 @@ // Internal organs of this body part var/list/internal_organs = list() - var/damage_msg = "You feel an intense pain" + var/damage_msg = SPAN_WARNING("You feel an intense pain") var/broken_description var/open = 0 // If the body part has an open incision from surgery. Can have values > 1. @@ -77,7 +77,7 @@ if(dead_icon) icon_state = dead_icon if(owner) - to_chat(owner, "You can't feel your [name] anymore...") + to_chat(owner, SPAN_NOTICE("You can't feel your [name] anymore...")) owner.update_body() if(vital && !ignore_vital_death) owner.death() @@ -113,7 +113,7 @@ for(var/obj/item/I in embedded_objects) embedded_names += "[I]" if(length(embedded_names)) - . += "You can see [english_list(embedded_names)] embedded." + . += SPAN_WARNING("You can see [english_list(embedded_names)] embedded.") /obj/item/organ/external/update_health() damage = min(max_damage, (brute_dam + burn_dam)) @@ -182,8 +182,8 @@ C.updatehealth() C.UpdateDamageIcon() user.visible_message( - "[user] has attached [C]'s [src] to the [amputation_point].", - "You have attached [C]'s [src] to the [amputation_point].") + SPAN_NOTICE("[user] has attached [C]'s [src] to the [amputation_point]."), + SPAN_NOTICE("You have attached [C]'s [src] to the [amputation_point].")) return TRUE return ..() @@ -268,7 +268,7 @@ owner.emote("scream") //getting hit on broken hand hurts if(status & ORGAN_SPLINTED && prob((brute + burn)*4)) //taking damage to splinted limbs removes the splints status &= ~ORGAN_SPLINTED - owner.visible_message("The splint on [owner]'s left arm unravels from [owner.p_their()] [name]!","The splint on your [name] unravels!") + owner.visible_message(SPAN_DANGER("The splint on [owner]'s left arm unravels from [owner.p_their()] [name]!"),SPAN_USERDANGER("The splint on your [name] unravels!")) owner.handle_splints() if(used_weapon) add_autopsy_data("[used_weapon]", brute + burn) @@ -507,7 +507,7 @@ Note that amputating the affected organ does in fact remove the infection from t "Your [name] feels like it's burning from the inside out!", "Your [name] seems to be turning a nasty color.", ) - to_chat(owner, "[pick(messages)]") + to_chat(owner, SPAN_DANGER("[pick(messages)]")) if(germ_level >= INFECTION_LEVEL_THREE) if(vital) @@ -518,7 +518,7 @@ Note that amputating the affected organ does in fact remove the infection from t ) // kill them fast, but don't drop them dead. if(prob(5)) - to_chat(owner, "[pick(messages)]") + to_chat(owner, SPAN_USERDANGER("[pick(messages)]")) owner.adjustToxLoss(5) else necrotize() @@ -605,9 +605,9 @@ Note that amputating the affected organ does in fact remove the infection from t status &= ~ORGAN_SPLINTED // Oh no, we actually need surgery now! owner.handle_splints() if(!(status & ORGAN_BROKEN)) - to_chat(owner, "Your splint harmlessly pops off your [name].") // If we fixed our bones, a splint popping off shouldn't be painful and stun us. + to_chat(owner, SPAN_NOTICE("Your splint harmlessly pops off your [name].")) // If we fixed our bones, a splint popping off shouldn't be painful and stun us. return - owner.visible_message("[owner] screams in pain as [owner.p_their()] splint pops off [owner.p_their()] [name]!","You scream in pain as your splint pops off your [name]!") + owner.visible_message(SPAN_DANGER("[owner] screams in pain as [owner.p_their()] splint pops off [owner.p_their()] [name]!"),SPAN_USERDANGER("You scream in pain as your splint pops off your [name]!")) owner.emote("scream") owner.Weaken(4 SECONDS) // Better feedback compared to stun() - We won't be just standing there menancingly @@ -633,22 +633,22 @@ Note that amputating the affected organ does in fact remove the infection from t if(!clean) var/gore_sound = "[is_robotic() ? "tortured metal" : "ripping tendons and flesh"]" owner.visible_message( - "\The [owner]'s [name] flies off in an arc!",\ - "Your [name] goes flying off!",\ - "You hear a terrible sound of [gore_sound].") + SPAN_DANGER("\The [owner]'s [name] flies off in an arc!"),\ + SPAN_MODERATE("Your [name] goes flying off!"),\ + SPAN_DANGER("You hear a terrible sound of [gore_sound].")) if(DROPLIMB_BURN) var/gore = "[is_robotic() ? "" : " of burning flesh"]" owner.visible_message( - "\The [owner]'s [name] flashes away into ashes!",\ - "Your [name] flashes away into ashes!",\ - "You hear a crackling sound[gore].") + SPAN_DANGER("\The [owner]'s [name] flashes away into ashes!"),\ + SPAN_MODERATE("Your [name] flashes away into ashes!"),\ + SPAN_DANGER("You hear a crackling sound[gore].")) if(DROPLIMB_BLUNT) var/gore = "[is_robotic() ? "": " in shower of gore"]" var/gore_sound = "[is_robotic() ? "rending sound of tortured metal" : "sickening splatter of gore"]" owner.visible_message( - "\The [owner]'s [name] explodes[gore]!",\ - "Your [name] explodes[gore]!",\ - "You hear the [gore_sound].") + SPAN_DANGER("\The [owner]'s [name] explodes[gore]!"),\ + SPAN_MODERATE("Your [name] explodes[gore]!"),\ + SPAN_DANGER("You hear the [gore_sound].")) disembowel(limb_name) var/mob/living/carbon/human/victim = owner //Keep a reference for post-removed(). @@ -726,9 +726,9 @@ Note that amputating the affected organ does in fact remove the infection from t something_else = TRUE if(organ_spilled) - C.visible_message("[C]'s internal organs spill out onto the floor!") + C.visible_message(SPAN_DANGER("[C]'s internal organs spill out onto the floor!")) if(something_else) - C.visible_message("Some things fall out of [C]!") + C.visible_message(SPAN_DANGER("Some things fall out of [C]!")) return TRUE /obj/item/organ/external/chest/droplimb() @@ -743,11 +743,11 @@ Note that amputating the affected organ does in fact remove the infection from t if(I.sharp) add_fingerprint(user) if(!length(contents)) - 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, 5.4 SECONDS, target = src)) drop_organs(user) drop_embedded_objects() @@ -790,10 +790,10 @@ Note that amputating the affected organ does in fact remove the infection from t return if(owner && !silent) owner.audible_message( - "You hear a sickening crack coming from \the [owner].", - "[owner]'s [name] appears to buckle unnaturally!" + SPAN_WARNING("You hear a sickening crack coming from \the [owner]."), + SPAN_DANGER("[owner]'s [name] appears to buckle unnaturally!") ) - to_chat(owner, "Something feels like it shattered in your [name]!") + to_chat(owner, SPAN_USERDANGER("Something feels like it shattered in your [name]!")) playsound(owner, "bonebreak", 150, 1) if(owner.can_feel_pain()) owner.emote("scream") @@ -854,11 +854,11 @@ Note that amputating the affected organ does in fact remove the infection from t return playsound(owner.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) if(!intentional) - owner.visible_message("Synthetic skin shatters and flakes off [owner]'s [name]!", - "Your synthetic skin fails on your [name]!") + owner.visible_message(SPAN_WARNING("Synthetic skin shatters and flakes off [owner]'s [name]!"), + SPAN_USERDANGER("Your synthetic skin fails on your [name]!")) else - owner.visible_message("[owner] tears their synthetic skin off their [name], exposing the cybernetics beneath!", - "You peel your synthetic skin off your cybernetics on your [name].") + owner.visible_message(SPAN_WARNING("[owner] tears their synthetic skin off their [name], exposing the cybernetics beneath!"), + SPAN_DANGER("You peel your synthetic skin off your cybernetics on your [name].")) if(ishuman(owner)) var/mob/living/carbon/human/refreshing = owner refreshing.update_int_organs() @@ -981,9 +981,9 @@ Note that amputating the affected organ does in fact remove the infection from t //Robotic limbs explode if sabotaged. if(is_robotic() && sabotaged) victim.visible_message( - "\The [victim]'s [name] explodes violently!",\ - "Your [name] explodes!",\ - "You hear an explosion!") + SPAN_DANGER("\The [victim]'s [name] explodes violently!"),\ + SPAN_USERDANGER("Your [name] explodes!"),\ + SPAN_DANGER("You hear an explosion!")) explosion(get_turf(victim), -1, -1, 2, 3, cause = "Sabotaged robotic limb") do_sparks(5, 0, victim) qdel(src) @@ -992,9 +992,9 @@ Note that amputating the affected organ does in fact remove the infection from t if(status & ORGAN_DISFIGURED) return if(owner) - owner.visible_message("\The [owner]'s [name] turns into a mangled mess!", \ - "Your [name] becomes a mangled mess!", \ - "You hear a sickening sound.") + owner.visible_message(SPAN_WARNING("\The [owner]'s [name] turns into a mangled mess!"), \ + SPAN_USERDANGER("Your [name] becomes a mangled mess!"), \ + SPAN_WARNING("You hear a sickening sound.")) status |= ORGAN_DISFIGURED diff --git a/code/modules/surgery/organs/organ_extractor.dm b/code/modules/surgery/organs/organ_extractor.dm index 0489b008458..fd8397632f8 100644 --- a/code/modules/surgery/organs/organ_extractor.dm +++ b/code/modules/surgery/organs/organ_extractor.dm @@ -13,9 +13,9 @@ /obj/item/organ_extractor/examine(mob/user) . = ..() if(storedorgan) - . += "It has [storedorgan] floating around inside the jar!" - . += "You can Screwdriver [src] to try to adjust [storedorgan]'s configuration." - . += "You can Wrench [src] to eject [storedorgan]!" + . += SPAN_NOTICE("It has [storedorgan] floating around inside the jar!") + . += SPAN_NOTICE("You can Screwdriver [src] to try to adjust [storedorgan]'s configuration.") + . += SPAN_NOTICE("You can Wrench [src] to eject [storedorgan]!") /obj/item/organ_extractor/screwdriver_act(mob/living/user, obj/item/I) if(storedorgan) @@ -23,7 +23,7 @@ /obj/item/organ_extractor/wrench_act(mob/living/user, obj/item/I) if(storedorgan) - to_chat(user, "You unwrench the jar, and [storedorgan] falls onto the floor!") + to_chat(user, SPAN_WARNING("You unwrench the jar, and [storedorgan] falls onto the floor!")) storedorgan.forceMove(get_turf(user)) storedorgan = null playsound(src, 'sound/effects/splat.ogg', 50, TRUE) @@ -43,21 +43,21 @@ /obj/item/organ_extractor/attack__legacy__attackchain(mob/living/M, mob/living/user, def_zone) if(in_use) - to_chat(user, "[src] is already busy!") + to_chat(user, SPAN_WARNING("[src] is already busy!")) return if(!iscarbon(M)) - to_chat(user, "ERROR: [M] has no organs to harvest!") + to_chat(user, SPAN_WARNING("ERROR: [M] has no organs to harvest!")) return var/mob/living/carbon/C = M if(!length(C.client_mobs_in_contents)) //Basically, we don't want someone putting organs in monkeys then extracting from it. Has to be someone who had a client in the past - to_chat(user, "ERROR: [C] has no soul trace to assist in targeting the drill bit!") + to_chat(user, SPAN_WARNING("ERROR: [C] has no soul trace to assist in targeting the drill bit!")) return if(!IS_HORIZONTAL(C) && C.stat == CONSCIOUS) - to_chat(user, "ERROR: [C] is not restrained, and may move during the operation! Correction required.") + to_chat(user, SPAN_WARNING("ERROR: [C] is not restrained, and may move during the operation! Correction required.")) return if(storedorgan) - to_chat(user, "NOTICE: Internal organ deteced. Beginning insertion procedure!") + to_chat(user, SPAN_WARNING("NOTICE: Internal organ deteced. Beginning insertion procedure!")) insert_organ(user, C) return @@ -67,36 +67,36 @@ in_use = FALSE return if(!istype(chosen_organ, /obj/item/organ/internal)) //Saftey first - to_chat(user, "ERROR: [chosen_organ] is not valid for removal for unknown reasons!") + to_chat(user, SPAN_WARNING("ERROR: [chosen_organ] is not valid for removal for unknown reasons!")) in_use = FALSE return if(istype(chosen_organ, /obj/item/organ/internal/brain/mmi_holder)) //This breaks shit - to_chat(user, "ERROR: [chosen_organ] is too big for the holding tank and would damage [src] too much!") + to_chat(user, SPAN_WARNING("ERROR: [chosen_organ] is too big for the holding tank and would damage [src] too much!")) in_use = FALSE return if(HAS_TRAIT(chosen_organ, TRAIT_ORGAN_INSERTED_WHILE_DEAD)) - to_chat(user, "ERROR: [chosen_organ] was inserted when [C] was dead, and has no soul trace to lock onto!") + to_chat(user, SPAN_WARNING("ERROR: [chosen_organ] was inserted when [C] was dead, and has no soul trace to lock onto!")) in_use = FALSE return var/obj/item/organ/internal/internal_organ = chosen_organ var/drilled_organ = internal_organ.parent_organ - user.visible_message("[user] activates [src] and begins to drill into [C]!", "You level the extractor at [M] and hold down the trigger.") - to_chat(C, "You feel a lot of pain as [user] drills into your [drilled_organ]!") + user.visible_message(SPAN_DANGER("[user] activates [src] and begins to drill into [C]!"), SPAN_WARNING("You level the extractor at [M] and hold down the trigger.")) + to_chat(C, SPAN_DANGER("You feel a lot of pain as [user] drills into your [drilled_organ]!")) playsound(get_turf(user), 'sound/weapons/circsawhit.ogg', 75, TRUE) if(!advanced) C.apply_damage(15, BRUTE, drilled_organ) if(!do_after_once(user, insert_time, target = C))// Slightly longer than stamina crit, at least cuff and buckle them to a pipe or something - to_chat(user, "ERROR: Process interrupted!") + to_chat(user, SPAN_WARNING("ERROR: Process interrupted!")) in_use = FALSE return if(!internal_organ || !istype(internal_organ) || !(internal_organ.owner == C)) //Organ got deleted / moved somewhere else? - to_chat(user, "ERROR: unable to find the desired organ!") + to_chat(user, SPAN_WARNING("ERROR: unable to find the desired organ!")) in_use = FALSE return - user.visible_message("[user] removes [internal_organ] from [C]!", "You remove [internal_organ] from [C] as it gets sucked into [src]'s internal container!") + user.visible_message(SPAN_DANGER("[user] removes [internal_organ] from [C]!"), SPAN_WARNING("You remove [internal_organ] from [C] as it gets sucked into [src]'s internal container!")) playsound(get_turf(user), 'sound/weapons/circsawhit.ogg', 75, TRUE) C.apply_damage(10, BRUTE, drilled_organ) internal_organ.remove(C) @@ -105,31 +105,31 @@ /obj/item/organ_extractor/proc/insert_organ(mob/user, mob/our_target) if(!storedorgan) - to_chat(user, "[src] currently has no organ stored.") + to_chat(user, SPAN_WARNING("[src] currently has no organ stored.")) return if(in_use) - to_chat(user, "[src] is already busy!") + to_chat(user, SPAN_WARNING("[src] is already busy!")) return var/user_is_target = FALSE if(user == our_target) user_is_target = TRUE if(istype(storedorgan, /obj/item/organ/internal/brain) && user_is_target) - to_chat(user, "It would be really stupid to replace your brain with another one.") + to_chat(user, SPAN_WARNING("It would be really stupid to replace your brain with another one.")) return if(!iscarbon(our_target)) return var/mob/living/carbon/C = our_target in_use = TRUE - user.visible_message("[user] activates [src] and begins to drill into [C]!", "You level the extractor at [user_is_target ? "yourself" : C] and hold down the trigger.") + user.visible_message(SPAN_DANGER("[user] activates [src] and begins to drill into [C]!"), SPAN_WARNING("You level the extractor at [user_is_target ? "yourself" : C] and hold down the trigger.")) var/drilled_organ = storedorgan.parent_organ if(!advanced) C.apply_damage(5, BRUTE, drilled_organ) playsound(get_turf(C), 'sound/weapons/circsawhit.ogg', 50, TRUE) if(!do_after_once(user, (user_is_target ? self_insert_time : insert_time), target = C)) - to_chat(user, "ERROR: Process interrupted!") + to_chat(user, SPAN_WARNING("ERROR: Process interrupted!")) in_use = FALSE return @@ -145,7 +145,7 @@ replaced.forceMove(get_turf(src)) if(istype(storedorgan, /obj/item/organ/internal/heart) && ((/obj/item/organ/internal/cyberimp/brain/sensory_enhancer in C.internal_organs) || C.reagents.addiction_threshold_accumulated[/datum/reagent/mephedrone])) storedorgan.damage = 40 // Damage the heart so you can't endlessly OD for cheap easily. - to_chat(user, "CAUTION: Crystalized mephedrone has bounced off the drill into [storedorgan], causing internal damage!") + to_chat(user, SPAN_WARNING("CAUTION: Crystalized mephedrone has bounced off the drill into [storedorgan], causing internal damage!")) SSblackbox.record_feedback("tally", "o_implant_extract", 1, "[storedorgan.type]") storedorgan.insert(C) playsound(get_turf(C), 'sound/weapons/circsawhit.ogg', 50, TRUE) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 8927a703789..b37b3653eb5 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -261,7 +261,7 @@ if(M == user && ishuman(user)) var/mob/living/carbon/human/H = user if(is_xeno_organ) - to_chat(user, "It wouldnt be a very good idea to eat this.") + to_chat(user, SPAN_WARNING("It wouldnt be a very good idea to eat this.")) return ..() var/obj/item/food/S = prepare_eat() if(S) @@ -277,7 +277,7 @@ var/obj/item/stack/synthetic_skin/skin = I skin.use(1) self_augmented_skin_level = skin.skin_level - to_chat(user, "You apply [skin] to [src].") + to_chat(user, SPAN_NOTICE("You apply [skin] to [src].")) return return ..() diff --git a/code/modules/surgery/organs/parasites.dm b/code/modules/surgery/organs/parasites.dm index 8733b01b012..ad3a3cbc99d 100644 --- a/code/modules/surgery/organs/parasites.dm +++ b/code/modules/surgery/organs/parasites.dm @@ -25,14 +25,14 @@ if(prob(12)) owner.reagents.add_reagent("histamine", 5) if(5) - to_chat(owner, "You feel like something is tearing its way out of your skin...") + to_chat(owner, SPAN_DANGER("You feel like something is tearing its way out of your skin...")) owner.reagents.add_reagent("histamine", 10) if(prob(30)) owner.emote("scream") var/spiders = rand(3,5) for(var/i in 1 to spiders) new/mob/living/basic/spiderling(get_turf(owner)) - owner.visible_message("[owner] bursts open! Holy fuck!") + owner.visible_message(SPAN_DANGER("[owner] bursts open! Holy fuck!")) owner.gib() /obj/item/organ/internal/body_egg/spider_eggs/remove(mob/living/carbon/M, special = 0) @@ -99,7 +99,7 @@ S.grow_as = /mob/living/simple_animal/hostile/poison/terror_spider/green infection_completed = TRUE eggs_hatched++ - to_chat(owner, "A strange prickling sensation moves across your skin... then suddenly the whole world seems to spin around you!") + to_chat(owner, SPAN_WARNING("A strange prickling sensation moves across your skin... then suddenly the whole world seems to spin around you!")) owner.Paralyse(20 SECONDS) if(infection_completed) remove(owner) diff --git a/code/modules/surgery/organs/subtypes/kidan_organs.dm b/code/modules/surgery/organs/subtypes/kidan_organs.dm index 0ea683e7880..b94672dc018 100644 --- a/code/modules/surgery/organs/subtypes/kidan_organs.dm +++ b/code/modules/surgery/organs/subtypes/kidan_organs.dm @@ -24,21 +24,21 @@ /obj/item/organ/internal/lantern/ui_action_click() if(toggle_biolum()) if(glowing) - owner.visible_message("[owner] starts to glow!", "You enable your bioluminescence.") + owner.visible_message(SPAN_NOTICE("[owner] starts to glow!"), SPAN_NOTICE("You enable your bioluminescence.")) else - owner.visible_message("[owner] fades to dark.", "You disable your bioluminescence.") + owner.visible_message(SPAN_NOTICE("[owner] fades to dark."), SPAN_NOTICE("You disable your bioluminescence.")) /obj/item/organ/internal/lantern/on_life() ..() if(glowing)//i hate this but i couldnt figure out a better way if(owner.nutrition < KIDAN_LANTERN_MINHUNGER) toggle_biolum(1) - to_chat(owner, "You're too hungry to be bioluminescent!") + to_chat(owner, SPAN_WARNING("You're too hungry to be bioluminescent!")) return if(owner.stat) toggle_biolum(1) - owner.visible_message("[owner] fades to dark.") + owner.visible_message(SPAN_NOTICE("[owner] fades to dark.")) return owner.set_nutrition(max(owner.nutrition - KIDAN_LANTERN_HUNGERCOST, KIDAN_LANTERN_HUNGERCOST)) @@ -60,11 +60,11 @@ /obj/item/organ/internal/lantern/proc/toggle_biolum(statoverride) if(!statoverride && owner.incapacitated()) - to_chat(owner, "You cannot alter your bioluminescence in your current state.") + to_chat(owner, SPAN_WARNING("You cannot alter your bioluminescence in your current state.")) return FALSE if(!statoverride && owner.nutrition < KIDAN_LANTERN_MINHUNGER) - to_chat(owner, "You're too hungry to be bioluminescent!") + to_chat(owner, SPAN_WARNING("You're too hungry to be bioluminescent!")) return FALSE if(!colour) diff --git a/code/modules/surgery/organs/subtypes/machine_organs.dm b/code/modules/surgery/organs/subtypes/machine_organs.dm index 4dab9d25e46..a4c6f05e9ab 100644 --- a/code/modules/surgery/organs/subtypes/machine_organs.dm +++ b/code/modules/surgery/organs/subtypes/machine_organs.dm @@ -156,5 +156,5 @@ /obj/item/organ/internal/ears/microphone/remove(mob/living/user, special = FALSE) if(!special) - to_chat(owner, "BZZZZZZZZZZZZZZT! Microphone error!") + to_chat(owner, SPAN_USERDANGER("BZZZZZZZZZZZZZZT! Microphone error!")) . = ..() diff --git a/code/modules/surgery/organs/subtypes/skrell_organs.dm b/code/modules/surgery/organs/subtypes/skrell_organs.dm index f0354eaa16d..ac23d0d74e5 100644 --- a/code/modules/surgery/organs/subtypes/skrell_organs.dm +++ b/code/modules/surgery/organs/subtypes/skrell_organs.dm @@ -30,28 +30,28 @@ ..() var/obj/item/organ/external/head/head = owner.get_organ("head") if(held_item && !findtextEx(head.h_style, "Tentacles")) - owner.visible_message("[held_item] falls from [owner]'s [name]!", "[held_item] falls from your [name]!") + owner.visible_message(SPAN_NOTICE("[held_item] falls from [owner]'s [name]!"), SPAN_NOTICE("[held_item] falls from your [name]!")) empty_contents() /obj/item/organ/internal/headpocket/ui_action_click() if(held_item) - owner.visible_message("[owner] removes [held_item] from [owner.p_their()] [name].", "You remove [held_item] from your [name].") + owner.visible_message(SPAN_NOTICE("[owner] removes [held_item] from [owner.p_their()] [name]."), SPAN_NOTICE("You remove [held_item] from your [name].")) owner.put_in_hands(held_item) held_item = null update_button_state() else var/obj/item/I = owner.get_active_hand() if(!I) - to_chat(owner, "You're not holding anything in your main hand to put in your [name].") + to_chat(owner, SPAN_NOTICE("You're not holding anything in your main hand to put in your [name].")) return if(istype(I, /obj/item/disk/nuclear)) - to_chat(owner, "[I] slips out of your [name]!") + to_chat(owner, SPAN_WARNING("[I] slips out of your [name]!")) return if(I.w_class > WEIGHT_CLASS_SMALL) - to_chat(owner, "[I] is too large to fit in your [name].") + to_chat(owner, SPAN_NOTICE("[I] is too large to fit in your [name].")) return if(owner.unequip(I)) - owner.visible_message("[owner] places [I] into [owner.p_their()] [name].", "You place [I] into your [name].") + owner.visible_message(SPAN_NOTICE("[owner] places [I] into [owner.p_their()] [name]."), SPAN_NOTICE("You place [I] into your [name].")) I.forceMove(src) held_item = I update_button_state() diff --git a/code/modules/surgery/organs/subtypes/standard_organs.dm b/code/modules/surgery/organs/subtypes/standard_organs.dm index 8fe159014eb..0e44b8f9769 100644 --- a/code/modules/surgery/organs/subtypes/standard_organs.dm +++ b/code/modules/surgery/organs/subtypes/standard_organs.dm @@ -26,7 +26,7 @@ owner?.apply_damage(20, STAMINA) if(2) owner?.apply_damage(10, STAMINA) - to_chat(owner, "Your [name] malfunctions, causing fatigue!") + to_chat(owner, SPAN_USERDANGER("Your [name] malfunctions, causing fatigue!")) /obj/item/organ/external/groin name = "lower body" @@ -59,7 +59,7 @@ var/hand = (body_part == ARM_LEFT) ? owner.l_hand : owner.r_hand if(hand && owner.canUnEquip(hand)) owner.drop_item_to_ground(hand) - to_chat(owner, "Your [name] malfunctions, dropping what it was holding!") + to_chat(owner, SPAN_USERDANGER("Your [name] malfunctions, dropping what it was holding!")) owner.custom_emote(EMOTE_VISIBLE, "drops what [owner.p_they()] [owner.p_were()] holding, [owner.p_their()] [name] malfunctioning!") /obj/item/organ/external/arm/right @@ -89,10 +89,10 @@ if(!owner || !is_robotic() || emp_proof || !tough) // Augmented legs and feet make the user drop to the floor on EMP. return if(owner.AmountWeakened()) - to_chat(owner, "Your [name] malfunctions, preventing you from getting back up!") + to_chat(owner, SPAN_USERDANGER("Your [name] malfunctions, preventing you from getting back up!")) owner.custom_emote(EMOTE_VISIBLE, "is unable to get back up, [owner.p_their()] [name] malfunctioning!") else - to_chat(owner, "Your [name] malfunctions, dropping you to the ground!") + to_chat(owner, SPAN_USERDANGER("Your [name] malfunctions, dropping you to the ground!")) owner.custom_emote(EMOTE_VISIBLE, "drops to the ground, [owner.p_their()] [name] malfunctioning!") switch(severity) if(1) @@ -129,10 +129,10 @@ if(!owner || !is_robotic() || emp_proof || !tough) // Augmented legs and feet make the user drop to the floor on EMP. return if(owner.AmountWeakened()) - to_chat(owner, "Your [name] malfunctions, preventing you from getting back up!") + to_chat(owner, SPAN_USERDANGER("Your [name] malfunctions, preventing you from getting back up!")) owner.custom_emote(EMOTE_VISIBLE, "is unable to get back up, [owner.p_their()] [name] malfunctioning!") else - to_chat(owner, "Your [name] malfunctions, dropping you to the ground!") + to_chat(owner, SPAN_USERDANGER("Your [name] malfunctions, dropping you to the ground!")) owner.custom_emote(EMOTE_VISIBLE, "drops to the ground, [owner.p_their()] [name] malfunctioning!") switch(severity) if(1) @@ -175,7 +175,7 @@ var/hand = (body_part == HAND_LEFT) ? owner.l_hand : owner.r_hand if(hand && owner.canUnEquip(hand)) owner.drop_item_to_ground(hand) - to_chat(owner, "Your [name] malfunctions, dropping what it was holding!") + to_chat(owner, SPAN_USERDANGER("Your [name] malfunctions, dropping what it was holding!")) owner.custom_emote(EMOTE_VISIBLE, "drops what [owner.p_they()] [owner.p_were()] holding, [owner.p_their()] [name] malfunctioning!") /obj/item/organ/external/hand/remove() @@ -256,7 +256,7 @@ /obj/item/organ/external/head/examine(mob/user) . = ..() if(!length(contents)) - . += "There is nothing left inside!" + . += SPAN_WARNING("There is nothing left inside!") /obj/item/organ/external/head/vars_to_save() return list("color", "name", "h_grad_style", "h_grad_offset_x", "h_grad_offset_y", "h_grad_colour", "h_grad_alpha") @@ -325,4 +325,4 @@ owner?.AdjustConfused(60 SECONDS) if(2) owner?.AdjustConfused(40 SECONDS) - to_chat(owner, "Your [name] malfunctions, overloading your motor control!") + to_chat(owner, SPAN_USERDANGER("Your [name] malfunctions, overloading your motor control!")) diff --git a/code/modules/surgery/organs/subtypes/xenos.dm b/code/modules/surgery/organs/subtypes/xenos.dm index ad9604300af..0741b5e0bfd 100644 --- a/code/modules/surgery/organs/subtypes/xenos.dm +++ b/code/modules/surgery/organs/subtypes/xenos.dm @@ -37,18 +37,18 @@ /obj/item/organ/internal/alien/examine(mob/user) . = ..() - . += "Can be sold on the cargo shuttle for [cargo_profit] credits." + . += SPAN_NOTICE("Can be sold on the cargo shuttle for [cargo_profit] credits.") if(hijacked) - . += "This organ is hijacked, use a Hemostat on it to revert it to it's original function." + . += SPAN_NOTICE("This organ is hijacked, use a Hemostat on it to revert it to it's original function.") else - . += "You can hijack the latent functions of this organ by using a Hemostat on it." + . += SPAN_NOTICE("You can hijack the latent functions of this organ by using a Hemostat on it.") /obj/item/organ/internal/alien/attackby__legacy__attackchain(obj/item/hemostat/item, mob/user, params) if(istype(item)) if(!hijacked) - to_chat(user, "You slice off the control node of this organ. This organ will now be effective against aliens.") + to_chat(user, SPAN_NOTICE("You slice off the control node of this organ. This organ will now be effective against aliens.")) else - to_chat(user, "You reattach the control node of this organ. This organ will now be effective against those who attack the hive.") + to_chat(user, SPAN_NOTICE("You reattach the control node of this organ. This organ will now be effective against those who attack the hive.")) hijacked = !hijacked return return ..() diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 796d270ab5c..05f7805a7c8 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -60,7 +60,7 @@ GLOBAL_LIST_INIT(voice_of_god_commands, init_voice_of_god_commands()) owner.say(".~[message]") /obj/item/organ/internal/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/m in GLOB.player_list) if(iscarbon(m)) var/mob/living/carbon/C = m @@ -97,7 +97,7 @@ GLOBAL_LIST_INIT(voice_of_god_commands, init_voice_of_god_commands()) if(owner.stat) return FALSE if(istype(owner.loc, /obj/effect/dummy/spell_jaunt)) - to_chat(owner, "No one can hear you when you are jaunting, no point in talking now!") + to_chat(owner, SPAN_WARNING("No one can hear you when you are jaunting, no point in talking now!")) return FALSE return TRUE @@ -105,7 +105,7 @@ GLOBAL_LIST_INIT(voice_of_god_commands, init_voice_of_god_commands()) . = ..() if(!IsAvailable()) if(world.time < cords.next_command) - to_chat(owner, "You must wait [(cords.next_command - world.time)/10] seconds before Speaking again.") + to_chat(owner, SPAN_NOTICE("You must wait [(cords.next_command - world.time)/10] seconds before Speaking again.")) return var/command = tgui_input_text(owner, "Speak with the Voice of God", "Command") if(!command) @@ -117,17 +117,17 @@ GLOBAL_LIST_INIT(voice_of_god_commands, init_voice_of_god_commands()) /obj/item/organ/internal/vocal_cords/colossus/can_speak_with() if(world.time < next_command) - to_chat(owner, "You must wait [(next_command - world.time)/10] seconds before Speaking again.") + to_chat(owner, SPAN_NOTICE("You must wait [(next_command - world.time)/10] seconds before Speaking again.")) return FALSE if(!owner) return FALSE if(!owner.can_speak()) - to_chat(owner, "You are unable to speak!") + to_chat(owner, SPAN_WARNING("You are unable to speak!")) return FALSE if(owner.stat) return FALSE if(istype(owner.loc, /obj/effect/dummy/spell_jaunt)) - to_chat(owner, "No one can hear you when you are jaunting, no point in talking now!") + to_chat(owner, SPAN_WARNING("No one can hear you when you are jaunting, no point in talking now!")) return FALSE return TRUE diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 5012440a0ba..7240d9a72d8 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -217,15 +217,15 @@ if(I && I.damage) if(!I.is_robotic() && !istype(tool, /obj/item/stack/nanopaste)) user.visible_message( - "[user] treats damage to [target]'s [I.name] with [tool_name].", - "You treat damage to [target]'s [I.name] with [tool_name].", + SPAN_NOTICE("[user] treats damage to [target]'s [I.name] with [tool_name]."), + SPAN_NOTICE("You treat damage to [target]'s [I.name] with [tool_name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) I.damage = 0 else if(I.is_robotic() && istype (tool, /obj/item/stack/nanopaste)) user.visible_message( - "[user] treats damage to [target]'s [I.name] with [tool_name].", - "You treat damage to [target]'s [I.name] with [tool_name].", + SPAN_NOTICE("[user] treats damage to [target]'s [I.name] with [tool_name]."), + SPAN_NOTICE("You treat damage to [target]'s [I.name] with [tool_name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) I.rejuvenate() @@ -238,8 +238,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, getting messy and tearing the inside of [target]'s [parse_zone(target_zone)] with [tool]!", - "Your hand slips, getting messy and tearing the inside of [target]'s [parse_zone(target_zone)] with [tool]!", + SPAN_WARNING("[user]'s hand slips, getting messy and tearing the inside of [target]'s [parse_zone(target_zone)] with [tool]!"), + SPAN_WARNING("Your hand slips, getting messy and tearing the inside of [target]'s [parse_zone(target_zone)] with [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -277,7 +277,7 @@ /datum/surgery_step/internal/manipulate_organs/extract/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/list/organs = target.get_organs_zone(target_zone) if(!length(organs)) - to_chat(user, "There are no removable organs in [target]'s [parse_zone(target_zone)]!") + to_chat(user, SPAN_NOTICE("There are no removable organs in [target]'s [parse_zone(target_zone)]!")) return SURGERY_BEGINSTEP_SKIP for(var/obj/item/organ/internal/O in organs) @@ -309,15 +309,15 @@ /datum/surgery_step/internal/manipulate_organs/extract/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(!extracting || extracting.owner != target) user.visible_message( - "[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!", - "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("You can't extract anything from [target]'s [parse_zone(target_zone)]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_CONTINUE user.visible_message( - "[user] has separated and extracts [target]'s [extracting] with [tool].", - "You have separated and extracted [target]'s [extracting] with [tool].", + SPAN_NOTICE("[user] has separated and extracts [target]'s [extracting] with [tool]."), + SPAN_NOTICE("You have separated and extracted [target]'s [extracting] with [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -339,22 +339,22 @@ var/obj/item/organ/affected = H.get_organ(user.zone_selected) if(affected) user.visible_message( - "[user]'s hand slips, damaging [target]'s [affected.name] with [tool]!", - "Your hand slips, damaging [target]'s [affected.name] with [tool]!", + SPAN_WARNING("[user]'s hand slips, damaging [target]'s [affected.name] with [tool]!"), + SPAN_WARNING("Your hand slips, damaging [target]'s [affected.name] with [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.receive_damage(20) else user.visible_message( - "[user]'s hand slips, damaging [target]'s [parse_zone(target_zone)] with [tool]!", - "Your hand slips, damaging [target]'s [parse_zone(target_zone)] with [tool]!", + SPAN_WARNING("[user]'s hand slips, damaging [target]'s [parse_zone(target_zone)] with [tool]!"), + SPAN_WARNING("Your hand slips, damaging [target]'s [parse_zone(target_zone)] with [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_RETRY else user.visible_message( "[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!", - "You can't extract anything from [target]'s [parse_zone(target_zone)]!", + SPAN_NOTICE("You can't extract anything from [target]'s [parse_zone(target_zone)]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_CONTINUE @@ -371,7 +371,7 @@ /datum/surgery_step/internal/manipulate_organs/implant/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(istype(tool, /obj/item/food/organ)) - to_chat(user, "[tool] was bitten by someone! It's too damaged to use!") + to_chat(user, SPAN_WARNING("[tool] was bitten by someone! It's too damaged to use!")) return SURGERY_BEGINSTEP_SKIP var/obj/item/organ/external/affected = target.get_organ(target_zone) @@ -382,23 +382,23 @@ return SURGERY_BEGINSTEP_SKIP if(I.requires_robotic_bodypart) - to_chat(user, "[I] is an organ that requires a robotic interface! [target]'s [parse_zone(target_zone)] does not have one.") + to_chat(user, SPAN_WARNING("[I] is an organ that requires a robotic interface! [target]'s [parse_zone(target_zone)] does not have one.")) return SURGERY_BEGINSTEP_SKIP if(I.requires_machine_person && !ismachineperson(target)) - to_chat(user, "[I] is an organ that requires an IPC interface! [target]'s [parse_zone(target_zone)] does not have one.") + to_chat(user, SPAN_WARNING("[I] is an organ that requires an IPC interface! [target]'s [parse_zone(target_zone)] does not have one.")) return SURGERY_BEGINSTEP_SKIP if(I.requires_golem_person && !isgolem(target)) - to_chat(user, "[I] requires a Golem body! [I] won't fit into [target]'s body.") + to_chat(user, SPAN_WARNING("[I] requires a Golem body! [I] won't fit into [target]'s body.")) return SURGERY_BEGINSTEP_SKIP if(target_zone != I.parent_organ || target.get_organ_slot(I.slot)) - to_chat(user, "There is no room for [I] in [target]'s [parse_zone(target_zone)]!") + to_chat(user, SPAN_NOTICE("There is no room for [I] in [target]'s [parse_zone(target_zone)]!")) return SURGERY_BEGINSTEP_SKIP if(I.damage > (I.max_damage * 0.75)) - to_chat(user, "[I] is in no state to be transplanted.") + to_chat(user, SPAN_NOTICE("[I] is in no state to be transplanted.")) return SURGERY_BEGINSTEP_SKIP if(affected) @@ -427,36 +427,36 @@ if(!istype(tool)) return SURGERY_STEP_INCOMPLETE if(I.requires_robotic_bodypart) - to_chat(user, "[I] requires a robotic interface.") + to_chat(user, SPAN_WARNING("[I] requires a robotic interface.")) return SURGERY_STEP_INCOMPLETE if(I.requires_machine_person && !ismachineperson(target)) - to_chat(user, "[I] requires an IPC interface!") + to_chat(user, SPAN_WARNING("[I] requires an IPC interface!")) return SURGERY_STEP_INCOMPLETE if(I.requires_golem_person && !isgolem(target)) - to_chat(user, "[I] requires a Golem body! [I] won't fit into [target]'s body.") + to_chat(user, SPAN_WARNING("[I] requires a Golem body! [I] won't fit into [target]'s body.")) return SURGERY_STEP_INCOMPLETE if(!user.drop_item()) - to_chat(user, "[I] is stuck to your hand, you can't put it in [target]!") + to_chat(user, SPAN_WARNING("[I] is stuck to your hand, you can't put it in [target]!")) return SURGERY_STEP_INCOMPLETE SSblackbox.record_feedback("tally", "o_implant_organic", 1, "[I.type]") I.insert(target) spread_germs_to_organ(I, user, tool) if(affected) - user.visible_message("[user] has transplanted [tool] into [target]'s [affected.name].", - "You have transplanted [tool] into [target]'s [affected.name].", + user.visible_message(SPAN_NOTICE("[user] has transplanted [tool] into [target]'s [affected.name]."), + SPAN_NOTICE("You have transplanted [tool] into [target]'s [affected.name]."), chat_message_type = MESSAGE_TYPE_COMBAT) else - user.visible_message("[user] has transplanted [tool] into [target]'s [parse_zone(target_zone)].", - "You have transplanted [tool] into [target]'s [parse_zone(target_zone)].", + user.visible_message(SPAN_NOTICE("[user] has transplanted [tool] into [target]'s [parse_zone(target_zone)]."), + SPAN_NOTICE("You have transplanted [tool] into [target]'s [parse_zone(target_zone)]."), chat_message_type = MESSAGE_TYPE_COMBAT) return SURGERY_STEP_CONTINUE /datum/surgery_step/internal/manipulate_organs/implant/fail_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message( - "[user]'s hand slips, damaging [tool]!", - "Your hand slips, damaging [tool]!", + SPAN_WARNING("[user]'s hand slips, damaging [tool]!"), + SPAN_WARNING("Your hand slips, damaging [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) var/obj/item/organ/internal/I = tool @@ -539,7 +539,7 @@ to_chat(user, "[I] does not appear to need chemical treatment.") continue if(!spaceacillin && !ethanol && !mito_tot) - to_chat(user, "[C] doesn't have anything in it that would be worth applying!") + to_chat(user, SPAN_WARNING("[C] doesn't have anything in it that would be worth applying!")) break var/success = FALSE if(I.germ_level >= INFECTION_LEVEL_ONE / 2) @@ -552,7 +552,7 @@ success = TRUE // we actually injected some chemicals else if(!(I.status & ORGAN_DEAD)) // Not dead and got nothing to disinfect the organ with. Don't waste the other chems - to_chat(user, "[I] does appear mildly infected but [C] does not seem to contain disinfectants. You decide to not inject the chemicals into [I].") + to_chat(user, SPAN_WARNING("[I] does appear mildly infected but [C] does not seem to contain disinfectants. You decide to not inject the chemicals into [I].")) continue var/mito_trans @@ -560,21 +560,21 @@ mito_trans = min(mito_tot, C.amount_per_transfer_from_this / length(R.reagent_list)) // How much mito is actually transfered success = TRUE if(!success) - to_chat(user, "[C] does not seem to have the chemicals needed to clean [I]. You decide against wasting chemicals.") + to_chat(user, SPAN_WARNING("[C] does not seem to have the chemicals needed to clean [I]. You decide against wasting chemicals.")) continue // now try actually injecting. if(istype(C, /obj/item/reagent_containers/syringe)) user.visible_message( - "[user] has injected [tool] into [target]'s [I.name].", - "You have injected [tool] into [target]'s [I.name].", + SPAN_NOTICE("[user] has injected [tool] into [target]'s [I.name]."), + SPAN_NOTICE("You have injected [tool] into [target]'s [I.name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) else user.visible_message( - "[user] has poured some of [tool] over [target]'s [I.name].", - "You have poured some of [tool] over [target]'s [I.name].", + SPAN_NOTICE("[user] has poured some of [tool] over [target]'s [I.name]."), + SPAN_NOTICE("You have poured some of [tool] over [target]'s [I.name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -587,9 +587,9 @@ continue if(mito_trans >= MITO_REVIVAL_COST) I.rejuvenate() // Just like splashing it onto it - user.visible_message("\The [I] seems to regain its lively luster!") + user.visible_message(SPAN_WARNING("\The [I] seems to regain its lively luster!")) else - to_chat(user, "[I] does not seem to respond to the amount of mitocholide inside the injection. Try injecting more next time.") + to_chat(user, SPAN_WARNING("[I] does not seem to respond to the amount of mitocholide inside the injection. Try injecting more next time.")) return SURGERY_STEP_CONTINUE @@ -615,8 +615,8 @@ R.reaction(target, REAGENT_INGEST) user.visible_message( - "[user]'s hand slips, splashing the contents of [tool] all over [target][affected ? "'s [affected.name]" : ""] incision!", - "Your hand slips, splashing the contents of [tool] all over [target][affected ? "'s [affected.name]" : ""] incision!", + SPAN_WARNING("[user]'s hand slips, splashing the contents of [tool] all over [target][affected ? "'s [affected.name]" : ""] incision!"), + SPAN_WARNING("Your hand slips, splashing the contents of [tool] all over [target][affected ? "'s [affected.name]" : ""] incision!"), chat_message_type = MESSAGE_TYPE_COMBAT ) // continue here since we want to keep moving in the surgery @@ -657,12 +657,12 @@ var/msg var/self_msg if(affected && affected.encased) - msg = "[user] bends [target]'s [affected.encased] back into place with [tool]." - self_msg = "You bend [target]'s [affected.encased] back into place with [tool]." + msg = SPAN_NOTICE("[user] bends [target]'s [affected.encased] back into place with [tool].") + self_msg = SPAN_NOTICE("You bend [target]'s [affected.encased] back into place with [tool].") affected.open = ORGAN_ORGANIC_ENCASED_OPEN else - msg = "[user] pulls [target]'s flesh back into place with [tool]." - self_msg = "You pull [target]'s flesh back into place with [tool]." + msg = SPAN_NOTICE("[user] pulls [target]'s flesh back into place with [tool].") + self_msg = SPAN_NOTICE("You pull [target]'s flesh back into place with [tool].") user.visible_message(msg, self_msg, chat_message_type = MESSAGE_TYPE_COMBAT) return SURGERY_STEP_CONTINUE @@ -672,12 +672,12 @@ var/msg var/self_msg if(affected && affected.encased) - msg = "[user]'s hand slips, bending [target]'s [affected.encased] the wrong way!" - self_msg = "Your hand slips, bending [target]'s [affected.encased] the wrong way!" + msg = SPAN_WARNING("[user]'s hand slips, bending [target]'s [affected.encased] the wrong way!") + self_msg = SPAN_WARNING("Your hand slips, bending [target]'s [affected.encased] the wrong way!") affected.fracture() else - msg = "[user]'s hand slips, tearing the skin!" - self_msg = "Your hand slips, tearing skin!" + msg = SPAN_WARNING("[user]'s hand slips, tearing the skin!") + self_msg = SPAN_WARNING("Your hand slips, tearing skin!") if(affected) affected.receive_damage(20) user.visible_message(msg, self_msg, chat_message_type = MESSAGE_TYPE_COMBAT) @@ -719,16 +719,16 @@ /datum/surgery_step/saw_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message( - "[user] has cut [target]'s [target_zone] open with [tool].", - "You have cut [target]'s [target_zone] open with [tool]." + SPAN_NOTICE("[user] has cut [target]'s [target_zone] open with [tool]."), + SPAN_NOTICE("You have cut [target]'s [target_zone] open with [tool].") ) return SURGERY_STEP_CONTINUE /datum/surgery_step/saw_carapace/fail_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message( - "[user]'s hand slips, cracking [target]'s [target_zone] with [tool]!", - "Your hand slips, cracking [target]'s [target_zone] with [tool]!" + SPAN_WARNING("[user]'s hand slips, cracking [target]'s [target_zone] with [tool]!"), + SPAN_WARNING("Your hand slips, cracking [target]'s [target_zone] with [tool]!") ) return SURGERY_STEP_RETRY @@ -762,8 +762,8 @@ /datum/surgery_step/cut_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message( - "[user] has made an incision on [target]'s [target_zone] with [tool].", - "You have made an incision on [target]'s [target_zone] with [tool].", + SPAN_NOTICE("[user] has made an incision on [target]'s [target_zone] with [tool]."), + SPAN_NOTICE("You have made an incision on [target]'s [target_zone] with [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_CONTINUE @@ -771,8 +771,8 @@ /datum/surgery_step/cut_carapace/fail_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message( - "[user]'s hand slips, slicing open [target]'s [target_zone] in a wrong spot with [tool]!", - "Your hand slips, slicing open [target]'s [target_zone] in a wrong spot with [tool]!", + SPAN_WARNING("[user]'s hand slips, slicing open [target]'s [target_zone] in a wrong spot with [tool]!"), + SPAN_WARNING("Your hand slips, slicing open [target]'s [target_zone] in a wrong spot with [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_RETRY @@ -804,26 +804,26 @@ return ..() /datum/surgery_step/retract_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/msg = "[user] keeps the incision open on [target]'s [target_zone] with [tool]." - var/self_msg = "You keep the incision open on [target]'s [target_zone] with [tool]." + var/msg = SPAN_NOTICE("[user] keeps the incision open on [target]'s [target_zone] with [tool].") + var/self_msg = SPAN_NOTICE("You keep the incision open on [target]'s [target_zone] with [tool].") if(target_zone == BODY_ZONE_CHEST) - msg = "[user] keeps the ribcage open on [target]'s torso with [tool]." - self_msg = "You keep the ribcage open on [target]'s torso with [tool]." + msg = SPAN_NOTICE("[user] keeps the ribcage open on [target]'s torso with [tool].") + self_msg = SPAN_NOTICE("You keep the ribcage open on [target]'s torso with [tool].") if(target_zone == BODY_ZONE_PRECISE_GROIN) - msg = "[user] keeps the incision open on [target]'s lower abdomen with [tool]." - self_msg = "You keep the incision open on [target]'s lower abdomen with [tool]." + msg = SPAN_NOTICE("[user] keeps the incision open on [target]'s lower abdomen with [tool].") + self_msg = SPAN_NOTICE("You keep the incision open on [target]'s lower abdomen with [tool].") user.visible_message(msg, self_msg, chat_message_type = MESSAGE_TYPE_COMBAT) return SURGERY_STEP_CONTINUE /datum/surgery_step/generic/retract_carapace/fail_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/msg = "[user]'s hand slips, tearing the edges of incision on [target]'s [target_zone] with [tool]!" - var/self_msg = "Your hand slips, tearing the edges of incision on [target]'s [target_zone] with [tool]!" + var/msg = SPAN_WARNING("[user]'s hand slips, tearing the edges of incision on [target]'s [target_zone] with [tool]!") + var/self_msg = SPAN_WARNING("Your hand slips, tearing the edges of incision on [target]'s [target_zone] with [tool]!") if(target_zone == BODY_ZONE_CHEST) - msg = "[user]'s hand slips, damaging several organs in [target]'s torso with [tool]!" - self_msg = "Your hand slips, damaging several organs in [target]'s torso with [tool]!" + msg = SPAN_WARNING("[user]'s hand slips, damaging several organs in [target]'s torso with [tool]!") + self_msg = SPAN_WARNING("Your hand slips, damaging several organs in [target]'s torso with [tool]!") if(target_zone == BODY_ZONE_PRECISE_GROIN) - msg = "[user]'s hand slips, damaging several organs in [target]'s lower abdomen with [tool]" - self_msg = "Your hand slips, damaging several organs in [target]'s lower abdomen with [tool]!" + msg = SPAN_WARNING("[user]'s hand slips, damaging several organs in [target]'s lower abdomen with [tool]") + self_msg = SPAN_WARNING("Your hand slips, damaging several organs in [target]'s lower abdomen with [tool]!") user.visible_message(msg, self_msg, chat_message_type = MESSAGE_TYPE_COMBAT) return SURGERY_STEP_RETRY @@ -862,14 +862,14 @@ "You are beginning to cauterize the incision on [target]'s [zone] with \the [tool].", chat_message_type = MESSAGE_TYPE_COMBAT ) - to_chat(user, "Your [zone] is being burned!") // No custom pain because xenos are special + to_chat(user, SPAN_USERDANGER("Your [zone] is being burned!")) // No custom pain because xenos are special return ..() /datum/surgery_step/generic/seal_carapace/end_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/zone = zone_name(target_zone) user.visible_message( - "[user] cauterizes the incision on [target]'s [zone] with \the [tool].", - "You cauterize the incision on [target]'s [zone] with \the [tool].", + SPAN_NOTICE("[user] cauterizes the incision on [target]'s [zone] with \the [tool]."), + SPAN_NOTICE("You cauterize the incision on [target]'s [zone] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_CONTINUE @@ -877,8 +877,8 @@ /datum/surgery_step/generic/seal_carapace/fail_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/zone = zone_name(target_zone) user.visible_message( - "[user]'s hand slips, leaving a small burn on [target]'s [zone] with \the [tool]!", - "Your hand slips, leaving a small burn on [target]'s [zone] with \the [tool]!", + SPAN_WARNING("[user]'s hand slips, leaving a small burn on [target]'s [zone] with \the [tool]!"), + SPAN_WARNING("Your hand slips, leaving a small burn on [target]'s [zone] with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) target.apply_damage(3, BURN, target_zone) diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index d03d577fcc4..91bf34d9f41 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -81,7 +81,7 @@ /datum/surgery_step/fix_vein/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) if(!(affected.status & ORGAN_INT_BLEEDING)) - to_chat(user, "The veins in [affected] seem to be in perfect shape!") + to_chat(user, SPAN_NOTICE("The veins in [affected] seem to be in perfect shape!")) return SURGERY_BEGINSTEP_SKIP user.visible_message( @@ -96,8 +96,8 @@ /datum/surgery_step/fix_vein/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] has patched the damaged vein in [target]'s [affected.name] with \the [tool].", - "You have patched the damaged vein in [target]'s [affected.name] with \the [tool].", + SPAN_NOTICE("[user] has patched the damaged vein in [target]'s [affected.name] with \the [tool]."), + SPAN_NOTICE("You have patched the damaged vein in [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -111,8 +111,8 @@ /datum/surgery_step/fix_vein/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!", - "Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!", + SPAN_WARNING("[user]'s hand slips, smearing [tool] in the incision in [target]'s [affected.name]!"), + SPAN_WARNING("Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.receive_damage(5, 0) @@ -134,7 +134,7 @@ /datum/surgery_step/treat_burns/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) if(!(affected.status & ORGAN_BURNT)) - to_chat(user, "The skin on [target]'s [parse_zone(affected)] seems to be in perfect condition, it doesn't need treatment.") + to_chat(user, SPAN_WARNING("The skin on [target]'s [parse_zone(affected)] seems to be in perfect condition, it doesn't need treatment.")) return SURGERY_BEGINSTEP_SKIP user.visible_message( @@ -156,8 +156,8 @@ target.update_body() user.visible_message( - "[user] finishes treating affected tissue in [target]'s [affected.name].", - "You finish treating affected tissue in [target]'s [affected.name] with [tool].", + SPAN_NOTICE("[user] finishes treating affected tissue in [target]'s [affected.name]."), + SPAN_NOTICE("You finish treating affected tissue in [target]'s [affected.name] with [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -170,8 +170,8 @@ stack.use(1) user.visible_message( - "[user]'s hand slips, applying [tool] in the wrong place on [target]'s [affected.name]!", - "Your hand slips, applying [tool] in the wrong place on [target]'s [affected.name]!", + SPAN_WARNING("[user]'s hand slips, applying [tool] in the wrong place on [target]'s [affected.name]!"), + SPAN_WARNING("Your hand slips, applying [tool] in the wrong place on [target]'s [affected.name]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -207,8 +207,8 @@ /datum/surgery_step/fix_dead_tissue/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] has cut away necrotic tissue in [target]'s [affected.name] with \the [tool].", - "You have cut away necrotic tissue in [target]'s [affected.name] with \the [tool].", + SPAN_NOTICE("[user] has cut away necrotic tissue in [target]'s [affected.name] with \the [tool]."), + SPAN_NOTICE("You have cut away necrotic tissue in [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.open = ORGAN_ORGANIC_OPEN @@ -218,8 +218,8 @@ /datum/surgery_step/fix_dead_tissue/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, slicing an artery inside [target]'s [affected.name] with [tool]!", - "Your hand slips, slicing an artery inside [target]'s [affected.name] with [tool]!", + SPAN_WARNING("[user]'s hand slips, slicing an artery inside [target]'s [affected.name] with [tool]!"), + SPAN_WARNING("Your hand slips, slicing an artery inside [target]'s [affected.name] with [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.receive_damage(20) @@ -289,8 +289,8 @@ target.update_body() user.visible_message( - "[user] applies [trans] units of the solution to affected tissue in [target]'s [affected.name]", - "You apply [trans] units of the solution to affected tissue in [target]'s [affected.name] with \the [tool].", + SPAN_NOTICE("[user] applies [trans] units of the solution to affected tissue in [target]'s [affected.name]"), + SPAN_NOTICE("You apply [trans] units of the solution to affected tissue in [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -308,8 +308,8 @@ container.reagents.reaction(target, REAGENT_INGEST) //technically it's contact, but the reagents are being applied to internal tissue user.visible_message( - "[user]'s hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!", - "Your hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!", + SPAN_WARNING("[user]'s hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!"), + SPAN_WARNING("Your hand slips, applying [trans] units of the solution to the wrong place in [target]'s [affected.name] with the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm index d3f3ff3a739..2f6fef95ba0 100644 --- a/code/modules/surgery/plastic_surgery.dm +++ b/code/modules/surgery/plastic_surgery.dm @@ -21,7 +21,7 @@ /datum/surgery_step/reshape_face/begin_step(mob/living/user, mob/living/carbon/human/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...", + SPAN_NOTICE("You begin to alter [target]'s appearance..."), chat_message_type = MESSAGE_TYPE_COMBAT ) return ..() @@ -33,7 +33,7 @@ head.status &= ~ORGAN_DISFIGURED user.visible_message( "[user] successfully restores [target]'s appearance!", - "You successfully restore [target]'s appearance.", + SPAN_NOTICE("You successfully restore [target]'s appearance."), chat_message_type = MESSAGE_TYPE_COMBAT ) else @@ -87,7 +87,7 @@ var/newname = target.real_name //something about how the code handles names required that I use this instead of target.real_name user.visible_message( "[user] alters [oldname]'s appearance completely, [target.p_they()] [target.p_are()] now [newname]!", - "You alter [oldname]'s appearance completely, [target.p_they()] [target.p_are()] now [newname].", + SPAN_NOTICE("You alter [oldname]'s appearance completely, [target.p_they()] [target.p_are()] now [newname]."), chat_message_type = MESSAGE_TYPE_COMBAT ) target.sec_hud_set_ID() @@ -97,8 +97,8 @@ /datum/surgery_step/reshape_face/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/head/head = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, tearing skin on [target]'s face with [tool]!", - "Your hand slips, tearing skin on [target]'s face with [tool]!", + SPAN_WARNING("[user]'s hand slips, tearing skin on [target]'s face with [tool]!"), + SPAN_WARNING("Your hand slips, tearing skin on [target]'s face with [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) target.apply_damage(10, BRUTE, head, sharp = TRUE) diff --git a/code/modules/surgery/remove_embedded_object.dm b/code/modules/surgery/remove_embedded_object.dm index 2770e260f72..1cf23654aa2 100644 --- a/code/modules/surgery/remove_embedded_object.dm +++ b/code/modules/surgery/remove_embedded_object.dm @@ -51,9 +51,9 @@ /datum/surgery_step/remove_object/begin_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) L = surgery.organ_to_manipulate if(L) - user.visible_message("[user] looks for objects embedded in [target]'s [parse_zone(user.zone_selected)].", "You look for objects embedded in [target]'s [parse_zone(user.zone_selected)]...") + user.visible_message("[user] looks for objects embedded in [target]'s [parse_zone(user.zone_selected)].", SPAN_NOTICE("You look for objects embedded 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("[user] looks for [target]'s [parse_zone(user.zone_selected)].", SPAN_NOTICE("You look for [target]'s [parse_zone(user.zone_selected)]...")) return ..() @@ -71,14 +71,14 @@ if(objects > 0) user.visible_message( "[user] successfully removes [objects] object\s from [H]'s [parse_zone(user.zone_selected)]!", - "You successfully remove [objects] object\s from [H]'s [L.name].", + SPAN_NOTICE("You successfully remove [objects] object\s from [H]'s [L.name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) else - to_chat(user, "You find no objects embedded in [H]'s [parse_zone(user.zone_selected)]!") + to_chat(user, SPAN_WARNING("You find no objects embedded in [H]'s [parse_zone(user.zone_selected)]!")) else - to_chat(user, "You can't find [target]'s [parse_zone(user.zone_selected)], let alone any objects embedded in it!") + to_chat(user, SPAN_WARNING("You can't find [target]'s [parse_zone(user.zone_selected)], let alone any objects embedded in it!")) return SURGERY_STEP_CONTINUE diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index b73d0675908..e264cb27abf 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -133,8 +133,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] has opened the maintenance hatch on [target]'s [affected.name] with \the [tool].", - "You have opened the maintenance hatch on [target]'s [affected.name] with \the [tool].", + SPAN_NOTICE("[user] has opened the maintenance hatch on [target]'s [affected.name] with \the [tool]."), + SPAN_NOTICE("You have opened the maintenance hatch on [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.open = ORGAN_SYNTHETIC_LOOSENED @@ -146,8 +146,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s [tool.name] slips, failing to unscrew [target]'s [affected.name].", - "Your [tool] slips, failing to unscrew [target]'s [affected.name].", + SPAN_WARNING("[user]'s [tool.name] slips, failing to unscrew [target]'s [affected.name]."), + SPAN_WARNING("Your [tool] slips, failing to unscrew [target]'s [affected.name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_RETRY @@ -180,8 +180,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] opens the maintenance hatch on [target]'s [affected.name] with \the [tool].", - "You open the maintenance hatch on [target]'s [affected.name] with \the [tool].", + SPAN_NOTICE("[user] opens the maintenance hatch on [target]'s [affected.name] with \the [tool]."), + SPAN_NOTICE("You open the maintenance hatch on [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.open = ORGAN_SYNTHETIC_OPEN @@ -193,8 +193,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s [tool.name] slips, failing to open the hatch on [target]'s [affected.name].", - "Your [tool] slips, failing to open the hatch on [target]'s [affected.name].", + SPAN_WARNING("[user]'s [tool.name] slips, failing to open the hatch on [target]'s [affected.name]."), + SPAN_WARNING("Your [tool] slips, failing to open the hatch on [target]'s [affected.name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_RETRY @@ -227,8 +227,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] closes and secures the hatch on [target]'s [affected.name] with \the [tool].", - "You close and secure the hatch on [target]'s [affected.name] with \the [tool].", + SPAN_NOTICE("[user] closes and secures the hatch on [target]'s [affected.name] with \the [tool]."), + SPAN_NOTICE("You close and secure the hatch on [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) tool.play_tool_sound(target) @@ -241,8 +241,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s [tool.name] slips, failing to close the hatch on [target]'s [affected.name].", - "Your [tool.name] slips, failing to close the hatch on [target]'s [affected.name].", + SPAN_WARNING("[user]'s [tool.name] slips, failing to close the hatch on [target]'s [affected.name]."), + SPAN_WARNING("Your [tool.name] slips, failing to close the hatch on [target]'s [affected.name]."), chat_message_type = MESSAGE_TYPE_COMBAT) return SURGERY_STEP_RETRY @@ -273,12 +273,12 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) var/obj/item/stack/cable_coil/C = tool if(!(affected.burn_dam > 0)) - to_chat(user, "\The [affected] does not have any burn damage!") + to_chat(user, SPAN_WARNING("\The [affected] does not have any burn damage!")) return SURGERY_BEGINSTEP_SKIP if(!istype(C)) return SURGERY_BEGINSTEP_SKIP if(C.get_amount() < 3) - to_chat(user, "You need three or more cable pieces to repair this damage.") + to_chat(user, SPAN_WARNING("You need three or more cable pieces to repair this damage.")) return SURGERY_BEGINSTEP_SKIP C.use(3) user.visible_message( @@ -293,8 +293,8 @@ /datum/surgery_step/robotics/external/repair/burn/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] finishes splicing cable into [target]'s [affected.name].", - "You finishes splicing new cable into [target]'s [affected.name].", + SPAN_NOTICE("[user] finishes splicing cable into [target]'s [affected.name]."), + SPAN_NOTICE("You finishes splicing new cable into [target]'s [affected.name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.heal_damage(0, rand(30, 50), 1, 1) @@ -306,8 +306,8 @@ /datum/surgery_step/robotics/external/repair/burn/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] causes a short circuit in [target]'s [affected.name]!", - "You cause a short circuit in [target]'s [affected.name]!", + SPAN_WARNING("[user] causes a short circuit in [target]'s [affected.name]!"), + SPAN_WARNING("You cause a short circuit in [target]'s [affected.name]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) target.apply_damage(rand(5, 10), BURN, affected) @@ -323,7 +323,7 @@ /datum/surgery_step/robotics/external/repair/brute/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) if(!(affected.brute_dam > 0 || (affected.status & ORGAN_DISFIGURED))) - to_chat(user, "\The [affected] does not require welding repair!") + to_chat(user, SPAN_WARNING("\The [affected] does not require welding repair!")) return SURGERY_BEGINSTEP_SKIP if(tool.tool_behaviour == TOOL_WELDER) if(!tool.use(1)) @@ -339,8 +339,8 @@ /datum/surgery_step/robotics/external/repair/brute/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] finishes patching damage to [target]'s [affected.name] with \the [tool].", - "You finish patching damage to [target]'s [affected.name] with \the [tool].", + SPAN_NOTICE("[user] finishes patching damage to [target]'s [affected.name] with \the [tool]."), + SPAN_NOTICE("You finish patching damage to [target]'s [affected.name] with \the [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.heal_damage(rand(30, 50), 0, 1, 1) @@ -354,8 +354,8 @@ /datum/surgery_step/robotics/external/repair/brute/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s [tool.name] slips, damaging the internal structure of [target]'s [affected.name].", - "Your [tool.name] slips, damaging the internal structure of [target]'s [affected.name].", + SPAN_WARNING("[user]'s [tool.name] slips, damaging the internal structure of [target]'s [affected.name]."), + SPAN_WARNING("Your [tool.name] slips, damaging the internal structure of [target]'s [affected.name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) target.apply_damage(rand(5, 10), BURN, affected) @@ -417,8 +417,8 @@ if(I && I.damage) if(I.is_robotic()) user.visible_message( - "[user] repairs [target]'s [I.name] with [tool].", - "You repair [target]'s [I.name] with [tool].", + SPAN_NOTICE("[user] repairs [target]'s [I.name] with [tool]."), + SPAN_NOTICE("You repair [target]'s [I.name] with [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) I.damage = 0 @@ -432,8 +432,8 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!", - "Your hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!", + SPAN_WARNING("[user]'s hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!"), + SPAN_WARNING("Your hand slips, gumming up the mechanisms inside of [target]'s [affected.name] with \the [tool]!"), chat_message_type = MESSAGE_TYPE_COMBAT) target.adjustToxLoss(5) @@ -455,19 +455,19 @@ var/obj/item/organ/internal/I = tool if(!I.is_robotic()) - to_chat(user, "You can only implant cybernetic organs.") + to_chat(user, SPAN_NOTICE("You can only implant cybernetic organs.")) return SURGERY_BEGINSTEP_SKIP if(target_zone != I.parent_organ || target.get_organ_slot(I.slot)) - to_chat(user, "There is no room for [I] in [target]'s [parse_zone(target_zone)]!") + to_chat(user, SPAN_NOTICE("There is no room for [I] in [target]'s [parse_zone(target_zone)]!")) return SURGERY_BEGINSTEP_SKIP if(I.requires_machine_person && !ismachineperson(target)) - to_chat(user, "[I] is an organ that requires an IPC interface! [target]'s [parse_zone(target_zone)] does not have one.") + to_chat(user, SPAN_WARNING("[I] is an organ that requires an IPC interface! [target]'s [parse_zone(target_zone)] does not have one.")) return SURGERY_BEGINSTEP_SKIP if(I.damage > (I.max_damage * 0.75)) - to_chat(user, "[I] is in no state to be transplanted.") + to_chat(user, SPAN_NOTICE("[I] is in no state to be transplanted.")) return SURGERY_BEGINSTEP_SKIP user.visible_message( @@ -482,23 +482,23 @@ var/obj/item/organ/internal/I = tool if(!user.canUnEquip(I, 0)) - to_chat(user, "[I] is stuck to your hand, you can't put it in [target]!") + to_chat(user, SPAN_WARNING("[I] is stuck to your hand, you can't put it in [target]!")) return SURGERY_STEP_INCOMPLETE user.drop_item() SSblackbox.record_feedback("tally", "o_implant_ipc", 1, "[I.type]") I.insert(target) user.visible_message( - "[user] has reattached [target]'s [I].", - "You have reattached [target]'s [I].", + SPAN_NOTICE("[user] has reattached [target]'s [I]."), + SPAN_NOTICE("You have reattached [target]'s [I]."), chat_message_type = MESSAGE_TYPE_COMBAT ) return ..() /datum/surgery_step/robotics/manipulate_robotic_organs/implant/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message( - "[user]'s hand slips, disconnecting [tool].", - "Your hand slips, disconnecting [tool].", + SPAN_WARNING("[user]'s hand slips, disconnecting [tool]."), + SPAN_WARNING("Your hand slips, disconnecting [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_RETRY @@ -515,7 +515,7 @@ if(!(affected && affected.is_robotic())) return SURGERY_BEGINSTEP_SKIP if(!length(organs)) - to_chat(user, "There is no removeable organs in [target]'s [parse_zone(target_zone)]!") + to_chat(user, SPAN_NOTICE("There is no removeable organs in [target]'s [parse_zone(target_zone)]!")) return SURGERY_BEGINSTEP_SKIP else for(var/obj/item/organ/internal/O in organs) @@ -544,14 +544,14 @@ if(!I || I.owner != target) user.visible_message( "[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!", - "You can't extract anything from [target]'s [parse_zone(target_zone)]!", + SPAN_NOTICE("You can't extract anything from [target]'s [parse_zone(target_zone)]!"), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_CONTINUE user.visible_message( - "[user] has decoupled [target]'s [I] with [tool].", - "You have decoupled [target]'s [I] with [tool].", + SPAN_NOTICE("[user] has decoupled [target]'s [I] with [tool]."), + SPAN_NOTICE("You have decoupled [target]'s [I] with [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -568,8 +568,8 @@ /datum/surgery_step/robotics/manipulate_robotic_organs/extract/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message( - "[user]'s hand slips, disconnecting [tool].", - "Your hand slips, disconnecting [tool].", + SPAN_WARNING("[user]'s hand slips, disconnecting [tool]."), + SPAN_WARNING("Your hand slips, disconnecting [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -582,7 +582,7 @@ /datum/surgery_step/robotics/manipulate_robotic_organs/install_mmi/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) if(target_zone != BODY_ZONE_CHEST) - to_chat(user, "You must target the chest cavity.") + to_chat(user, SPAN_NOTICE("You must target the chest cavity.")) return SURGERY_BEGINSTEP_SKIP @@ -596,27 +596,27 @@ return SURGERY_BEGINSTEP_SKIP if(!M.brainmob || !M.brainmob.client || !M.brainmob.ckey || M.brainmob.stat >= DEAD) - to_chat(user, "That brain is not usable.") + to_chat(user, SPAN_DANGER("That brain is not usable.")) return SURGERY_BEGINSTEP_SKIP if(!affected.is_robotic()) - to_chat(user, "You cannot install a computer brain into a meat enclosure.") + to_chat(user, SPAN_DANGER("You cannot install a computer brain into a meat enclosure.")) return SURGERY_BEGINSTEP_SKIP if(!ismachineperson(target)) - to_chat(user, "[tool] cannot be installed into an organic body, as it is not designed to operate the complex biological systems of one!") + to_chat(user, SPAN_DANGER("[tool] cannot be installed into an organic body, as it is not designed to operate the complex biological systems of one!")) return SURGERY_BEGINSTEP_SKIP if(!target.dna.species) - to_chat(user, "You have no idea what species this person is. Report this on the bug tracker.") + to_chat(user, SPAN_DANGER("You have no idea what species this person is. Report this on the bug tracker.")) return SURGERY_BEGINSTEP_SKIP if(!target.dna.species.has_organ["brain"]) - to_chat(user, "You're pretty sure [target.dna.species.name_plural] don't normally have a brain.") + to_chat(user, SPAN_DANGER("You're pretty sure [target.dna.species.name_plural] don't normally have a brain.")) return SURGERY_BEGINSTEP_SKIP if(target.get_int_organ(/obj/item/organ/internal/brain)) - to_chat(user, "Your subject already has a brain.") + to_chat(user, SPAN_DANGER("Your subject already has a brain.")) return SURGERY_BEGINSTEP_SKIP user.visible_message( @@ -629,8 +629,8 @@ /datum/surgery_step/robotics/manipulate_robotic_organs/install_mmi/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] has installed [tool] into [target]'s [affected.name].", - "You have installed [tool] into [target]'s [affected.name].", + SPAN_NOTICE("[user] has installed [tool] into [target]'s [affected.name]."), + SPAN_NOTICE("You have installed [tool] into [target]'s [affected.name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -642,8 +642,8 @@ /datum/surgery_step/robotics/manipulate_robotic_organs/install_mmi/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message( - "[user]'s hand slips!", - "Your hand slips!", + SPAN_WARNING("[user]'s hand slips!"), + SPAN_WARNING("Your hand slips!"), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_RETRY @@ -677,8 +677,8 @@ else var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user] has decoupled [target]'s [affected.name] with [tool].", - "You have decoupled [target]'s [affected.name] with [tool].", + SPAN_NOTICE("[user] has decoupled [target]'s [affected.name] with [tool]."), + SPAN_NOTICE("You have decoupled [target]'s [affected.name] with [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -695,8 +695,8 @@ to_chat(user, "[target.surgery_container.dissection_failure_text[surgery.step_number]]") else user.visible_message( - "[user]'s hand slips!", - "Your hand slips!", + SPAN_WARNING("[user]'s hand slips!"), + SPAN_WARNING("Your hand slips!"), chat_message_type = MESSAGE_TYPE_COMBAT ) return SURGERY_STEP_RETRY @@ -729,8 +729,8 @@ target.updatehealth() target.UpdateDamageIcon() user.visible_message( - "[user] reprograms the appearance of [target]'s [affected.name] with [tool].", - "You reprogram the appearance of [target]'s [affected.name] with [tool].", + SPAN_NOTICE("[user] reprograms the appearance of [target]'s [affected.name] with [tool]."), + SPAN_NOTICE("You reprogram the appearance of [target]'s [affected.name] with [tool]."), chat_message_type = MESSAGE_TYPE_COMBAT ) affected.open = ORGAN_CLOSED @@ -739,8 +739,8 @@ /datum/surgery_step/robotics/external/customize_appearance/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message( - "[user]'s [tool.name] slips, failing to reprogram [target]'s [affected.name].", - "Your [tool.name] slips, failing to reprogram [target]'s [affected.name].", + SPAN_WARNING("[user]'s [tool.name] slips, failing to reprogram [target]'s [affected.name]."), + SPAN_WARNING("Your [tool.name] slips, failing to reprogram [target]'s [affected.name]."), chat_message_type = MESSAGE_TYPE_COMBAT) return SURGERY_STEP_RETRY @@ -771,18 +771,18 @@ var/new_name = reject_bad_text(tgui_input_text(user, "Choose a name for this machine.", "Set Name", "[target.real_name]", MAX_NAME_LEN, 1)) if(!new_name) - to_chat(user, "Invalid name! Please try again.") + to_chat(user, SPAN_WARNING("Invalid name! Please try again.")) return SURGERY_STEP_INCOMPLETE else if(!target.Adjacent(user)) - to_chat(user, "The multitool is out of range! Please try again.") + to_chat(user, SPAN_WARNING("The multitool is out of range! Please try again.")) return SURGERY_STEP_INCOMPLETE var/static/list/gender_list = list("Male" = MALE, "Female" = FEMALE, "Genderless" = PLURAL, "Object" = NEUTER) var/gender_key = tgui_input_list(user, "Choose a gender for this machine", "Select Gender", gender_list) if(!gender_key) - to_chat(user, "You must choose a gender! Please try again.") + to_chat(user, SPAN_WARNING("You must choose a gender! Please try again.")) return SURGERY_STEP_INCOMPLETE else if(!target.Adjacent(user)) - to_chat(user, "The multitool is out of range! Please try again.") + to_chat(user, SPAN_WARNING("The multitool is out of range! Please try again.")) return SURGERY_STEP_INCOMPLETE var/new_gender = gender_list[gender_key] @@ -790,8 +790,8 @@ target.real_name = new_name target.gender = new_gender user.visible_message( - "[user] edits [old_name]'s identity parameters with [tool]; [target.p_they()] [target.p_are()] now known as [new_name].", - "You alter [old_name]'s identity parameters with [tool]; [target.p_they()] [target.p_are()] now known as [new_name].", + SPAN_NOTICE("[user] edits [old_name]'s identity parameters with [tool]; [target.p_they()] [target.p_are()] now known as [new_name]."), + SPAN_NOTICE("You alter [old_name]'s identity parameters with [tool]; [target.p_they()] [target.p_are()] now known as [new_name]."), chat_message_type = MESSAGE_TYPE_COMBAT ) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index af79a5b0c4d..83be3175857 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -126,7 +126,7 @@ if(tool && tool.GetComponent(/datum/component/surgery_initiator)) return FALSE if(tool && HAS_TRAIT(tool, TRAIT_SURGICAL)) - to_chat(user, "This step requires a different tool!") + to_chat(user, SPAN_WARNING("This step requires a different tool!")) return TRUE return FALSE @@ -439,10 +439,10 @@ if(S?.voluntary) H.SetSleeping(0) // wake up people who are napping through the surgery if(pain_mod < 0.95) - to_chat(H, "The surgery on your [parse_zone(target_zone)] is agonizingly painful, and rips you out of your shallow slumber!") + to_chat(H, SPAN_DANGER("The surgery on your [parse_zone(target_zone)] is agonizingly painful, and rips you out of your shallow slumber!")) else // Still wake people up, but they shouldn't be as alarmed. - to_chat(H, "The surgery being performed on your [parse_zone(target_zone)] wakes you up.") + to_chat(H, SPAN_WARNING("The surgery being performed on your [parse_zone(target_zone)] wakes you up.")) return pain_mod //operating on conscious people is hard. /** @@ -479,10 +479,10 @@ return switch(blood_level) if(SURGERY_BLOODSPREAD_HANDS) - target.visible_message("Blood splashes onto [user]'s hands.") + target.visible_message(SPAN_NOTICE("Blood splashes onto [user]'s hands.")) H.make_bloody_hands(target.get_blood_dna_list(), target.get_blood_color(), 0) if(SURGERY_BLOODSPREAD_FULLBODY) - target.visible_message("A spray of blood coats [user].") + target.visible_message(SPAN_NOTICE("A spray of blood coats [user].")) H.bloody_body(target) SEND_SIGNAL(tool, COMSIG_MOB_REAGENT_EXCHANGE, target) tool.AddComponent(/datum/component/viral_contamination, target.viruses) diff --git a/code/modules/surgery/tending.dm b/code/modules/surgery/tending.dm index 72c587883db..bc0433561bc 100644 --- a/code/modules/surgery/tending.dm +++ b/code/modules/surgery/tending.dm @@ -87,7 +87,7 @@ /datum/surgery_step/heal/can_repeat(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(!can_be_healed(user, target, target_zone)) - to_chat(user, "It doesn't look like [target] has any more [damage_name_pretty].") + to_chat(user, SPAN_NOTICE("It doesn't look like [target] has any more [damage_name_pretty].")) return FALSE return TRUE @@ -107,7 +107,7 @@ /datum/surgery_step/heal/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) if(!can_be_healed(user, target, target_zone)) - to_chat(user, "It doesn't look like [target] has any more [damage_name_pretty].") + to_chat(user, SPAN_NOTICE("It doesn't look like [target] has any more [damage_name_pretty].")) return SURGERY_STEP_CONTINUE var/brute_healed = brute_damage_healed @@ -131,8 +131,8 @@ if(COOLDOWN_FINISHED(src, success_message_spam_cooldown)) user.visible_message( - "[outer_msg].", - "[self_msg].", + SPAN_NOTICE("[outer_msg]."), + SPAN_NOTICE("[self_msg]."), chat_message_type = MESSAGE_TYPE_COMBAT ) @@ -143,8 +143,8 @@ /datum/surgery_step/heal/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message( - "[user] screws up, making things worse!", - "You screw up, making things worse!", + SPAN_WARNING("[user] screws up, making things worse!"), + SPAN_WARNING("You screw up, making things worse!"), chat_message_type = MESSAGE_TYPE_COMBAT ) var/burn_dealt = burn_damage_healed * 0.8 @@ -260,7 +260,7 @@ if(!.) return if(target.getBruteLoss() == 0) - to_chat(user, "[target] doesn't even have a bruise on [target.p_them()], there's nothing to treat.") + to_chat(user, SPAN_WARNING("[target] doesn't even have a bruise on [target.p_them()], there's nothing to treat.")) return FALSE return TRUE // Normally, adding to_chat to can_start is poor practice since this gets called when listing surgery steps. @@ -278,6 +278,6 @@ if(!.) return if(target.getFireLoss() == 0) - to_chat(user, "[target] doesn't even have a blister on [target.p_them()], there's nothing to treat.") + to_chat(user, SPAN_WARNING("[target] doesn't even have a blister on [target.p_them()], there's nothing to treat.")) return FALSE return TRUE diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index a3c301bd377..a1df4ad7bf8 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -83,13 +83,13 @@ if(target == user) user.visible_message( - "[user] presses [src] against [cig], heating it until it lights.", - "You press [src] against [cig], heating it until it lights." + SPAN_NOTICE("[user] presses [src] against [cig], heating it until it lights."), + SPAN_NOTICE("You press [src] against [cig], heating it until it lights.") ) else user.visible_message( - "[user] presses [src] against [cig] for [target], heating it until it lights.", - "You press [src] against [cig] for [target], heating it until it lights." + SPAN_NOTICE("[user] presses [src] against [cig] for [target], heating it until it lights."), + SPAN_NOTICE("You press [src] against [cig] for [target], heating it until it lights.") ) cig.light(user, target) return TRUE @@ -122,8 +122,8 @@ RegisterSignal(src, COMSIG_CLICK_ALT, PROC_REF(remove_bit)) /obj/item/surgicaldrill/suicide_act(mob/user) - to_chat(viewers(user), pick("[user] is pressing [src] to [user.p_their()] temple and activating it! It looks like [user.p_theyre()] trying to commit suicide!", - "[user] is pressing [src] to [user.p_their()] chest and activating it! It looks like [user.p_theyre()] trying to commit suicide!")) + to_chat(viewers(user), pick(SPAN_SUICIDE("[user] is pressing [src] to [user.p_their()] temple and activating it! It looks like [user.p_theyre()] trying to commit suicide!"), + SPAN_SUICIDE("[user] is pressing [src] to [user.p_their()] chest and activating it! It looks like [user.p_theyre()] trying to commit suicide!"))) return BRUTELOSS /obj/item/surgicaldrill/augment @@ -162,9 +162,9 @@ RegisterSignal(src, COMSIG_CLICK_ALT, PROC_REF(remove_bit)) /obj/item/scalpel/suicide_act(mob/user) - to_chat(viewers(user), pick("[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide!", - "[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!", - "[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!")) + to_chat(viewers(user), pick(SPAN_SUICIDE("[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide!"), + SPAN_SUICIDE("[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!"), + SPAN_SUICIDE("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!"))) return BRUTELOSS /obj/item/scalpel/augment @@ -196,13 +196,13 @@ if(target == user) user.visible_message( - "[user] presses [src] against [cig], heating it until it lights.", - "You press [src] against [cig], heating it until it lights." + SPAN_NOTICE("[user] presses [src] against [cig], heating it until it lights."), + SPAN_NOTICE("You press [src] against [cig], heating it until it lights.") ) else user.visible_message( - "[user] presses [src] against [cig] for [target], heating it until it lights.", - "You press [src] against [cig] for [target], heating it until it lights." + SPAN_NOTICE("[user] presses [src] against [cig] for [target], heating it until it lights."), + SPAN_NOTICE("You press [src] against [cig] for [target], heating it until it lights.") ) cig.light(user, target) return TRUE diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm index 6f422d64bec..3fc884eee4e 100644 --- a/code/modules/telesci/bscrystal.dm +++ b/code/modules/telesci/bscrystal.dm @@ -15,8 +15,8 @@ /obj/item/stack/ore/bluespace_crystal/examine(mob/user) . = ..() - . += "You can crush this to randomly teleport a short distance." - . += "If you throw this at someone, they'll be randomly teleported a short distance away." + . += SPAN_NOTICE("You can crush this to randomly teleport a short distance.") + . += SPAN_NOTICE("If you throw this at someone, they'll be randomly teleported a short distance away.") /obj/item/stack/ore/bluespace_crystal/examine_more(mob/user) . = ..() @@ -34,11 +34,11 @@ /obj/item/stack/ore/bluespace_crystal/attack_self__legacy__attackchain(mob/user) if(use(1)) blink_mob(user) - user.visible_message("[user] crushes a [singular_name]!") + user.visible_message(SPAN_NOTICE("[user] crushes a [singular_name]!")) /obj/item/stack/ore/bluespace_crystal/proc/blink_mob(mob/living/L) if(!is_teleport_allowed(L.z)) - src.visible_message("[src]'s fragments begin rapidly vibrating and blink out of existence.") + src.visible_message(SPAN_WARNING("[src]'s fragments begin rapidly vibrating and blink out of existence.")) qdel(src) return do_teleport(L, get_turf(L), blink_range, sound_in = 'sound/effects/phasein.ogg') diff --git a/code/modules/telesci/gps.dm b/code/modules/telesci/gps.dm index b76a8052e50..3b94f5201d2 100644 --- a/code/modules/telesci/gps.dm +++ b/code/modules/telesci/gps.dm @@ -66,7 +66,7 @@ GLOBAL_LIST_EMPTY(GPS_list) if(ui_status(user, state) != UI_INTERACTIVE) return //user not valid to use gps if(emped) - to_chat(user, "It's busted!") + to_chat(user, SPAN_WARNING("It's busted!")) return tracking = !tracking diff --git a/code/modules/telesci/rcs.dm b/code/modules/telesci/rcs.dm index 5875ceab0f0..ce3c160d219 100644 --- a/code/modules/telesci/rcs.dm +++ b/code/modules/telesci/rcs.dm @@ -39,7 +39,7 @@ /obj/item/rcs/examine(mob/user) . = ..() - . += "There are [round(rcell.charge/chargecost)] charge\s left." + . += SPAN_NOTICE("There are [round(rcell.charge/chargecost)] charge\s left.") /obj/item/rcs/Destroy() QDEL_NULL(rcell) @@ -50,7 +50,7 @@ */ /obj/item/rcs/attack_self__legacy__attackchain(mob/user) if(teleporting) - to_chat(user, "Error: Unable to change destination while in use.") + to_chat(user, SPAN_WARNING("Error: Unable to change destination while in use.")) return var/list/L = list() // List of avaliable telepads @@ -100,32 +100,32 @@ if(!emagged) emagged = TRUE do_sparks(3, TRUE, src) - to_chat(user, "Warning: Safeties disabled.") + to_chat(user, SPAN_BOLDWARNING("Warning: Safeties disabled.")) return TRUE /obj/item/rcs/proc/try_send_container(mob/user, obj/structure/closet/C) if(teleporting) - to_chat(user, "You're already using [src]!") + to_chat(user, SPAN_WARNING("You're already using [src]!")) return if((!emagged) && (user in C.contents)) // If it's emagged, skip this check. - to_chat(user, "Error: User located in container--aborting for safety.") + to_chat(user, SPAN_WARNING("Error: User located in container--aborting for safety.")) return if(rcell.charge < chargecost) - to_chat(user, "Unable to teleport, insufficient charge.") + to_chat(user, SPAN_WARNING("Unable to teleport, insufficient charge.")) return if(!pad) - to_chat(user, "Error: No telepad selected.") + to_chat(user, SPAN_WARNING("Error: No telepad selected.")) return if(!is_level_reachable(C.z)) - to_chat(user, "Warning: No telepads in range!") + to_chat(user, SPAN_WARNING("Warning: No telepads in range!")) return teleport(user, C, pad) /obj/item/rcs/proc/teleport(mob/user, obj/structure/closet/C, target) - to_chat(user, "Teleporting [C]...") + to_chat(user, SPAN_NOTICE("Teleporting [C]...")) playsound(get_turf(src), usesound, 25, TRUE) teleporting = TRUE if(!do_after(user, 50 * toolspeed, target = C)) @@ -137,4 +137,4 @@ rcell.use(final_cost) playsound(get_turf(src), 'sound/weapons/emitter2.ogg', 25, TRUE) do_teleport(C, target) - to_chat(user, "Teleport successful. [round(rcell.charge/final_cost)] charge\s left.") + to_chat(user, SPAN_NOTICE("Teleport successful. [round(rcell.charge/final_cost)] charge\s left.")) diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm index c32e203b285..07154a566f2 100644 --- a/code/modules/telesci/telesci_computer.dm +++ b/code/modules/telesci/telesci_computer.dm @@ -64,10 +64,10 @@ if(istype(used, /obj/item/stack/ore/bluespace_crystal)) var/obj/item/stack/ore/bluespace_crystal/B = used if(crystals >= MAX_CRYSTALS) - to_chat(user, "There are not enough crystal slots.") + to_chat(user, SPAN_WARNING("There are not enough crystal slots.")) return ITEM_INTERACT_COMPLETE crystals += 1 - user.visible_message("[user] inserts a [B.singular_name] into [src]'s crystal slot.") + user.visible_message(SPAN_NOTICE("[user] inserts a [B.singular_name] into [src]'s crystal slot.")) B.use(1) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE @@ -77,7 +77,7 @@ if(!inserted_gps) inserted_gps = used user.transfer_item_to(used, src) - user.visible_message("[user] inserts [used] into [src]'s GPS device slot.") + user.visible_message(SPAN_NOTICE("[user] inserts [used] into [src]'s GPS device slot.")) SStgui.update_uis(src) return ITEM_INTERACT_COMPLETE @@ -90,7 +90,7 @@ if(M.buffer && istype(M.buffer, /obj/machinery/telepad)) linked_pad_uid = M.buffer.UID() M.buffer = null - to_chat(user, "You upload the data from [M]'s buffer.") + to_chat(user, SPAN_NOTICE("You upload the data from [M]'s buffer.")) SStgui.update_uis(src) return TRUE @@ -99,11 +99,11 @@ /obj/machinery/computer/telescience/emag_act(mob/user) if(!emagged) - to_chat(user, "You scramble the Telescience authentication key to an unknown signal. You should be able to teleport to more places now!") + to_chat(user, SPAN_NOTICE("You scramble the Telescience authentication key to an unknown signal. You should be able to teleport to more places now!")) emagged = TRUE return TRUE else - to_chat(user, "The machine seems unaffected by the card swipe...") + to_chat(user, SPAN_WARNING("The machine seems unaffected by the card swipe...")) /obj/machinery/computer/telescience/attack_ai(mob/user) @@ -112,7 +112,7 @@ /obj/machinery/computer/telescience/attack_hand(mob/user) if(isgolem(user)) //this is why we can't have nice things free golems - to_chat(user, "You can't make sense of the console or how to use it.") + to_chat(user, SPAN_WARNING("You can't make sense of the console or how to use it.")) return ui_interact(user) @@ -125,7 +125,7 @@ /obj/machinery/computer/telescience/proc/telefail() sparks() - visible_message("The telepad weakly fizzles.") + visible_message(SPAN_WARNING("The telepad weakly fizzles.")) /obj/machinery/computer/telescience/proc/doteleport(mob/user, sending) diff --git a/code/modules/tgui/modules/crew_monitor.dm b/code/modules/tgui/modules/crew_monitor.dm index 06823df464d..96a2522caf3 100644 --- a/code/modules/tgui/modules/crew_monitor.dm +++ b/code/modules/tgui/modules/crew_monitor.dm @@ -29,7 +29,7 @@ if(!is_advanced) var/turf/T = get_turf(ui_host()) if(!T || !is_level_reachable(T.z)) - to_chat(usr, "Unable to establish a connection: You're too far away from the station!") + to_chat(usr, SPAN_WARNING("Unable to establish a connection: You're too far away from the station!")) return FALSE . = TRUE diff --git a/code/modules/tgui/modules/destination_tagger.dm b/code/modules/tgui/modules/destination_tagger.dm index 9c7174d5bdf..8aee58d3f62 100644 --- a/code/modules/tgui/modules/destination_tagger.dm +++ b/code/modules/tgui/modules/destination_tagger.dm @@ -51,5 +51,5 @@ //Auto flush if we use this verb inside a disposal chute. if(istype(R.loc, /obj/machinery/disposal)) var/obj/machinery/disposal/D = R.loc - to_chat(R, "[D] acknowledges your signal.") + to_chat(R, SPAN_NOTICE("[D] acknowledges your signal.")) D.flush_count = D.flush_every_ticks diff --git a/code/modules/tgui/modules/ert_manager.dm b/code/modules/tgui/modules/ert_manager.dm index 357e68493e9..f91ba8cd229 100644 --- a/code/modules/tgui/modules/ert_manager.dm +++ b/code/modules/tgui/modules/ert_manager.dm @@ -80,7 +80,7 @@ if("Gamma") D = new /datum/response_team/gamma else - to_chat(usr, "Invalid ERT type.") + to_chat(usr, SPAN_USERDANGER("Invalid ERT type.")) return GLOB.ert_request_answered = TRUE var/slots_list = list() diff --git a/code/modules/tgui/modules/ghost_hud_panel.dm b/code/modules/tgui/modules/ghost_hud_panel.dm index dffcb1d1b46..5e921ab25bd 100644 --- a/code/modules/tgui/modules/ghost_hud_panel.dm +++ b/code/modules/tgui/modules/ghost_hud_panel.dm @@ -57,10 +57,10 @@ GLOBAL_DATUM_INIT(ghost_hud_panel, /datum/ui_module/ghost_hud_panel, new) if("ahud_on") if(!GLOB.configuration.general.allow_antag_hud && !ghost.client.holder) - to_chat(ghost, "Admins have disabled this for this round.") + to_chat(ghost, SPAN_WARNING("Admins have disabled this for this round.")) return FALSE if(jobban_isbanned(ghost, "AntagHUD")) - to_chat(ghost, "You have been banned from using this feature.") + to_chat(ghost, SPAN_DANGER("You have been banned from using this feature.")) return FALSE // Check if this is the first time they're turning on Antag HUD. if(!check_rights(R_ADMIN | R_MOD, FALSE) && !ghost.is_roundstart_observer() && GLOB.configuration.general.restrict_antag_hud_rejoin && !ghost.has_ahudded()) diff --git a/code/modules/tgui/modules/id_card_modifier.dm b/code/modules/tgui/modules/id_card_modifier.dm index cfc4ab8c57a..1eb6b293e7b 100644 --- a/code/modules/tgui/modules/id_card_modifier.dm +++ b/code/modules/tgui/modules/id_card_modifier.dm @@ -41,7 +41,7 @@ RESTRICT_TYPE(/datum/ui_module/id_card_modifier) if("reg") var/temp_name = reject_bad_name(input(usr, "Who is this ID for?", "ID Card Renaming", card.registered_name), TRUE) if(!temp_name) - to_chat(usr, "Rejecting invalid name `[temp_name]`.") + to_chat(usr, SPAN_WARNING("Rejecting invalid name `[temp_name]`.")) return card.registered_name = temp_name card.regenerate_name() @@ -76,13 +76,13 @@ RESTRICT_TYPE(/datum/ui_module/id_card_modifier) if("grant_region") var/region = text2num(params["region"]) if(isnull(region) || region < REGION_GENERAL) - to_chat(usr, "Rejecting invalid region `[region]`.") + to_chat(usr, SPAN_WARNING("Rejecting invalid region `[region]`.")) return card.access |= get_region_accesses(region) if("deny_region") var/region = text2num(params["region"]) if(isnull(region) || region < REGION_GENERAL) - to_chat(usr, "Rejecting invalid region `[region]`.") + to_chat(usr, SPAN_WARNING("Rejecting invalid region `[region]`.")) return card.access -= get_region_accesses(region) if("clear_all") diff --git a/code/modules/tgui/modules/law_manager.dm b/code/modules/tgui/modules/law_manager.dm index 4e8cf27f791..3e7f3cbd0b9 100644 --- a/code/modules/tgui/modules/law_manager.dm +++ b/code/modules/tgui/modules/law_manager.dm @@ -98,7 +98,7 @@ var/datum/ai_law/AL = locate(params["edit_law"]) in owner.laws.all_laws() // Dont allow non-admins to edit their own malf laws if(istype(AL, /datum/ai_law/zero) && (!check_rights(R_ADMIN))) - to_chat(ui.user, "You can't edit that law.") + to_chat(ui.user, SPAN_WARNING("You can't edit that law.")) return if(AL) var/new_law = tgui_input_text(ui.user, "Enter new law. Leaving the field blank will cancel the edit.", "Edit Law", AL.law) @@ -111,7 +111,7 @@ var/datum/ai_law/AL = locate(params["delete_law"]) in owner.laws.all_laws() // Dont allow non-admins to delete their own malf laws if(istype(AL, /datum/ai_law/zero) && (!check_rights(R_ADMIN))) - to_chat(ui.user, "You can't delete that law.") + to_chat(ui.user, SPAN_WARNING("You can't delete that law.")) return if(AL && is_malf(ui.user)) owner.delete_law(AL) @@ -138,15 +138,15 @@ current_view = 0 if("notify_laws") - to_chat(owner, "Law Notice") + to_chat(owner, SPAN_DANGER("Law Notice")) owner.laws.show_laws(owner) if(is_ai(owner)) var/mob/living/silicon/ai/AI = owner for(var/mob/living/silicon/robot/R in AI.connected_robots) - to_chat(R, "Law Notice") + to_chat(R, SPAN_DANGER("Law Notice")) R.laws.show_laws(R) if(ui.user != owner) - to_chat(ui.user, "Laws displayed.") + to_chat(ui.user, SPAN_NOTICE("Laws displayed.")) /datum/ui_module/law_manager/ui_state(mob/user) diff --git a/code/modules/tgui/plugins/tgui_login.dm b/code/modules/tgui/plugins/tgui_login.dm index ea1beabaf6e..42dccfc7357 100644 --- a/code/modules/tgui/plugins/tgui_login.dm +++ b/code/modules/tgui/plugins/tgui_login.dm @@ -131,7 +131,7 @@ GLOBAL_LIST(ui_logins) state.rank = state.id.assignment state.access = state.id.access else - to_chat(usr, "Access Denied") + to_chat(usr, SPAN_WARNING("Access Denied")) return else if(login_type == LOGIN_TYPE_AI && is_ai(usr)) state.name = usr.name diff --git a/code/modules/tgui/tgui_input/text_input.dm b/code/modules/tgui/tgui_input/text_input.dm index b3a7d32b090..33b4228416d 100644 --- a/code/modules/tgui/tgui_input/text_input.dm +++ b/code/modules/tgui/tgui_input/text_input.dm @@ -150,7 +150,7 @@ if(length_char(params["entry"]) > max_length) CRASH("[usr] typed a text string longer than the max length") if(encode && (length_char(html_encode(params["entry"])) > max_length)) - to_chat(usr, "Your message was clipped due to special character usage.") + to_chat(usr, SPAN_NOTICE("Your message was clipped due to special character usage.")) set_entry(params["entry"]) closed = TRUE SStgui.close_uis(src) diff --git a/code/modules/tgui/tgui_panel/tgui_panel.dm b/code/modules/tgui/tgui_panel/tgui_panel.dm index d648788f648..882b43e8118 100644 --- a/code/modules/tgui/tgui_panel/tgui_panel.dm +++ b/code/modules/tgui/tgui_panel/tgui_panel.dm @@ -70,7 +70,7 @@ */ /datum/tgui_panel/proc/on_initialize_timed_out() // Currently does nothing but sending a message to old chat. - SEND_TEXT(client, "Failed to load fancy chat, click HERE to attempt to reload it.") + SEND_TEXT(client, SPAN_USERDANGER("Failed to load fancy chat, click HERE to attempt to reload it.")) /** * private @@ -99,7 +99,7 @@ return TRUE if(type == "audio/protected") if(!admins_warned) - message_admins("Audio returned a protected playback error, likely due to being copyrighted.") + message_admins(SPAN_NOTICE("Audio returned a protected playback error, likely due to being copyrighted.")) admins_warned = TRUE addtimer(VARSET_CALLBACK(src, admins_warned, FALSE), 10 SECONDS) return TRUE diff --git a/code/modules/tgui/tgui_panel/tgui_panel_external.dm b/code/modules/tgui/tgui_panel/tgui_panel_external.dm index e3e5e3c62ec..e2fdba8e36c 100644 --- a/code/modules/tgui/tgui_panel/tgui_panel_external.dm +++ b/code/modules/tgui/tgui_panel/tgui_panel_external.dm @@ -52,5 +52,5 @@ continue window.reinitialize() refreshed_count++ - to_chat(usr, "TGUI windows refreshed - [refreshed_count].
If you have blank window - restart the game, or open previous TGUI window.
") + to_chat(usr, SPAN_NOTICE("TGUI windows refreshed - [refreshed_count].
If you have blank window - restart the game, or open previous TGUI window.")) diff --git a/code/modules/vehicle/ambulance.dm b/code/modules/vehicle/ambulance.dm index 72f21525f40..4303eac28b1 100644 --- a/code/modules/vehicle/ambulance.dm +++ b/code/modules/vehicle/ambulance.dm @@ -149,7 +149,7 @@ /obj/vehicle/ambulance/examine(mob/user) . = ..() if(emagged && in_range(src, user)) - . += "The safeties seem to have been shorted out!" + . += SPAN_DANGER("The safeties seem to have been shorted out!") /obj/structure/bed/amb_trolley name = "ambulance train trolley" @@ -159,7 +159,7 @@ /obj/structure/bed/amb_trolley/examine(mob/user) . = ..() - . += "Drag [src]'s sprite over the ambulance to (de)attach it." + . += SPAN_NOTICE("Drag [src]'s sprite over the ambulance to (de)attach it.") /obj/structure/bed/amb_trolley/MouseDrop(obj/over_object as obj) ..() diff --git a/code/modules/vehicle/janivehicle.dm b/code/modules/vehicle/janivehicle.dm index f6caae7887d..025b3f1886b 100644 --- a/code/modules/vehicle/janivehicle.dm +++ b/code/modules/vehicle/janivehicle.dm @@ -58,14 +58,14 @@ else J.floorbuffer = FALSE J.vehicle_move_delay -= J.buffer_delay - to_chat(usr, "The floor buffer is now [J.floorbuffer ? "active" : "deactivated"].") + to_chat(usr, SPAN_NOTICE("The floor buffer is now [J.floorbuffer ? "active" : "deactivated"].")) /obj/vehicle/janicart/user_buckle_mob(mob/living/M, mob/user) var/mob/living/carbon/human/driver = M var/obj/item/organ/external/l_leg = driver.get_organ("l_leg") var/obj/item/organ/external/r_leg = driver.get_organ("r_leg") if(!l_leg && !r_leg) - to_chat(user, "[src] requires legs to ride!") + to_chat(user, SPAN_WARNING("[src] requires legs to ride!")) return return ..() @@ -100,7 +100,7 @@ . += "It has been upgraded with a floor buffer." /obj/vehicle/janicart/item_interaction(mob/living/user, obj/item/used, list/modifiers) - var/fail_msg = "There is already one of those in [src]." + var/fail_msg = SPAN_NOTICE("There is already one of those in [src].") if(istype(used, /obj/item/storage/bag/trash)) if(mybag) @@ -108,7 +108,7 @@ return ITEM_INTERACT_COMPLETE if(!user.drop_item()) return ITEM_INTERACT_COMPLETE - to_chat(user, "You hook [used] onto [src].") + to_chat(user, SPAN_NOTICE("You hook [used] onto [src].")) used.forceMove(src) mybag = used update_icon(UPDATE_OVERLAYS) @@ -120,7 +120,7 @@ return ITEM_INTERACT_COMPLETE buffer_installed = TRUE qdel(used) - to_chat(user,"You upgrade [src] with [used].") + to_chat(user,SPAN_NOTICE("You upgrade [src] with [used].")) update_icon(UPDATE_OVERLAYS) return ITEM_INTERACT_COMPLETE diff --git a/code/modules/vehicle/tg_vehicles/cars/car.dm b/code/modules/vehicle/tg_vehicles/cars/car.dm index dc1374fa288..2d1c3ab65e4 100644 --- a/code/modules/vehicle/tg_vehicles/cars/car.dm +++ b/code/modules/vehicle/tg_vehicles/cars/car.dm @@ -31,7 +31,7 @@ return FALSE if((car_traits & CAN_KIDNAP) && isliving(user) && M != user) var/mob/living/kidnapped = M - kidnapped.visible_message("[user] starts forcing [kidnapped] into [src]!") + kidnapped.visible_message(SPAN_WARNING("[user] starts forcing [kidnapped] into [src]!")) mob_try_forced_enter(user, kidnapped) return ..() @@ -40,10 +40,10 @@ mob_exit(future_pedestrian, silent) return TRUE if(escape_time > 0) - 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(future_pedestrian, silent) return TRUE @@ -51,14 +51,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, target = src)) 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/tgvehicle/sealed/car/proc/mob_try_forced_enter(mob/forcer, mob/kidnapped, silent = FALSE) @@ -78,7 +78,7 @@ /// Proc called when someone is forcefully stuffedd into a car /obj/tgvehicle/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]!")) if(forced_enter_sound) playsound(src, forced_enter_sound, 70, TRUE) kidnapped.forceMove(src) diff --git a/code/modules/vehicle/tg_vehicles/cars/clowncar.dm b/code/modules/vehicle/tg_vehicles/cars/clowncar.dm index 5c3dcc884ab..24cc10aa836 100644 --- a/code/modules/vehicle/tg_vehicles/cars/clowncar.dm +++ b/code/modules/vehicle/tg_vehicles/cars/clowncar.dm @@ -62,7 +62,7 @@ forced_mob.reagents.del_reagent("dublindrop") if(reagent_amount >= 30) message_admins("[ADMIN_LOOKUPFLW(forced_mob)] was forced into a clown car with [reagent_amount] unit(s) of Irish Car Bomb, causing an explosion.") - audible_message("You hear a rattling sound coming from the engine. That can't be good...", null, 1) + audible_message(SPAN_WARNING("You hear a rattling sound coming from the engine. That can't be good..."), null, 1) addtimer(CALLBACK(src, PROC_REF(irish_car_bomb)), 5 SECONDS) // We don't want everything in the clown car to get dusted when it touches the supermatter, so dump the mobs. @@ -80,7 +80,7 @@ /obj/tgvehicle/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_WARNING("[src] spews out a ton of space lube!")) var/datum/effect_system/foam_spread/L = new() var/datum/reagents/foamreagent = new /datum/reagents(200) foamreagent.add_reagent("lube", 200) @@ -93,7 +93,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 [src]!") + to_chat(user, SPAN_WARNING("You use the [banana] to repair [src]!")) qdel(banana) /obj/tgvehicle/sealed/car/clowncar/Bump(atom/bumped) @@ -104,7 +104,7 @@ var/mob/living/hittarget_living = bumped if(istype(hittarget_living, /mob/living/basic/deer)) - visible_message("[src] careens into [hittarget_living]! Oh the humanity!") + visible_message(SPAN_WARNING("[src] careens into [hittarget_living]! Oh the humanity!")) for(var/mob/living/carbon/carbon_occupant in occupants) if(prob(35)) // Note: The randomstep on dump_mobs throws occupants into each other and often causes wounds regardless. continue @@ -118,7 +118,7 @@ if(iscarbon(hittarget_living)) var/mob/living/carbon/C = hittarget_living C.Stun(4 SECONDS) // I play to make sprites go horizontal - hittarget_living.visible_message("[src] rams into [hittarget_living] and sucks [hittarget_living.p_them()] up!") + hittarget_living.visible_message(SPAN_WARNING("[src] rams into [hittarget_living] and sucks [hittarget_living.p_them()] up!")) mob_forced_enter(hittarget_living) playsound(src, pick('sound/effects/clowncar/clowncar_ram1.ogg', 'sound/effects/clowncar/clowncar_ram2.ogg', 'sound/effects/clowncar/clowncar_ram3.ogg'), 75) log_attack(src, hittarget_living, "sucked up") @@ -134,7 +134,7 @@ return if(conditionalwall.operating) return - visible_message("[src] rams into [bumped] and crashes!") + visible_message(SPAN_WARNING("[src] rams into [bumped] and crashes!")) playsound(src, pick('sound/effects/clowncar/clowncar_crash1.ogg', 'sound/effects/clowncar/clowncar_crash2.ogg'), 75) playsound(src, 'sound/effects/clowncar/clowncar_crashpins.ogg', 75) dump_mobs(TRUE) @@ -156,7 +156,7 @@ return if(HAS_TRAIT(target_pancake, TRAIT_CLOWN_CAR_SQUISHED)) return - target_pancake.visible_message("[src] runs over [target_pancake], flattening [target_pancake.p_them()] like a pancake!") + target_pancake.visible_message(SPAN_WARNING("[src] runs over [target_pancake], flattening [target_pancake.p_them()] like a pancake!")) handle_squish_carbon(target_pancake, 30) ADD_TRAIT(target_pancake, TRAIT_CLOWN_CAR_SQUISHED, "clown_car") addtimer(CALLBACK(src, PROC_REF(allow_resquish), target_pancake), 5 SECONDS) @@ -168,7 +168,7 @@ if(emagged) return FALSE emagged = TRUE - to_chat(user, "You scramble [src]'s child safety lock, and a panel with six colorful buttons appears!") + to_chat(user, SPAN_WARNING("You scramble [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) return TRUE @@ -200,10 +200,10 @@ last_emag_button_use = world.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_WARNING("[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_WARNING("[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) @@ -211,20 +211,20 @@ foam.set_up(200, src, 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_WARNING("[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" singulomode = TRUE addtimer(CALLBACK(src, PROC_REF(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 confetti all over the place.") + visible_message(SPAN_WARNING("[user] presses one of the colorful buttons on [src], and the clown car spews out a cloud of confetti all over the place.")) confettisize(src, 50, 8) if(5) - visible_message("[user] presses one of the colorful buttons on [src], and the clown car starts dropping a lubricant trail.") + visible_message(SPAN_WARNING("[user] presses one of the colorful buttons on [src], and the clown car starts dropping a lubricant trail.")) RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(cover_in_oil)) addtimer(CALLBACK(src, PROC_REF(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_WARNING("[user] presses one of the colorful buttons on [src], and the clown car lets out a comedic toot.")) playsound(src, 'sound/effects/clowncar/clowncar_fart.ogg', 100) for(var/mob/living/L in orange(loc, 6)) L.emote("laugh") @@ -252,7 +252,7 @@ /// Toggles the on and off state of the clown cannon that shoots random kidnapped people /obj/tgvehicle/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) // cannon active, deactivate if(!singulomode) @@ -260,13 +260,13 @@ icon_state = "clowncar" addtimer(CALLBACK(src, PROC_REF(deactivate_cannon)), 2 SECONDS) playsound(src, 'sound/effects/clowncar/clowncar_cannonmode2.ogg', 75) - visible_message("[src] starts going back into mobile mode.") + visible_message(SPAN_WARNING("[src] starts going back into mobile mode.")) else canmove = FALSE // anchor and activate cannon if(!singulomode) flick("clowncar_tofire", src) icon_state = "clowncar_fire" - visible_message("[src] opens up and reveals a large cannon.") + visible_message(SPAN_WARNING("[src] opens up and reveals a large cannon.")) addtimer(CALLBACK(src, PROC_REF(activate_cannon)), 2 SECONDS) playsound(src, 'sound/effects/clowncar/clowncar_cannonmode1.ogg', 75) cannonmode = CLOWN_CANNON_BUSY diff --git a/code/modules/vehicle/tg_vehicles/scooter.dm b/code/modules/vehicle/tg_vehicles/scooter.dm index 4f3b2091858..aeb2a5a7214 100644 --- a/code/modules/vehicle/tg_vehicles/scooter.dm +++ b/code/modules/vehicle/tg_vehicles/scooter.dm @@ -13,12 +13,12 @@ /obj/tgvehicle/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/tgvehicle/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) @@ -37,7 +37,7 @@ if(!HAS_TRAIT(src, TRAIT_NO_BREAK_GLASS_TABLES)) buckled_mob.adjustStaminaLoss(2) if(prob(7)) //Not to much spam. - to_chat(buckled_mob, "The rocky terrain you are riding on is tiring you out!") + to_chat(buckled_mob, SPAN_WARNING("The rocky terrain you are riding on is tiring you out!")) /obj/tgvehicle/scooter/skateboard name = "skateboard" @@ -86,13 +86,13 @@ /obj/tgvehicle/scooter/skateboard/post_buckle_mob(mob/living/M)//allows skateboards to be non-dense but still allows 2 skateboarders to collide with each other if(M.pulling) M.stop_pulling() - to_chat(M, "You can't pull things along while skateboarding!") + to_chat(M, SPAN_WARNING("You can't pull things along while skateboarding!")) if(istype(M.l_hand, /obj/item/grab)) // We need to run the check on both hands to ensure someone isn't grabbing something in each hand M.drop_l_hand() - to_chat(M, "You can't pull things along while skateboarding!") + to_chat(M, SPAN_WARNING("You can't pull things along while skateboarding!")) if(istype(M.r_hand, /obj/item/grab)) M.drop_r_hand() - to_chat(M, "You can't pull things along while skateboarding!") + to_chat(M, SPAN_WARNING("You can't pull things along while skateboarding!")) set_density(TRUE) return ..() @@ -119,12 +119,12 @@ rider.Weaken(8 SECONDS) rider.forceMove(bumped_thing) forceMove(bumped_thing) - visible_message("[src] crashes into [bumped_thing], and gets dumped straight into it!") + visible_message(SPAN_DANGER("[src] crashes into [bumped_thing], and gets dumped straight into it!")) return if((istype(bumped_thing, /obj/machinery/economy/vending))) var/obj/machinery/economy/vending/V = bumped_thing rider.Weaken(8 SECONDS) - visible_message("[src] crashes into [V]!") + visible_message(SPAN_DANGER("[src] crashes into [V]!")) V.tilt(rider, from_combat = TRUE) return rider.throw_at(throw_target, 3, 2) @@ -132,7 +132,7 @@ if(!head_slot || !(istype(head_slot, /obj/item/clothing/head/helmet) || istype(head_slot, /obj/item/clothing/head/hardhat))) rider.adjustBrainLoss(5) rider.updatehealth() - visible_message("[src] crashes into [bumped_thing], sending [rider] flying!") + visible_message(SPAN_DANGER("[src] crashes into [bumped_thing], sending [rider] flying!")) rider.Weaken(6 SECONDS) if(iscarbon(bumped_thing)) var/mob/living/carbon/victim = bumped_thing @@ -175,7 +175,7 @@ unbuckle_mob(skater) var/atom/throw_target = get_edge_target_turf(src, pick(NORTH, SOUTH, EAST, WEST)) 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.Weaken(4 SECONDS) grinding = FALSE icon_state = "[initial(icon_state)]" @@ -193,7 +193,7 @@ victim.apply_damage(damage = 25, damagetype = BRUTE, def_zone = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)) victim.Weaken(1.5 SECONDS) skater.adjustStaminaLoss(instability) - victim.visible_message("[victim] straight up gets grinded into the ground by [skater]'s [src]! Radical!") + victim.visible_message(SPAN_DANGER("[victim] straight up gets grinded into the ground by [skater]'s [src]! Radical!")) addtimer(CALLBACK(src, PROC_REF(grind)), 1 DECISECONDS) /obj/tgvehicle/scooter/skateboard/MouseDrop(atom/over_object) @@ -208,10 +208,10 @@ if(skater.incapacitated() || !Adjacent(skater)) return if(cursed) - to_chat(skater, "Some magic burns your hands whenever you go to pick [src] up!") + to_chat(skater, SPAN_DANGER("Some magic burns your hands whenever you go to pick [src] up!")) 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) @@ -252,7 +252,7 @@ add_overlay(curse_overlay) /obj/tgvehicle/scooter/skateboard/hoverboard/proc/remove_rider() - visible_message("The boosters on [src] burn out as the magic extinguishes it!") + visible_message(SPAN_WARNING("The boosters on [src] burn out as the magic extinguishes it!")) if(has_buckled_mobs()) var/mob/living/carbon/skaterboy = buckled_mobs[1] unbuckle_mob(skaterboy) @@ -289,18 +289,18 @@ var/obj/item/stack/S = I if(S.get_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(do_after(user, 5 SECONDS, target = src)) if(!loc || !S || S.get_amount() < 2) return S.use(2) - to_chat(user, "You finish making wheels for [src].") + to_chat(user, SPAN_NOTICE("You finish making wheels for [src].")) new /obj/tgvehicle/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) @@ -315,11 +315,11 @@ var/obj/item/stack/S = I if(S.get_amount() < 2) return ITEM_INTERACT_COMPLETE - to_chat(user, "You begin making handlebars for [src].") + to_chat(user, SPAN_NOTICE("You begin making handlebars for [src].")) if(do_after(user, 2.5 SECONDS, target = src)) if(!loc || !S || S.get_amount() < 2 || !S.use(2)) return ITEM_INTERACT_COMPLETE - 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/tgvehicle/scooter/skaterskoot = new(loc) if(has_buckled_mobs()) var/mob/living/carbon/skaterboy = buckled_mobs[1] @@ -331,10 +331,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/metal(drop_location(), 5) new /obj/item/scooter_frame(drop_location()) if(has_buckled_mobs()) diff --git a/code/modules/vehicle/tg_vehicles/sealed.dm b/code/modules/vehicle/tg_vehicles/sealed.dm index 1f323781cd9..661fb4fe11b 100644 --- a/code/modules/vehicle/tg_vehicles/sealed.dm +++ b/code/modules/vehicle/tg_vehicles/sealed.dm @@ -86,7 +86,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 @@ -104,7 +104,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/tgvehicle/sealed/proc/exit_location(M) @@ -113,9 +113,9 @@ /obj/tgvehicle/sealed/item_interaction(mob/living/user, obj/item/I, list/modifiers) if(key_type && !is_key(inserted_key) && is_key(I)) if(I.flags & NODROP || !user.drop_item() || !I.forceMove(src)) - to_chat(user, "[I] is stuck to your hand!") + to_chat(user, SPAN_WARNING("[I] is stuck to your hand!")) return ITEM_INTERACT_COMPLETE - 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 @@ -125,12 +125,12 @@ /obj/tgvehicle/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].")) user.put_in_hands(inserted_key) inserted_key = null diff --git a/code/modules/vehicle/tg_vehicles/tg_vehicle_actions.dm b/code/modules/vehicle/tg_vehicles/tg_vehicle_actions.dm index e8172a2bb67..45bb01d1b6b 100644 --- a/code/modules/vehicle/tg_vehicles/tg_vehicle_actions.dm +++ b/code/modules/vehicle/tg_vehicles/tg_vehicle_actions.dm @@ -219,7 +219,7 @@ vehicle.unbuckle_mob(rider) rider.throw_at(landing_turf, 2, 2) rider.Weaken(5 SECONDS) - 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!")) return if((locate(/obj/structure/table) in landing_turf) || (locate(/obj/structure/railing) in landing_turf)) vehicle.grinding = TRUE @@ -265,21 +265,21 @@ rider.Weaken(5 SECONDS) if(prob(15)) rider.visible_message( - "[rider] misses the landing and falls on [rider.p_their()] face!", - "You smack against the board, hard.", + SPAN_DANGER("[rider] misses the landing and falls on [rider.p_their()] face!"), + SPAN_USERDANGER("You smack against the board, hard."), ) rider.emote("scream") rider.adjustBruteLoss(10) // thats gonna leave a mark return rider.visible_message( - "[rider] misses the landing and falls on [rider.p_their()] face!", - "You fall flat onto the board!", + SPAN_DANGER("[rider] misses the landing and falls on [rider.p_their()] face!"), + SPAN_USERDANGER("You fall flat onto the board!"), ) return rider.visible_message( - "[rider] does a sick kickflip and catches [rider.p_their()] board in midair.", - "You do a sick kickflip, catching the board in midair! Stylish.", + SPAN_NOTICE("[rider] does a sick kickflip and catches [rider.p_their()] board in midair."), + SPAN_NOTICE("You do a sick kickflip, catching the board in midair! Stylish."), ) playsound(board, 'sound/effects/skateboard_ollie.ogg', 50, vary = TRUE) rider.spin(spintime = 4, speed = 1) @@ -326,7 +326,7 @@ if(last_horn + horn_cooldown > world.time) return last_horn = world.time - vehicle_entered_target.visible_message("[vehicle_entered_target] loudly honks!") + vehicle_entered_target.visible_message(SPAN_WARNING("[vehicle_entered_target] loudly honks!")) to_chat(owner, "You press [vehicle_entered_target]'s horn.") if(istype(vehicle_entered_target.inserted_key, /obj/item/bikehorn)) playsound(vehicle_entered_target, 'sound/items/bikehorn.ogg', 75) // The bikehorn plays a sound instead @@ -354,7 +354,7 @@ button_icon_state = "car_dump" /datum/action/vehicle/sealed/dump_kidnapped_mobs/Trigger(trigger_flags) - vehicle_entered_target.visible_message("[vehicle_target] starts dumping the people inside of it.") + vehicle_entered_target.visible_message(SPAN_WARNING("[vehicle_target] starts dumping the people inside of it.")) vehicle_entered_target.dump_specific_mobs(VEHICLE_CONTROL_KIDNAPPED) @@ -396,7 +396,7 @@ var/obj/tgvehicle/sealed/car/clowncar/clown_car = vehicle_entered_target var/list/mob/drivers = clown_car.return_drivers() if(!length(drivers)) - to_chat(owner, "You prepare to thank the driver, only to realize that they don't exist.") + to_chat(owner, SPAN_WARNING("You prepare to thank the driver, only to realize that they don't exist.")) return var/mob/clown = pick(drivers) owner.say("Thank you for the fun ride, [clown.name]!") diff --git a/code/modules/vehicle/tg_vehicles/tg_vehicles.dm b/code/modules/vehicle/tg_vehicles/tg_vehicles.dm index 15782edb5c6..5a0905fff40 100644 --- a/code/modules/vehicle/tg_vehicles/tg_vehicles.dm +++ b/code/modules/vehicle/tg_vehicles/tg_vehicles.dm @@ -75,7 +75,7 @@ if(25 to 50) examine_text = "It appears heavily damaged." if(0 to 25) - examine_text = "It's falling apart!" + examine_text = SPAN_WARNING("It's falling apart!") return examine_text @@ -205,20 +205,20 @@ return ..() if(user.drop_item()) I.forceMove(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!")) /obj/tgvehicle/AltClick(mob/user) if(!inserted_key) return ..() if(!is_occupant(user) || !(occupants[user] & VEHICLE_CONTROL_DRIVE)) - to_chat(user, "You must be driving the [src] to remove [src]'s key!") + to_chat(user, SPAN_WARNING("You must be driving the [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()) user.put_in_hands(inserted_key) inserted_key = null diff --git a/code/modules/vehicle/vehicle.dm b/code/modules/vehicle/vehicle.dm index 4dd0a685206..3485867fc98 100644 --- a/code/modules/vehicle/vehicle.dm +++ b/code/modules/vehicle/vehicle.dm @@ -49,11 +49,11 @@ . = ..() 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.") 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) @@ -61,31 +61,31 @@ 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/install_vtec(obj/item/borg/upgrade/vtec/vtec, mob/user) if(installed_vtec) return FALSE if(vehicle_move_delay <= 1) - to_chat(user, "[src] is too fast for [vtec] to have any effect.") + to_chat(user, SPAN_WARNING("[src] is too fast for [vtec] to have any effect.")) return FALSE installed_vtec = TRUE vehicle_move_delay = max(1, vehicle_move_delay - 1) qdel(vtec) - to_chat(user, "You upgrade [src] with [vtec].") + to_chat(user, SPAN_NOTICE("You upgrade [src] with [vtec].")) return TRUE /obj/vehicle/item_interaction(mob/living/user, obj/item/used, list/modifiers) if(key_type && !is_key(inserted_key) && is_key(used)) if(user.drop_item()) used.forceMove(src) - to_chat(user, "You insert [used] into [src].") + to_chat(user, SPAN_NOTICE("You insert [used] into [src].")) if(inserted_key) //just in case there's an invalid key inserted_key.forceMove(drop_location()) inserted_key = used else - to_chat(user, "[used] seems to be stuck to your hand!") + to_chat(user, SPAN_WARNING("[used] seems to be stuck to your hand!")) return ITEM_INTERACT_COMPLETE if(istype(used, /obj/item/borg/upgrade/vtec) && install_vtec(used, user)) @@ -94,9 +94,9 @@ /obj/vehicle/AltClick(mob/user) if(inserted_key && user.Adjacent(user)) if(!(user in buckled_mobs)) - to_chat(user, "You must be riding [src] to remove [src]'s key!") + to_chat(user, SPAN_WARNING("You must be riding [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()) user.put_in_hands(inserted_key) inserted_key = null @@ -173,7 +173,7 @@ //MOVEMENT /obj/vehicle/relaymove(mob/user, direction) if(key_type && !is_key(inserted_key)) - to_chat(user, "[src] has no key inserted!") + to_chat(user, SPAN_WARNING("[src] has no key inserted!")) return if(user.incapacitated()) @@ -212,7 +212,7 @@ handle_vehicle_layer() handle_vehicle_offsets() else - to_chat(user, "You'll need the keys in one of your hands to drive [src].") + to_chat(user, SPAN_WARNING("You'll need the keys in one of your hands to drive [src].")) /obj/vehicle/Move(NewLoc, Dir = 0, movetime) diff --git a/code/modules/vote/vote_datum.dm b/code/modules/vote/vote_datum.dm index 25385606a81..02224fbfd2d 100644 --- a/code/modules/vote/vote_datum.dm +++ b/code/modules/vote/vote_datum.dm @@ -61,7 +61,7 @@ switch(vote_result_type) if(VOTE_RESULT_TYPE_MAJORITY) if(!length(voted)) - to_chat(world, "No votes were cast. Do you all hate democracy?!") // shame them + to_chat(world, SPAN_INTERFACE("No votes were cast. Do you all hate democracy?!")) // shame them return null var/list/results = list() @@ -88,10 +88,10 @@ for(var/res in results) if(res in winning_options) // Make it stand out - to_chat(world, "[res] - [results[res]] vote\s") + to_chat(world, SPAN_INTERFACE("[res] - [results[res]] vote\s")) else // Make it normal - to_chat(world, "[res] - [results[res]] vote\s") + to_chat(world, SPAN_INTERFACE("[res] - [results[res]] vote\s")) // And log it to the DB if(!is_custom) @@ -99,17 +99,17 @@ if(length(winning_options) > 1) var/random_dictator = pick(winning_options) - to_chat(world, "Its a tie between [english_list(winning_options)]. Picking [random_dictator] at random.") // shame them + to_chat(world, SPAN_INTERFACE("Its a tie between [english_list(winning_options)]. Picking [random_dictator] at random.")) // shame them return random_dictator // If we got here there must only be one thing in the list var/res = winning_options[1] if(res in choices) - to_chat(world, "[res] won the vote.") + to_chat(world, SPAN_INTERFACE("[res] won the vote.")) return res - to_chat(world, "The winner of the vote ([sanitize(res)]) isnt a valid choice? What the heck?") + to_chat(world, SPAN_INTERFACE("The winner of the vote ([sanitize(res)]) isnt a valid choice? What the heck?")) stack_trace("Vote of type [type] concluded with an invalid answer. Answer was [sanitize(res)], choices were [json_encode(choices)]") return null @@ -198,4 +198,4 @@ if(params["target"] in choices) voted[usr.ckey] = params["target"] else - message_admins("\[EXPLOIT] User [key_name_admin(usr)] spoofed a vote in the vote panel!") + message_admins("[SPAN_BOLDANNOUNCEOOC("\[EXPLOIT\]")] User [key_name_admin(usr)] spoofed a vote in the vote panel!") diff --git a/code/modules/vote/vote_presets.dm b/code/modules/vote/vote_presets.dm index 6927fa4fea7..cef3dde50fd 100644 --- a/code/modules/vote/vote_presets.dm +++ b/code/modules/vote/vote_presets.dm @@ -48,5 +48,5 @@ // Set top voted map if(result == "[initial(M.fluff_name)] ([initial(M.technical_name)])") top_voted_map = M - to_chat(world, "Map for next round: [initial(top_voted_map.fluff_name)] ([initial(top_voted_map.technical_name)])") + to_chat(world, SPAN_INTERFACE("Map for next round: [initial(top_voted_map.fluff_name)] ([initial(top_voted_map.technical_name)])")) SSmapping.next_map = new top_voted_map diff --git a/code/modules/world_topic/pr_announce_topic.dm b/code/modules/world_topic/pr_announce_topic.dm index 49362558c22..0446cc4d7b6 100644 --- a/code/modules/world_topic/pr_announce_topic.dm +++ b/code/modules/world_topic/pr_announce_topic.dm @@ -5,4 +5,4 @@ /datum/world_topic_handler/announce/execute(list/input, key_valid) var/prtext = input["announce"] for(var/client/C in GLOB.clients) - to_chat(C, "PR: [prtext]") + to_chat(C, SPAN_PR_ANNOUNCE("PR: [prtext]")) diff --git a/docs/coding/coding_requirements.md b/docs/coding/coding_requirements.md index 151f26bc0d3..bd6eff29a56 100644 --- a/docs/coding/coding_requirements.md +++ b/docs/coding/coding_requirements.md @@ -211,7 +211,7 @@ for addressing all forms of pronouns. This is useful in a number of ways; - BYOND's `\his` macro can be unpredictable on what object it references. Take this example: `"[user] waves \his [user.weapon] around, hitting \his - opponents!"`. This will end up referencing the user's gender in the first +opponents!"`. This will end up referencing the user's gender in the first occurrence, but what about the second? It'll actually print the gender set on the weapon he's carrying, which is unintended - and there's no way around this. @@ -510,7 +510,7 @@ do not simply omit the `SIGNAL_HANDLER`. Instead, call the sleeping code with ### Use of operators - Bitwise ANDs (`&`) should be written as `bitfield & bitflag` NEVER `bitflag & - bitfield`. Both are valid, but the latter is confusing and nonstandard. +bitfield`. Both are valid, but the latter is confusing and nonstandard. - Associated lists declarations must have their key value quoted if it's a string. ```dm @@ -561,22 +561,22 @@ of common legacy trends which are no longer acceptable: ```dm //Bad for(var/mob/M in viewers(user)) - M.show_message("Arbitrary text") + M.show_message(SPAN_WARNING("Arbitrary text")) //Good -user.visible_message("Arbitrary text") +user.visible_message(SPAN_WARNING("Arbitrary text")) ``` - You should not use color macros (`\red, \blue, \green, \black`) to color text, - instead, you should use span classes. `Red text`, - `Blue text`. + instead, you should use span classes. `[SPAN_WARNING("Red text")]`, + `[SPAN_NOTICE("Blue text")]`. ```dm //Bad to_chat(user, "\red Red text \black Black text") //Good -to_chat(user, "Red textBlack text") +to_chat(user, "[SPAN_WARNING("Red text")]Black text") ``` - To use variables in strings, you should **never** use the `text()` operator, @@ -817,10 +817,11 @@ example.) Why is this special? With `.` being everpresent in every proc, can we use it as a temporary variable? Of course we can! However, the `.` operator cannot replace a typecasted variable + - it can hold data any other var in DM can, it just can't be accessed as one, -although the `.` operator is compatible with a few operators that look weird but -work perfectly fine, such as: `.++` for incrementing `.'s` value, or `.[1]` for -accessing the first element of `.`, provided that it's a list. + although the `.` operator is compatible with a few operators that look weird but + work perfectly fine, such as: `.++` for incrementing `.'s` value, or `.[1]` for + accessing the first element of `.`, provided that it's a list. ### Globals versus static diff --git a/docs/coding/quickstart.md b/docs/coding/quickstart.md index f58e76947f3..6e71e28244f 100644 --- a/docs/coding/quickstart.md +++ b/docs/coding/quickstart.md @@ -1,8 +1,9 @@ # Code Contribution Quickstart -by *Farie82* +by _Farie82_ ## Intro + Glad you're reading this and hopefully this guide will help you start contributing to this codebase! First a word of wisdom. Start small with your first set of PRs even if you are already experienced with developing for other @@ -22,6 +23,7 @@ I've also made a [debugging tutorial](./debugging.md) which will help you find the cause of bugs and how to fix them. ## Quick DM tutorial + For your first PR you won't need an in-depth knowledge of how to code in DM, but here are some of the basics. Feel free to skip these and come back to this once you feel like you are missing some info. @@ -32,7 +34,9 @@ guide for you to use as well. Just `Ctrl`-click on any BYOND proc or variable to see the reference on it. ### Objects and Inheritance + An object is defined the following way: + ```dm /obj/item/multitool ``` @@ -53,7 +57,8 @@ could look something like this: Where `mob` is a being in DM. Thus something that "lives" and can do things. ### Procs -The way DM groups a set of instructions is as follows. It uses a *proc* or in + +The way DM groups a set of instructions is as follows. It uses a _proc_ or in other languages also called a method or function. ```dm @@ -132,6 +137,7 @@ world.log << "val is [val]. val plus 10 is: [val + 10]" Which will produce `"val is 1. val plus 10 is: 11"` ### Scoping + If you come from another language then you might think. "Hey, where are the {}'s?!". Well, we do not use those (usually). Instead scoping is done by whitespace. Tabs in our case. One tab means one scope deeper. @@ -177,6 +183,7 @@ It contains all of the coding standards and some tips and tricks on how to write good and safe code. ### Terminology + We will be using some terminology moving forward you should be comfortable with: - [PR](../references/glossary.md#pull-request), an abbreviation for pull @@ -198,11 +205,13 @@ We will be using some terminology moving forward you should be comfortable with: branch and the master branch. ## Setup + Code contributions require setting up a development environment. If you haven't done that already, follow the guide at [Getting Started](../contributing/getting_started.md) first. ## Your First PR + Once you've completed the setup you can continue with making an actual PR. I'd suggest keeping it small since setting up all of the git stuff was already a @@ -214,7 +223,7 @@ attached to it like in the picture below. ![image](./images/quickstart_good_first_issue.png) -You *can* make a PR that solves that issue. But it would be a waste of time +You _can_ make a PR that solves that issue. But it would be a waste of time since somebody else already solved it before you but their PR is still awaiting approval. @@ -237,6 +246,7 @@ There of course are many more options that are not included in this list. [gfi]: https://github.com/ParadiseSS13/Paradise/labels/Good%20First%20Issue ### Finding The Relevant Code + The first thing you will need to do is to find the relevant code once you figured out what you want to add/change. This is no exact science and requires some creative thinking but I will list a few methods I use myself when finding @@ -249,6 +259,7 @@ files. ![image](./images/quickstart_search_dm.png) #### Finding Existing Items + If you're looking for an existing item then it might be easiest to look for the name of the item. Let's take a multitool as an example here. @@ -285,6 +296,7 @@ Most of the times the file containing the definition will also include the looked for proc or value you want to change. #### Finding Behaviour + This is a very wide concept and thus hard to exactly find. For this, we will use the above method and use keywords explaining the behaviour @@ -326,6 +338,7 @@ will currently move the attached pet collar (if any) to the drop location of the animal when they are gibbed. #### Finding A Suitable Place To Add A New Item + When adding a new item you want to ensure that it is placed in a logical file or that you make a new file in a logical directory. I find that it is best to find other similar items and see how they are defined. For example a special jumpsuit @@ -350,6 +363,7 @@ Depending on your to add the item you can pick one of those files and see if it would fit in there. Feel free to ask for advice from others if you are unsure. ### Solving The Actual Issue + Now comes the **Fun** part. How to achieve what you want to achieve? The answer is. "That depends" Fun, isn't it? Every problem has its own way of solving it. I will list some of the more common solutions to a problem down here. This list @@ -376,19 +390,21 @@ goes wrong sometimes) but going to the location shows the problem quite easily. More cases might be added later. #### Typo Or Grammar + The easiest of them all if you can properly speak English. Say the multitool description text is: `"Used for pusling wires to test which to cut. Not recommended by doctors."` Then you can easily fix the typo ("pusling" to "pulsing") by just changing the value of the string to the correct spelling. #### Wrong Logic + This one really depends on the context. But let us take the following example. You cannot link machinery using a multitool. Something it should do. ```dm /obj/item/multitool/proc/set_multitool_buffer(mob/user, obj/machinery/M) if(ismachinery(M)) - to_chat(user, "That's not a machine!") + to_chat(user, SPAN_WARNING("That's not a machine!")) return ``` @@ -430,6 +446,7 @@ that you can spawn the item using admin powers. It will not automagically appear in vendors or such. ### Testing Your Code + Once you are done coding you can start testing your code, assuming your code compiles of course. To do this simply press `F5` on your keyboard. This will by default build your @@ -439,6 +456,7 @@ code in more detail. Later I will include a more detailed testing plan in this guide. ### Making The PR + Once you are done with your changes you can make a new PR. New PRs must be created on _branches_. Branches are copies of the `master` @@ -486,7 +504,7 @@ the branch you just pushed. Be sure to fill in the template shown to you. It is quite straight forward but it is important to note down the thing you changed in enough detail. If you fixed an issue then you can write the following `fixes #12345` where 12345 is the number of the issue. Put this line of text in the -*What Does This PR Do* part of the PR. +_What Does This PR Do_ part of the PR. You can submit it once you are happy with how the PR looks. After this, your PR will be made public and visible to others to review. In due time a maintainer @@ -494,6 +512,7 @@ will look at your PR and will merge it if it is deemed an addition to the codebase. ## Tips And Tricks + Here I will list some of my tips and tricks that can be useful for you when developing our codebase. diff --git a/docs/coding/style_guidelines.md b/docs/coding/style_guidelines.md index f95cf196def..6ff0086ab7d 100644 --- a/docs/coding/style_guidelines.md +++ b/docs/coding/style_guidelines.md @@ -80,28 +80,28 @@ how messages are typically handled. // Also Good user.visible_message( - "[user] writes Hello World!", - "You write Hello World!.", - "You hear someone writing Hello World!." + SPAN_NOTICE("[user] writes Hello World!"), + SPAN_NOTICE("You write Hello World!."), + SPAN_NOTICE("You hear someone writing Hello World!.") ) ``` #### Common Classes -- ``'notice'``: used to convey anything the player should be aware of, including +- `'notice'`: used to convey anything the player should be aware of, including actions, successes, and other pertinent information that is non-threatening. This also includes information directly unrelated to gameplay. -- ``'warning'``: used for failures, errors, and warnings -- ``'danger'``: danger occurring around the player or to other players, damage +- `'warning'`: used for failures, errors, and warnings +- `'danger'`: danger occurring around the player or to other players, damage to things around the player -- ``'userdanger'``: used to convey to the player that they are being attacked or +- `'userdanger'`: used to convey to the player that they are being attacked or damaged These can be set using in-line span tags. ```dm proc/my_example_proc - to_chat(user, "Message with the notice style.") + to_chat(user, SPAN_NOTICE("Message with the notice style.")) ``` You are not limited to the styles listed above. It is important, however, to @@ -205,8 +205,8 @@ unnecessarily down the line. var/list/numbers = list( 1, 2, 3) -user.visible_message("[user] writes the style guide.", -"You wonder if you're following the guide correctly.") +user.visible_message(SPAN_NOTICE("[user] writes the style guide."), +SPAN_NOTICE("You wonder if you're following the guide correctly.")) // Good var/list/numbers = list( @@ -216,9 +216,9 @@ var/list/numbers = list( ) user.visible_message( - "[user] writes the style guide.", - "You write the style guide.", - "You hear typing." + SPAN_NOTICE("[user] writes the style guide."), + SPAN_NOTICE("You write the style guide."), + SPAN_NOTICE("You hear typing.") ) // Also good @@ -305,7 +305,7 @@ guidelines when creating a new file. - Keep names short (≤ 25 characters). - Do not add spaces. Use underscores to separate words. -- Do not include special characters such as: " / \ [ ] : ; | = , < ? > & $ # ! ' { } *. +- Do not include special characters such as: " / \ [ ] : ; | = , < ? > & $ # ! ' { } \*. ### References diff --git a/docs/contributing/reviewer.md b/docs/contributing/reviewer.md index 1c020c112ac..d1a74b019c5 100644 --- a/docs/contributing/reviewer.md +++ b/docs/contributing/reviewer.md @@ -191,7 +191,7 @@ called. However, we know that `mob/user` will always be the user we need here (unless someone screwed up elsewhere) and will use that instead of `usr. Next, our first `to_chat` call is miss a span class definition. We will add that -in `` and close it with `` within the parentheses. +in `[SPAN_NOTICE("` and close it with `")]` within the parentheses. With that in mind, we also notice that the second `to_chat` forgot to close their span, so we will do that as well. @@ -199,10 +199,10 @@ their span, so we will do that as well. /obj/item/omega/attack_self(mob/user) if(user) if(is_user_cool(user) && istype(user, /mob/living/carbon/human)) - to_chat(user, "[user] is very [pick(announce_verbs)]") + to_chat(user, SPAN_NOTICE("[user] is very [pick(announce_verbs)]")) is_cool = TRUE return - to_chat(user, "[user] is not very [pick(announce_verbs)]") + to_chat(user, SPAN_NOTICE("[user] is not very [pick(announce_verbs)]")) is_cool = FALSE return ``` @@ -263,10 +263,10 @@ Lets put all of our suggested changes together! /obj/item/omega/attack_self(mob/user) if(user) if(is_user_cool(user)) - to_chat(user, "[user] is very [pick(announce_verbs)]") + to_chat(user, SPAN_NOTICE("[user] is very [pick(announce_verbs)]")) is_cool = TRUE return - to_chat(user, "[user] is not very [pick(announce_verbs)]") + to_chat(user, SPAN_NOTICE("[user] is not very [pick(announce_verbs)]")) is_cool = FALSE return diff --git a/docs/references/attack_chain.md b/docs/references/attack_chain.md index 3b788535574..f20fc14077c 100644 --- a/docs/references/attack_chain.md +++ b/docs/references/attack_chain.md @@ -179,17 +179,17 @@ First, let's look at `/obj/vehicle/attackby__legacy__attackchain`: if(key_type && !is_key(inserted_key) && is_key(I)) if(user.drop_item()) I.forceMove(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 if(istype(I, /obj/item/borg/upgrade/vtec) && vehicle_move_delay > 1) vehicle_move_delay = 1 qdel(I) - to_chat(user, "You upgrade [src] with [I].") + to_chat(user, SPAN_NOTICE("You upgrade [src] with [I].")) return return ..() ``` @@ -203,7 +203,7 @@ Now let's look at `/obj/vehicle/janicart/attackby__legacy__attackchain`: ```dm /obj/vehicle/janicart/attackby(obj/item/I, mob/user, params) - var/fail_msg = "There is already one of those in [src]." + var/fail_msg = SPAN_NOTICE("There is already one of those in [src].") if(istype(I, /obj/item/storage/bag/trash)) if(mybag) @@ -211,7 +211,7 @@ Now let's look at `/obj/vehicle/janicart/attackby__legacy__attackchain`: return if(!user.drop_item()) return - to_chat(user, "You hook [I] onto [src].") + to_chat(user, SPAN_NOTICE("You hook [I] onto [src].")) I.forceMove(src) mybag = I update_icon(UPDATE_OVERLAYS) @@ -222,7 +222,7 @@ Now let's look at `/obj/vehicle/janicart/attackby__legacy__attackchain`: return buffer_installed = TRUE qdel(I) - to_chat(user,"You upgrade [src] with [I].") + to_chat(user,SPAN_NOTICE("You upgrade [src] with [I].")) update_icon(UPDATE_OVERLAYS) return if(istype(I, /obj/item/borg/upgrade/vtec) && floorbuffer) @@ -258,7 +258,7 @@ at each junction whenever we have handled the item interaction. ```diff -/obj/vehicle/janicart/attackby(obj/item/I, mob/user, params) +/obj/vehicle/janicart/item_interaction(mob/living/user, obj/item/I, list/modifiers) - var/fail_msg = "There is already one of those in [src]." + var/fail_msg = SPAN_NOTICE("There is already one of those in [src].") if(istype(I, /obj/item/storage/bag/trash)) if(mybag) @@ -268,7 +268,7 @@ at each junction whenever we have handled the item interaction. if(!user.drop_item()) - return + return ITEM_INTERACT_COMPLETE - to_chat(user, "You hook [I] onto [src].") + to_chat(user, SPAN_NOTICE("You hook [I] onto [src].")) I.forceMove(src) mybag = I update_icon(UPDATE_OVERLAYS) @@ -282,7 +282,7 @@ at each junction whenever we have handled the item interaction. + return ITEM_INTERACT_COMPLETE buffer_installed = TRUE qdel(I) - to_chat(user,"You upgrade [src] with [I].") + to_chat(user,SPAN_NOTICE("You upgrade [src] with [I].")) update_icon(UPDATE_OVERLAYS) - return - if(istype(I, /obj/item/borg/upgrade/vtec) && floorbuffer) @@ -381,7 +381,7 @@ is the proc before the migration: if(ishuman(user)) var/mob/living/carbon/human/H = user if(H.getBrainLoss() >= max_brain_damage) - to_chat(user, "You forget how to use [src].") + to_chat(user, SPAN_WARNING("You forget how to use [src].")) return ui_interact(user) ``` @@ -450,7 +450,7 @@ The migration is complete. The proc now looks like this: if(ishuman(user)) var/mob/living/carbon/human/H = user if(H.getBrainLoss() >= max_brain_damage) - to_chat(user, "You forget how to use [src].") + to_chat(user, SPAN_WARNING("You forget how to use [src].")) return ui_interact(user) ``` @@ -466,10 +466,10 @@ migration: if(IS_CULTIST(M)) if(M.reagents && M.reagents.has_reagent("holywater")) //allows cultists to be rescued from the clutches of ordained religion if(M == user) // Targeting yourself - to_chat(user, "You can't remove holy water from yourself!") + to_chat(user, SPAN_WARNING("You can't remove holy water from yourself!")) else // Targeting someone else - to_chat(user, "You remove the taint from [M].") - to_chat(M, "[user] removes the taint from your body.") + to_chat(user, SPAN_CULT("You remove the taint from [M].")) + to_chat(M, SPAN_CULT("[user] removes the taint from your body.")) M.reagents.del_reagent("holywater") add_attack_logs(user, M, "Hit with [src], removing the holy water from them") return FALSE @@ -487,8 +487,8 @@ Because the dagger has a parent proc, let's also examine that: if(!IS_CULTIST(user)) user.Weaken(10 SECONDS) user.unEquip(src, 1) - user.visible_message("A powerful force shoves [user] away from [target]!", - "\"You shouldn't play with sharp things. You'll poke someone's eye out.\"") + user.visible_message(SPAN_WARNING("A powerful force shoves [user] away from [target]!"), + SPAN_CULTLARGE("\"You shouldn't play with sharp things. You'll poke someone's eye out.\"")) if(ishuman(user)) var/mob/living/carbon/human/H = user H.apply_damage(rand(force/2, force), BRUTE, pick("l_arm", "r_arm")) @@ -599,8 +599,8 @@ The resultant code looks like this: if(!IS_CULTIST(user)) user.Weaken(10 SECONDS) user.unEquip(src, 1) - user.visible_message("A powerful force shoves [user] away from [target]!", - "\"You shouldn't play with sharp things. You'll poke someone's eye out.\"") + user.visible_message(SPAN_WARNING("A powerful force shoves [user] away from [target]!"), + SPAN_CULTLARGE("\"You shouldn't play with sharp things. You'll poke someone's eye out.\"")) if(ishuman(user)) var/mob/living/carbon/human/H = user H.apply_damage(rand(force/2, force), BRUTE, pick("l_arm", "r_arm")) @@ -625,11 +625,11 @@ The resultant code looks like this: if(IS_CULTIST(target)) if(target.reagents && target.reagents.has_reagent("holywater")) //allows cultists to be rescued from the clutches of ordained religion if(target == user) // Targeting yourself - to_chat(user, "You can't remove holy water from yourself!") + to_chat(user, SPAN_WARNING("You can't remove holy water from yourself!")) else // Targeting someone else - to_chat(user, "You remove the taint from [target].") - to_chat(target, "[user] removes the taint from your body.") + to_chat(user, SPAN_CULT("You remove the taint from [target].")) + to_chat(target, SPAN_CULT("[user] removes the taint from your body.")) target.reagents.del_reagent("holywater") add_attack_logs(user, target, "Hit with [src], removing the holy water from them") diff --git a/interface/interface.dm b/interface/interface.dm index 344d044b36f..39bda36daa5 100644 --- a/interface/interface.dm +++ b/interface/interface.dm @@ -11,7 +11,7 @@ var/output = "[GLOB.configuration.url.wiki_url]/index.php?title=Special%3ASearch&profile=default&search=[query]" src << link(output) 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() @@ -25,7 +25,7 @@ link_forum_account() src << link(GLOB.configuration.url.forum_url) 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.")) /client/verb/rules() set name = "Rules" @@ -36,7 +36,7 @@ return src << link(GLOB.configuration.url.rules_url) 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.")) /client/verb/github() set name = "GitHub" @@ -47,7 +47,7 @@ return src << link(GLOB.configuration.url.github_url) 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.")) /client/verb/discord() set name = "Discord" @@ -64,7 +64,7 @@ durl = GLOB.configuration.url.discord_forum_url if(!durl) - to_chat(src, "The Discord URL is not set in the server configuration.") + to_chat(src, SPAN_DANGER("The Discord URL is not set in the server configuration.")) return if(tgui_alert(src, "This will invite you to our Discord server. Are you sure?", "Discord", list("Yes", "No")) != "Yes") return @@ -79,4 +79,4 @@ return src << link(GLOB.configuration.url.donations_url) 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.")) diff --git a/paradise.dme b/paradise.dme index 8cf3d3dd280..9d5d65f5886 100644 --- a/paradise.dme +++ b/paradise.dme @@ -129,6 +129,7 @@ #include "code\__DEFINES\silicon_defines.dm" #include "code\__DEFINES\smith_defines.dm" #include "code\__DEFINES\sound_defines.dm" +#include "code\__DEFINES\span_defines.dm" #include "code\__DEFINES\spatial_gridmap_defines.dm" #include "code\__DEFINES\speech_channels.dm" #include "code\__DEFINES\spell_defines.dm"
" @@ -514,7 +514,7 @@ GLOBAL_LIST_INIT(special_role_times, list( dat += "Be [capitalize(i)]:[(is_special) ? "Yes" : "No"]
" dat += "

Total Playtime:

" if(!GLOB.configuration.jobs.enable_exp_tracking) - dat += "Playtime tracking is not enabled." + dat += SPAN_WARNING("Playtime tracking is not enabled.") else dat += "Your [EXP_TYPE_CREW] playtime is [user.client.get_exp_type(EXP_TYPE_CREW)]
" dat += "
" @@ -559,7 +559,7 @@ GLOBAL_LIST_INIT(special_role_times, list( keys_buttons += "[disp_key] " dat += "
[KB.name][keys_buttons][(length(keys) < 5) ? "+[keys_buttons][(length(keys) < 5) ? "[SPAN_GOOD("+")]Reset to Default ClearAdjust[(toggles & toggle.preftoggle_bitflag) ? "Enabled" : "Disabled"][(toggles & toggle.preftoggle_bitflag) ? SPAN_GOOD("Enabled") : SPAN_BAD("Disabled")][(toggles2 & toggle.preftoggle_bitflag) ? "Enabled" : "Disabled"][(toggles2 & toggle.preftoggle_bitflag) ? SPAN_GOOD("Enabled") : SPAN_BAD("Disabled")][(sound & toggle.preftoggle_bitflag) ? "Enabled" : "Disabled"][(sound & toggle.preftoggle_bitflag) ? SPAN_GOOD("Enabled") : SPAN_BAD("Disabled")][(light & toggle.preftoggle_bitflag) ? "Enabled" : "Disabled"][(light & toggle.preftoggle_bitflag) ? SPAN_GOOD("Enabled") : SPAN_BAD("Disabled")]