diff --git a/code/__DEFINES/span.dm b/code/__DEFINES/span.dm index fd03da81a28..41c3ad942ac 100644 --- a/code/__DEFINES/span.dm +++ b/code/__DEFINES/span.dm @@ -136,6 +136,7 @@ #define span_combatuserdanger(str) ("" + str + "") #define span_darkmblue(str) ("" + str + "") #define span_boldmessage(str) ("" + str + "") +#define span_message(str) ("" + str + "") #define span_adminchannel(str) ("" + str + "") #define span_adminticket(str) ("" + str + "") #define span_error(str) ("" + str + "") @@ -160,7 +161,8 @@ #define span_specialnoticebold(str) ("" + str + "") #define span_moderate(str) ("" + str + "") #define span_shadowling(str) ("" + str + "") - +#define span_motd(str) ("" + str + "") +#define span_emojienabled(str) ("" + str + "") // Spans that use embedded tgui components: // Sorted alphabetically diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index 0f2817cd544..d834daca24f 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -210,14 +210,14 @@ GLOBAL_PROTECT(log_end) * Standardized method for tracking startup times. */ /proc/log_startup_progress_global(prefix, message) - to_chat(world, "\[[prefix]] [message]") + to_chat(world, span_danger("\[[prefix]] [message]")) log_world("\[[prefix]] [message]") // A logging proc that only outputs after setup is done, to // help devs test initialization stuff that happens a lot /proc/log_after_setup(var/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/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index 333adeb9519..6d55259ef06 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -233,7 +233,7 @@ R.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(!R.robot_modules_background) diff --git a/code/controllers/controller.dm b/code/controllers/controller.dm index 28610049fa9..a5202181f1b 100644 --- a/code/controllers/controller.dm +++ b/code/controllers/controller.dm @@ -24,5 +24,5 @@ */ /datum/controller/proc/log_startup_progress(message) Master.last_init_info = "([name]): [message]" - to_chat(world, "\[[name]] [message]") + to_chat(world, span_danger("\[[name]] [message]")) log_world("\[[name]] [message]") diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 0dc7aa070a7..54f53d668b7 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -203,7 +203,7 @@ 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_info("The following implications are now in effect: [BadBoy.offline_implications]")]" BadBoy.flags |= SS_NO_FIRE if(msg) to_chat(GLOB.admins, span_boldannounceooc("[msg]")) @@ -375,7 +375,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new last_init_info = "([subsystem.name]): [message]" if(result != SS_INIT_NO_MESSAGE) - to_chat(world, "\[[subsystem.name]] [chat_message]") + to_chat(world, span_danger("\[[subsystem.name]] [chat_message]")) log_world("\[[subsystem.name]] [message]") diff --git a/code/controllers/subsystem/afk.dm b/code/controllers/subsystem/afk.dm index dc7bc306491..b7205f29189 100644 --- a/code/controllers/subsystem/afk.dm +++ b/code/controllers/subsystem/afk.dm @@ -45,14 +45,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 [CONFIG_GET(number/auto_cryo_afk)] total minutes and fully despawned after [CONFIG_GET(number/auto_despawn_afk)] 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 [CONFIG_GET(number/auto_cryo_afk)] total minutes and fully despawned after [CONFIG_GET(number/auto_despawn_afk)] 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 >= CONFIG_GET(number/auto_cryo_afk) && 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 @@ -60,16 +60,16 @@ SUBSYSTEM_DEF(afk) if(cryo_ssd(H)) afk_players[H.ckey] = AFK_CRYOD log_afk_action(H, mins_afk, T, "put into cryostorage") - warn(H, "You are AFK for [mins_afk] minutes and have been moved to cryostorage. \ + warn(H, span_danger("You are AFK for [mins_afk] minutes and have been moved to cryostorage. \ After being AFK for another [CONFIG_GET(number/auto_despawn_afk)] minutes you will be fully despawned. \ - Please eject yourself (right click, eject) out of the cryostorage if you want to avoid being despawned.") + Please eject yourself (right click, eject) out of the cryostorage if you want to avoid being despawned.")) else message_admins("[key_name_admin(H)] at [ADMIN_VERBOSEJMP(T)] is AFK for [mins_afk] and can't be automatically cryod due to it's antag status: ([H.mind.special_role]).") afk_players[H.ckey] = AFK_ADMINS_WARNED else if(afk_players[H.ckey] != AFK_ADMINS_WARNED && mins_afk >= CONFIG_GET(number/auto_despawn_afk)) 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/dbcore.dm b/code/controllers/subsystem/dbcore.dm index e3c2da658a5..0cb9d10d78a 100644 --- a/code/controllers/subsystem/dbcore.dm +++ b/code/controllers/subsystem/dbcore.dm @@ -456,7 +456,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.") + to_chat(usr, span_danger("A SQL error occurred during this operation, please inform an admin or a coder.")) message_admins("An SQL error has occured. Please check the server logs, with the following timestamp ID: \[[time_stamp()]]") /** @@ -563,12 +563,12 @@ SUBSYSTEM_DEF(dbcore) set category = "Debug" set name = "Reestablish DB Connection" if(!CONFIG_GET(flag/sql_enabled)) - to_chat(usr, "The Database is not enabled in the server configuration!") + to_chat(usr, span_warning("The Database is not enabled in the server configuration!")) return if(SSdbcore.IsConnected()) if(!check_rights(R_ADMIN, FALSE) || !check_rights(R_DEBUG, FALSE)) //we dont want coders to deal with db - to_chat(usr, "The database is already connected! (Only those with +DEBUG can force a reconnection)") + to_chat(usr, span_warning("The database is already connected! (Only those with +DEBUG can force a reconnection)")) return var/reconnect = alert("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/ghost_spawns.dm b/code/controllers/subsystem/ghost_spawns.dm index a2c461cf90d..30c7426090d 100644 --- a/code/controllers/subsystem/ghost_spawns.dm +++ b/code/controllers/subsystem/ghost_spawns.dm @@ -134,7 +134,7 @@ SUBSYSTEM_DEF(ghost_spawns) if(isatom(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: [reason]":""]") + to_chat(M, span_boldnotice("Now looking for candidates [role ? "to play as \an [role_cleanname || role]" : "\"[question]\""]. [act_jump] [act_signup] [reason?"\nReason: [reason]":""]")) // Start processing it so it updates visually the timer START_PROCESSING(SSprocessing, A) @@ -249,18 +249,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 @@ -283,17 +283,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/jobs.dm b/code/controllers/subsystem/jobs.dm index 28512ef82e7..3bec52c2a24 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -38,7 +38,7 @@ SUBSYSTEM_DEF(jobs) occupations = list() var/list/all_jobs = subtypesof(/datum/job) if(!all_jobs.len) - to_chat(world, "Ошибка выдачи профессий, датумы профессий не найдены.") + to_chat(world, span_warning("Ошибка выдачи профессий, датумы профессий не найдены.")) return for(var/J in all_jobs) @@ -429,7 +429,7 @@ SUBSYSTEM_DEF(jobs) Debug("AC2 Assistant located, Player: [player]") AssignRole(player, JOB_TITLE_CIVILIAN) else if(player.client.prefs.alternate_option == RETURN_TO_LOBBY) - to_chat(player, "Unfortunately, none of the round start roles you selected had a free slot. Please join the game by using \"Join Game!\" button and selecting a role with a free slot.") + to_chat(player, span_danger("Unfortunately, none of the round start roles you selected had a free slot. Please join the game by using \"Join Game!\" button and selecting a role with a free slot.")) player.ready = 0 unassigned -= player @@ -451,8 +451,8 @@ SUBSYSTEM_DEF(jobs) CreateMoneyAccount(H, rank, job) var/list/L = list() - L.Add("Вы [alt_title ? alt_title : rank].") - L.Add("На этой должности вы отвечаете непосредственно перед [replacetext(job.supervisors,"the ","")]. Особые обстоятельства могут это изменить.") + L.Add("Вы [span_red(alt_title ? alt_title : rank)].") + L.Add("На этой должности вы отвечаете непосредственно перед [span_red(replacetext(job.supervisors,"the ",""))]. Особые обстоятельства могут это изменить.") L.Add("Для получения дополнительной информации о работе на станции, см. Стандартные Рабочие Процедуры (СРП)") if(job.is_service) L.Add("Будучи работником отдела Обслуживания, убедитесь что прочли СРП своего отдела") @@ -682,7 +682,7 @@ SUBSYSTEM_DEF(jobs) H.mind.initial_account.insurance = INSURANCE_NT_SPECIAL spawn(0) - to_chat(H, "Номер вашего аккаунта: [M.account_number], ПИН вашего аккаунта: [M.remote_access_pin]") + to_chat(H, span_boldnotice("Номер вашего аккаунта: [M.account_number], ПИН вашего аккаунта: [M.remote_access_pin]")) /datum/controller/subsystem/jobs/proc/format_jobs_for_id_computer(obj/item/card/id/tgtcard) var/list/jobs_to_formats = list() @@ -878,25 +878,25 @@ SUBSYSTEM_DEF(jobs) added_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"]) if(myrole in GLOB.exp_jobsmap[category]["titles"]) play_records[C.ckey][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_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/mapping.dm b/code/controllers/subsystem/mapping.dm index 835fb188f6d..a46dc272890 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -346,12 +346,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... delta probably?") + to_chat(world, span_danger("ERROR: The map datum specified to load is invalid. Falling back to... delta 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_userdanger("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/ticker.dm b/code/controllers/subsystem/ticker.dm index 8a091d6183a..2d523919e43 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -96,7 +96,7 @@ SUBSYSTEM_DEF(ticker) if(GAME_STATE_STARTUP) // This is ran as soon as the MC starts firing, and should only run ONCE, unless startup fails round_start_time = world.time + (CONFIG_GET(number/pregame_timestart) SECONDS) - 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 [CONFIG_GET(number/pregame_timestart)] seconds") current_state = GAME_STATE_PREGAME fire() // TG says this is a good idea @@ -237,7 +237,7 @@ SUBSYSTEM_DEF(ticker) var/has_antags = (length(P.client.prefs.be_special) > 0) if(!P.client.prefs.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 flagged_antag_rollers |= P.ckey @@ -345,11 +345,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('sound/AI/welcome.ogg')) 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()]

") @@ -533,7 +533,7 @@ SUBSYSTEM_DEF(ticker) m = pick(memetips) if(m) - to_chat(world, "Совет раунда: [html_encode(m)]") + to_chat(world, span_purple("Совет раунда: [html_encode(m)]")) /datum/controller/subsystem/ticker/proc/declare_completion() @@ -601,7 +601,7 @@ SUBSYSTEM_DEF(ticker) for(var/team_type in GLOB.antagonist_teams) var/datum/team/team = GLOB.antagonist_teams[team_type] team.declare_completion() - + mode.declare_completion()//To declare normal completion. //calls auto_declare_completion_* for all modes diff --git a/code/controllers/subsystem/tickets/mentor_tickets.dm b/code/controllers/subsystem/tickets/mentor_tickets.dm index 3a6001c89d7..be08e2c69d7 100644 --- a/code/controllers/subsystem/tickets/mentor_tickets.dm +++ b/code/controllers/subsystem/tickets/mentor_tickets.dm @@ -21,7 +21,7 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets /datum/controller/subsystem/tickets/mentor_tickets/Initialize() close_messages = list("- [ticket_name] Закрыт -", - "Пожалуйста, постарайтесь быть как можно более описательными в тикетах. Менторы не знают всей ситуации, в которой вы находитесь, и нуждаются в дополнительной информации, чтобы дать вам полезный ответ.", + span_boldmessage("Пожалуйста, постарайтесь быть как можно более описательными в тикетах. Менторы не знают всей ситуации, в которой вы находитесь, и нуждаются в дополнительной информации, чтобы дать вам полезный ответ."), "Ваш [ticket_name] теперь закрыт.") return ..() diff --git a/code/controllers/subsystem/tickets/tickets.dm b/code/controllers/subsystem/tickets/tickets.dm index c6ef3b2a317..20223190d42 100644 --- a/code/controllers/subsystem/tickets/tickets.dm +++ b/code/controllers/subsystem/tickets/tickets.dm @@ -44,7 +44,7 @@ SUBSYSTEM_DEF(tickets) /datum/controller/subsystem/tickets/Initialize() close_messages = list("- [ticket_name] Отклонено! -", - "Пожалуйста, постарайтесь в тикетах вести себя спокойно, излагать проблему ясно и описательно. Не предполагайте что администратор видел какие-либо связанные события, и чётко укажите имена тех, о ком вы сообщаете. Если вы задали вопрос, то убедитесь, что из него понятно, о чём именно вы спрашиваете.", + span_boldmessage("Пожалуйста, постарайтесь в тикетах вести себя спокойно, излагать проблему ясно и описательно. Не предполагайте что администратор видел какие-либо связанные события, и чётко укажите имена тех, о ком вы сообщаете. Если вы задали вопрос, то убедитесь, что из него понятно, о чём именно вы спрашиваете."), "Ваш [ticket_name] теперь закрыт.") return SS_INIT_SUCCESS diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index 0f621295c28..612d74625bd 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -262,7 +262,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]") diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm index bacdf0a288a..ff97c6c5b8c 100644 --- a/code/datums/components/spawner.dm +++ b/code/datums/components/spawner.dm @@ -52,4 +52,4 @@ spawned_mobs += L L.nest = src L.faction = src.faction - P.visible_message("[L] [spawn_text] [P].") + P.visible_message(span_danger("[L] [spawn_text] [P].")) diff --git a/code/datums/diseases/berserker.dm b/code/datums/diseases/berserker.dm index ef2681690b7..fefd42b5f60 100644 --- a/code/datums/diseases/berserker.dm +++ b/code/datums/diseases/berserker.dm @@ -16,7 +16,7 @@ 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) @@ -33,22 +33,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, 1, -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, 1, -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/keybindings/communication_keybinds.dm b/code/datums/keybindings/communication_keybinds.dm index ebec4610699..81c6258e1f5 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)]") @@ -25,11 +25,11 @@ return ..() if(!CONFIG_GET(flag/ooc_allowed)) - to_chat(C, "OOC is globally muted.", MESSAGE_TYPE_WARNING) + to_chat(C, span_danger("OOC is globally muted."), MESSAGE_TYPE_WARNING) return if(!CONFIG_GET(flag/dooc_allowed)) - 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/mind.dm b/code/datums/mind.dm index f552c62d37f..b9363035a37 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -1175,7 +1175,7 @@ new_objective = objective var/datum/objective/steal/steal = new_objective if(!steal.select_target()) - to_chat(usr, "Цель не обнаружена. Выберите другую или создайте её.") + to_chat(usr, span_warning("Цель не обнаружена. Выберите другую или создайте её.")) return if("thief hard") @@ -1186,7 +1186,7 @@ new_objective = objective var/datum/objective/steal/hard/steal = new_objective if(!steal.select_target()) - to_chat(usr, "Цель не обнаружена. Выберите другую или создайте её.") + to_chat(usr, span_warning("Цель не обнаружена. Выберите другую или создайте её.")) return if("thief medium") @@ -1197,7 +1197,7 @@ new_objective = objective var/datum/objective/steal/medium/steal = new_objective if(!steal.select_target()) - to_chat(usr, "Цель не обнаружена. Выберите другую или создайте её.") + to_chat(usr, span_warning("Цель не обнаружена. Выберите другую или создайте её.")) return if("thief collect") @@ -1208,7 +1208,7 @@ new_objective = objective var/datum/objective/steal/collect/steal = new_objective if(!steal.select_target()) - to_chat(usr, "Цель не обнаружена. Выберите другую или создайте её.") + to_chat(usr, span_warning("Цель не обнаружена. Выберите другую или создайте её.")) return if("thief pet") @@ -1219,7 +1219,7 @@ new_objective = objective var/datum/objective/steal/animal/steal = new_objective if(!steal.select_target()) - to_chat(usr, "Цель не обнаружена. Выберите другую или создайте её.") + to_chat(usr, span_warning("Цель не обнаружена. Выберите другую или создайте её.")) return if("thief structure") @@ -1230,7 +1230,7 @@ new_objective = objective var/datum/objective/steal/structure/steal = new_objective if(!steal.select_target()) - to_chat(usr, "Цель не обнаружена. Выберите другую или создайте её.") + to_chat(usr, span_warning("Цель не обнаружена. Выберите другую или создайте её.")) return if("get money") @@ -1346,14 +1346,14 @@ for(var/obj/item/implant/mindshield/ert/I in H.contents) if(I && I.implanted) qdel(I) - to_chat(H, "Your ert mindshield implant has been deactivated.") + to_chat(H, span_notice("Your ert mindshield implant has been deactivated.")) log_admin("[key_name(usr)] has deactivated [key_name(current)]'s ert mindshield implant") message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s ert mindshield implant") if("remove") for(var/obj/item/implant/mindshield/I in H.contents) if(I && I.implanted) qdel(I) - to_chat(H, "Your mindshield implant has been deactivated.") + to_chat(H, span_notice("Your mindshield implant has been deactivated.")) log_admin("[key_name(usr)] has deactivated [key_name(current)]'s mindshield implant") message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s mindshield implant") if("add") @@ -1363,7 +1363,7 @@ log_admin("[key_name(usr)] has given [key_name(current)] a mindshield implant") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a mindshield implant") - to_chat(H, "You somehow have become the recepient of a mindshield transplant, and it just activated!") + to_chat(H, span_warning("You somehow have become the recepient of a mindshield transplant, and it just activated!")) if(src in SSticker.mode.revolutionaries) SSticker.mode.remove_revolutionary(src) if("ertadd") @@ -1373,7 +1373,7 @@ log_admin("[key_name(usr)] has given [key_name(current)] a ert mindshield implant") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a ert mindshield implant") - to_chat(H, "You somehow have become the recepient of a ert mindshield transplant, and it just activated!") + to_chat(H, span_warning("You somehow have become the recepient of a ert mindshield transplant, and it just activated!")) if(src in SSticker.mode.revolutionaries) SSticker.mode.remove_revolutionary(src) @@ -1391,9 +1391,9 @@ qdel(C) SSticker.mode.head_revolutionaries -= src SSticker.mode.update_rev_icons_removed(src) - to_chat(current, "Revolution has been disappointed of your leadership traits! You are a regular revolutionary now!") + to_chat(current, span_warning("Revolution has been disappointed of your leadership traits! You are a regular revolutionary now!")) else if(!(src in SSticker.mode.revolutionaries)) - to_chat(current, " You are now a revolutionary! Follow orders given by revolution leaders. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons.") + to_chat(current, span_warning(" You are now a revolutionary! Follow orders given by revolution leaders. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons.")) else return SSticker.mode.revolutionaries += src @@ -1450,17 +1450,17 @@ if(!(src in SSticker.mode.cult)) to_chat(current, CULT_GREETING) SSticker.mode.add_cultist(src) - to_chat(current, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [SSticker.cultdat.entity_title2] 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 [SSticker.cultdat.entity_title2] above all else. Bring It back.")) log_and_message_admins("[key_name(usr)] has culted [key_name(current)]") if("dagger") var/mob/living/carbon/human/H = current if(!SSticker.mode.cult_give_item(/obj/item/melee/cultblade/dagger, H)) - to_chat(usr, "Spawning dagger failed!") + to_chat(usr, span_warning("Spawning dagger failed!")) log_and_message_admins("[key_name(usr)] has equipped [key_name(current)] with a cult dagger") if("runedmetal") var/mob/living/carbon/human/H = current if(!SSticker.mode.cult_give_item(/obj/item/stack/sheet/runed_metal/ten, H)) - to_chat(usr, "Spawning runed metal failed!") + to_chat(usr, span_warning("Spawning runed metal failed!")) log_and_message_admins("[key_name(usr)] has equipped [key_name(current)] with 10 runed metal sheets") else if(href_list["clock"]) @@ -1473,17 +1473,17 @@ if(!(src in SSticker.mode.clockwork_cult)) to_chat(current, CLOCK_GREETING) SSticker.mode.add_clocker(src) - to_chat(current, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve Ratvar above all else. Bring It back.") + to_chat(current, span_clockitalic("Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve Ratvar above all else. Bring It back.")) log_and_message_admins("[key_name(usr)] has clocked [key_name(current)]") if("clockslab") var/mob/living/carbon/human/H = current if(!SSticker.mode.clock_give_item(/obj/item/clockwork/clockslab, H)) - to_chat(usr, "Spawning Clock slab failed!") + to_chat(usr, span_warning("Spawning Clock slab failed!")) log_and_message_admins("[key_name(usr)] has equipped [key_name(current)] with a clock slab") if("brassmetal") var/mob/living/carbon/human/H = current if(!SSticker.mode.clock_give_item(/obj/item/stack/sheet/brass/ten, H)) - to_chat(usr, "Spawning brass metal failed!") + to_chat(usr, span_warning("Spawning brass metal failed!")) log_and_message_admins("[key_name(usr)] has equipped [key_name(current)] with 10 brass metal sheets") else if(href_list["siliclock"]) switch(href_list["siliclock"]) @@ -1498,13 +1498,13 @@ if("clockrobot") if(!(src in SSticker.mode.clockwork_cult)) current.ratvar_act(TRUE) - to_chat(current, "Assist your new compatriots in their brass dealings. Their goal is yours, and yours is theirs. You serve Ratvar above all else. Bring It back.") + to_chat(current, span_clockitalic("Assist your new compatriots in their brass dealings. Their goal is yours, and yours is theirs. You serve Ratvar above all else. Bring It back.")) log_and_message_admins("[key_name(usr)] has clocked [key_name(current)]") if("clockai") var/mob/living/silicon/ai/ai = current if(!(src in SSticker.mode.clockwork_cult)) ai.ratvar_act(TRUE) - to_chat(current, "Assist your new compatriots in their brass dealings. Their goal is yours, and yours is theirs. You serve Ratvar above all else. Bring It back.") + to_chat(current, span_clockitalic("Assist your new compatriots in their brass dealings. Their goal is yours, and yours is theirs. You serve Ratvar above all else. Bring It back.")) log_and_message_admins("[key_name(usr)] has clocked [key_name(current)]") @@ -1513,7 +1513,7 @@ switch(href_list["wizard"]) if("clear") remove_wizard_role() - to_chat(current, "You have been brainwashed! You are no longer a wizard!") + to_chat(current, span_userdanger("You have been brainwashed! You are no longer a wizard!")) log_admin("[key_name(usr)] has de-wizarded [key_name(current)]") message_admins("[key_name_admin(usr)] has de-wizarded [key_name_admin(current)]") if(src in SSticker.mode.apprentices) @@ -1522,7 +1522,7 @@ current.spellremove(current) current.faction = list("Station") SSticker.mode.update_wiz_icons_removed(src) - to_chat(current, "You have been brainwashed! You are no longer a apprentice wizard!") + to_chat(current, span_userdanger("You have been brainwashed! You are no longer a apprentice wizard!")) log_admin("[key_name(usr)] has de-apprentice-wizarded [key_name(current)]") message_admins("[key_name_admin(usr)] has de-apprentice-wizarded [key_name_admin(current)]") if("wizard") @@ -1532,7 +1532,7 @@ //ticker.mode.learn_basic_spells(current) SSticker.mode.update_wiz_icons_added(src) SEND_SOUND(current, 'sound/ambience/antag/ragesmages.ogg') - to_chat(current, "You are a Space Wizard!") + to_chat(current, span_danger("You are a Space Wizard!")) current.faction = list("wizard") log_admin("[key_name(usr)] has wizarded [key_name(current)]") message_admins("[key_name_admin(usr)] has wizarded [key_name_admin(current)]") @@ -1542,7 +1542,7 @@ special_role = SPECIAL_ROLE_WIZARD_APPRENTICE SSticker.mode.update_wiz_icons_added(src) SEND_SOUND(current, 'sound/ambience/antag/ragesmages.ogg') - to_chat(current, "You are a Apprentice of Space Wizard!") + to_chat(current, span_danger("You are a Apprentice of Space Wizard!")) current.faction = list("wizard") log_admin("[key_name(usr)] has apprentice-wizarded [key_name(current)]") message_admins("[key_name_admin(usr)] has apprentice-wizarded [key_name_admin(current)]") @@ -1566,7 +1566,7 @@ if("autoobjectives") if(src in SSticker.mode.wizards) SSticker.mode.forge_wizard_objectives(src) - to_chat(usr, "The objectives for wizard [key] have been generated. You can edit them and announce manually.") + to_chat(usr, span_notice("The objectives for wizard [key] have been generated. You can edit them and announce manually.")) log_admin("[key_name(usr)] has automatically forged wizard objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged wizard objectives for [key_name_admin(current)]") else if(src in SSticker.mode.apprentices) @@ -1575,7 +1575,7 @@ SSticker.mode.forge_wizard_apprentice_objectives(wizard, src) else SSticker.mode.forge_wizard_objectives(src) - to_chat(usr, "The objectives for wizard apprentice [key] have been generated. You can edit them and announce manually.") + to_chat(usr, span_notice("The objectives for wizard apprentice [key] have been generated. You can edit them and announce manually.")) log_admin("[key_name(usr)] has automatically forged wizard apprentice objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged wizard apprentice objectives for [key_name_admin(current)]") @@ -1593,22 +1593,22 @@ var/datum/antagonist/changeling/cling = new() cling.give_objectives = FALSE add_antag_datum(cling) - to_chat(usr, "Changeling [key] has no objectives. You can add custom ones or generate random set by using Randomize! button.") - to_chat(current, "Your powers have awoken. A flash of memory returns to us... we are a changeling!") + to_chat(usr, span_notice("Changeling [key] has no objectives. You can add custom ones or generate random set by using Randomize! button.")) + to_chat(current, span_dangerbigger("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 @@ -1831,7 +1831,7 @@ switch(href_list["nuclear"]) if("clear") remove_syndicate_role() - 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") @@ -1843,7 +1843,7 @@ else current.real_name = "[syndicate_name()] Operative #[SSticker.mode.syndicates.len-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) log_admin("[key_name(usr)] has nuke op'd [key_name(current)]") @@ -1866,7 +1866,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, SSticker.mode.syndicates.len == 1) log_admin("[key_name(usr)] has equipped [key_name(current)] as a nuclear operative") @@ -1884,7 +1884,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["space_dragon"]) switch(href_list["space_dragon"]) @@ -1955,7 +1955,7 @@ traitor_datum.silent = TRUE remove_antag_datum(traitor_datum) - to_chat(current, "You have been brainwashed! You are no longer a traitor!") + to_chat(current, span_warning("You have been brainwashed! You are no longer a traitor!")) log_admin("[key_name(usr)] has de-traitored [key_name(current)]") message_admins("[key_name_admin(usr)] has de-traitored [key_name_admin(current)]") @@ -1974,7 +1974,7 @@ return traitor_datum.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)]") @@ -1986,7 +1986,7 @@ return remove_antag_datum(malf_datum) - to_chat(current, "Unknown hackers have brought your systems back to normal, you are no longer malfunctioning!") + to_chat(current, span_warning("Unknown hackers have brought your systems back to normal, you are no longer malfunctioning!")) log_admin("[key_name(usr)] has de-malfAIed [key_name(current)]") message_admins("[key_name_admin(usr)] has de-malfAIed [key_name_admin(current)]") SSticker?.score?.save_silicon_laws(current, usr, additional_info = "admin removed malf AI", log_all_laws = TRUE) @@ -2008,7 +2008,7 @@ return malf_datum.give_objectives() - to_chat(usr, "The objectives for malf AI [key] have been generated. You can edit them and announce manually.") + to_chat(usr, span_notice("The objectives for malf AI [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)]") @@ -2260,7 +2260,7 @@ return thief_datum.give_objectives() - to_chat(usr, "The objectives for thief [key] have been generated. You can edit them and announce manually.") + to_chat(usr, span_notice("The objectives for thief [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)]") @@ -2286,21 +2286,21 @@ remove_shadow_role() if("shadowling") if(!ishuman(current)) - to_chat(usr, "This only works on humans!") + to_chat(usr, span_warning("This only works on humans!")) return SSticker.mode.shadows += src special_role = SPECIAL_ROLE_SHADOWLING SSticker.mode.recount_required_thralls() - to_chat(current, "Something stirs deep in your mind. A red light floods your vision, and slowly you remember. Though your human disguise has served you well, the \ + to_chat(current, span_shadowling("Something stirs deep in your mind. A red light floods your vision, and slowly you remember. Though your human disguise has served you well, the \ time is nigh to cast it off and enter your true form. You have disguised yourself amongst the humans, but you are not one of them. You are a shadowling, and you are to ascend at all costs.\ - ") + ")) SSticker.mode.finalize_shadowling(src) SSticker.mode.update_shadow_icons_added(src) log_admin("[key_name(usr)] has shadowlinged [key_name(current)]") message_admins("[key_name_admin(usr)] has shadowlinged [key_name_admin(current)]") if("thrall") if(!ishuman(current)) - to_chat(usr, "This only works on humans!") + to_chat(usr, span_warning("This only works on humans!")) return SSticker.mode.add_thrall(src) message_admins("[key_name_admin(usr)] has thralled [current].") @@ -2313,14 +2313,14 @@ //ticker.mode.update_abductor_icons_removed(src) 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 abductor.") SSticker.mode.update_abductor_icons_added(src) if("equip") if(!ishuman(current)) - to_chat(usr, "This only works on humans!") + to_chat(usr, span_warning("This only works on humans!")) return var/mob/living/carbon/human/H = current @@ -2484,7 +2484,7 @@ blob_overmind.is_infinity = !blob_overmind.is_infinity log_admin("[key_name(usr)] make blob points [blob_overmind.is_infinity? "infinity" : "not infinity"] to [key_name(current)]") message_admins("[key_name_admin(usr)] make blob points [blob_overmind.is_infinity? "infinity" : "not infinity"] to [key_name_admin(current)]") - + if("select_strain") if(!isblobovermind(src)) return @@ -2496,7 +2496,7 @@ blob_overmind.set_strain(strain) log_admin("[key_name(usr)] changed the strain to [strain] for [key_name(current)]") message_admins("[key_name_admin(usr)] changed the strain to [strain] for [key_name_admin(current)]") - + else if(href_list["terror"]) switch(href_list["terror"]) if("datumise") @@ -2505,7 +2505,7 @@ var/mob/living/simple_animal/hostile/poison/terror_spider/spider = current spider.add_datum_if_not_exist() log_and_message_admins("has made [key_name(current)] into a \"Terror Spider\"") - + else if(href_list["xenomorph"]) switch(href_list["xenomorph"]) if("datumise") @@ -2810,7 +2810,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 @@ -2865,7 +2865,7 @@ current.real_name = "[syndicate_name()] Operative #[SSticker.mode.syndicates.len-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) diff --git a/code/datums/spells/cluwne.dm b/code/datums/spells/cluwne.dm index de99dccd7be..fc80eb33003 100644 --- a/code/datums/spells/cluwne.dm +++ b/code/datums/spells/cluwne.dm @@ -45,7 +45,7 @@ grant_mimicking() /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/magnet.dm b/code/datums/spells/magnet.dm index 2d1970d6e2a..8b46667f835 100644 --- a/code/datums/spells/magnet.dm +++ b/code/datums/spells/magnet.dm @@ -55,8 +55,8 @@ /obj/effect/proc_holder/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_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/rathens.dm b/code/datums/spells/rathens.dm index bb6bb73eb6d..8858af8c267 100644 --- a/code/datums/spells/rathens.dm +++ b/code/datums/spells/rathens.dm @@ -26,15 +26,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.Weaken(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, BODY_ZONE_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.Weaken(6 SECONDS) for(var/obj/item/organ/external/E as anything in H.bodyparts) if(istype(E, /obj/item/organ/external/head)) @@ -44,5 +44,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/shapeshift.dm b/code/datums/spells/shapeshift.dm index 788423a9f8c..cd6b0ce840b 100644 --- a/code/datums/spells/shapeshift.dm +++ b/code/datums/spells/shapeshift.dm @@ -98,10 +98,10 @@ /obj/effect/proc_holder/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, caster, DEFAULT_DOAFTER_IGNORE|DA_IGNORE_HELD_ITEM)) - 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/weather/weather_types/blob_storm.dm b/code/datums/weather/weather_types/blob_storm.dm index a4d8d06f640..556cbc4e5d8 100644 --- a/code/datums/weather/weather_types/blob_storm.dm +++ b/code/datums/weather/weather_types/blob_storm.dm @@ -4,9 +4,9 @@ desc = "Плотное облако из мельчайших спор блоба, проникающих через любую одежду." telegraph_duration = 2 SECONDS - telegraph_message = "Вы замечаете мелкие частицы в воздухе" + telegraph_message = span_danger("Вы замечаете мелкие частицы в воздухе") - weather_message = "Вы ощущаете поток неизвестных мелких частиц, которые проникают сквозь любую одежду. Спасти вас может только чудо." + weather_message = span_userdanger("Вы ощущаете поток неизвестных мелких частиц, которые проникают сквозь любую одежду. Спасти вас может только чудо.") weather_overlay = "blob_storm" weather_duration_lower = 30 SECONDS weather_duration_upper = 1 MINUTES @@ -16,7 +16,7 @@ weather_sound = 'sound/magic/mutate.ogg' end_duration = 10 SECONDS - end_message = "Поток частиц осел." + end_message = span_notice("Поток частиц осел.") area_type = /area protected_areas = list(/area/space, /area/crew_quarters/sleep) diff --git a/code/datums/weather/weather_types/floor_is_lava.dm b/code/datums/weather/weather_types/floor_is_lava.dm index 8c7c3a25562..b5be3eeaeba 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_type = /area diff --git a/code/datums/weather/weather_types/radiation_storm.dm b/code/datums/weather/weather_types/radiation_storm.dm index c7e8a09a549..39c1debdcb3 100644 --- a/code/datums/weather/weather_types/radiation_storm.dm +++ b/code/datums/weather/weather_types/radiation_storm.dm @@ -4,9 +4,9 @@ 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_duration_upper = 1500 @@ -14,7 +14,7 @@ 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_type = /area protected_areas = list(/area/maintenance, /area/turret_protected/ai_upload, /area/turret_protected/ai_upload_foyer, diff --git a/code/datums/wires/syndicatebomb.dm b/code/datums/wires/syndicatebomb.dm index 8a6a9ef95fe..cc0bdedf08e 100644 --- a/code/datums/wires/syndicatebomb.dm +++ b/code/datums/wires/syndicatebomb.dm @@ -21,20 +21,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. @@ -45,13 +45,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 ..() @@ -64,22 +64,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.set_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/defines/procs/admin.dm b/code/defines/procs/admin.dm index 7e9f8d74943..5829f929d83 100644 --- a/code/defines/procs/admin.dm +++ b/code/defines/procs/admin.dm @@ -70,12 +70,12 @@ /proc/key_name_admin(whom) 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 - 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 /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/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm index 0cc8ef5626e..2682fef934d 100644 --- a/code/game/gamemodes/autotraitor/autotraitor.dm +++ b/code/game/gamemodes/autotraitor/autotraitor.dm @@ -88,7 +88,7 @@ possible_traitors = shuffle(possible_traitors) var/datum/mind/new_traitor = pick(possible_traitors) - to_chat(new_traitor.current, "ATTENTION: It is time to pay your debt to the Syndicate...") + to_chat(new_traitor.current, "[span_danger("ATTENTION:")] It is time to pay your debt to the Syndicate...") new_traitor.add_antag_datum(/datum/antagonist/traitor) message_admins("[new_traitor.current.real_name] is the new Traitor.") diff --git a/code/game/gamemodes/clockwork/clockwork.dm b/code/game/gamemodes/clockwork/clockwork.dm index b3e52e47ca1..2822f046f5c 100644 --- a/code/game/gamemodes/clockwork/clockwork.dm +++ b/code/game/gamemodes/clockwork/clockwork.dm @@ -93,7 +93,7 @@ GLOBAL_LIST_EMPTY(all_clockers) clockwork_mind.objectives += obj if(clockwork_mind.assigned_role == JOB_TITLE_CLOWN) - to_chat(clockwork_mind.current, "A dark power has allowed you to overcome your clownish nature, letting you wield weapons without harming yourself.") + to_chat(clockwork_mind.current, span_clockitalic("A dark power has allowed you to overcome your clownish nature, letting you wield weapons without harming yourself.")) clockwork_mind.current.force_gene_block(GLOB.clumsyblock, FALSE) // Don't give them another action if they already have one. if(!(locate(/datum/action/innate/toggle_clumsy) in clockwork_mind.current.actions)) @@ -160,7 +160,7 @@ GLOBAL_LIST_EMPTY(all_clockers) . += clock_give_item(/obj/item/clockwork/clockslab, H) if(metal) . += clock_give_item(/obj/item/stack/sheet/brass/ten, H) - to_chat(H, "These will help you start the cult on this station. Use them well, and remember - you are not the only one.") + to_chat(H, span_clock("These will help you start the cult on this station. Use them well, and remember - you are not the only one.")) /datum/game_mode/proc/clock_give_item(obj/item/item_path, mob/living/carbon/human/H) var/list/slots = list( @@ -171,10 +171,10 @@ GLOBAL_LIST_EMPTY(all_clockers) var/item_name = initial(item_path.name) var/where = H.equip_in_one_of_slots(T, slots, qdel_on_fail = TRUE) if(!where) - to_chat(H, "Unfortunately, you weren't able to get a [item_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 [item_name]. This is very bad and you should adminhelp immediately (press F1).")) return FALSE else - to_chat(H, "You have a [item_name] in your [where].") + to_chat(H, span_danger("You have a [item_name] in your [where].")) return TRUE @@ -192,7 +192,7 @@ GLOBAL_LIST_EMPTY(all_clockers) clock_mind.special_role = SPECIAL_ROLE_CLOCKER if(clock_mind.assigned_role == JOB_TITLE_CLOWN) - to_chat(clock_mind.current, "A dark power has allowed you to overcome your clownish nature, letting you wield weapons without harming yourself.") + to_chat(clock_mind.current, span_clockitalic("A dark power has allowed you to overcome your clownish nature, letting you wield weapons without harming yourself.")) clock_mind.current.force_gene_block(GLOB.clumsyblock, FALSE) // Don't give them another action if they already have one. if(!(locate(/datum/action/innate/toggle_clumsy) in clock_mind.current.actions)) @@ -235,7 +235,7 @@ GLOBAL_LIST_EMPTY(all_clockers) powered_borgs(M.current) continue SEND_SOUND(M.current, 'sound/hallucinations/i_see_you2.ogg') - to_chat(M.current, "The veil begins to stutter in fear as the power of Ratvar grows, your hands begin to glow...") + to_chat(M.current, span_clocklarge("The veil begins to stutter in fear as the power of Ratvar grows, your hands begin to glow...")) addtimer(CALLBACK(src, PROC_REF(powered), M.current), 20 SECONDS) /datum/game_mode/proc/check_clock_reveal() @@ -247,9 +247,9 @@ GLOBAL_LIST_EMPTY(all_clockers) for(var/datum/mind/M in clockwork_cult) if(!M.current) continue - to_chat(M.current, "The army of my servants have grown. Now it will be easier...") + to_chat(M.current, span_clocklarge("The army of my servants have grown. Now it will be easier...")) if(!clocker_objs.obj_demand.check_completion()) - to_chat(M.current, "But there's still more tasks to do.") + to_chat(M.current, span_clock("But there's still more tasks to do.")) else clocker_objs.ratvar_is_ready() if((clocker_players >= crew_reveal_number) && !crew_reveal) @@ -260,7 +260,7 @@ GLOBAL_LIST_EMPTY(all_clockers) SEND_SOUND(M.current, 'sound/hallucinations/im_here1.ogg') if(!ishuman(M.current)) continue - to_chat(M.current, "Your cult gets bigger as the clocked harvest approaches - you cannot hide your true nature for much longer!") + to_chat(M.current, span_clocklarge("Your cult gets bigger as the clocked harvest approaches - you cannot hide your true nature for much longer!")) addtimer(CALLBACK(src, PROC_REF(clocked), M.current), 20 SECONDS) GLOB.command_announcement.Announce("На вашей станции обнаружена внепространственная активность, связанная с Заводным культом Ратвара. Данные свидетельствуют о том, что в ряды культа обращено около [reveal_percent * 100]% экипажа станции. Служба безопасности получает право свободно применять летальную силу против культистов. Прочий персонал должен быть готов защищать себя и свои рабочие места от нападений культистов (в том числе используя летальную силу в качестве крайней меры самообороны), но не должен выслеживать культистов и охотиться на них. Погибшие члены экипажа должны быть оживлены и деконвертированы, как только ситуация будет взята под контроль.", "Отдел Центрального Командования по делам высших измерений.", 'sound/AI/commandreport.ogg') log_game("Clockwork cult reveal. Powergame allowed.") @@ -306,8 +306,8 @@ GLOBAL_LIST_EMPTY(all_clockers) H.update_body() add_conversion_logs(clocker, "deconverted from the clockwork cult.") if(show_message) - clocker.visible_message("[clocker] looks like [clocker.p_they()] just reverted to [clocker.p_their()] old faith!", - "An unfamiliar white light flashes through your mind, cleansing the taint of Ratvar and the memories of your time as their servant with it.") + clocker.visible_message(span_clock("[clocker] looks like [clocker.p_they()] just reverted to [clocker.p_their()] old faith!"), + span_userdanger("An unfamiliar white light flashes through your mind, cleansing the taint of Ratvar and the memories of your time as their servant with it.")) /datum/game_mode/proc/update_clock_icons_added(datum/mind/clock_mind) var/datum/atom_hud/antag/clockhud = GLOB.huds[ANTAG_HUD_CLOCK] diff --git a/code/game/gamemodes/clockwork/clockwork_items.dm b/code/game/gamemodes/clockwork/clockwork_items.dm index b17a82141b3..ba76d55017b 100644 --- a/code/game/gamemodes/clockwork/clockwork_items.dm +++ b/code/game/gamemodes/clockwork/clockwork_items.dm @@ -52,7 +52,7 @@ . = ..() if(plushy) var/cuddle_verb = pick("hugs","cuddles","snugs") - user.visible_message("[user] [cuddle_verb] the [src].") + user.visible_message(span_notice("[user] [cuddle_verb] the [src].")) playsound(get_turf(src), 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if(!isclocker(user)) return @@ -64,7 +64,7 @@ update_appearance(UPDATE_ICON_STATE|UPDATE_NAME|UPDATE_DESC) if(!isclocker(user)) - to_chat(user, "\"Now now, this is for my servants, not you.\"") + to_chat(user, span_clocklarge("\"Now now, this is for my servants, not you.\"")) if(iscarbon(user)) var/mob/living/carbon/carbon = user carbon.Knockdown(10 SECONDS) @@ -72,7 +72,7 @@ return if(enchant_type == HIDE_SPELL) - to_chat(user, "You disguise your tool as some little toy.") + to_chat(user, span_notice("You disguise your tool as some little toy.")) playsound(user, 'sound/magic/cult_spell.ogg', 15, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) plushy = pick(plush_colors) attack_verb = list("тыкнул", "ударил", "шлёпнул") @@ -99,17 +99,17 @@ result_name += ", [altar.z] [dir2text(get_dir(user,get_turf(altar)))] sector" possible_altars[result_name] = altar if(!length(possible_altars)) - to_chat(user, "You have no altars teleport to!") + to_chat(user, span_warning("You have no altars teleport to!")) return if(!is_level_reachable(user.z)) - to_chat(user, "You are not in the right dimension!") + to_chat(user, span_warning("You are not in the right dimension!")) return var/selected_altar = tgui_input_list(user, "Pick a credence teleport to...", "Teleporation", possible_altars) if(!selected_altar) return var/turf/destination = possible_altars[selected_altar] - to_chat(user, " You start invoking teleportation...") + to_chat(user, span_notice(" You start invoking teleportation...")) animate(user, color = COLOR_PURPLE, time = 1.5 SECONDS) if(do_after(user, 1.5 SECONDS, user) && destination) do_sparks(4, 0, user) @@ -257,10 +257,10 @@ if(isclocker(living)) if(ishuman(living) && living.put_in_active_hand(src)) playsound(src, 'sound/weapons/throwtap.ogg', 50) - living.visible_message("[living] catches [src] out of the air!") + living.visible_message(span_warning("[living] catches [src] out of the air!")) else do_sparks(5, TRUE, living) - living.visible_message("[src] bounces off of [living], as if repelled by an unseen force!") + living.visible_message(span_warning("[src] bounces off of [living], as if repelled by an unseen force!")) return . = ..() @@ -292,11 +292,11 @@ return var/mob/living/carbon/carbon = target if(carbon.mind?.isholy) - to_chat(carbon, "You feel as foreigner thoughts tries to pierce your mind...") + to_chat(carbon, span_danger("You feel as foreigner thoughts tries to pierce your mind...")) deplete_spell() return carbon.AdjustConfused(30 SECONDS) - to_chat(carbon, "Your mind blanks for a moment!") + to_chat(carbon, span_danger("Your mind blanks for a moment!")) add_attack_logs(user, carbon, "Inflicted confusion with [src]") deplete_spell() if(DISABLE_SPELL) @@ -312,8 +312,8 @@ /obj/item/twohanded/ratvarian_spear/pickup(mob/living/user) . = ..() if(!isclocker(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") + to_chat(user, span_clocklarge("\"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) @@ -350,11 +350,11 @@ return var/mob/living/carbon/carbon = target if(carbon.mind?.isholy) - to_chat(carbon, "You feel as foreigner thoughts tries to pierce your mind...") + to_chat(carbon, span_danger("You feel as foreigner thoughts tries to pierce your mind...")) deplete_spell() return carbon.AdjustConfused(30 SECONDS) - to_chat(carbon, "Your mind blanks for a moment!") + to_chat(carbon, span_danger("Your mind blanks for a moment!")) add_attack_logs(user, carbon, "Inflicted confusion with [src]") deplete_spell() if(DISABLE_SPELL) @@ -402,10 +402,10 @@ if(isclocker(living)) if(ishuman(living) && living.put_in_active_hand(src)) playsound(src, 'sound/weapons/throwtap.ogg', 50) - living.visible_message("[living] catches [src] out of the air!") + living.visible_message(span_warning("[living] catches [src] out of the air!")) else do_sparks(5, TRUE, living) - living.visible_message("[src] bounces off of [living], as if repelled by an unseen force!") + living.visible_message(span_warning("[src] bounces off of [living], as if repelled by an unseen force!")) return . = ..() @@ -442,7 +442,7 @@ var/mob/living/carbon/human/human = living var/obj/item/rod = human.null_rod_check() if(rod) - human.visible_message("[human]'s [rod] shines as it deflects magic from [user]!") + human.visible_message(span_danger("[human]'s [rod] shines as it deflects magic from [user]!")) deplete_spell() return var/obj/item/organ/external/BP = pick(human.bodyparts) @@ -462,8 +462,8 @@ /obj/item/twohanded/clock_hammer/pickup(mob/living/user) . = ..() if(!isclocker(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") + to_chat(user, span_clocklarge("\"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) @@ -500,10 +500,10 @@ if(isclocker(living)) if(ishuman(living) && living.put_in_active_hand(src)) playsound(src, 'sound/weapons/throwtap.ogg', 50) - living.visible_message("[living] catches [src] out of the air!") + living.visible_message(span_warning("[living] catches [src] out of the air!")) else do_sparks(5, TRUE, living) - living.visible_message("[src] bounces off of [living], as if repelled by an unseen force!") + living.visible_message(span_warning("[src] bounces off of [living], as if repelled by an unseen force!")) return . = ..() @@ -512,7 +512,7 @@ if(!isclocker(user)) user.drop_item_ground(src) user.emote("scream") - to_chat(user, "\"Now now, this is for my servants, not you.\"") + to_chat(user, span_clocklarge("\"Now now, this is for my servants, not you.\"")) return if(enchant_type == FASTSWORD_SPELL && src == user.get_active_hand()) ADD_TRAIT(src, TRAIT_NODROP, CURSED_ITEM_TRAIT(FASTSWORD_SPELL)) @@ -520,11 +520,11 @@ force = 7 swordsman = TRUE add_attack_logs(user, user, "Sworded [src]", ATKLOG_ALL) - to_chat(user, "The blood inside your veind flows quickly, as you try to sharp someone by any means!") + to_chat(user, span_danger("The blood inside your veind flows quickly, as you try to sharp someone by any means!")) addtimer(CALLBACK(src, PROC_REF(reset_swordsman), user), 9 SECONDS) /obj/item/melee/clock_sword/proc/reset_swordsman(mob/user) - to_chat(user, "The grip on [src] looses...") + to_chat(user, span_notice("The grip on [src] looses...")) REMOVE_TRAIT(src, TRAIT_NODROP, CURSED_ITEM_TRAIT(FASTSWORD_SPELL)) force = initial(force) swordsman = FALSE @@ -569,8 +569,8 @@ /obj/item/melee/clock_sword/pickup(mob/living/user) . = ..() if(!isclocker(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") + to_chat(user, span_clocklarge("\"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) @@ -638,15 +638,15 @@ if(!isclocker(user)) if(!iscultist(user)) - to_chat(user, "\"Now now, this is for my servants, not you.\"") - user.visible_message("As [user] picks [src] up, it flickers off their arms!", "The buckler flicker off your arms, leaving only nausea!") + to_chat(user, span_clocklarge("\"Now now, this is for my servants, not you.\"")) + user.visible_message(span_warning("As [user] picks [src] up, it flickers off their arms!"), span_warning("The buckler flicker off your arms, leaving only nausea!")) if(iscarbon(user)) var/mob/living/carbon/C = user C.vomit() C.Knockdown(10 SECONDS) else - to_chat(user, "\"Did you like having head?\"") - to_chat(user, "The buckler suddenly hits you in the head!") + to_chat(user, span_clocklarge("\"Did you like having head?\"")) + to_chat(user, span_userdanger("The buckler suddenly hits you in the head!")) user.emote("scream") user.apply_damage(10, BRUTE, BODY_ZONE_HEAD) user.drop_item_ground(src) @@ -724,7 +724,7 @@ ADD_TRAIT(src, TRAIT_NODROP, CURSED_ITEM_TRAIT(SPEED_SPELL)) carbon.add_movespeed_modifier(/datum/movespeed_modifier/clock_robe) addtimer(CALLBACK(src, PROC_REF(unspeed), carbon), 8 SECONDS) - to_chat(carbon, "Robe tightens, as it frees you to be flexible around!") + to_chat(carbon, span_danger("Robe tightens, as it frees you to be flexible around!")) add_attack_logs(user, user, "speed boosted with [src]", ATKLOG_ALL) else ToggleHood() @@ -768,14 +768,17 @@ if(!isclocker(user)) if(!iscultist(user)) - to_chat(user, "\"Now now, this is for my servants, not you.\"") - user.visible_message("As [user] picks [src] up, it flickers off their arms!", "The robe flicker off your arms, leaving only nausea!") + to_chat(user, span_clocklarge("\"Now now, this is for my servants, not you.\"")) + user.visible_message( + span_warning("As [user] picks [src] up, it flickers off their arms!"), + span_warning("The robe flicker off your arms, leaving only nausea!") + ) if(iscarbon(user)) var/mob/living/carbon/C = user C.vomit() C.Knockdown(10 SECONDS) else - to_chat(user, "\"I think this armor is too hot for you to handle.\"") + to_chat(user, span_clocklarge("\"I think this armor is too hot for you to handle.\"")) user.emote("scream") user.apply_damage(7, BURN, BODY_ZONE_CHEST) user.IgniteMob() @@ -835,7 +838,7 @@ /obj/item/clothing/suit/armor/clockwork/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text, final_block_chance, damage, attack_type) if(enchant_type == ABSORB_SPELL && isclocker(owner)) - owner.visible_message("[attack_text] is absorbed by [src] sparks!") + owner.visible_message(span_danger("[attack_text] is absorbed by [src] sparks!")) playsound(loc, "sparks", 100, TRUE) new /obj/effect/temp_visual/ratvar/sparks(get_turf(owner)) deplete_spell() @@ -864,17 +867,17 @@ if(!isclocker(user)) user.drop_item_ground(src) user.emote("scream") - to_chat(user, "\"Now now, this is for my servants, not you.\"") + to_chat(user, span_clocklarge("\"Now now, this is for my servants, not you.\"")) return if(!iscarbon(user)) return var/mob/living/carbon/carbon = user if(enchant_type == ARMOR_SPELL) if(carbon.wear_suit != src) - to_chat(carbon, "You should wear [src]!") + to_chat(carbon, span_notice("You should wear [src]!")) return - carbon.visible_message("[carbon] concentrates as [carbon.p_their()] curiass shifts his plates!", - "The [src.name] becomes more hardened as the plates becomes to shift for any attack!") + carbon.visible_message(span_danger("[carbon] concentrates as [carbon.p_their()] curiass shifts his plates!"), + span_notice("The [src.name] becomes more hardened as the plates becomes to shift for any attack!")) //armor = list("melee" = 80, "bullet" = 60, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) armor = harden_armor ADD_TRAIT(src, TRAIT_NODROP, CURSED_ITEM_TRAIT(ARMOR_SPELL)) @@ -884,7 +887,7 @@ addtimer(CALLBACK(src, PROC_REF(reset_armor), carbon), 12 SECONDS) /obj/item/clothing/suit/armor/clockwork/proc/reset_armor(mob/user) - to_chat(user, "The [src] stops shifting...") + to_chat(user, span_notice("The [src] stops shifting...")) set_light_on(FALSE) armor = normal_armor REMOVE_TRAIT(src, TRAIT_NODROP, CURSED_ITEM_TRAIT(ARMOR_SPELL)) @@ -895,14 +898,14 @@ if(!isclocker(user)) if(!iscultist(user)) - to_chat(user, "\"Now now, this is for my servants, not you.\"") - user.visible_message("As [user] puts [src] on, it flickers off their body!", "The curiass flickers off your body, leaving only nausea!") + to_chat(user, span_clocklarge("\"Now now, this is for my servants, not you.\"")) + user.visible_message(span_warning("As [user] puts [src] on, it flickers off their body!"), span_warning("The curiass flickers off your body, leaving only nausea!")) if(iscarbon(user)) var/mob/living/carbon/C = user C.vomit(20) C.Knockdown(10 SECONDS) else - to_chat(user, "\"I think this armor is too hot for you to handle.\"") + to_chat(user, span_clocklarge("\"I think this armor is too hot for you to handle.\"")) user.emote("scream") user.apply_damage(15, BURN, BODY_ZONE_CHEST) user.adjust_fire_stacks(2) @@ -947,23 +950,23 @@ switch(enchant_type) if(FASTPUNCH_SPELL) if(human.gloves != src) - to_chat(human, "You should wear [src]!") + to_chat(human, span_notice("You should wear [src]!")) return if(human.mind.martial_art) - to_chat(human, "You're too powerful to use it!") + to_chat(human, span_warning("You're too powerful to use it!")) return ADD_TRAIT(src, TRAIT_NODROP, CURSED_ITEM_TRAIT(FASTPUNCH_SPELL)) - to_chat(human, "You fastening gloves making your moves agile!") + to_chat(human, span_notice("You fastening gloves making your moves agile!")) enchant_type = CASTING_SPELL north_star = TRUE add_attack_logs(human, human, "North-starred [src]", ATKLOG_ALL) addtimer(CALLBACK(src, PROC_REF(reset_punch)), 6 SECONDS) if(FIRE_SPELL) if(human.gloves != src) - to_chat(human, "You should wear [src]!") + to_chat(human, span_notice("You should wear [src]!")) return ADD_TRAIT(src, TRAIT_NODROP, CURSED_ITEM_TRAIT(FIRE_SPELL)) - to_chat(human, "Your gloves becomes in red flames ready to burn any enemy in sight!") + to_chat(human, span_notice("Your gloves becomes in red flames ready to burn any enemy in sight!")) enchant_type = CASTING_SPELL fire_casting = TRUE add_attack_logs(human, human, "Fire-casted [src]", ATKLOG_ALL) @@ -978,7 +981,7 @@ if(enchant_type == STUNHAND_SPELL && isliving(A)) var/mob/living/living = A if(living.null_rod_check()) - src.visible_message("[living]'s holy weapon absorbs the light!") + src.visible_message(span_warning("[living]'s holy weapon absorbs the light!")) deplete_spell() return if(isclocker(living)) @@ -1006,14 +1009,14 @@ /obj/item/clothing/gloves/clockwork/proc/reset_punch() north_star = FALSE REMOVE_TRAIT(src, TRAIT_NODROP, CURSED_ITEM_TRAIT(FASTPUNCH_SPELL)) - to_chat(usr, " [src] depletes last magic they had.") + to_chat(usr, span_notice(" [src] depletes last magic they had.")) deplete_spell() /obj/item/clothing/gloves/clockwork/proc/reset_fire() fire_casting = FALSE REMOVE_TRAIT(src, TRAIT_NODROP, CURSED_ITEM_TRAIT(FIRE_SPELL)) - to_chat(usr, " [src] depletes last magic they had.") + to_chat(usr, span_notice(" [src] depletes last magic they had.")) deplete_spell() @@ -1022,15 +1025,15 @@ if(!isclocker(user)) if(!iscultist(user)) - to_chat(user, "\"Now now, this is for my servants, not you.\"") - user.visible_message("As [user] puts [src] on, it flickers off their arms!", "The gauntlets flicker off your arms, leaving only nausea!") + to_chat(user, span_clocklarge("\"Now now, this is for my servants, not you.\"")) + user.visible_message(span_warning("As [user] puts [src] on, it flickers off their arms!"), span_warning("The gauntlets flicker off your arms, leaving only nausea!")) if(iscarbon(user)) var/mob/living/carbon/C = user C.vomit() C.Knockdown(10 SECONDS) else - to_chat(user, "\"Did you like having arms?\"") - to_chat(user, "The gauntlets suddenly squeeze tight, crushing your arms before you manage to get them off!") + to_chat(user, span_clocklarge("\"Did you like having arms?\"")) + to_chat(user, span_userdanger("The gauntlets suddenly squeeze tight, crushing your arms before you manage to get them off!")) user.emote("scream") user.apply_damage(7, BRUTE, BODY_ZONE_L_ARM) user.apply_damage(7, BRUTE, BODY_ZONE_R_ARM) @@ -1062,15 +1065,15 @@ if(!isclocker(user)) if(!iscultist(user)) - to_chat(user, "\"Now now, this is for my servants, not you.\"") - user.visible_message("As [user] puts [src] on, it flickers off their feet!", "The treads flicker off your feet, leaving only nausea!") + to_chat(user, span_clocklarge("\"Now now, this is for my servants, not you.\"")) + user.visible_message(span_warning("As [user] puts [src] on, it flickers off their feet!"), span_warning("The treads flicker off your feet, leaving only nausea!")) if(iscarbon(user)) var/mob/living/carbon/C = user C.vomit() C.Knockdown(10 SECONDS) else - to_chat(user, "\"Let's see if you can dance with these.\"") - to_chat(user, "The treads turn searing hot as you scramble to get them off!") + to_chat(user, span_clocklarge("\"Let's see if you can dance with these.\"")) + to_chat(user, span_userdanger("The treads turn searing hot as you scramble to get them off!")) user.emote("scream") user.apply_damage(7, BURN, BODY_ZONE_L_LEG) user.apply_damage(7, BURN, BODY_ZONE_R_LEG) @@ -1109,15 +1112,15 @@ if(!isclocker(user)) if(!iscultist(user)) - to_chat(user, "\"Now now, this is for my servants, not you.\"") - user.visible_message("As [user] puts [src] on, it flickers off their head!", "The helmet flickers off your head, leaving only nausea!") + to_chat(user, span_clocklarge("\"Now now, this is for my servants, not you.\"")) + user.visible_message(span_warning("As [user] puts [src] on, it flickers off their head!"), span_warning("The helmet flickers off your head, leaving only nausea!")) if(iscarbon(user)) var/mob/living/carbon/C = user C.vomit(20) C.Knockdown(10 SECONDS) else - to_chat(user, "\"Do you have a hole in your head? You're about to.\"") - to_chat(user, "The helmet tries to drive a spike through your head as you scramble to remove it!") + to_chat(user, span_heavybrass("\"Do you have a hole in your head? You're about to.\"")) + to_chat(user, span_userdanger("The helmet tries to drive a spike through your head as you scramble to remove it!")) user.emote("scream") user.apply_damage(30, BRUTE, BODY_ZONE_HEAD) user.adjustBrainLoss(30) @@ -1155,7 +1158,7 @@ /obj/item/clothing/glasses/clockwork/attack_self(mob/user) if(!isclocker(user)) - to_chat(user, "You fiddle around with [src], to no avail.") + to_chat(user, span_warning("You fiddle around with [src], to no avail.")) return active = !active @@ -1165,9 +1168,9 @@ lighting_alpha = active ? LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE : null switch(active) if(TRUE) - to_chat(user, "You toggle [src], its lens begins to glow.") + to_chat(user, span_notice("You toggle [src], its lens begins to glow.")) if(FALSE) - to_chat(user, "You toggle [src], its lens darkens once more.") + to_chat(user, span_notice("You toggle [src], its lens darkens once more.")) user.update_action_buttons_icon() user.update_inv_glasses() @@ -1268,12 +1271,12 @@ /obj/item/clockwork/cogscarab/attack_self(mob/user) if(!isclocker(user)) - to_chat(user, "You fiddle around with [src], to no avail.") + to_chat(user, span_warning("You fiddle around with [src], to no avail.")) return FALSE if(searching) return searching = TRUE - to_chat(user, "You're trying to boot up [src] as the gears inside start to hum.") + to_chat(user, span_notice("You're trying to boot up [src] as the gears inside start to hum.")) var/list/candidates = SSghost_spawns.poll_candidates("Would you like to play as a Servant of Ratvar?", ROLE_CLOCKER, FALSE, poll_time = 10 SECONDS, source = /mob/living/silicon/robot/cogscarab) if(candidates.len) var/mob/dead/observer/O = pick(candidates) @@ -1284,7 +1287,7 @@ user.drop_item_ground(src) qdel(src) else - visible_message("[src] stops to hum. Perhaps you could try again?") + visible_message(span_notice("[src] stops to hum. Perhaps you could try again?")) searching = FALSE return TRUE @@ -1346,22 +1349,22 @@ var/mob/living/L = user user.emote("scream") if(ishuman(L)) - to_chat(L, "[src] pierces into your hand!") + to_chat(L, span_danger("[src] pierces into your hand!")) var/mob/living/carbon/human/H = L H.embed_item_inside(src) - to_chat(user, "\"How does it feel it now?\"") + to_chat(user, span_clocklarge("\"How does it feel it now?\"")) else - to_chat(L, "[src] pierces into you!") + to_chat(L, span_danger("[src] pierces into you!")) L.adjustBruteLoss(force) return if(!enchant_type) - to_chat(user, "There is no spell stored!") + to_chat(user, span_warning("There is no spell stored!")) return else if(!ishuman(user)) - to_chat(user,"You are too weak to crush this massive shard!") + to_chat(user,span_warning("You are too weak to crush this massive shard!")) return - user.visible_message("[user] crushes [src] in his hands!", "You crush [src] in your hand!") + user.visible_message(span_warning("[user] crushes [src] in his hands!"), span_notice("You crush [src] in your hand!")) playsound(src, "shatter", 50, TRUE) switch(enchant_type) if(EMP_SPELL) @@ -1408,13 +1411,13 @@ else human.revive() human.set_species(/datum/species/golem/clockwork) - to_chat(human, "\"You are back once again.\"") + to_chat(human, span_clocklarge("\"You are back once again.\"")) /obj/item/clockwork/shard/pickup(mob/living/user) . = ..() if(!isclocker(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") + to_chat(user, span_clocklarge("\"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) @@ -1430,7 +1433,7 @@ log_game("[golem.key] has become Brass Golem.") SEND_SOUND(golem, 'sound/ambience/antag/clockcult.ogg') else - golem.visible_message("[golem] twitches as their body twists and rapidly changes the form!") + golem.visible_message(span_warning("[golem] twitches as their body twists and rapidly changes the form!")) new /obj/effect/mob_spawn/human/golem/clockwork(get_turf(golem)) golem.dust() diff --git a/code/game/gamemodes/clockwork/clockwork_mob.dm b/code/game/gamemodes/clockwork/clockwork_mob.dm index da37e45ce2a..00dd2dd8e1f 100644 --- a/code/game/gamemodes/clockwork/clockwork_mob.dm +++ b/code/game/gamemodes/clockwork/clockwork_mob.dm @@ -57,8 +57,8 @@ playsound(loc, 'sound/weapons/clash.ogg', 50, TRUE) L.apply_damage(25, STAMINA) src.do_attack_animation(target) - target.visible_message("[src] hits [target] with flat of the sword!", \ - "[src] hits you with flat of the sword!") + target.visible_message(span_danger("[src] hits [target] with flat of the sword!"), \ + span_userdanger("[src] hits you with flat of the sword!")) add_attack_logs(src, target, "Knocks") else ..() @@ -154,10 +154,10 @@ var/obj/structure/cable/C = locate() in F if(C && prob(30)) if(C.avail()) - visible_message("[src] chews through [C]. [src] sparks for a moment!") + visible_message(span_warning("[src] chews through [C]. [src] sparks for a moment!")) playsound(src, 'sound/effects/sparks2.ogg', 100, 1) else - visible_message("[src] chews through [C].") + visible_message(span_warning("[src] chews through [C].")) investigate_log("was chewed through by a clock mouse in [get_area(F)]([F.x], [F.y], [F.z] - [ADMIN_JMP(F)])","wires") C.deconstruct() @@ -168,8 +168,8 @@ return /mob/living/simple_animal/mouse/clockwork/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/simple_animal/mouse/clockwork/decompile_act(obj/item/matter_decompiler/C, mob/user) return diff --git a/code/game/gamemodes/clockwork/clockwork_objectives.dm b/code/game/gamemodes/clockwork/clockwork_objectives.dm index 1368ff01cc0..7e1def12a1a 100644 --- a/code/game/gamemodes/clockwork/clockwork_objectives.dm +++ b/code/game/gamemodes/clockwork/clockwork_objectives.dm @@ -32,37 +32,37 @@ switch(clock_status) if(RATVAR_IS_ASLEEP) - to_chat(M, "Ratvar is asleep.") + to_chat(M, span_clock("Ratvar is asleep.")) if(RATVAR_DEMANDS_POWER) - to_chat(M, "The Ratvar seeks the power throught the station. Help him to overcome the mighty Veil!") - to_chat(M, "Current goal: ") + to_chat(M, span_clock("The Ratvar seeks the power throught the station. Help him to overcome the mighty Veil!")) + to_chat(M, span_clock("Current goal: ")) if(!obj_demand.power_get) - to_chat(M, "We need to fulfill the power. Power needed: [GLOB.clockwork_power]/[power_goal]") + to_chat(M, span_clock("We need to fulfill the power. Power needed: [GLOB.clockwork_power]/[power_goal]")) if(!obj_demand.beacon_get) - to_chat(M, "The beacons will mark the soft spots of the Veil. Beacons needed: [length(GLOB.clockwork_beacons)]/[beacon_goal]") + to_chat(M, span_clock("The beacons will mark the soft spots of the Veil. Beacons needed: [length(GLOB.clockwork_beacons)]/[beacon_goal]")) if(!obj_demand.clockers_get) - to_chat(M, "Let the power from our clockers assemble the path for our Ratvar! Clockers needed: [SSticker.mode.get_clockers()]/[clocker_goal]") + to_chat(M, span_clock("Let the power from our clockers assemble the path for our Ratvar! Clockers needed: [SSticker.mode.get_clockers()]/[clocker_goal]")) if(RATVAR_NEEDS_SUMMONING) - to_chat(M, "Ratvar is strong enough! It's time to point his power on weak point of the Veil!") - to_chat(M, "Current goal: [obj_summon.explanation_text]") + to_chat(M, span_clock("Ratvar is strong enough! It's time to point his power on weak point of the Veil!")) + to_chat(M, span_clock("Current goal: [obj_summon.explanation_text]")) if(RATVAR_HAS_RISEN) - to_chat(M, "\"I am here.\"") - to_chat(M, "Current goal: \"Bring me unclocked ones.\"") + to_chat(M, span_clocklarge("\"I am here.\"")) + to_chat(M, "[span_clock("Current goal:")] [span_clocklarge("\"Bring me unclocked ones.\"")]") if(RATVAR_HAS_FALLEN) - to_chat(M, "Ratvar has been banished!") - to_chat(M, "Current goal: Slaughter the unbelievers!") + to_chat(M, span_clocklarge("Ratvar has been banished!")) + to_chat(M, span_clock("Current goal: Slaughter the unbelievers!")) else - to_chat(M, "Error: Clock cult objective status currently unknown. Something went wrong. Oof.") + to_chat(M, span_danger("Error: Clock cult objective status currently unknown. Something went wrong. Oof.")) if(display_members) var/list/clock_cult = SSticker.mode.get_clockers(TRUE) var/total_clockers = clock_cult[1] + clock_cult[2] - to_chat(M, "
Current cult members: [total_clockers]
") + to_chat(M, span_clockitalic("
Current cult members: [total_clockers]")) if(clock_cult[2]) // If there are any constructs, separate them out - to_chat(M, "Clockers: [clock_cult[1]]") - to_chat(M, "Constructs: [clock_cult[2]]") + to_chat(M, span_clockitalic("Clockers: [clock_cult[1]]")) + to_chat(M, span_clockitalic("Constructs: [clock_cult[2]]")) /* * Makes a check if power or beacon has been completed. @@ -74,9 +74,9 @@ obj_demand.power_get = TRUE for(var/datum/mind/clock_mind in SSticker.mode.clockwork_cult) if(clock_mind && clock_mind.current) - to_chat(clock_mind.current, "Yes! That's enough power i need! Well done...") + to_chat(clock_mind.current, span_clocklarge("Yes! That's enough power i need! Well done...")) if(!obj_demand.check_completion()) - to_chat(clock_mind.current, "But there's still more tasks to do.") + to_chat(clock_mind.current, span_clock("But there's still more tasks to do.")) else ratvar_is_ready() adjust_clockwork_power(-0.6*power_goal) @@ -86,9 +86,9 @@ obj_demand.beacon_get = TRUE for(var/datum/mind/clock_mind in SSticker.mode.clockwork_cult) if(clock_mind && clock_mind.current) - to_chat(clock_mind.current, "Now i see the weak points of the Veil. You have done well...") + to_chat(clock_mind.current, span_clocklarge("Now i see the weak points of the Veil. You have done well...")) if(!obj_demand.check_completion()) - to_chat(clock_mind.current, "But there's still more tasks to do.") + to_chat(clock_mind.current, span_clock("But there's still more tasks to do.")) else ratvar_is_ready() @@ -100,8 +100,8 @@ clock_status = RATVAR_NEEDS_SUMMONING for(var/datum/mind/clock_mind in SSticker.mode.clockwork_cult) if(clock_mind && clock_mind.current) - to_chat(clock_mind.current, "You and your acolytes have succeeded in preparing the station for the ultimate ritual!") - to_chat(clock_mind.current, "Current goal: [obj_summon.explanation_text]") + to_chat(clock_mind.current, span_clock("You and your acolytes have succeeded in preparing the station for the ultimate ritual!")) + to_chat(clock_mind.current, span_clock("Current goal: [obj_summon.explanation_text]")) /datum/clockwork_objectives/proc/succesful_summon() clock_status = RATVAR_HAS_RISEN diff --git a/code/game/gamemodes/clockwork/clockwork_workshop.dm b/code/game/gamemodes/clockwork/clockwork_workshop.dm index 5c16a4bcac7..d37cfd261d8 100644 --- a/code/game/gamemodes/clockwork/clockwork_workshop.dm +++ b/code/game/gamemodes/clockwork/clockwork_workshop.dm @@ -18,7 +18,7 @@ desc = "A workshop of elder god. Has unique brass tools to manipulate both power and metal to make fine clockwork pieces." icon_state = "workshop" max_integrity = 400 - death_message = "The workshop begins to crumble in pieces as the tools and the gears on table starts to dust!" + death_message = span_danger("The workshop begins to crumble in pieces as the tools and the gears on table starts to dust!") var/temp_search var/datum/clockwork_design/being_built = null var/list/item_list @@ -74,10 +74,10 @@ /obj/structure/clockwork/functional/workshop/attack_hand(mob/user) if(hidden) if(isclocker(user)) - to_chat(user,"This workshop is hidden. You need clockwork slab to reveal it!") + to_chat(user, span_warning("This workshop is hidden. You need clockwork slab to reveal it!")) return if(!isclocker(user)) - to_chat(user,"You are trying to understand how this table works, but to no avail.") + to_chat(user, span_warning("You are trying to understand how this table works, but to no avail.")) return if(anchored && !hidden) add_fingerprint(user) @@ -172,15 +172,15 @@ return var/datum/clockwork_design/item = item_list[category][name] if(item.brass_cost > brass_amount) // shouldn't be able to access this since the button is greyed out, but.. - to_chat(usr, "You have insufficient brass in workshop.") + to_chat(usr, span_danger("You have insufficient brass in workshop.")) return if(item.power_cost > GLOB.clockwork_power) - to_chat(usr, "Your cult have insufficient power.") + to_chat(usr, span_danger("Your cult have insufficient power.")) return build_design(item) if("dispense") if(brass_amount < MINERAL_MATERIAL_AMOUNT) - to_chat(usr, "You have insufficient brass in workshop.") + to_chat(usr, span_danger("You have insufficient brass in workshop.")) else brass_amount -= MINERAL_MATERIAL_AMOUNT new /obj/item/stack/sheet/brass(loc) @@ -190,13 +190,13 @@ /obj/structure/clockwork/functional/workshop/proc/build_design(datum/clockwork_design/CD) . = FALSE if(being_built) - to_chat(usr, "Something is already being built!") + to_chat(usr, span_danger("Something is already being built!")) return if(CD.brass_cost > brass_amount) // IF - to_chat(usr, "You have insufficient brass in workshop.") + to_chat(usr, span_danger("You have insufficient brass in workshop.")) return if(CD.power_cost > GLOB.clockwork_power) - to_chat(usr, "Your cult have insufficient power.") + to_chat(usr, span_danger("Your cult have insufficient power.")) return // Subtract the materials from the holder diff --git a/code/game/gamemodes/clockwork/cogscarab.dm b/code/game/gamemodes/clockwork/cogscarab.dm index c0c6c238dbb..a0df84e133b 100644 --- a/code/game/gamemodes/clockwork/cogscarab.dm +++ b/code/game/gamemodes/clockwork/cogscarab.dm @@ -107,7 +107,7 @@ warn_wind_up = WINDUP_STATE_NONE else if(!warn_wind_up) - to_chat(src, "You feel how your cogs inside slowing down! You need to find beacon to rewind yourself!") + to_chat(src, span_warning("You feel how your cogs inside slowing down! You need to find beacon to rewind yourself!")) warn_wind_up = WINDUP_STATE_WARNING @@ -115,7 +115,7 @@ if(wind_up_timer < 0) wind_up_timer = 0 if(warn_wind_up < WINDUP_STATE_DANGER) - to_chat(src, "The gears inside stopped to work! Find the beacon!") + to_chat(src, span_userdanger("The gears inside stopped to work! Find the beacon!")) warn_wind_up = WINDUP_STATE_DANGER adjustBruteLoss(2) else @@ -171,8 +171,8 @@ H.w_class = WEIGHT_CLASS_TINY H.attack_hand(grabber) - to_chat(grabber, "Вы подняли [src.name].") - to_chat(src, "[grabber.name] поднял[genderize_ru(grabber.gender,"","а","о","и")] вас.") + to_chat(grabber, span_notice("Вы подняли [src.name].")) + to_chat(src, span_notice("[grabber.name] поднял[genderize_ru(grabber.gender,"","а","о","и")] вас.")) grabber.status_flags |= PASSEMOTES return H @@ -256,14 +256,14 @@ switch(sensor_type) 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("Multisensor") add_med_hud() add_diag_hud() - to_chat(src, "Multisensor overlay enabled.") + to_chat(src, span_notice("Multisensor overlay enabled.")) if("Disable") to_chat(src, "Sensor augmentations disabled.") @@ -288,7 +288,7 @@ /mob/living/silicon/robot/cogscarab/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 //Some sort of magical "modulo" thing which somehow increments lamp power by 2, until it hits the max and resets to 0. @@ -323,22 +323,22 @@ grabbed_something = TRUE if(grabbed_something) - to_chat(user, "You deploy your melter and take some contents to melt from \the [T].") + to_chat(user, span_notice("You deploy your melter and take some contents to melt from \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 /obj/item/clockwork/brassmaker/examine(mob/user) . = ..() - . += "It has [length(grabbed_items)] items ready to be melted, and [round(metal_amount/metal_need_per_brass, 0.01)] brass." + . += span_notice("It has [length(grabbed_items)] items ready to be melted, and [round(metal_amount/metal_need_per_brass, 0.01)] brass.") /obj/item/clockwork/brassmaker/attack_self(mob/user) . = ..() if(!length(grabbed_items)) - to_chat(user, "[src] is empty!") + to_chat(user, span_warning("[src] is empty!")) return - to_chat(user, "You begin to melt everything you've picked up.") + to_chat(user, span_notice("You begin to melt everything you've picked up.")) user.playsound_local(src, 'sound/machines/blender.ogg', 20, 1) for(var/obj/item/A in grabbed_items) if(A.materials[MAT_METAL]) diff --git a/code/game/gamemodes/cult/blood_magic.dm b/code/game/gamemodes/cult/blood_magic.dm index 7b511291478..8438127b69c 100644 --- a/code/game/gamemodes/cult/blood_magic.dm +++ b/code/game/gamemodes/cult/blood_magic.dm @@ -35,10 +35,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 @@ -61,9 +61,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, rune ? 4 SECONDS : 10 SECONDS, owner)) @@ -76,7 +76,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!")) channeling = FALSE /datum/action/innate/cult/blood_magic/proc/remove_spell(message = "Pick a spell to remove.") @@ -131,9 +131,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) @@ -176,12 +176,12 @@ 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() - 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(2) add_attack_logs(owner, owner, "activated EMP spell") empulse(owner, 2, 5, cause = "cult") @@ -216,14 +216,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) charges-- desc = base_desc @@ -272,9 +272,9 @@ /obj/effect/proc_holder/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...")) /obj/effect/proc_holder/horror/InterceptClickOn(mob/living/user, params, atom/target) if(..()) @@ -294,9 +294,9 @@ attached_action.desc = attached_action.base_desc attached_action.desc += "
Has [attached_action.charges] use\s remaining." attached_action.UpdateButtonIcon() - 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 @@ -309,8 +309,8 @@ /datum/action/innate/cult/blood_spell/veiling/Activate() 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-- playsound(owner, 'sound/magic/smoke.ogg', 25, TRUE) owner.whisper(invocation) @@ -321,8 +321,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) playsound(owner, 'sound/misc/enter_blood.ogg', 25, TRUE) @@ -472,7 +472,7 @@ var/list/teleportnames = list() var/list/duplicaterunecount = list() if(!iscultist(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 for(var/R in GLOB.teleport_runes) var/obj/effect/rune/teleport/T = R @@ -486,10 +486,10 @@ 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!")) 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/mob/living/L = target @@ -509,12 +509,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.") L.forceMove(destination) return ..() @@ -532,30 +532,30 @@ if(C.getStaminaLoss() > 90 || C.health <= HEALTH_THRESHOLD_CRIT || C.IsSleeping()) CuffAttack(C, user) else - user.visible_message("This victim is still resisting!") + user.visible_message(span_cultitalic("This victim is still resisting!")) else - 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 ..() /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, -2) - 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_after(user, 1 SECONDS, C, NONE)) if(!C.handcuffed) C.apply_restraints(new /obj/item/restraints/handcuffs/energy/cult/used(null), ITEM_SLOT_HANDCUFFED, TRUE) 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.")) /obj/item/restraints/handcuffs/energy/cult //For the shackling spell @@ -565,8 +565,8 @@ item_flags = DROPDEL /obj/item/restraints/handcuffs/energy/cult/used/dropped(mob/user, slot, silent = FALSE) - 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!")) . = ..() @@ -580,15 +580,13 @@ /obj/item/melee/blood_magic/construction/examine(mob/user) . = ..() - . += {"A sinister spell used to convert: - Plasteel into runed metal - [METAL_TO_CONSTRUCT_SHELL_CONVERSION] metal into a construct shell - Airlocks into brittle runed airlocks after a delay (harm intent)"} + . += span_notice("A sinister spell used to convert: Plasteel into runed metal [METAL_TO_CONSTRUCT_SHELL_CONVERSION] metal into a construct shell\ + Airlocks into brittle runed airlocks after a delay (harm intent)") /obj/item/melee/blood_magic/construction/afterattack(atom/target, mob/user, proximity_flag, click_parameters) 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) @@ -597,11 +595,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) 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 @@ -611,7 +609,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) //Airlock to cult airlock @@ -622,14 +620,14 @@ if(do_after(user, 5 SECONDS, 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) 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 ..() @@ -652,7 +650,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 @@ -669,10 +667,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) shield.current_charges = 3 user.update_appearance(UPDATE_ICON) @@ -682,16 +680,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) S.uses = 4 S.update_icon(UPDATE_ICON_STATE) return ..() - to_chat(user, "The spell will not work on [target]!") + to_chat(user, span_warning("The spell will not work on [target]!")) return ..() @@ -703,9 +701,9 @@ /obj/item/melee/blood_magic/manipulator/examine(mob/user) . = ..() - . += "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_notice("Blood spear and blood barrage cost [BLOOD_SPEAR_COST] and [BLOOD_BARRAGE_COST] charges respectively.") + . += span_notice("Blood orb and blood empower cost [BLOOD_ORB_COST] and [BLOOD_RECHARGE_COST] charges respectively.") + . += span_cultitalic("You have collected [uses] charge\s of blood.") // This should really be split into multiple procs /obj/item/melee/blood_magic/manipulator/afterattack(atom/target, mob/living/carbon/human/user, proximity, params) @@ -717,7 +715,7 @@ if(iscultist(H)) var/charge_loss = uses // Before/after charge difference 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 //Blood restoration @@ -726,33 +724,33 @@ var/restore_blood = BLOOD_VOLUME_SAFE - H.blood_volume if(uses * 2 < restore_blood) H.AdjustBlood(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 return ..() 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!")) //Damage healing var/overall_damage = H.getBruteLoss() + H.getFireLoss() + H.getToxLoss() + H.getOxyLoss() if(overall_damage == 0) - to_chat(user, "That cultist doesn't require healing!") + to_chat(user, span_warning("That cultist doesn't require healing!")) return else 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 var/update = NONE @@ -766,17 +764,17 @@ 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.")) //Draining blood from non-cultists else 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(!HAS_TRAIT(H, TRAIT_NO_BLOOD) && !HAS_TRAIT(H, TRAIT_EXOTIC_BLOOD)) if(H.blood_volume > BLOOD_VOLUME_SAFE) @@ -784,15 +782,15 @@ uses += 50 user.Beam(H, icon_state = "drainbeam", time = 10) playsound(get_turf(H), 'sound/misc/enter_blood.ogg', 50) - 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)) else - 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 else - to_chat(user, "[H] does not have any usable blood!") + to_chat(user, span_warning("[H] does not have any usable blood!")) return //Healing constructs @@ -802,13 +800,13 @@ if(missing) 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) user.Beam(M, icon_state = "sendbeam", time = 10) @@ -820,7 +818,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) qdel(candidate) @@ -845,19 +843,19 @@ new /obj/effect/temp_visual/cult/sparks(get_turf(user)) playsound(T, 'sound/misc/enter_blood.ogg', 50) 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(mob/living/user) var/list/options = list("Blood Orb (50)", "Blood Recharge (75)", "Blood Spear (150)", "Blood Bolt Barrage (300)") var/choice = tgui_input_list(user, "Choose a greater blood rite...", "Greater Blood Rites", options) if(!Adjacent(user)) - to_chat(user, "Вы не можете использовать это заклинание без самого заклинания!") + to_chat(user, span_cultitalic("Вы не можете использовать это заклинание без самого заклинания!")) return switch(choice) 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) @@ -867,14 +865,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 @@ -882,22 +880,22 @@ user.swap_hand() user.drop_from_active_hand() 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) 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) @@ -905,21 +903,21 @@ 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) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index a6254bc7d85..e2c06f0fb63 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -92,7 +92,7 @@ GLOBAL_LIST_EMPTY(all_cults) cult_mind.objectives += obj if(cult_mind.assigned_role == JOB_TITLE_CLOWN) - to_chat(cult_mind.current, "A dark power has allowed you to overcome your clownish nature, letting you wield weapons without harming yourself.") + to_chat(cult_mind.current, span_cultitalic("A dark power has allowed you to overcome your clownish nature, letting you wield weapons without harming yourself.")) cult_mind.current.force_gene_block(GLOB.clumsyblock, FALSE) // Don't give them another action if they already have one. if(!(locate(/datum/action/innate/toggle_clumsy) in cult_mind.current.actions)) @@ -157,7 +157,7 @@ GLOBAL_LIST_EMPTY(all_cults) . += cult_give_item(/obj/item/melee/cultblade/dagger, H) if(metal) . += cult_give_item(/obj/item/stack/sheet/runed_metal/ten, H) - to_chat(H, "These will help you start the cult on this station. Use them well, and remember - you are not the only one.") + to_chat(H, span_cult("These will help you start the cult on this station. Use them well, and remember - you are not the only one.")) /datum/game_mode/proc/cult_give_item(obj/item/item_path, mob/living/carbon/human/H) var/list/slots = list( @@ -168,10 +168,10 @@ GLOBAL_LIST_EMPTY(all_cults) var/item_name = initial(item_path.name) var/where = H.equip_in_one_of_slots(T, slots, qdel_on_fail = TRUE) if(!where) - to_chat(H, "Unfortunately, you weren't able to get a [item_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 [item_name]. This is very bad and you should adminhelp immediately (press F1).")) return FALSE else - to_chat(H, "You have a [item_name] in your [where].") + to_chat(H, span_danger("You have a [item_name] in your [where].")) return TRUE @@ -190,7 +190,7 @@ GLOBAL_LIST_EMPTY(all_cults) ADD_TRAIT(cult_mind.current, TRAIT_HEALS_FROM_CULT_PYLONS, CULT_TRAIT) if(cult_mind.assigned_role == JOB_TITLE_CLOWN) - to_chat(cult_mind.current, "A dark power has allowed you to overcome your clownish nature, letting you wield weapons without harming yourself.") + to_chat(cult_mind.current, span_cultitalic("A dark power has allowed you to overcome your clownish nature, letting you wield weapons without harming yourself.")) cult_mind.current.force_gene_block(GLOB.clumsyblock, FALSE) // Don't give them another action if they already have one. if(!(locate(/datum/action/innate/toggle_clumsy) in cult_mind.current.actions)) @@ -230,7 +230,7 @@ GLOBAL_LIST_EMPTY(all_cults) if(!M.current || !ishuman(M.current)) continue SEND_SOUND(M.current, 'sound/ambience/antag/bloodcult_eyes.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...")) log_admin("The Blood Cult has risen. The eyes started to glow.") addtimer(CALLBACK(src, PROC_REF(rise), M.current), 20 SECONDS) @@ -240,7 +240,7 @@ GLOBAL_LIST_EMPTY(all_cults) if(!M.current || !ishuman(M.current)) continue SEND_SOUND(M.current, 'sound/ambience/antag/bloodcult_halos.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!")) log_admin("The Blood Cult has Ascended. The blood halo started to appear.") addtimer(CALLBACK(src, PROC_REF(ascend), M.current), 20 SECONDS) GLOB.command_announcement.Announce("На вашей станции обнаружена внепространственная активность, связанная с культом [SSticker.cultdat ? SSticker.cultdat.entity_name : "Нар’Си"]. Данные свидетельствуют о том, что в ряды культа обращено около [ascend_percent * 100]% экипажа станции. Служба безопасности получает право свободно применять летальную силу против культистов. Прочий персонал должен быть готов защищать себя и свои рабочие места от нападений культистов (в том числе используя летальную силу в качестве крайней меры самообороны). Погибшие члены экипажа должны быть оживлены и деконвертированы, как только ситуация будет взята под контроль.", "Отдел Центрального Командования по делам высших измерений.", 'sound/AI/commandreport.ogg') @@ -288,8 +288,8 @@ GLOBAL_LIST_EMPTY(all_cults) check_cult_size() add_conversion_logs(cultist, "deconverted from the blood cult.") if(show_message) - cultist.visible_message("[cultist] looks like [cultist.p_they()] just reverted to [cultist.p_their()] old faith!", - "An unfamiliar white light flashes through your mind, cleansing the taint of [SSticker.cultdat ? SSticker.cultdat.entity_title1 : "Nar'Sie"] and the memories of your time as their servant with it.") + cultist.visible_message(span_cult("[cultist] looks like [cultist.p_they()] just reverted to [cultist.p_their()] old faith!"), + span_userdanger("An unfamiliar white light flashes through your mind, cleansing the taint of [SSticker.cultdat ? SSticker.cultdat.entity_title1 : "Nar'Sie"] and the memories of your time as their servant with it.")) /datum/game_mode/proc/update_cult_icons_added(datum/mind/cult_mind) var/datum/atom_hud/antag/culthud = GLOB.huds[ANTAG_HUD_CULT] @@ -320,13 +320,13 @@ GLOBAL_LIST_EMPTY(all_cults) /datum/game_mode/cult/declare_completion() if(cult_objs.cult_status == NARSIE_HAS_RISEN) SSticker.mode_result = "cult win - cult win" - to_chat(world, " The cult wins! It has succeeded in summoning [SSticker.cultdat.entity_name]!") + to_chat(world, span_danger(" The cult wins! It has succeeded in summoning [SSticker.cultdat.entity_name]!")) else if(cult_objs.cult_status == NARSIE_HAS_FALLEN) SSticker.mode_result = "cult draw - narsie died, nobody wins" - to_chat(world, " Nobody wins! [SSticker.cultdat.entity_name] was summoned, but banished!") + to_chat(world, span_danger(" Nobody wins! [SSticker.cultdat.entity_name] 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!")) var/endtext endtext += "
The cultists' objectives were:" diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index dbab2921e8e..4abf76ab0ac 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -63,12 +63,12 @@ /obj/item/melee/cultblade/pickup(mob/living/user) 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!")) return FALSE if(!iscultist(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) @@ -85,7 +85,7 @@ /obj/item/restraints/legcuffs/bola/cult/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(iscultist(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 . = ..() @@ -187,8 +187,8 @@ . = ..() if(!iscultist(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_ground(src, force = TRUE) user.Confused(20 SECONDS) user.Knockdown(10 SECONDS) @@ -198,10 +198,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" @@ -227,8 +227,8 @@ . = ..() if(!iscultist(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_ground(src, force = TRUE) user.Confused(20 SECONDS) user.Knockdown(10 SECONDS) @@ -312,7 +312,7 @@ . = ..() if(!iscultist(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_ground(src, force = TRUE) user.Confused(60 SECONDS) user.Knockdown(10 SECONDS) @@ -329,20 +329,20 @@ if(!iscultist(user)) user.drop_item_ground(src, force = TRUE) user.Knockdown(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/god/narsie) in GLOB.poi_list || locate(/mob/living/simple_animal/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) @@ -363,9 +363,9 @@ /obj/item/cult_shift/examine(mob/user) . = ..() if(uses) - . += "It has [uses] use\s remaining." + . += span_cultitalic("It has [uses] use\s remaining.") else - . += "It seems drained." + . += span_cultitalic("It seems drained.") /obj/item/cult_shift/update_icon_state() @@ -381,12 +381,12 @@ /obj/item/cult_shift/attack_self(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(!iscultist(user)) user.drop_item_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 var/outer_tele_radius = 9 @@ -431,7 +431,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" @@ -559,7 +559,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) @@ -596,7 +596,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) @@ -609,9 +609,9 @@ else if(isliving(loc)) var/mob/living/holder = loc if(iscultist(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.") + to_chat(holder, span_warning("[src] vibrates slightly, and starts glowing.")) /obj/item/shield/mirror/IsReflect() if(isliving(loc)) @@ -653,9 +653,9 @@ if(iscultist(L)) playsound(src, 'sound/weapons/throwtap.ogg', 50) if(ishuman(L) && 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()) L.Weaken(6 SECONDS) @@ -667,7 +667,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) @@ -683,7 +683,7 @@ return TRUE else playsound(src, 'sound/weapons/parry.ogg', 100, TRUE) - owner.visible_message("[owner] parries [attack_text] with [src]!") + owner.visible_message(span_danger("[owner] parries [attack_text] with [src]!")) return TRUE return FALSE @@ -705,13 +705,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_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) /obj/item/gun/projectile/shotgun/boltaction/enchanted/arcane_barrage/blood diff --git a/code/game/gamemodes/cult/cult_objectives.dm b/code/game/gamemodes/cult/cult_objectives.dm index 1d67e229924..64a62e8438d 100644 --- a/code/game/gamemodes/cult/cult_objectives.dm +++ b/code/game/gamemodes/cult/cult_objectives.dm @@ -22,25 +22,25 @@ switch(cult_status) if(NARSIE_IS_ASLEEP) - to_chat(M, "[SSticker.cultdat ? SSticker.cultdat.entity_name : "The Dark One"] is asleep.") + to_chat(M, span_cult("[SSticker.cultdat ? SSticker.cultdat.entity_name : "The Dark One"] is asleep.")) if(NARSIE_DEMANDS_SACRIFICE) if(!length(presummon_objs)) - to_chat(M, "Error: No objectives in sacrifice list. Something went wrong. Oof.") + to_chat(M, span_danger("Error: No objectives in sacrifice list. Something went wrong. Oof.")) else var/datum/objective/sacrifice/current_obj = presummon_objs[length(presummon_objs)] //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 [SSticker.cultdat ? SSticker.cultdat.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 [SSticker.cultdat ? SSticker.cultdat.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 [SSticker.cultdat ? SSticker.cultdat.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 [SSticker.cultdat ? SSticker.cultdat.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:")] [span_cultlarge("\"Feed me.\"")]") if(NARSIE_HAS_FALLEN) - to_chat(M, "[SSticker.cultdat ? SSticker.cultdat.entity_name : "The Dark One"] has been banished!") - to_chat(M, "Current goal: Slaughter the unbelievers!") + to_chat(M, span_cultlarge("[SSticker.cultdat ? SSticker.cultdat.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. Oof.") + to_chat(M, span_danger("Error: Cult objective status currently unknown. Something went wrong. Oof.")) if(display_members) var/list/cult = SSticker.mode.get_cultists(TRUE) @@ -48,17 +48,17 @@ var/rise = SSticker.mode.rise_number - total_cult var/ascend = SSticker.mode.ascend_number - total_cult - var/overview = "
Current cult members: [total_cult]" + var/overview = span_cultitalic("
Current cult members: [total_cult]") if(!SSticker.mode.cult_ascendant) if(rise > 0) overview += " | Conversions until Rise: [rise]" else if(ascend > 0) overview += " | Conversions until Ascension: [ascend]" - to_chat(M, "[overview]
") + to_chat(M, "[overview]") if(cult[2]) // If there are any constructs, separate them out - to_chat(M, "Cultists: [cult[1]]") - to_chat(M, "Constructs: [cult[2]]") + to_chat(M, span_cultitalic("Cultists: [cult[1]]")) + to_chat(M, span_cultitalic("Constructs: [cult[2]]")) /datum/cult_objectives/proc/current_sac_objective() //Return the current sacrifice objective datum, if any @@ -80,7 +80,7 @@ if(current_obj.find_target()) for(var/datum/mind/cult_mind in SSticker.mode.cult) if(cult_mind && cult_mind.current) - to_chat(cult_mind.current, "[SSticker.cultdat.entity_name] murmurs, Our goal is beyond your reach. Sacrifice [current_obj.target] instead...") + to_chat(cult_mind.current, "[span_danger(SSticker.cultdat.entity_name)] murmurs, [span_cultlarge("Our goal is beyond your reach. Sacrifice [current_obj.target] instead...")]") return TRUE return FALSE @@ -96,8 +96,8 @@ presummon_objs += obj_sac for(var/datum/mind/cult_mind in SSticker.mode.cult) if(cult_mind && cult_mind.current) - to_chat(cult_mind.current, "You and your acolytes have made progress, but there is more to do still before [SSticker.cultdat ? SSticker.cultdat.entity_title1 : "The Dark One"] can be summoned!") - to_chat(cult_mind.current, "Current goal: [obj_sac.explanation_text]") + to_chat(cult_mind.current, span_cult("You and your acolytes have made progress, but there is more to do still before [SSticker.cultdat ? SSticker.cultdat.entity_title1 : "The Dark One"] can be summoned!")) + to_chat(cult_mind.current, span_cult("Current goal: [obj_sac.explanation_text]")) else ready_to_summon() @@ -105,8 +105,8 @@ cult_status = NARSIE_NEEDS_SUMMONING for(var/datum/mind/cult_mind in SSticker.mode.cult) if(cult_mind && cult_mind.current) - to_chat(cult_mind.current, "You and your acolytes have succeeded in preparing the station for the ultimate ritual!") - to_chat(cult_mind.current, "Current goal: [obj_summon.explanation_text]") + to_chat(cult_mind.current, span_cult("You and your acolytes have succeeded in preparing the station for the ultimate ritual!")) + to_chat(cult_mind.current, span_cult("Current goal: [obj_summon.explanation_text]")) /datum/cult_objectives/proc/succesful_summon() cult_status = NARSIE_HAS_RISEN diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 82e339ea4fb..f792d5be046 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -36,7 +36,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" @@ -61,8 +61,8 @@ /obj/structure/cult/functional/examine(mob/user) . = ..() if(iscultist(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_cult("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/update_icon_state() @@ -88,16 +88,16 @@ to_chat(user, "[heathen_message]") return if(invisibility) - to_chat(user, "The magic in [src] is being channeled into Redspace, reveal the structure first!") + to_chat(user, span_cultitalic("The magic in [src] is being channeled into Redspace, 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 var/choice = show_radial_menu(user, src, choosable_items, require_near = TRUE) @@ -127,7 +127,7 @@ /obj/structure/cult/functional/cult_conceal() set_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 @@ -137,7 +137,7 @@ /obj/structure/cult/functional/cult_reveal() set_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) @@ -148,12 +148,12 @@ desc = "A bloodstained altar dedicated to a cult." 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/food/drinks/bottle/unholywater, "Construct Shell" = /obj/structure/constructshell) @@ -165,12 +165,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, "Mirror Shield" = /obj/item/shield/mirror) @@ -219,7 +219,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' /// Length of the cooldown in between tile corruptions. Doubled if no turfs are found. var/corruption_cooldown_duration = 5 SECONDS @@ -323,12 +323,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) //Add void torch to veil shifter spawn diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index c985cc902cd..535fca2fb7d 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -69,11 +69,11 @@ To draw a rune, use a ritual dagger. /obj/effect/rune/examine(mob/user) . = ..() if(iscultist(user) || user.stat == DEAD) //If they're a cultist or a ghost, tell them the effects - . += "Name: [cultist_name]" - . += "Effects: [capitalize(cultist_desc)]" - . += "Required Acolytes: [req_cultists]" + . += span_info("Name: [cultist_name]") + . += span_info("Effects: [capitalize(cultist_desc)]") + . += span_info("Required Acolytes: [req_cultists]") if(req_keyword && keyword) - . += "Keyword: [keyword]" + . += "Keyword: [span_cultitalic(keyword)]" /obj/effect/rune/attackby(obj/I, mob/user, params) @@ -109,7 +109,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(!iscultist(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) @@ -122,16 +122,16 @@ To draw a rune, use a ritual dagger. if(construct_invoke || !iscultist(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 = 0 - visible_message("[src] suddenly appears!") + visible_message(span_danger("[src] suddenly appears!")) alpha = initial(alpha) /obj/effect/rune/is_cleanable() @@ -189,7 +189,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() /** @@ -218,7 +218,7 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/proc/fail_invoke() //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) // 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) @@ -242,7 +242,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. [SSticker.cultdat.entity_title3] is displeased.") + to_chat(L, span_cultitalic("You feel your life force draining. [SSticker.cultdat.entity_title3] is displeased.")) qdel(src) /mob/proc/null_rod_check() //The null rod, if equipped, will protect the holder from the effects of most runes @@ -299,7 +299,7 @@ structure_check() searches for nearby cultist structures required for the invoca if(!CONFIG_GET(number/can_cult_convert) && !is_sacrifice_target(L.mind)) fail_invoke() for(var/I in invokers) - to_chat(I, "You can not convert new cultists!") + to_chat(I, span_warning("You can not convert new cultists!")) rune_in_use = FALSE return @@ -323,17 +323,17 @@ 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 else - 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-")) SSticker.mode.add_cultist(convertee.mind) convertee.mind.special_role = "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.") - to_chat(convertee, "Assist your new compatriots in their dark dealings. Your goal is theirs, and theirs is yours. You serve [SSticker.cultdat.entity_title3] above all else. Bring it back.\ - ") + to_chat(convertee, span_cultitalic("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.")) + to_chat(convertee, span_cultitalic("Assist your new compatriots in their dark dealings. Your goal is theirs, and theirs is yours. \ + You serve [SSticker.cultdat.entity_title3] above all else. Bring it back.")) if(ishuman(convertee)) var/mob/living/carbon/human/H = convertee @@ -343,11 +343,11 @@ structure_check() searches for nearby cultist structures required for the invoca // Heal 90% of all damage, including robotic limbs H.heal_overall_damage(brutedamage * 0.9, burndamage * 0.9, affect_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/bodypart as anything in H.bodyparts) bodypart.mend_fracture() bodypart.stop_internal_bleeding() @@ -359,9 +359,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_BACKPACK, disable_warning = TRUE)) - to_chat(H, "You have a dagger in your backpack. Use it to do [SSticker.cultdat.entity_title1]'s bidding.") + to_chat(H, span_cultlarge("You have a dagger in your backpack. Use it to do [SSticker.cultdat.entity_title1]'s bidding.")) else - to_chat(H, "There is a dagger on the floor. Use it to do [SSticker.cultdat.entity_title1]'s bidding.") + to_chat(H, span_cultlarge("There is a dagger on the floor. Use it to do [SSticker.cultdat.entity_title1]'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 @@ -369,7 +369,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() return @@ -385,12 +385,12 @@ 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.\"")) 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) if((ishuman(offering) || isrobot(offering) || isbrain(offering)) && offering.mind) @@ -449,12 +449,12 @@ 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!")) fail_invoke() 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!")) fail_invoke() return @@ -490,8 +490,8 @@ structure_check() searches for nearby cultist structures required for the invoca actual_selected_rune.handle_portal("lava") else if(!is_station_level(z) || istype(get_area(src), /area/space)) 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 @@ -506,19 +506,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.update_icon(UPDATE_ICON_STATE) 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 @@ -558,8 +558,8 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/raise_dead/examine(mob/user) . = ..() if(iscultist(user) || user.stat == DEAD) - . += "Sacrifices unrewarded: [length(GLOB.sacrificed) - sacrifices_used]" - . += "Sacrifice cost per ressurection:There are no dead cultists on the rune!") + to_chat(user, span_cultitalic("There are no dead cultists on the rune!")) fail_invoke() return if(length(potential_revive_mobs) > 1) @@ -589,7 +589,7 @@ structure_check() searches for nearby cultist structures required for the invoca if(mob_to_revive.stat == DEAD) var/diff = length(GLOB.sacrificed) - SOULS_TO_REVIVE - sacrifices_used 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 sacrifices_used += SOULS_TO_REVIVE @@ -598,11 +598,11 @@ structure_check() searches for nearby cultist structures required for the invoca if(!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)) 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_dangerbigger("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(FALSE) mob_to_revive.key = C.key @@ -611,9 +611,9 @@ structure_check() searches for nearby cultist structures required for the invoca return SEND_SOUND(mob_to_revive, '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) @@ -627,7 +627,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!")) return FALSE return TRUE @@ -636,7 +636,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(iscultist(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 @@ -696,28 +696,28 @@ structure_check() searches for nearby cultist structures required for the invoca if(!cultist_to_summon) 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() return if(cultist_to_summon.pulledby || cultist_to_summon.buckled) - to_chat(user, "[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!") + to_chat(user, span_cultitalic("[cultist_to_summon] is being held in place!")) + to_chat(cultist_to_summon, span_cult("You feel a tugging sensation, but you are being held in place!")) fail_invoke() return if(!iscultist(cultist_to_summon)) - to_chat(user, "[cultist_to_summon] is not a follower of the [SSticker.cultdat.entity_title3]!") + to_chat(user, span_cultitalic("[cultist_to_summon] is not a follower of the [SSticker.cultdat.entity_title3]!")) fail_invoke() 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() 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), 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) @@ -754,21 +754,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) @@ -808,7 +808,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 @@ -825,8 +825,8 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/manifest/examine(mob/user) . = ..() if(iscultist(user) || user.stat == DEAD) - . += "Amount of ghosts summoned: [ghosts]" - . += "Maximum amount of ghosts: [clamp(default_ghost_limit - SSticker.mode.cult_objs.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_objs.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) @@ -834,26 +834,26 @@ 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() 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() return 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) || istype(get_area(src), /area/space)) - 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() 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() return list() if(ghosts >= clamp(default_ghost_limit - SSticker.mode.cult_objs.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() return list() summon_ghosts(user, T) @@ -869,7 +869,7 @@ structure_check() searches for nearby cultist structures required for the invoca if(O.client && !iscultist(O) && !jobban_isbanned(O, ROLE_CULTIST) && !O.has_enabled_antagHUD && !QDELETED(src) && !QDELETED(O)) 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() return list() @@ -882,23 +882,23 @@ structure_check() searches for nearby cultist structures required for the invoca new_human.apply_status_effect(STATUS_EFFECT_SUMMONEDGHOST) //ghosts can't summon more ghosts, also lets you see actual ghosts ghosts++ playsound(src, 'sound/misc/exit_blood.ogg', 50, TRUE) - 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) SSticker.mode.add_cultist(new_human.mind, 0) - to_chat(new_human, "You are a servant of the [SSticker.cultdat.entity_title3]. You have been made semi-corporeal by the cult of [SSticker.cultdat.entity_name], and you are to serve them at all costs.") + to_chat(new_human, span_cultlarge("You are a servant of the [SSticker.cultdat.entity_title3]. You have been made semi-corporeal by the cult of [SSticker.cultdat.entity_name], 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) @@ -907,8 +907,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_ground(I) SSticker.mode.remove_cultist(new_human.mind, FALSE) @@ -916,8 +916,8 @@ structure_check() searches for nearby cultist structures required for the invoca /obj/effect/rune/manifest/proc/ghostify(mob/living/user, turf/T) user.add_atom_colour(RUNE_COLOR_DARKRED, ADMIN_COLOUR_PRIORITY) - 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(TRUE) var/datum/action/innate/cult/comm/spirit/CM = new var/datum/action/innate/cult/check_progress/V = new @@ -929,16 +929,16 @@ structure_check() searches for nearby cultist structures required for the invoca //GM.Grant(ghost) while(!QDELETED(user)) 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 :^) if(user.key) - 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 sleep(5) CM.Remove(ghost) @@ -991,7 +991,7 @@ structure_check() searches for nearby cultist structures required for the invoca return if(gamemode.cult_objs.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.\"")) return //BEGIN THE SUMMONING @@ -1000,7 +1000,7 @@ structure_check() searches for nearby cultist structures required for the invoca color = rgb(255, 0, 0) ..() SEND_SOUND(world, 'sound/effects/narsie_summon.ogg') - to_chat(world, "The veil... is... TORN!!!--") + to_chat(world, span_cultitalic("The veil... [span_big("is...")] [span_reallybig("TORN!!!--")]")) update_icon(UPDATE_ICON_STATE) var/turf/T = get_turf(src) sleep(40) diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index 073f5fe4b1c..0720b3e0381 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -31,10 +31,10 @@ /datum/action/innate/ai/proc/adjust_uses(amt, 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!")) qdel(src) //Framework for ranged abilities that can have different effects by left-clicking stuff. @@ -56,10 +56,10 @@ /datum/action/innate/ai/ranged/adjust_uses(amt, 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!")) Remove(owner) QDEL_IN(src, 100) //let any active timers on us finish up @@ -73,8 +73,8 @@ //The actual ranged proc holder. /obj/effect/proc_holder/ranged_ai - var/enable_text = "Hello World!" //Appears when the user activates the ability - var/disable_text = "Goodbye Cruel World!" //Context clues! + var/enable_text = span_notice("Hello World!") //Appears when the user activates the ability + var/disable_text = span_danger("Goodbye Cruel World!") //Context clues! var/datum/action/innate/ai/ranged/attached_action /obj/effect/proc_holder/ranged_ai/proc/toggle(mob/user) @@ -108,7 +108,7 @@ . = ..() var/obj/machinery/power/apc/apc = owner_AI.loc if(!istype(apc)) // This shouldn't happen but here for safety. - to_chat(src, "You are already in your Main Core.") + to_chat(src, span_notice("You are already in your Main Core.")) return apc.malfvacate() qdel(src) @@ -152,7 +152,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) @@ -206,7 +206,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/action/innate/ai //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 @@ -225,7 +225,7 @@ cost = 130 one_purchase = TRUE power_type = /datum/action/innate/ai/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/action/innate/ai/nuke_station @@ -237,7 +237,7 @@ /datum/action/innate/ai/nuke_station/Activate() var/turf/T = get_turf(owner) if(!istype(T) || !is_station_level(T.z)) - to_chat(owner, "You cannot activate the doomsday device while off-station!") + to_chat(owner, span_warning("You cannot activate the doomsday device while off-station!")) return if(tgui_alert(owner, "Send arming signal? (true = arm, false = cancel)", "purge_all_life()", list("confirm = TRUE;", "confirm = FALSE;")) != "confirm = TRUE;") return @@ -247,7 +247,7 @@ set_us_up_the_bomb() /datum/action/innate/ai/nuke_station/proc/set_us_up_the_bomb() - to_chat(owner_AI, "Nuclear device armed.") + to_chat(owner_AI, span_notice("Nuclear device armed.")) GLOB.event_announcement.Announce("Во всех системах станции обнаружены вредоносные процессы, пожалуйста, деактивируйте ваш ИИ, чтобы предотвратить возможное повреждение его ядра морали.", "ВНИМАНИЕ: ОБНАРУЖЕНА АНОМАЛИЯ.", new_sound = 'sound/AI/aimalf.ogg') set_security_level("delta") owner_AI.nuking = TRUE @@ -276,7 +276,7 @@ /obj/machinery/doomsday_device/Destroy() STOP_PROCESSING(SSfastprocess, src) - + SSshuttle.remove_hostile_environment(src, 'sound/AI/shuttledock.ogg') return ..() @@ -325,7 +325,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/large/upgrade_turrets/upgrade(mob/living/silicon/ai/AI) @@ -345,7 +345,7 @@ cost = 30 one_purchase = TRUE power_type = /datum/action/innate/ai/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/action/innate/ai/lockdown name = "Lockdown" @@ -354,7 +354,7 @@ uses = 1 /datum/action/innate/ai/lockdown/Activate() - to_chat(owner, "Lockdown Initiated. Network reset in 90 seconds.") + to_chat(owner, span_warning("Lockdown Initiated. Network reset in 90 seconds.")) new /datum/event/door_runtime() //Destroy RCDs: Detonates all non-cyborg RCDs on the station. @@ -365,7 +365,7 @@ cost = 25 one_purchase = TRUE power_type = /datum/action/innate/ai/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/action/innate/ai/destroy_rcds name = "Destroy RCDs" @@ -379,7 +379,7 @@ if(!istype(RCD, /obj/item/rcd/borg)) //Ensures that cyborg RCDs are spared. RCD.detonate_pulse() - to_chat(owner, "RCD detonation pulse emitted.") + to_chat(owner, span_danger("RCD detonation pulse emitted.")) owner.playsound_local(owner, 'sound/machines/twobeep.ogg', 50, FALSE, use_reverb = FALSE) //Unlock Mech Domination: Unlocks the ability to dominate mechs. Big shocker, right? @@ -390,7 +390,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/large/mecha_domination/upgrade(mob/living/silicon/ai/AI) @@ -405,7 +405,7 @@ one_purchase = TRUE cost = 25 power_type = /datum/action/innate/ai/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/action/innate/ai/break_fire_alarms name = "Override Thermal Sensors" @@ -418,7 +418,7 @@ if(!is_station_level(alarm.z)) continue alarm.emagged = TRUE - to_chat(owner, "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.") + to_chat(owner, span_notice("All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.")) owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, FALSE, use_reverb = FALSE) //Air Alarm Safety Override: Unlocks the ability to enable flooding on all air alarms. @@ -430,7 +430,7 @@ one_purchase = TRUE cost = 50 power_type = /datum/action/innate/ai/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/action/innate/ai/break_air_alarms name = "Override Air Alarm Safeties" @@ -443,7 +443,7 @@ if(!is_station_level(AA.z)) continue AA.emagged = TRUE - to_chat(owner, "All air alarm safeties on the station have been overriden. Air alarms may now use the Flood environmental mode.") + to_chat(owner, span_notice("All air alarm safeties on the station have been overriden. Air alarms may now use the Flood environmental mode.")) owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, FALSE, use_reverb = FALSE) @@ -454,7 +454,7 @@ description = "Overheats an electrical machine, causing a small explosion and destroying it. Two uses per purchase." cost = 20 power_type = /datum/action/innate/ai/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/action/innate/ai/ranged/overload_machine name = "Overload Machine" @@ -477,8 +477,8 @@ /obj/effect/proc_holder/ranged_ai/overload_machine active = FALSE ranged_mousepointer = 'icons/effects/overload_machine_target.dmi' - enable_text = "You tap into the station's powernet. Click on a machine to detonate it, or use the ability again to cancel." - disable_text = "You release your hold on the powernet." + enable_text = span_notice("You tap into the station's powernet. Click on a machine to detonate it, or use the ability again to cancel.") + disable_text = span_notice("You release your hold on the powernet.") /obj/effect/proc_holder/ranged_ai/overload_machine/InterceptClickOn(mob/living/requester, params, obj/machinery/target) if(..()) @@ -487,10 +487,10 @@ remove_ranged_ability() return if(!istype(target)) - to_chat(ranged_ability_user, "You can only overload machines!") + to_chat(ranged_ability_user, span_warning("You can only overload machines!")) return if(target.resistance_flags & NO_MALF_EFFECT) - to_chat(ranged_ability_user, "That machine can't be overloaded!") + to_chat(ranged_ability_user, span_warning("That machine can't be overloaded!")) return ranged_ability_user.playsound_local(ranged_ability_user, "sparks", 50, FALSE, use_reverb = FALSE) @@ -498,9 +498,9 @@ if(attached_action && attached_action.uses) attached_action.desc = "[initial(attached_action.desc)] It has [attached_action.uses] use\s remaining." attached_action.UpdateButtonIcon() - 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(attached_action, TYPE_PROC_REF(/datum/action/innate/ai/ranged/overload_machine, detonate_machine), target), 50) //kaboom! - remove_ranged_ability(ranged_ability_user, "Overloading machine circuitry...") + remove_ranged_ability(ranged_ability_user, span_warning("Overloading machine circuitry...")) return TRUE @@ -511,7 +511,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/action/innate/ai/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/action/innate/ai/ranged/override_machine name = "Override Machine" @@ -532,8 +532,8 @@ /obj/effect/proc_holder/ranged_ai/override_machine active = FALSE ranged_mousepointer = 'icons/effects/override_machine_target.dmi' - enable_text = "You tap into the station's powernet. Click on a machine to animate it, or use the ability again to cancel." - disable_text = "You release your hold on the powernet." + enable_text = span_notice("You tap into the station's powernet. Click on a machine to animate it, or use the ability again to cancel.") + disable_text = span_notice("You release your hold on the powernet.") /obj/effect/proc_holder/ranged_ai/override_machine/InterceptClickOn(mob/living/requester, params, obj/machinery/target) if(..()) @@ -542,10 +542,10 @@ remove_ranged_ability() return if(!istype(target)) - to_chat(ranged_ability_user, "You can only animate machines!") + to_chat(ranged_ability_user, span_warning("You can only animate machines!")) return if(target.resistance_flags & NO_MALF_EFFECT) - to_chat(ranged_ability_user, "That machine can't be overridden!") + to_chat(ranged_ability_user, span_warning("That machine can't be overridden!")) return ranged_ability_user.playsound_local(ranged_ability_user, 'sound/misc/interference.ogg', 50, FALSE, use_reverb = FALSE) @@ -553,9 +553,9 @@ if(attached_action && attached_action.uses) attached_action.desc = "[initial(attached_action.desc)] It has [attached_action.uses] use\s remaining." attached_action.UpdateButtonIcon() - 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(attached_action, TYPE_PROC_REF(/datum/action/innate/ai/ranged/override_machine, animate_machine), target), 50) //kabeep! - remove_ranged_ability(ranged_ability_user, "Sending override signal...") + remove_ranged_ability(ranged_ability_user, span_danger("Sending override signal...")) return TRUE @@ -567,7 +567,7 @@ cost = 100 one_purchase = TRUE power_type = /datum/action/innate/ai/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/action/innate/ai/place_transformer @@ -598,7 +598,7 @@ new /obj/machinery/transformer(T, owner_AI) playsound(T, 'sound/effects/phasein.ogg', 100, 1) owner_AI.can_shunt = FALSE - to_chat(owner, "You are no longer able to shunt your core to APCs.") + to_chat(owner, span_warning("You are no longer able to shunt your core to APCs.")) adjust_uses(-1) /mob/living/silicon/ai/proc/remove_transformer_image(client/C, image/I, turf/T) @@ -630,7 +630,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 //Blackout: Overloads a random number of lights across the station. Three uses. @@ -640,7 +640,7 @@ description = "Attempts to overload the lighting circuits on the station, destroying some bulbs. Three uses." cost = 15 power_type = /datum/action/innate/ai/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/action/innate/ai/blackout name = "Blackout" @@ -661,7 +661,7 @@ INVOKE_ASYNC(apc, TYPE_PROC_REF(/obj/machinery/power/apc, overload_lighting)) else apc.overload++ - to_chat(owner, "Overcurrent applied to the powernet.") + to_chat(owner, span_notice("Overcurrent applied to the powernet.")) owner.playsound_local(owner, "sparks", 50, FALSE, use_reverb = FALSE) adjust_uses(-1) if(src && uses) //Not sure if not having src here would cause a runtime, so it's here to be safe @@ -676,7 +676,7 @@ cost = 10 one_purchase = TRUE power_type = /datum/action/innate/ai/reactivate_cameras - unlock_text = "You deploy nanomachines to the cameranet." + unlock_text = span_notice("You deploy nanomachines to the cameranet.") /datum/action/innate/ai/reactivate_cameras name = "Reactivate Cameras" @@ -702,7 +702,7 @@ C.view_range = initial(C.view_range) fixed_cameras++ uses-- //Not adjust_uses() so it doesn't automatically delete or show a message - to_chat(owner, "Diagnostic complete! Cameras reactivated: [fixed_cameras]. Reactivations remaining: [uses].") + to_chat(owner, span_notice("Diagnostic complete! Cameras reactivated: [fixed_cameras]. Reactivations remaining: [uses].")) owner.playsound_local(owner, 'sound/items/wirecutter.ogg', 50, FALSE, use_reverb = FALSE) adjust_uses(0, TRUE) //Checks the uses remaining if(src && uses) //Not sure if not having src here would cause a runtime, so it's here to be safe @@ -718,7 +718,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/large/upgrade_cameras/upgrade(mob/living/silicon/ai/AI) @@ -750,7 +750,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/large/eavesdrop/upgrade(mob/living/silicon/ai/AI) @@ -764,7 +764,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/large/cameracrack/upgrade(mob/living/silicon/ai/AI) diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm index 21c7e12488b..63cf46c59e7 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction.dm @@ -156,10 +156,10 @@ var/team_name = team_names[team_number] var/list/messages = list() - messages.Add("You are an agent of [team_name]!") - messages.Add("With the help of your teammate, kidnap and experiment on station crew members!") - messages.Add("Use your stealth technology and equipment to incapacitate humans for your scientist to retrieve.") - messages.Add("С полной информацией вы можете ознакомиться на вики: Абдуктор") + messages.Add(span_notice("You are an agent of [team_name]!")) + messages.Add(span_notice("With the help of your teammate, kidnap and experiment on station crew members!")) + messages.Add(span_notice("Use your stealth technology and equipment to incapacitate humans for your scientist to retrieve.")) + messages.Add(span_motd("С полной информацией вы можете ознакомиться на вики: Абдуктор")) messages.Add(abductor.prepare_announce_objectives()) to_chat(abductor.current, chat_box_red(messages.Join("
"))) log_game("[abductor] has become an abductor agent.") @@ -171,10 +171,10 @@ var/team_name = team_names[team_number] var/list/messages = list() - messages.Add("You are a scientist of [team_name]!") - messages.Add("With the help of your teammate, kidnap and experiment on station crew members!") - messages.Add("Use your tool and ship consoles to support the agent and retrieve human specimens.") - messages.Add("For more information, check the wiki page: Абдуктор") + messages.Add(span_notice("You are a scientist of [team_name]!")) + messages.Add(span_notice("With the help of your teammate, kidnap and experiment on station crew members!")) + messages.Add(span_notice("Use your tool and ship consoles to support the agent and retrieve human specimens.")) + messages.Add(span_motd("For more information, check the wiki page: Абдуктор")) messages.Add(abductor.prepare_announce_objectives()) to_chat(abductor.current, chat_box_red(messages.Join("
"))) abductor.current.create_log(MISC_LOG, "[abductor.current] was made into an abductor scientist") @@ -203,7 +203,7 @@ var/datum/objective/objective = team_objectives[team_number] var/team_name = team_names[team_number] if(console.experiment.points >= 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, span_boldannounceooc("[team_name] team failed its mission.")) ..() @@ -214,7 +214,7 @@ if(!length(abductors)) return - text += "
The abductors were:
" + text += span_big("
The abductors were:
") for(var/datum/mind/abductor_mind in abductors) text += printplayer(abductor_mind) text += "
" @@ -222,7 +222,7 @@ text += "
" if(abductees.len) - text += "
The abductees were:
" + text += span_big("
The abductees were:
") for(var/datum/mind/abductee_mind in abductees) text += printplayer(abductee_mind) text += "
" @@ -285,9 +285,9 @@ abductor_mind.special_role = null add_conversion_logs(abductor_mind.current, "No longer abductor") if(issilicon(abductor_mind.current)) - to_chat(abductor_mind.current, "You have been turned into a robot! You are no longer an abductor.") + to_chat(abductor_mind.current, span_userdanger("You have been turned into a robot! You are no longer an abductor.")) else - to_chat(abductor_mind.current, "You have been brainwashed! You are no longer an abductor.") + to_chat(abductor_mind.current, span_userdanger("You have been brainwashed! You are no longer an abductor.")) SSticker.mode.update_abductor_icons_removed(abductor_mind) /datum/game_mode/proc/update_abductor_icons_added(datum/mind/alien_mind) diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index acbb4b46ba9..a792fce1bbb 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -117,7 +117,7 @@ /obj/item/clothing/suit/armor/abductor/vest/proc/Adrenaline() if(ishuman(loc)) if(combat_cooldown != initial(combat_cooldown)) - to_chat(loc, "Combat injection is still recharging.") + to_chat(loc, span_warning("Combat injection is still recharging.")) return var/mob/living/carbon/human/M = loc M.adjustStaminaLoss(-75) @@ -147,7 +147,7 @@ /obj/item/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) @@ -158,7 +158,7 @@ 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 /obj/item/abductor/gizmo @@ -184,7 +184,7 @@ 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) @@ -192,7 +192,7 @@ else mode = GIZMO_SCAN update_icon(UPDATE_ICON_STATE) - 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(mob/living/target, mob/living/user, params, def_zone, skip_attack_anim = FALSE) @@ -217,7 +217,7 @@ 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) @@ -229,16 +229,16 @@ /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 @@ -246,12 +246,12 @@ /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, 10 SECONDS, 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) @@ -291,7 +291,7 @@ 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) @@ -328,7 +328,7 @@ else mode = MIND_DEVICE_MESSAGE update_icon(UPDATE_ICON_STATE) - 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(atom/target, mob/living/user, flag, params) if(!ScientistCheck(user)) @@ -345,13 +345,13 @@ var/mob/living/carbon/C = target var/obj/item/organ/internal/heart/gland/G = C.get_organ_slot(INTERNAL_ORGAN_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") @@ -366,13 +366,13 @@ 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) @@ -380,8 +380,8 @@ 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:")] [span_abductor(message)]") + to_chat(user, span_notice("You send the message to your target.")) add_say_logs(user, message, L, "Mind device") /obj/item/gun/energy/alien @@ -645,8 +645,8 @@ Congratulations! You are now trained for invasive xenobiology research!"} item_flags = DROPDEL /obj/item/restraints/handcuffs/energy/used/dropped(mob/user, slot, silent = FALSE) - 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!")) do_sparks(4, 0, user.loc) . = ..() diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm index 13501fdc868..6dac118affd 100644 --- a/code/game/gamemodes/miniantags/abduction/gland.dm +++ b/code/game/gamemodes/miniantags/abduction/gland.dm @@ -50,8 +50,8 @@ if(!ownerCheck() || !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]") @@ -63,7 +63,7 @@ /obj/item/organ/internal/heart/gland/proc/clear_mind_control() if(!ownerCheck() || !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() @@ -112,7 +112,7 @@ mind_control_duration = 3000 /obj/item/organ/internal/heart/gland/heals/activate() - to_chat(owner, "You feel curiously revitalized.") + to_chat(owner, span_notice("You feel curiously revitalized.")) var/update = NONE update |= owner.heal_overall_damage(20, 20, updating_health = FALSE) update |= owner.heal_damages(tox = 20, oxy = 20, updating_health = FALSE) @@ -133,7 +133,7 @@ owner.add_language(LANGUAGE_SLIME) /obj/item/organ/internal/heart/gland/slime/activate() - to_chat(owner, "You feel nauseous!") + to_chat(owner, span_warning("You feel nauseous!")) owner.vomit(20) var/mob/living/simple_animal/slime/Slime = new(get_turf(owner), "grey") @@ -150,7 +150,7 @@ mind_control_duration = 6000 /obj/item/organ/internal/heart/gland/mindshock/activate() - 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)) @@ -158,10 +158,10 @@ continue switch(rand(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.apply_damage(rand(5, 15), BRAIN) if(3) @@ -178,7 +178,7 @@ /obj/item/organ/internal/heart/gland/pop/activate() var/mob/living/carbon/human/h_owner = owner - to_chat(h_owner, "You feel unlike yourself.") + to_chat(h_owner, span_notice("You feel unlike yourself.")) var/obj/item/organ/internal/heart/gland/pop/gland = locate() in h_owner.internal_organs var/old_control_uses = initial(mind_control_uses) if(gland) @@ -207,7 +207,7 @@ /obj/item/organ/internal/heart/gland/ventcrawling/activate() - to_chat(owner, "You feel very stretchy.") + to_chat(owner, span_notice("You feel very stretchy.")) ADD_TRAIT(owner, TRAIT_VENTCRAWLER_ALWAYS, type) @@ -220,7 +220,7 @@ mind_control_duration = 1800 /obj/item/organ/internal/heart/gland/viral/activate() - to_chat(owner, "You feel sick.") + to_chat(owner, span_warning("You feel sick.")) var/datum/disease/virus/advance/new_virus new_virus = CreateRandomVirus(count_of_symptoms = rand(4, 6), resistance = rand(0,11), stealth = pick(0,0,1,1,2), stage_rate = rand(-11,5), transmittable = rand(2,9), severity = rand(0,5)) @@ -240,7 +240,7 @@ emp_proof = TRUE // EMP should not stop our own heart instantly /obj/item/organ/internal/heart/gland/emp/activate() - to_chat(owner, "You feel a spike of pain in your head.") + to_chat(owner, span_warning("You feel a spike of pain in your head.")) empulse(get_turf(owner), 2, 5, TRUE, "Alien EMP Organ") /obj/item/organ/internal/heart/gland/spiderman @@ -252,7 +252,7 @@ mind_control_duration = 2400 /obj/item/organ/internal/heart/gland/spiderman/activate() - 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/obj/structure/spider/spiderling/S = new(owner.loc) S.master_commander = owner @@ -266,7 +266,7 @@ mind_control_duration = 1800 /obj/item/organ/internal/heart/gland/egg/activate() - owner.visible_message("[owner] [pick(EGG_LAYING_MESSAGES)]") + owner.visible_message(span_alertalien("[owner] [pick(EGG_LAYING_MESSAGES)]")) new /obj/item/reagent_containers/food/snacks/egg/gland(get_turf(owner)) /obj/item/organ/internal/heart/gland/electric @@ -289,8 +289,8 @@ return ..() /obj/item/organ/internal/heart/gland/electric/activate() - 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)) @@ -338,15 +338,15 @@ /obj/item/organ/internal/heart/gland/plasma/activate() 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/demons/pulse_demon/pulse_demon.dm b/code/game/gamemodes/miniantags/demons/pulse_demon/pulse_demon.dm index 3c58fa11ada..be5924c5ec7 100644 --- a/code/game/gamemodes/miniantags/demons/pulse_demon/pulse_demon.dm +++ b/code/game/gamemodes/miniantags/demons/pulse_demon/pulse_demon.dm @@ -268,7 +268,7 @@ drainpower.owner = mind tampermach.owner = mind greeting.Add(mind.prepare_announce_objectives(FALSE)) - greeting.Add("С полной информацией вы можете ознакомиться на вики: Электродемон") + greeting.Add(span_motd("С полной информацией вы можете ознакомиться на вики: Электродемон")) to_chat(src, chat_box_yellow(greeting.Join("
"))) SSticker.mode.traitors |= mind return @@ -423,16 +423,16 @@ var/turf/current_turf = get_turf(src) if(!locate(/obj/structure/cable/multiz) in current_turf) - to_chat(src, "You need to be on multi z cable hub to move up and down!") + to_chat(src, span_warning("You need to be on multi z cable hub to move up and down!")) return FALSE var/turf/turf_to_check = GET_TURF_ABOVE(current_turf) if(!(can_exit_cable || locate(/obj/structure/cable/multiz) in turf_to_check)) - to_chat(src, "There isn't a connected cable to be moved on!") + to_chat(src, span_warning("There isn't a connected cable to be moved on!")) return FALSE if(zMove(UP, z_move_flags = ZMOVE_FEEDBACK|ZMOVE_IGNORE_OBSTACLES)) - to_chat(src, "You move upwards.") + to_chat(src, span_notice("You move upwards.")) /mob/living/simple_animal/demon/pulse_demon/move_down() set name = "Move Down" @@ -440,16 +440,16 @@ var/turf/current_turf = get_turf(src) if(!locate(/obj/structure/cable/multiz) in current_turf) - to_chat(src, "You need to be on multi z cable hub to move up and down!") + to_chat(src, span_warning("You need to be on multi z cable hub to move up and down!")) return var/turf/turf_to_check = GET_TURF_BELOW(current_turf) if(!(can_exit_cable || locate(/obj/structure/cable/multiz) in turf_to_check)) - to_chat(src, "There isn't a connected cable to be moved on!") + to_chat(src, span_warning("There isn't a connected cable to be moved on!")) return FALSE if(zMove(DOWN, z_move_flags = ZMOVE_FEEDBACK|ZMOVE_IGNORE_OBSTACLES)) - to_chat(src, "You move down.") + to_chat(src, span_notice("You move down.")) // signal to replace relaymove where or when? // Never, actually just manage your code instead /obj/machinery/power/relaymove(mob/user, dir) diff --git a/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm b/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm index a4e4f68fb5d..1b9c01b0648 100644 --- a/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm +++ b/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm @@ -254,7 +254,7 @@ messages.Add("You can wrap dead humanoid bodies by attacking them, use Alt+Click on the shadow cocoon afterwards to lure more victims.") messages.Add("You move quickly and regenerate fast in the shadows, but any light source will hurt you to the death. STAY AWAY FROM THE LIGHT! ") messages.Add(span_notice("You are not currently in the same plane of existence as the station. Use the shadow crawl action near any dark spot.")) - messages.Add("С полной информацией вы можете ознакомиться на вики: Теневой демон") + messages.Add(span_motd("С полной информацией вы можете ознакомиться на вики: Теневой демон")) src << 'sound/misc/demon_dies.ogg' if(vialspawned) return diff --git a/code/game/gamemodes/miniantags/demons/slaughter_demon/slaughter_demon.dm b/code/game/gamemodes/miniantags/demons/slaughter_demon/slaughter_demon.dm index 25612a08176..6208351ca50 100644 --- a/code/game/gamemodes/miniantags/demons/slaughter_demon/slaughter_demon.dm +++ b/code/game/gamemodes/miniantags/demons/slaughter_demon/slaughter_demon.dm @@ -46,7 +46,7 @@ var/list/messages = list() messages.Add(playstyle_string) - messages.Add("You are not currently in the same plane of existence as the station. Use the blood crawl action at a blood pool to manifest.") + messages.Add(span_notice("You are not currently in the same plane of existence as the station. Use the blood crawl action at a blood pool to manifest.")) src << 'sound/misc/demon_dies.ogg' if(vialspawned) return @@ -59,7 +59,7 @@ mind.objectives += objective mind.objectives += fluffObjective messages.Add(mind.prepare_announce_objectives(FALSE)) - messages.Add("С полной информацией вы можете ознакомиться на вики: Демон резни") + messages.Add(span_motd("С полной информацией вы можете ознакомиться на вики: Демон резни")) to_chat(src, chat_box_red(messages.Join("
"))) @@ -86,10 +86,10 @@ melee_damage_lower = 60 environment_smash = ENVIRONMENT_SMASH_RWALLS //Smashes through EVERYTHING - r-walls included faction = list("cult") - playstyle_string = "You are a Harbinger of the Slaughter. Brought forth by the servants of Nar'Sie, you have a single purpose: slaughter the heretics \ - who do not worship your master. You may use the ability 'Blood Crawl' near a pool of blood to enter it and become incorporeal. Using the ability again near a blood pool will allow you \ + playstyle_string = "You are a Harbinger of the Slaughter. Brought forth by the servants of Nar'Sie, you have a single purpose: slaughter the heretics \ + who do not worship your master. You may use the ability \"Blood Crawl\" near a pool of blood to enter it and become incorporeal. Using the ability again near a blood pool will allow you \ to emerge from it. You are fast, powerful, and almost invincible. By dragging a dead or unconscious body into a blood pool with you, you will consume it after a time and fully regain \ - your health. You may use the ability 'Sense Victims' in your Cultist tab to locate a random, living heretic." + your health. You may use the ability \"Sense Victims\" in your Cultist tab to locate a random, living heretic.
" /mob/living/simple_animal/demon/slaughter/cult/attempt_objectives() diff --git a/code/game/gamemodes/miniantags/guardian/host_actions.dm b/code/game/gamemodes/miniantags/guardian/host_actions.dm index 19844ce2882..b5084fe7348 100644 --- a/code/game/gamemodes/miniantags/guardian/host_actions.dm +++ b/code/game/gamemodes/miniantags/guardian/host_actions.dm @@ -32,14 +32,14 @@ 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]")) add_say_logs(owner, input, guardian, "Guardian") // Show the message to any ghosts/dead players. for(var/mob/M in GLOB.dead_mob_list) if(M && M.client && M.stat == DEAD && !isnewplayer(M)) - to_chat(M, "Guardian Communication from [owner] ([ghost_follow_link(owner, ghost=M)]): [input]") + to_chat(M, span_changeling("Guardian Communication from [owner] ([ghost_follow_link(owner, ghost=M)]): [input]")) /** * # Recall guardian action @@ -72,7 +72,7 @@ /datum/action/guardian/reset_guardian/Trigger(left_click = TRUE) 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")) @@ -83,17 +83,17 @@ cooldown_timer = addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), 5 MINUTES) UpdateButtonIcon() - 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.")) log_game("[owner](ckey: [owner.ckey]) has tried to replace their guardian, but there were no candidates willing to enroll.") 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() diff --git a/code/game/gamemodes/miniantags/guardian/types/assassin.dm b/code/game/gamemodes/miniantags/guardian/types/assassin.dm index 5973a6a65af..a539450c83f 100644 --- a/code/game/gamemodes/miniantags/guardian/types/assassin.dm +++ b/code/game/gamemodes/miniantags/guardian/types/assassin.dm @@ -70,9 +70,9 @@ alpha = initial(alpha) damage_transfer = 1 if(!forced) - to_chat(src, "Вы вышли из невидимости.") + to_chat(src, span_danger("Вы вышли из невидимости.")) 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() @@ -87,11 +87,11 @@ alpha = 15 damage_transfer = 1.1 if(!forced) - to_chat(src, "Вы вошли в невидимость, усилив свою следующую атаку.") + to_chat(src, span_danger("Вы вошли в невидимость, усилив свою следующую атаку.")) updatestealthalert() toggle = TRUE else if(!forced) - to_chat(src, "Вы не можете скрыться, подождите ещё [max(round((stealthcooldown - world.time)*0.1, 0.1), 0)] секунд!") + to_chat(src, span_danger("Вы не можете скрыться, подождите ещё [max(round((stealthcooldown - world.time)*0.1, 0.1), 0)] секунд!")) /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 f101051342c..09574eb26ae 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 @@ -68,7 +68,7 @@ blocked = TRUE if(!blocked) L.Weaken(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(30, 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/healer.dm b/code/game/gamemodes/miniantags/guardian/types/healer.dm index 4ec1824c88a..8172c85b188 100644 --- a/code/game/gamemodes/miniantags/guardian/types/healer.dm +++ b/code/game/gamemodes/miniantags/guardian/types/healer.dm @@ -49,7 +49,7 @@ . = ..() if(toggle) if(loc == summoner) - to_chat(src, "Нужно явить себя для лечения!") + to_chat(src, span_danger("Нужно явить себя для лечения!")) return if(iscarbon(target)) var/mob/living/carbon/c_target = target @@ -78,17 +78,17 @@ hud_used.action_intent.icon_state = a_intent melee_damage_lower = 5 melee_damage_upper = 5 - to_chat(src, "Вы переключились в боевой режим.") + to_chat(src, span_danger("Вы переключились в боевой режим.")) toggle = FALSE else a_intent = INTENT_HELP hud_used.action_intent.icon_state = a_intent melee_damage_lower = 0 melee_damage_upper = 0 - to_chat(src, "Вы переключились в режим исцеления.") + to_chat(src, span_danger("Вы переключились в режим исцеления.")) toggle = TRUE else - to_chat(src, "Нужно быть в хозяине для переключения режимов!") + to_chat(src, span_danger("Нужно быть в хозяине для переключения режимов!")) /mob/living/simple_animal/hostile/guardian/healer/verb/Beacon() set name = "Установить блюспейс маяк" @@ -102,35 +102,35 @@ F.name = "bluespace recieving pad" F.desc = "A recieving zone for bluespace teleportations. Building a wall over it should disable it." F.icon_state = "light_on-w" - to_chat(src, "Маяк установлен! Вы можете телепортировать на него вещи и людей, нажав Alt+Click ") + to_chat(src, span_danger("Маяк установлен! Вы можете телепортировать на него вещи и людей, нажав Alt+Click ")) if(beacon) beacon.ChangeTurf(/turf/simulated/floor/plating) beacon = F beacon_cooldown = world.time + default_beacon_cooldown else - to_chat(src, "Ваша сила на перезарядке! Нужно дождаться ещё [max(round((beacon_cooldown - world.time)*0.1, 0.1), 0)] секунд, пока вы сможете переставить маяк.") + to_chat(src, span_danger("Ваша сила на перезарядке! Нужно дождаться ещё [max(round((beacon_cooldown - world.time)*0.1, 0.1), 0)] секунд, пока вы сможете переставить маяк.")) /mob/living/simple_animal/hostile/guardian/healer/AltClickOn(atom/movable/A) if(!istype(A)) return if(loc == summoner) - to_chat(src, "Вы должны явить себя для телепортации вещей!") + to_chat(src, span_danger("Вы должны явить себя для телепортации вещей!")) return if(!beacon) - to_chat(src, "Вам нужно установить маяк чтобы телепортировать вещи!") + to_chat(src, span_danger("Вам нужно установить маяк чтобы телепортировать вещи!")) return if(!Adjacent(A)) - to_chat(src, "Вам нужно быть рядом с целью!") + to_chat(src, span_danger("Вам нужно быть рядом с целью!")) return if((A.anchored)) - to_chat(src, "Цель прикреплена к полу. Телепортация невозможна.") + to_chat(src, span_danger("Цель прикреплена к полу. Телепортация невозможна.")) return - to_chat(src, "Вы начинаете телепортировать [A]") + to_chat(src, span_danger("Вы начинаете телепортировать [A]")) if(do_after(src, 5 SECONDS, A, NONE)) if(!A.anchored) if(!beacon) //Check that the beacon still exists and is in a safe place. No instant kills. - to_chat(src, "Вам нужно установить маяк чтобы телепортировать вещи!") + to_chat(src, span_danger("Вам нужно установить маяк чтобы телепортировать вещи!")) return var/turf/T = beacon if(T.is_safe()) @@ -139,10 +139,10 @@ investigate_log("[key_name_log(src)] teleported [key_name_log(A)] to [COORD(beacon)].", INVESTIGATE_TELEPORTATION) new /obj/effect/temp_visual/guardian/phase(get_turf(A)) return - to_chat(src, "Маячок не в безопасном месте, нужен кислород для хозяина.") + to_chat(src, span_danger("Маячок не в безопасном месте, нужен кислород для хозяина.")) return else - to_chat(src, "Вам нужно стоять смирно!") + to_chat(src, span_danger("Вам нужно стоять смирно!")) /obj/effect/proc_holder/spell/guardian_quickmend diff --git a/code/game/gamemodes/miniantags/guardian/types/lightning.dm b/code/game/gamemodes/miniantags/guardian/types/lightning.dm index b0f90a69ac9..e41de7b2c05 100644 --- a/code/game/gamemodes/miniantags/guardian/types/lightning.dm +++ b/code/game/gamemodes/miniantags/guardian/types/lightning.dm @@ -93,9 +93,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(3) . = 1 diff --git a/code/game/gamemodes/miniantags/guardian/types/protector.dm b/code/game/gamemodes/miniantags/guardian/types/protector.dm index 582b0cd0a2a..5e8b02fa3a7 100644 --- a/code/game/gamemodes/miniantags/guardian/types/protector.dm +++ b/code/game/gamemodes/miniantags/guardian/types/protector.dm @@ -16,7 +16,7 @@ else ..() if(toggle) - visible_message("The explosion glances off [src]'s energy shielding!") //FLEX + visible_message(span_danger("The explosion glances off [src]'s energy shielding!")) //FLEX /mob/living/simple_animal/hostile/guardian/protector/New() ..() @@ -35,7 +35,7 @@ melee_damage_upper = initial(melee_damage_upper) obj_damage = initial(obj_damage) damage_transfer = 0.4 - to_chat(src, "Вы переключились в боевой режим.") + to_chat(src, span_danger("Вы переключились в боевой режим.")) toggle = FALSE else @@ -44,7 +44,7 @@ melee_damage_lower = 2 melee_damage_upper = 2 damage_transfer = 0.05 //damage? what's damage? - to_chat(src, "Вы переключились в режим защиты.") + to_chat(src, span_danger("Вы переключились в режим защиты.")) toggle = TRUE /mob/living/simple_animal/hostile/guardian/protector/snapback() //snap to what? snap to the guardian! @@ -54,12 +54,12 @@ return else if(istype(summoner.loc, /obj/effect)) - to_chat(src, "Вы вышли из дальности связи и вернулись обратно! Вы можете двигаться только в радиусе [range] метров от [summoner.real_name]!") - visible_message("[src] jumps back to its user.") + to_chat(src, span_holoparasite("Вы вышли из дальности связи и вернулись обратно! Вы можете двигаться только в радиусе [range] метров от [summoner.real_name]!")) + visible_message(span_danger("[src] jumps back to its user.")) Recall(TRUE) else - to_chat(summoner, "Вы вышли из дальности связи и вернулись обратно! Вы можете двигаться только в радиусе [range] метров от [src]!") - summoner.visible_message("[summoner] jumps back to [summoner.p_their()] protector.") + to_chat(summoner, span_holoparasite("Вы вышли из дальности связи и вернулись обратно! Вы можете двигаться только в радиусе [range] метров от [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 diff --git a/code/game/gamemodes/miniantags/guardian/types/ranged.dm b/code/game/gamemodes/miniantags/guardian/types/ranged.dm index 9f7e34b266c..ceeb99b0ddb 100644 --- a/code/game/gamemodes/miniantags/guardian/types/ranged.dm +++ b/code/game/gamemodes/miniantags/guardian/types/ranged.dm @@ -33,7 +33,7 @@ if(energy>=20) ranged = 1 if(energy<=5) - to_chat(src, "Энергия на нуле. Стрельба заблокирована.") + to_chat(src, span_danger("Энергия на нуле. Стрельба заблокирована.")) ranged = 0 /mob/living/simple_animal/hostile/guardian/ranged/get_status_tab_items() @@ -58,7 +58,7 @@ alpha = 255 range = 13 incorporeal_move = INCORPOREAL_NONE - to_chat(src, "Вы переключились в боевой режим.") + to_chat(src, span_danger("Вы переключились в боевой режим.")) toggle = FALSE else ranged = 0 @@ -69,10 +69,10 @@ alpha = 60 range = 255 incorporeal_move = INCORPOREAL_NORMAL - to_chat(src, "Вы переключились в режим разведки.") + to_chat(src, span_danger("Вы переключились в режим разведки.")) toggle = TRUE else - to_chat(src, "Нужно быть в хозяине для смены режимов!") + to_chat(src, span_danger("Нужно быть в хозяине для смены режимов!")) /mob/living/simple_animal/hostile/guardian/ranged/ToggleLight() var/msg @@ -92,7 +92,7 @@ update_sight() - to_chat(src, "[msg]") + to_chat(src, span_notice("[msg]")) /mob/living/simple_animal/hostile/guardian/ranged/verb/Snare() set name = "Установить ловушку для слежки" @@ -103,9 +103,9 @@ var/obj/item/effect/snare/snare = new(snare_loc, src) snare.name = "[get_area(snare_loc)] trap ([rand(1, 1000)])" snares |= snare - to_chat(src, "Ловушка слежения установлена!") + to_chat(src, span_danger("Ловушка слежения установлена!")) else - to_chat(src, "У вас установлено слишком много ловушек. Сначала удалите некоторые.") + to_chat(src, span_danger("У вас установлено слишком много ловушек. Сначала удалите некоторые.")) /mob/living/simple_animal/hostile/guardian/ranged/verb/DisarmSnare() set name = "Удалить ловушку для наблюдения" @@ -115,7 +115,7 @@ if(picked_snare) snares -= picked_snare qdel(picked_snare) - to_chat(src, "Ловушка убрана.") + to_chat(src, span_danger("Ловушка убрана.")) /obj/item/effect/snare diff --git a/code/game/gamemodes/miniantags/guardian/types/standard.dm b/code/game/gamemodes/miniantags/guardian/types/standard.dm index a16bf67dd28..489ccc8b2ce 100644 --- a/code/game/gamemodes/miniantags/guardian/types/standard.dm +++ b/code/game/gamemodes/miniantags/guardian/types/standard.dm @@ -24,7 +24,7 @@ . = ..() if(iscarbon(target) && target != summoner) if(length_char(battlecry) > 8)//no more then 8 letters in a battle cry. - visible_message("[src] punches [target]!") + visible_message(span_danger("[src] punches [target]!")) else say("[battlecry]", TRUE) playsound(loc, attack_sound, 50, 1, 1) diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm index 29702d6aafd..14a1892321d 100644 --- a/code/game/gamemodes/miniantags/morph/morph.dm +++ b/code/game/gamemodes/miniantags/morph/morph.dm @@ -127,23 +127,23 @@ /mob/living/simple_animal/hostile/morph/proc/try_eat(atom/movable/item) var/food_value = calc_food_gained(item) 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 [item]... disgusting...." + eat_self_message = span_warning("You start eating [item]... disgusting....") else - eat_self_message = "You start eating [item]." - visible_message("[src] starts eating [target]!", eat_self_message, "You hear loud crunching!") + eat_self_message = span_notice("You start eating [item].") + visible_message(span_warning("[src] starts eating [target]!"), eat_self_message, "You hear loud crunching!") if(do_after(src, 3 SECONDS, item)) 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(item) /mob/living/simple_animal/hostile/morph/proc/eat(atom/movable/item) if(item && item.loc != src) - visible_message("[src] swallows [item] whole!") + visible_message(span_warning("[src] swallows [item] whole!")) item.extinguish_light() item.forceMove(src) @@ -199,7 +199,7 @@ melee_damage_upper = initial(melee_damage_upper) set_varspeed(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.updateButtonIcon() move_resist = MOVE_FORCE_STRONG // Return to their fatness @@ -207,7 +207,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)) @@ -220,12 +220,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!")) /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/death(gibbed) @@ -242,11 +242,11 @@ /mob/living/simple_animal/hostile/morph/attack_hand(mob/living/carbon/human/attacker) if(ambush_prepared) - to_chat(attacker, "[src] feels a bit different from normal... it feels more.. SLIMEY?!") + to_chat(attacker, "[span_warning("[src] feels a bit different from normal... it feels more... ")][span_userdanger("SLIMEY?!")]") ambush_attack(attacker, TRUE) return TRUE else if (!morphed) - to_chat(attacker, "Touching [src] with your hands hurts you!") + to_chat(attacker, span_warning("Touching [src] with your hands hurts you!")) attacker.apply_damage(20, def_zone = attacker.hand ? BODY_ZONE_PRECISE_L_HAND : BODY_ZONE_PRECISE_R_HAND) add_food(5) @@ -290,7 +290,7 @@ /mob/living/simple_animal/hostile/morph/attack_animal(mob/living/simple_animal/animal) if(animal.a_intent == INTENT_HELP && ambush_prepared) - to_chat(animal, "You nuzzle [src]. And [src] nuzzles back!") + to_chat(animal, "[span_notice("You nuzzle [src].")][span_danger(" And [src] nuzzles back!")]") ambush_attack(animal, TRUE) return TRUE restore_form() @@ -320,7 +320,7 @@ dumbass.apply_damage(total_damage, BRUTE) add_attack_logs(src, dumbass, "morph ambush attacked") do_attack_animation(dumbass, ATTACK_EFFECT_BITE) - visible_message("[src] suddenly leaps towards [dumbass]!", "You strike [dumbass] when [dumbass.p_they()] least expected it!", "You hear a horrible crunch!") + visible_message(span_danger("[src] suddenly leaps towards [dumbass]!"), span_warning("You strike [dumbass] when [dumbass.p_they()] least expected it!"), "You hear a horrible crunch!") restore_form() @@ -370,14 +370,14 @@ 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("С полной информацией вы можете ознакомиться на вики: Морф") + 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 [span_specialnoticebold("Mimic ability.")]")) + messages.Add(span_specialnotice("The transformation will not go unnoticed for bystanding observers.")) + messages.Add("[span_specialnoticebold("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 [span_specialnoticebold("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("С полной информацией вы можете ознакомиться на вики: Морф")) SEND_SOUND(src, sound('sound/magic/mutate.ogg')) if(give_default_objectives) diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm index 7705fed44c8..f1dcfdf1cd8 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant.dm @@ -79,11 +79,11 @@ revealed = 0 incorporeal_move = INCORPOREAL_REVENANT invisibility = INVISIBILITY_REVENANT - to_chat(src, "You are once more concealed.") + to_chat(src, span_revenboldnotice("You are once more concealed.")) if(unstun_time && world.time >= unstun_time) unstun_time = 0 REMOVE_TRAIT(src, TRAIT_NO_TRANSFORM, REVENANT_TRAIT) - to_chat(src, "You can move again!") + to_chat(src, span_revenboldnotice("You can move again!")) update_icon(UPDATE_ICON_STATE) /mob/living/simple_animal/revenant/can_perform_action(atom/target, action_bitflags) @@ -120,7 +120,7 @@ return . essence = max(0, essence-amount) if(essence == 0) - to_chat(src, "You feel your essence fraying!") + to_chat(src, span_revendanger("You feel your essence fraying!")) /mob/living/simple_animal/revenant/say(message) @@ -133,7 +133,7 @@ return emote(copytext(message, 2), intentional = TRUE) for(var/mob/M in GLOB.mob_list) - var/rendered = "[src] [(isobserver(M) ? ("([ghost_follow_link(src, ghost=M)])") : "")] says, \"[message]\"" + var/rendered = span_revennotice("[src] [(isobserver(M) ? ("([ghost_follow_link(src, ghost=M)])") : "")] says, \"[message]\"") if(istype(M, /mob/living/simple_animal/revenant) || isobserver(M)) to_chat(M, rendered) @@ -190,13 +190,13 @@ mind.wipe_memory() SEND_SOUND(src, '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("С полной информацией вы можете ознакомиться на вики: Ревенант") + messages.Add(span_motd("С полной информацией вы можете ознакомиться на вики: Ревенант")) var/datum/objective/revenant/objective = new objective.owner = mind mind.objectives += objective @@ -233,12 +233,12 @@ 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...")) ADD_TRAIT(src, TRAIT_NO_TRANSFORM, REVENANT_TRAIT) revealed = 1 invisibility = 0 playsound(src, 'sound/effects/screech.ogg', 100, 1) - 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!")) update_icon(UPDATE_ICON_STATE) delayed_death() @@ -249,7 +249,7 @@ sleep(2.5 SECONDS) if(QDELETED(src)) return - 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.")) var/obj/item/ectoplasm/revenant/R = new (get_turf(src)) var/reforming_essence = essence_regen_cap //retain the gained essence capacity R.essence = max(reforming_essence - 15 * perfectsouls, 75) //minus any perfect souls @@ -276,13 +276,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 0 if(src.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 0 if(!src.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 0 return 1 @@ -296,9 +296,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 1 /mob/living/simple_animal/revenant/proc/reveal(time) @@ -310,10 +310,10 @@ invisibility = 0 incorporeal_move = INCORPOREAL_NONE 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_icon(UPDATE_ICON_STATE) @@ -324,10 +324,10 @@ return ADD_TRAIT(src, TRAIT_NO_TRANSFORM, REVENANT_TRAIT) 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_icon(UPDATE_ICON_STATE) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 6bb93fc1094..2d5e0d0ced3 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -59,9 +59,9 @@ operative_mind.objectives -= O add_conversion_logs(operative_mind.current, "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) //////////////////////////////////////////////////////////////////////////////////////// @@ -218,9 +218,9 @@ SEND_SOUND(syndicate.current, '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("С полной информацией вы можете ознакомиться на вики: Ядерный Оперативник") + messages.Add(span_motd("С полной информацией вы можете ознакомиться на вики: Ядерный Оперативник")) to_chat(syndicate.current, chat_box_red(messages.Join("
"))) return diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 5f5708c2e55..d09d9e1f328 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -71,26 +71,26 @@ GLOBAL_VAR(bomb_set) /obj/machinery/nuclearbomb/examine(mob/user) . = ..() 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_icon_state() @@ -211,18 +211,18 @@ GLOBAL_VAR(bomb_set) user.visible_message("[user] forces open the bolt covers on [src].", "You force open the bolt covers.") removal_stage = NUKE_COVER_OPEN if(removal_stage == NUKE_CORE_EVERYTHING_FINE) - 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, 40, 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, 80, 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) @@ -299,35 +299,35 @@ GLOBAL_VAR(bomb_set) if(!I.tool_use_check(user, 0)) 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, 40, 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, 40, 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 /obj/machinery/nuclearbomb/attack_ghost(mob/user) @@ -342,11 +342,11 @@ GLOBAL_VAR(bomb_set) if(removal_stage != NUKE_CORE_FULLY_EXPOSED || !core) return wires.Interact(user) 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 - 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, 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 @@ -403,9 +403,9 @@ GLOBAL_VAR(bomb_set) if("deploy") if(removal_stage != NUKE_MOBILE) set_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(!lighthack) flick("nuclearbombc", src) extended = TRUE @@ -452,16 +452,16 @@ GLOBAL_VAR(bomb_set) if("toggle_anchor") if(removal_stage == NUKE_MOBILE) set_anchored(FALSE) - 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.")) else if(isinspace()) - to_chat(usr, "There is nothing to anchor to!") + to_chat(usr, span_warning("There is nothing to anchor to!")) return FALSE else set_anchored(!anchored) 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.")) else - 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("set_time") var/time = tgui_input_number(usr, "Detonation time (seconds, min 120, max 600)", "Input Time", 120, 600, 120) @@ -478,10 +478,10 @@ GLOBAL_VAR(bomb_set) update_icon() 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) - 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(isblobinfected(usr.mind)) to_chat(usr, span_notice("Что-то внутри вас не дает вам это сделать.")) @@ -587,9 +587,9 @@ GLOBAL_VAR(bomb_set) if(safety == 1) if(!is_syndicate) set_security_level(previous_level) - visible_message("The [src] quiets down.") + visible_message(span_notice("The [src] quiets down.")) else - visible_message("The [src] emits a quiet whirling noise!") + visible_message(span_notice("The [src] emits a quiet whirling noise!")) //==========DAT FUKKEN DISK=============== /obj/item/disk/nuclear @@ -618,7 +618,7 @@ GLOBAL_VAR(bomb_set) var/turf/diskturf = get_turf(src) if(holder) add_game_logs("lost [src] in [COORD(diskturf)]!", 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...")) add_game_logs("[fingerprintslast] who touched the lost [src] in [COORD(diskturf)].") qdel(src) diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 8e14b1bde9b..7f12c50083c 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -49,26 +49,26 @@ continue validtargets += M if(!validtargets.len) - to_chat(usr, "There are no valid targets!") + to_chat(usr, span_warning("There are no valid targets!")) var/mob/living/carbon/human/target = input("Choose a target for recruitment.", "Targeting") as null|mob in validtargets return target /datum/action/innate/revolution_recruitment/Activate() if(!(usr && usr.mind && usr.stat == CONSCIOUS)) - to_chat(usr, "You must be conscious.") + to_chat(usr, span_danger("You must be conscious.")) return if(world.time < usr.mind.rev_cooldown) - to_chat(usr, "You must wait between attempts.") + to_chat(usr, span_danger("You must wait between attempts.")) return usr.mind.rev_cooldown = world.time + 50 var/mob/living/carbon/human/recruit = choose_targets() if(!recruit) return log_admin("[key_name(usr)] attempted recruitment [key_name(recruit)] into the revolution.", usr) - to_chat(usr, "You are trying to recruit [recruit]: ") + to_chat(usr, span_info("You are trying to recruit [recruit]: ")) if(ismindshielded(recruit) || (recruit.mind in SSticker.mode.get_living_heads())) - to_chat(recruit, "You were asked to join the revolution, but for reasons you did not know, you refused.") - to_chat(usr, "\The [recruit] does not support the revolution!") + to_chat(recruit, span_danger("You were asked to join the revolution, but for reasons you did not know, you refused.")) + to_chat(usr, span_danger("\The [recruit] does not support the revolution!")) return var/choice = alert(recruit, "Do you want to join the revolution?", "Join the revolution", "Yes", "No") if(choice == "Yes") @@ -77,8 +77,8 @@ if(usr.mind in SSticker.mode.head_revolutionaries) SSticker.mode.add_revolutionary(recruit.mind) if(choice == "No") - to_chat(recruit, "You reject this traitorous cause!") - to_chat(usr, "\The [recruit] does not support the revolution!") + to_chat(recruit, span_danger("You reject this traitorous cause!")) + to_chat(usr, span_danger("\The [recruit] does not support the revolution!")) /////////////////////////////////////////////////////////////////////////////// //Gets the round setup, cancelling if there's not enough players at the start// @@ -148,7 +148,7 @@ C.Grant(rev_mind.current) var/list/messages = list() if(you_are) - messages.Add("You are a member of the revolutionaries' leadership!") + messages.Add(span_danger("You are a member of the revolutionaries' leadership!")) messages.Add(rev_mind.prepare_announce_objectives()) to_chat(rev_mind.current, chat_box_red(messages.Join("
"))) if(rev_mind.current) @@ -228,7 +228,7 @@ if((rev_mind in revolutionaries) || (rev_mind in head_revolutionaries)) return 0 revolutionaries += rev_mind - to_chat(rev_mind.current, " You are now a revolutionary! Follow orders given by revolution leaders. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons.") + to_chat(rev_mind.current, span_danger(" You are now a revolutionary! Follow orders given by revolution leaders. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons.")) add_conversion_logs(rev_mind.current, "recruited to the revolution") rev_mind.special_role = SPECIAL_ROLE_REV update_rev_icons_added(rev_mind) @@ -253,10 +253,10 @@ qdel(C) add_conversion_logs(rev_mind.current, "renounced the revolution") if(beingborged) - to_chat(rev_mind.current, "The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who recruited you."]") + to_chat(rev_mind.current, span_danger("The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who recruited you."]")) message_admins("[ADMIN_LOOKUPFLW(rev_mind.current)] has been borged while being a [remove_head ? "leader" : " member"] of the revolution.") else - to_chat(rev_mind.current, "You have been brainwashed! You are no longer a revolutionary!") + to_chat(rev_mind.current, span_danger("You have been brainwashed! You are no longer a revolutionary!")) update_rev_icons_removed(rev_mind) diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm index 3547db6dce9..1dce39360cf 100644 --- a/code/game/gamemodes/shadowling/shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm @@ -12,13 +12,13 @@ return TRUE if(!is_shadow_or_thrall(user)) - to_chat(user, "You can't wrap your head around how to do this.") + to_chat(user, span_warning("You can't wrap your head around how to do this.")) else if(is_thrall(user)) - to_chat(user, "You aren't powerful enough to do this.") + to_chat(user, span_warning("You aren't powerful enough to do this.")) else if(is_shadow(user)) - to_chat(user, "Your telepathic ability is suppressed. Hatch or use Rapid Re-Hatch first.") + to_chat(user, span_warning("Your telepathic ability is suppressed. Hatch or use Rapid Re-Hatch first.")) return FALSE @@ -35,8 +35,8 @@ action_icon_state = "glare" - selection_activated_message = "Your prepare to your eyes for a stunning glare! Left-click to cast at a target!" - selection_deactivated_message = "Your eyes relax... for now." + selection_activated_message = span_notice("Your prepare to your eyes for a stunning glare! Left-click to cast at a target!") + selection_deactivated_message = span_notice("Your eyes relax... for now.") need_active_overlay = TRUE @@ -62,11 +62,11 @@ /obj/effect/proc_holder/spell/shadowling_glare/cast(list/targets, mob/user = usr) var/mob/living/carbon/human/target = targets[1] - user.visible_message("[user]'s eyes flash a blinding red!") + user.visible_message(span_warning("[user]'s eyes flash a blinding red!")) var/distance = get_dist(target, user) if(distance <= 2) - target.visible_message("[target] freezes in place, [target.p_their()] eyes glazing over...", \ - "Your gaze is forcibly drawn into [user]'s eyes, and you are mesmerized by [user.p_their()] heavenly beauty...") + target.visible_message(span_danger("[target] freezes in place, [target.p_their()] eyes glazing over..."), \ + span_userdanger("Your gaze is forcibly drawn into [user]'s eyes, and you are mesmerized by [user.p_their()] heavenly beauty...")) target.Weaken(4 SECONDS) target.AdjustSilence(20 SECONDS) @@ -77,8 +77,8 @@ target.Stun(2 SECONDS) target.Slowed(10 SECONDS) target.AdjustSilence(10 SECONDS) - to_chat(target, "A red light flashes across your vision, and your mind tries to resist them.. you are exhausted.. you are not able to speak..") - target.visible_message("[target] freezes in place, [target.p_their()] eyes glazing over...") + to_chat(target, span_userdanger("A red light flashes across your vision, and your mind tries to resist them.. you are exhausted.. you are not able to speak..")) + target.visible_message(span_danger("[target] freezes in place, [target.p_their()] eyes glazing over...")) /obj/effect/proc_holder/spell/aoe/shadowling_veil @@ -108,7 +108,7 @@ revert_cast(user) return - to_chat(user, "You silently disable all nearby lights.") + to_chat(user, span_shadowling("You silently disable all nearby lights.")) for(var/turf/T in targets) T.extinguish_light() for(var/atom/A in T.contents) @@ -137,7 +137,7 @@ // mech supress escape if(HAS_TRAIT_FROM(user, TRAIT_IMMOBILIZED, MECH_SUPRESSED_TRAIT)) user.remove_traits(list(TRAIT_IMMOBILIZED, TRAIT_FLOORED), MECH_SUPRESSED_TRAIT) - user.visible_message("[user] vanishes in a puff of black mist!", "You enter the space between worlds as a passageway.") + user.visible_message(span_warning("[user] vanishes in a puff of black mist!"), span_shadowling("You enter the space between worlds as a passageway.")) user.SetStunned(0) user.SetWeakened(0) user.SetKnockdown(0) @@ -152,7 +152,7 @@ if(QDELETED(user)) return - user.visible_message("[user] suddenly manifests!", "The pressure becomes too much and you vacate the interdimensional darkness.") + user.visible_message(span_warning("[user] suddenly manifests!"), span_shadowling("The pressure becomes too much and you vacate the interdimensional darkness.")) user.incorporeal_move = INCORPOREAL_NONE user.alpha_set(1, ALPHA_SOURCE_SHADOWLING) user.forceMove(get_turf(user)) @@ -178,7 +178,7 @@ /obj/effect/proc_holder/spell/shadowling_guise/cast(list/targets, mob/living/user = usr) - user.visible_message("[user] suddenly fades away!", "You veil yourself in darkness, making you harder to see.") + user.visible_message(span_warning("[user] suddenly fades away!"), span_shadowling("You veil yourself in darkness, making you harder to see.")) user.alpha_set(standartize_alpha(10), ALPHA_SOURCE_SHADOW_THRALL) addtimer(CALLBACK(src, PROC_REF(reveal), user), conseal_time) @@ -188,7 +188,7 @@ return user.alpha_set(1, ALPHA_SOURCE_SHADOW_THRALL) - user.visible_message("[user] appears from nowhere!", "Your shadowy guise slips away.") + user.visible_message(span_warning("[user] appears from nowhere!"), span_shadowling("Your shadowy guise slips away.")) /obj/effect/proc_holder/spell/shadowling_vision @@ -213,10 +213,10 @@ return if(!user.vision_type) - to_chat(user, "You shift the nerves in your eyes, allowing you to see in the dark.") + to_chat(user, span_notice("You shift the nerves in your eyes, allowing you to see in the dark.")) user.set_vision_override(/datum/vision_override/nightvision) else - to_chat(user, "You return your vision to normal.") + to_chat(user, span_notice("You return your vision to normal.")) user.set_vision_override(null) @@ -252,15 +252,15 @@ revert_cast(user) return - to_chat(user, "You freeze the nearby air.") + to_chat(user, span_shadowling("You freeze the nearby air.")) playsound(user.loc, 'sound/effects/ghost2.ogg', 50, TRUE) for(var/mob/living/carbon/target in targets) if(is_shadow_or_thrall(target)) - to_chat(target, "You feel a blast of paralyzingly cold air wrap around you and flow past, but you are unaffected!") + to_chat(target, span_danger("You feel a blast of paralyzingly cold air wrap around you and flow past, but you are unaffected!")) continue - to_chat(target, "A wave of shockingly cold air engulfs you!") + to_chat(target, span_userdanger("A wave of shockingly cold air engulfs you!")) target.Stun(2 SECONDS) target.apply_damage(10, BURN) target.adjust_bodytemperature(-200) //Extreme amount of initial cold @@ -274,8 +274,8 @@ base_cooldown = 0 clothes_req = FALSE action_icon_state = "enthrall" - selection_activated_message = "Your prepare your mind to entrall a mortal. Left-click to cast at a target!" - selection_deactivated_message = "Your mind relaxes." + selection_activated_message = span_notice("Your prepare your mind to entrall a mortal. Left-click to cast at a target!") + selection_deactivated_message = span_notice("Your mind relaxes.") need_active_overlay = TRUE var/enthralling = FALSE @@ -305,30 +305,30 @@ var/mob/living/carbon/human/target = targets[1] if(ismindshielded(target)) - to_chat(user, "This target has a mindshield, blocking your powers! You cannot thrall it!") + to_chat(user, span_danger("This target has a mindshield, blocking your powers! You cannot thrall it!")) return enthralling = TRUE - to_chat(user, "This target is valid. You begin the enthralling.") - to_chat(target, "[user] stares at you. You feel your head begin to pulse.") + to_chat(user, span_danger("This target is valid. You begin the enthralling.")) + to_chat(target, span_userdanger("[user] stares at you. You feel your head begin to pulse.")) for(var/progress = 0, progress <= 3, progress++) switch(progress) if(1) - to_chat(user, "You place your hands to [target]'s head...") - user.visible_message("[user] places [user.p_their()] hands onto the sides of [target]'s head!") + to_chat(user, span_notice("You place your hands to [target]'s head...")) + user.visible_message(span_warning("[user] places [user.p_their()] hands onto the sides of [target]'s head!")) if(2) - to_chat(user, "You begin preparing [target]'s mind as a blank slate...") - user.visible_message("[user]'s palms flare a bright red against [target]'s temples!") - to_chat(target, "A terrible red light floods your mind. You collapse as conscious thought is wiped away.") + to_chat(user, span_notice("You begin preparing [target]'s mind as a blank slate...")) + user.visible_message(span_warning("[user]'s palms flare a bright red against [target]'s temples!")) + to_chat(target, span_danger("A terrible red light floods your mind. You collapse as conscious thought is wiped away.")) target.Weaken(24 SECONDS) if(3) - to_chat(user, "You begin planting the tumor that will control the new thrall...") - user.visible_message("A strange energy passes from [user]'s hands into [target]'s head!") + to_chat(user, span_notice("You begin planting the tumor that will control the new thrall...")) + user.visible_message(span_warning("A strange energy passes from [user]'s hands into [target]'s head!")) to_chat(target, span_boldannounceic("You feel your memories twisting, morphing. A sense of horror dominates your mind.")) if(!do_after(user, 7.7 SECONDS, target, NONE)) //around 23 seconds total for enthralling - to_chat(user, "The enthralling has been interrupted - your target's mind returns to its previous state.") - to_chat(target, "You wrest yourself away from [user]'s hands and compose yourself") + to_chat(user, span_warning("The enthralling has been interrupted - your target's mind returns to its previous state.")) + to_chat(target, span_userdanger("You wrest yourself away from [user]'s hands and compose yourself")) enthralling = FALSE return @@ -337,9 +337,9 @@ return enthralling = FALSE - to_chat(user, "You have enthralled [target]!") - target.visible_message("[target] looks to have experienced a revelation!", \ - "False faces all dark not real not real not--") + to_chat(user, span_shadowling("You have enthralled [target]!")) + target.visible_message(span_big("[target] looks to have experienced a revelation!"), \ + span_warning("False faces all dark not real not real not--")) target.setOxyLoss(0) //In case the shadowling was choking them out SSticker.mode.add_thrall(target.mind) target.mind.special_role = SPECIAL_ROLE_SHADOWLING_THRALL @@ -362,15 +362,15 @@ /obj/effect/proc_holder/spell/shadowling_regen_armor/cast(list/targets, mob/living/carbon/human/user = usr) if(!is_shadow(user)) - to_chat(user, "You must be a shadowling to do this!") + to_chat(user, span_warning("You must be a shadowling to do this!")) revert_cast(user) return if(!istype(user)) return - user.visible_message("[user]'s skin suddenly bubbles and shifts around [user.p_their()] body!", \ - "You regenerate your protective armor and cleanse your form of defects.") + user.visible_message(span_warning("[user]'s skin suddenly bubbles and shifts around [user.p_their()] body!"), \ + span_shadowling("You regenerate your protective armor and cleanse your form of defects.")) user.set_species(/datum/species/shadow/ling) user.adjustCloneLoss(-(user.getCloneLoss())) user.equip_to_slot_or_del(new /obj/item/clothing/under/shadowling(user), ITEM_SLOT_CLOTH_INNER) @@ -412,17 +412,17 @@ revert_cast(user) return - to_chat(user, "You focus your telepathic energies abound, harnessing and drawing together the strength of your thralls.") + to_chat(user, span_shadowling("You focus your telepathic energies abound, harnessing and drawing together the strength of your thralls.")) var/thralls = 0 var/victory_threshold = SSticker.mode.required_thralls for(var/mob/living/target in GLOB.alive_mob_list) if(is_thrall(target)) thralls++ - to_chat(target, "You feel hooks sink into your mind and pull.") + to_chat(target, span_shadowling("You feel hooks sink into your mind and pull.")) if(!do_after(user, 3 SECONDS, user)) - to_chat(user, "Your concentration has been broken. The mental hooks you have sent out now retract into your mind.") + to_chat(user, span_warning("Your concentration has been broken. The mental hooks you have sent out now retract into your mind.")) return if(QDELETED(user)) @@ -430,33 +430,33 @@ if(thralls >= CEILING(3 * SSticker.mode.thrall_ratio, 1) && !screech_acquired) screech_acquired = TRUE - to_chat(user, "The power of your thralls has granted you the Sonic Screech ability. This ability will shatter nearby windows and deafen enemies, plus stunning silicon lifeforms.") + to_chat(user, span_shadowling("The power of your thralls has granted you the Sonic Screech ability. This ability will shatter nearby windows and deafen enemies, plus stunning silicon lifeforms.")) user.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe/shadowling_screech(null)) if(thralls >= CEILING(5 * SSticker.mode.thrall_ratio, 1) && !blind_smoke_acquired) blind_smoke_acquired = TRUE - to_chat(user, "The power of your thralls has granted you the Blinding Smoke ability. \ - It will create a choking cloud that will blind any non-thralls who enter.") + to_chat(user, span_shadowling("The power of your thralls has granted you the Blinding Smoke ability. \ + It will create a choking cloud that will blind any non-thralls who enter.")) user.mind.AddSpell(new /obj/effect/proc_holder/spell/shadowling_blindness_smoke(null)) if(thralls >= CEILING(7 * SSticker.mode.thrall_ratio, 1) && !null_charge_acquired) null_charge_acquired = TRUE - to_chat(user, "The power of your thralls has granted you the Null Charge ability. This ability will drain an APC's contents to the void, preventing it from recharging \ - or sending power until repaired.") + to_chat(user, span_shadowling("The power of your thralls has granted you the Null Charge ability. This ability will drain an APC's contents to the void, preventing it from recharging \ + or sending power until repaired.")) user.mind.AddSpell(new /obj/effect/proc_holder/spell/shadowling_null_charge(null)) if(thralls >= CEILING(9 * SSticker.mode.thrall_ratio, 1) && !revive_thrall_acquired) revive_thrall_acquired = TRUE - to_chat(user, "The power of your thralls has granted you the Black Recuperation ability. \ - This will, after a short time, bring a dead thrall completely back to life with no bodily defects.") + to_chat(user, span_shadowling("The power of your thralls has granted you the Black Recuperation ability. \ + This will, after a short time, bring a dead thrall completely back to life with no bodily defects.")) user.mind.AddSpell(new /obj/effect/proc_holder/spell/shadowling_revive_thrall(null)) if(thralls < victory_threshold) - to_chat(user, "You do not have the power to ascend. You require [victory_threshold] thralls, but only [thralls] living thralls are present.") + to_chat(user, span_shadowling("You do not have the power to ascend. You require [victory_threshold] thralls, but only [thralls] living thralls are present.")) else if(thralls >= victory_threshold) - to_chat(user, "You are now powerful enough to ascend. Use the Ascendance ability when you are ready. This will kill all of your thralls.") - to_chat(user, "You may find Ascendance in the Shadowling Evolution tab.") + to_chat(user, span_shadowling("You are now powerful enough to ascend. Use the Ascendance ability when you are ready. This will kill all of your thralls.")) + to_chat(user, span_shadowling("You may find Ascendance in the Shadowling Evolution tab.")) for(var/mob/check in GLOB.alive_mob_list) if(!is_shadow(check)) @@ -467,9 +467,9 @@ check.mind.AddSpell(new /obj/effect/proc_holder/spell/shadowling_ascend(null)) if(check == user) - to_chat(check, "You project this power to the rest of the shadowlings.") + to_chat(check, span_shadowling("You project this power to the rest of the shadowlings.")) else - to_chat(check, "[user.real_name] has coalesced the strength of the thralls. You can draw upon it at any time to ascend. (Shadowling Evolution Tab)")//Tells all the other shadowlings + to_chat(check, span_shadowling("[user.real_name] has coalesced the strength of the thralls. You can draw upon it at any time to ascend. (Shadowling Evolution Tab)"))//Tells all the other shadowlings /obj/effect/proc_holder/spell/shadowling_blindness_smoke @@ -495,8 +495,8 @@ revert_cast(user) return - user.visible_message("[user] suddenly bends over and coughs out a cloud of black smoke, which begins to spread rapidly!") - to_chat(user, "You regurgitate a vast cloud of blinding smoke.") + user.visible_message(span_warning("[user] suddenly bends over and coughs out a cloud of black smoke, which begins to spread rapidly!")) + to_chat(user, span_deadsay("You regurgitate a vast cloud of blinding smoke.")) playsound(user, 'sound/effects/bamf.ogg', 50, TRUE) var/datum/reagents/reagents_list = new (1000) reagents_list.add_reagent("blindness_smoke", 810) @@ -555,7 +555,7 @@ revert_cast(user) return - user.audible_message("[user] lets out a horrible scream!") + user.audible_message(span_warning("[user] lets out a horrible scream!")) playsound(user.loc, 'sound/effects/screech.ogg', 100, TRUE) for(var/turf/turf in targets) @@ -565,13 +565,13 @@ if(iscarbon(target)) var/mob/living/carbon/c_mob = target - to_chat(c_mob, "A spike of pain drives into your head and scrambles your thoughts!") + to_chat(c_mob, span_danger("A spike of pain drives into your head and scrambles your thoughts!")) c_mob.AdjustConfused(20 SECONDS) c_mob.AdjustDeaf(6 SECONDS) else if(issilicon(target)) var/mob/living/silicon/robot = target - to_chat(robot, "ERROR $!(@ ERROR )#^! SENSORY OVERLOAD \[$(!@#") + to_chat(robot, span_warning("ERROR $!(@ ERROR )#^! SENSORY OVERLOAD \[$(!@#")) robot << 'sound/misc/interference.ogg' playsound(robot, 'sound/machines/warning-buzzer.ogg', 50, TRUE) do_sparks(5, 1, robot) @@ -611,31 +611,31 @@ var/obj/machinery/power/apc/target_apc = targets[1] if(!target_apc) - to_chat(user, "You must stand next to an APC to drain it!") + to_chat(user, span_warning("You must stand next to an APC to drain it!")) revert_cast(user) return if(target_apc.cell?.charge <= 0) - to_chat(user, "APC must have a power to drain!") + to_chat(user, span_warning("APC must have a power to drain!")) revert_cast(user) return target_apc.operating = FALSE target_apc.update() target_apc.update_icon() - target_apc.visible_message("The [target_apc] flickers and begins to grow dark.") + target_apc.visible_message(span_warning("The [target_apc] flickers and begins to grow dark.")) - to_chat(user, "You dim the APC's screen and carefully begin siphoning its power into the void.") + to_chat(user, span_shadowling("You dim the APC's screen and carefully begin siphoning its power into the void.")) if(!do_after(user, 20 SECONDS, target_apc)) //Whoops! The APC's powers back on - to_chat(user, "Your concentration breaks and the APC suddenly repowers!") + to_chat(user, span_shadowling("Your concentration breaks and the APC suddenly repowers!")) target_apc.operating = TRUE target_apc.update() target_apc.update_icon() - target_apc.visible_message("The [target_apc] begins glowing brightly!") + target_apc.visible_message(span_warning("The [target_apc] begins glowing brightly!")) else //We did it! - to_chat(user, "You sent the APC's power to the void while overloading all it's lights!") + to_chat(user, span_shadowling("You sent the APC's power to the void while overloading all it's lights!")) target_apc.cell?.charge = 0 //Sent to the shadow realm target_apc.chargemode = FALSE //Won't recharge either until an someone hits the button target_apc.charging = APC_NOT_CHARGING @@ -649,8 +649,8 @@ base_cooldown = 1 MINUTES clothes_req = FALSE action_icon_state = "revive_thrall" - selection_activated_message = "You start focusing your powers on mending wounds of allies. Left-click to cast at a target!" - selection_deactivated_message = "Your mind relaxes." + selection_activated_message = span_notice("You start focusing your powers on mending wounds of allies. Left-click to cast at a target!") + selection_deactivated_message = span_notice("Your mind relaxes.") need_active_overlay = TRUE /// Whether the EMPOWERED_THRALL_LIMIT limit is ignored or not var/ignore_prer = FALSE @@ -677,7 +677,7 @@ var/mob/living/carbon/human/thrall = targets[1] if(thrall.stat == CONSCIOUS) if(isshadowlinglesser(thrall)) - to_chat(user, "[thrall] is already empowered.") + to_chat(user, span_warning("[thrall] is already empowered.")) revert_cast(user) return @@ -691,15 +691,15 @@ empowered_thralls++ if(empowered_thralls >= EMPOWERED_THRALL_LIMIT && !ignore_prer) - to_chat(user, "You cannot spare this much energy. There are too many empowered thralls.") + to_chat(user, span_warning("You cannot spare this much energy. There are too many empowered thralls.")) revert_cast(user) return - user.visible_message("[user] places [user.p_their()] hands over [thrall]'s face, red light shining from beneath.", \ - "You place your hands on [thrall]'s face and begin gathering energy...") - to_chat(thrall, "[user] places [user.p_their()] hands over your face. You feel energy gathering. Stand still...") + user.visible_message(span_danger("[user] places [user.p_their()] hands over [thrall]'s face, red light shining from beneath."), \ + span_shadowling("You place your hands on [thrall]'s face and begin gathering energy...")) + to_chat(thrall, span_userdanger("[user] places [user.p_their()] hands over your face. You feel energy gathering. Stand still...")) if(!do_after(user, 8 SECONDS, thrall, NONE)) - to_chat(user, "Your concentration snaps. The flow of energy ebbs.") + to_chat(user, span_warning("Your concentration snaps. The flow of energy ebbs.")) revert_cast(user) return @@ -707,23 +707,23 @@ revert_cast(user) return - to_chat(user, "You release a massive surge of power into [thrall]!") + to_chat(user, span_shadowling("You release a massive surge of power into [thrall]!")) user.visible_message(span_boldannounceic("Red lightning surges into [thrall]'s face!")) playsound(thrall, 'sound/weapons/egloves.ogg', 50, TRUE) playsound(thrall, 'sound/machines/defib_zap.ogg', 50, TRUE) user.Beam(thrall, icon_state="red_lightning",icon='icons/effects/effects.dmi',time=1) thrall.Weaken(10 SECONDS) - thrall.visible_message("[thrall] collapses, [thrall.p_their()] skin and face distorting!", \ - "AAAAAAAAAAAAAAAAAAAGH-") + thrall.visible_message(span_warning("[thrall] collapses, [thrall.p_their()] skin and face distorting!"), \ + span_userdanger("AAAAAAAAAAAAAAAAAAAGH-")) sleep(2 SECONDS) if(QDELETED(thrall) || QDELETED(user)) revert_cast(user) return - thrall.visible_message("[thrall] slowly rises, no longer recognizable as human.", \ - "You feel new power flow into you. You have been gifted by your masters. You now closely resemble them. You are empowered in darkness but wither slowly in light. In addition, \ - you now have glare and true shadow walk.") + thrall.visible_message(span_warning("[thrall] slowly rises, no longer recognizable as human."), \ + span_shadowling("You feel new power flow into you. You have been gifted by your masters. You now closely resemble them. You are empowered in darkness but wither slowly in light. In addition, \ + you now have glare and true shadow walk.")) thrall.set_species(/datum/species/shadow/ling/lesser) thrall.mind.RemoveSpell(/obj/effect/proc_holder/spell/shadowling_guise) @@ -731,11 +731,11 @@ thrall.mind.AddSpell(new /obj/effect/proc_holder/spell/shadowling_shadow_walk(null)) else if(thrall.stat == DEAD) - user.visible_message("[user] kneels over [thrall], placing [user.p_their()] hands on [thrall.p_their()] chest.", \ - "You crouch over the body of your thrall and begin gathering energy...") + user.visible_message(span_danger("[user] kneels over [thrall], placing [user.p_their()] hands on [thrall.p_their()] chest."), \ + span_shadowling("You crouch over the body of your thrall and begin gathering energy...")) thrall.notify_ghost_cloning("Your masters are resuscitating you! Re-enter your corpse if you wish to be brought to life.", source = thrall) if(!do_after(user, 3 SECONDS, thrall, NONE)) - to_chat(user, "Your concentration snaps. The flow of energy ebbs.") + to_chat(user, span_warning("Your concentration snaps. The flow of energy ebbs.")) revert_cast(user) return @@ -743,7 +743,7 @@ revert_cast(user) return - to_chat(user, "You release a massive surge of power into [thrall]!") + to_chat(user, span_shadowling("You release a massive surge of power into [thrall]!")) user.visible_message(span_boldannounceic("Red lightning surges from [user]'s hands into [thrall]'s chest!")) playsound(thrall, 'sound/weapons/egloves.ogg', 50, TRUE) playsound(thrall, 'sound/machines/defib_zap.ogg', 50, TRUE) @@ -759,11 +759,11 @@ thrall.Weaken(8 SECONDS) thrall.emote("gasp") thrall.visible_message(span_boldannounceic("[thrall] heaves in breath, dim red light shining in [thrall.p_their()] eyes."), \ - "You have returned. One of your masters has brought you from the darkness beyond.") + span_shadowling("You have returned. One of your masters has brought you from the darkness beyond.")) playsound(thrall, "bodyfall", 50, TRUE) else - to_chat(user, "The target must be awake to empower or dead to revive.") + to_chat(user, span_warning("The target must be awake to empower or dead to revive.")) revert_cast(user) @@ -772,8 +772,8 @@ desc = "Extends the time of the emergency shuttle's arrival by ten minutes using a life force of our enemy. Shuttle will be unable to be recalled. This can only be used once." clothes_req = FALSE base_cooldown = 60 SECONDS - selection_activated_message = "You start gathering destructive powers to delay the shuttle. Left-click to cast at a target!" - selection_deactivated_message = "Your mind relaxes." + selection_activated_message = span_notice("You start gathering destructive powers to delay the shuttle. Left-click to cast at a target!") + selection_deactivated_message = span_notice("Your mind relaxes.") action_icon_state = "extend_shuttle" need_active_overlay = TRUE var/global/extend_limit_pressed = FALSE @@ -803,32 +803,32 @@ return FALSE if(extend_limit_pressed) - to_chat(user, "Shuttle was already delayed.") + to_chat(user, span_warning("Shuttle was already delayed.")) return FALSE if(SSshuttle.emergency.mode != SHUTTLE_CALL) - to_chat(user, "The shuttle must be inbound only to the station.") + to_chat(user, span_warning("The shuttle must be inbound only to the station.")) return FALSE - user.visible_message("[user]'s eyes flash a bright red!", \ - "You begin to draw [target]'s life force.") - target.visible_message("[target]'s face falls slack, [target.p_their()] jaw slightly distending.", \ + user.visible_message(span_warning("[user]'s eyes flash a bright red!"), \ + span_notice("You begin to draw [target]'s life force.")) + target.visible_message(span_warning("[target]'s face falls slack, [target.p_their()] jaw slightly distending."), \ span_boldannounceic("You are suddenly transported... far, far away...")) extend_limit_pressed = TRUE if(!do_after(user, 15 SECONDS, target, max_interact_count = 1)) extend_limit_pressed = FALSE - to_chat(target, "You are snapped back to reality, your haze dissipating!") - to_chat(user, "You have been interrupted. The draw has failed.") + to_chat(target, span_warning("You are snapped back to reality, your haze dissipating!")) + to_chat(user, span_warning("You have been interrupted. The draw has failed.")) return if(QDELETED(target) || QDELETED(user)) revert_cast(user) return - to_chat(user, "You project [target]'s life force toward the approaching shuttle, extending its arrival duration!") - target.visible_message("[target]'s eyes suddenly flare red. They proceed to collapse on the floor, not breathing.", \ - "...speeding by... ...pretty blue glow... ...touch it... ...no glow now... ...no light... ...nothing at all...") + to_chat(user, span_notice("You project [target]'s life force toward the approaching shuttle, extending its arrival duration!")) + target.visible_message(span_warning("[target]'s eyes suddenly flare red. They proceed to collapse on the floor, not breathing."), \ + span_warning("...speeding by... ...pretty blue glow... ...touch it... ...no glow now... ...no light... ...nothing at all...")) target.death() if(SSshuttle.emergency.mode == SHUTTLE_CALL) var/timer = SSshuttle.emergency.timeLeft(1) + 10 MINUTES @@ -847,8 +847,8 @@ clothes_req = FALSE human_req = FALSE action_icon_state = "annihilate" - selection_activated_message = "You start thinking about gibs. Left-click to cast at a target!" - selection_deactivated_message = "Your mind relaxes." + selection_activated_message = span_notice("You start thinking about gibs. Left-click to cast at a target!") + selection_deactivated_message = span_notice("Your mind relaxes.") need_active_overlay = TRUE @@ -863,7 +863,7 @@ /obj/effect/proc_holder/spell/ascendant_annihilate/cast(list/targets, mob/user = usr) var/mob/living/simple_animal/ascendant_shadowling/ascendant = user if(ascendant.phasing) - to_chat(user, "You are not in the same plane of existence. Unphase first.") + to_chat(user, span_warning("You are not in the same plane of existence. Unphase first.")) revert_cast(user) return @@ -872,19 +872,19 @@ playsound(user.loc, 'sound/magic/staff_chaos.ogg', 100, TRUE) if(is_shadow(target)) //Used to not work on thralls. Now it does so you can PUNISH THEM LIKE THE WRATHFUL GOD YOU ARE. - to_chat(user, "Making an ally explode seems unwise.") + to_chat(user, span_warning("Making an ally explode seems unwise.")) revert_cast(user) return - user.visible_message("[user]'s markings flare as [user.p_they()] gesture[user.p_s()] at [target]!", \ - "You direct a lance of telekinetic energy at [target].") + user.visible_message(span_danger("[user]'s markings flare as [user.p_they()] gesture[user.p_s()] at [target]!"), \ + span_shadowling("You direct a lance of telekinetic energy at [target].")) sleep(0.4 SECONDS) if(QDELETED(target) || QDELETED(user)) return playsound(target, 'sound/magic/disintegrate.ogg', 100, TRUE) - target.visible_message("[target] explodes!") + target.visible_message(span_userdanger("[target] explodes!")) target.gib() @@ -902,8 +902,8 @@ clothes_req = FALSE human_req = FALSE action_icon_state = "enthrall" - selection_activated_message = "You start preparing to mindwash over a mortal mind. Left-click to cast at a target!" - selection_deactivated_message = "Your mind relaxes." + selection_activated_message = span_notice("You start preparing to mindwash over a mortal mind. Left-click to cast at a target!") + selection_deactivated_message = span_notice("Your mind relaxes.") need_active_overlay = TRUE @@ -920,7 +920,7 @@ /obj/effect/proc_holder/spell/ascendant_hypnosis/cast(list/targets, mob/living/simple_animal/ascendant_shadowling/user = usr) if(user.phasing) - to_chat(user, "You are not in the same plane of existence. Unphase first.") + to_chat(user, span_warning("You are not in the same plane of existence. Unphase first.")) revert_cast(user) return @@ -928,8 +928,8 @@ target.vomit(0, VOMIT_BLOOD, distance = 2, message = FALSE) playsound(user.loc, 'sound/hallucinations/veryfar_noise.ogg', 50, TRUE) - to_chat(user, "You instantly rearrange [target]'s memories, hyptonitizing [target.p_them()] into a thrall.") - to_chat(target, "An agonizing spike of pain drives into your mind, and--") + to_chat(user, span_shadowling("You instantly rearrange [target]'s memories, hyptonitizing [target.p_them()] into a thrall.")) + to_chat(target, span_userdanger("An agonizing spike of pain drives into your mind, and--")) SSticker.mode.add_thrall(target.mind) target.mind.special_role = SPECIAL_ROLE_SHADOWLING_THRALL target.add_language(LANGUAGE_HIVE_SHADOWLING) @@ -956,13 +956,13 @@ user.phasing = !user.phasing if(user.phasing) - user.visible_message("[user] suddenly vanishes!", \ - "You begin phasing through planes of existence. Use the ability again to return.") + user.visible_message(span_danger("[user] suddenly vanishes!"), \ + span_shadowling("You begin phasing through planes of existence. Use the ability again to return.")) user.incorporeal_move = INCORPOREAL_NORMAL user.alpha_set(0, ALPHA_SOURCE_SHADOWLING) else - user.visible_message("[user] suddenly appears from nowhere!", \ - "You return from the space between worlds.") + user.visible_message(span_danger("[user] suddenly appears from nowhere!"), \ + span_shadowling("You return from the space between worlds.")) user.incorporeal_move = INCORPOREAL_NONE user.alpha_set(1, ALPHA_SOURCE_SHADOWLING) @@ -988,19 +988,19 @@ return FALSE if(user.phasing) - to_chat(user, "You are not in the same plane of existence. Unphase first.") + to_chat(user, span_warning("You are not in the same plane of existence. Unphase first.")) revert_cast(user) return - user.visible_message("A massive ball of lightning appears in [user]'s hands and flares out!", \ - "You conjure a ball of lightning and release it.") + user.visible_message(span_warning("A massive ball of lightning appears in [user]'s hands and flares out!"), \ + span_shadowling("You conjure a ball of lightning and release it.")) playsound(user.loc, 'sound/magic/lightningbolt.ogg', 100, TRUE) for(var/mob/living/carbon/human/target in targets) if(is_shadow_or_thrall(target)) continue - to_chat(target, "You are struck by a bolt of lightning!") + to_chat(target, span_userdanger("You are struck by a bolt of lightning!")) playsound(target, 'sound/magic/lightningshock.ogg', 50, 1) target.Weaken(16 SECONDS) target.take_organ_damage(0, 50) diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 8485cb85b68..8522cdf3213 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -199,8 +199,8 @@ 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)]

" to_chat(world, text) return TRUE diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 7de7514e581..789b7fec01f 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -20,9 +20,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 @@ -113,8 +113,8 @@ hitsound = 'sound/items/welder2.ogg' /obj/item/scrying/attack_self(mob/user as mob) - to_chat(user, " You can see...everything!") - visible_message("[user] stares into [src], [user.p_their()] eyes glazing over.") + to_chat(user, span_notice(" You can see...everything!")) + visible_message(span_danger("[user] stares into [src], [user.p_their()] eyes glazing over.")) user.ghostize(1) /////////////////////Multiverse Blade//////////////////// @@ -161,7 +161,7 @@ GLOBAL_LIST_EMPTY(multiverse) /obj/item/multisword/attack_self(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 @@ -177,7 +177,7 @@ GLOBAL_LIST_EMPTY(multiverse) if(!usr.mind.special_role) var/list/messages = list() if(prob(probability_evil)) - messages.Add("With your new found power you could easily conquer the station!") + messages.Add(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!" hijack_objective.owner = usr.mind @@ -187,7 +187,7 @@ GLOBAL_LIST_EMPTY(multiverse) usr.mind.special_role = "[usr.real_name] Prime" evil = TRUE else - messages.Add("With your new found power you could easily defend the station!") + messages.Add(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." new_objective.owner = usr.mind @@ -208,12 +208,12 @@ GLOBAL_LIST_EMPTY(multiverse) if(candidates.len) 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!")) 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(var/client/C, var/turf/T, mob/user) @@ -737,7 +737,7 @@ GLOBAL_LIST_EMPTY(multiverse) if(link) target = null link.forceMove(get_turf(src)) - to_chat(user, "You remove the [link] from the doll.") + to_chat(user, span_notice("You remove the [link] from the doll.")) link = null update_targets() return @@ -756,7 +756,7 @@ GLOBAL_LIST_EMPTY(multiverse) user.reset_perspective(null) user.unset_machine() if(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) - to_chat(user, "You move the doll's legs around.") + to_chat(user, span_notice("You move the doll's legs around.")) var/turf/T = get_step(target,pick(GLOB.cardinal)) target.Move(T) if(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM) @@ -771,9 +771,9 @@ GLOBAL_LIST_EMPTY(multiverse) target.ClickOn(T) GiveHint(target) if(BODY_ZONE_HEAD) - to_chat(user, "You smack the doll's head with your hand.") + to_chat(user, span_notice("You smack the doll's head with your hand.")) target.Dizzy(20 SECONDS) - to_chat(target, "You suddenly feel as if your head was hit with a hammer!") + to_chat(target, span_warning("You suddenly feel as if your head was hit with a hammer!")) GiveHint(target,user) cooldown = world.time + cooldown_time @@ -789,10 +789,10 @@ GLOBAL_LIST_EMPTY(multiverse) /obj/item/voodoo/proc/GiveHint(mob/victim,force=0) if(prob(50) || force) var/way = dir2text(get_dir(victim,get_turf(src))) - to_chat(victim, "You feel a dark presence from [way]") + to_chat(victim, span_notice("You feel a dark presence from [way]")) if(prob(20) || force) var/area/A = get_area(src) - to_chat(victim, "You feel a dark presence from [A.name]") + to_chat(victim, span_notice("You feel a dark presence from [A.name]")) /obj/item/voodoo/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) if(target) diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm index ad080d13777..3e6755ba1f7 100644 --- a/code/game/gamemodes/wizard/raginmages.dm +++ b/code/game/gamemodes/wizard/raginmages.dm @@ -19,7 +19,7 @@ /datum/game_mode/wizard/raginmages/greet_wizard(var/datum/mind/wizard, var/you_are=1) var/list/messages = list() if(you_are) - messages.Add("You are the Space Wizard!") + messages.Add(span_danger("You are the Space Wizard!")) messages.Add("The Space Wizards Federation has given you the following tasks:") messages.Add("Supreme Objective: Make sure the station pays for its actions against our diplomats. We might send more Wizards to the station if the situation is not developing in our favour.") messages.Add(wizard.prepare_announce_objectives(title = FALSE)) @@ -39,34 +39,34 @@ continue if(!iscarbon(wizard.current)) 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] was transformed in the wizard lair, another wizard is likely camping") end_squabble(get_area(wizard.current)) continue if(isbrain(wizard.current)) 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] was brainified in the wizard lair, another wizard is likely camping") end_squabble(get_area(wizard.current)) continue if(wizard.current.stat==DEAD) 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)) continue if(wizard.current.stat==UNCONSCIOUS) if(wizard.current.health < 0) if(istype(get_area(wizard.current), /area/wizard_station)) - 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] went into crit in the wizard lair, another wizard is likely camping") end_squabble(get_area(wizard.current)) else - 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.gib() // *REAL* ACTION!! *REAL* DRAMA!! *REAL* BLOODSHED!! continue if(wizard.current.client && wizard.current.client.is_afk() > 10 * 60 * 10) // 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.gib() // Let's keep the round moving continue if(!wizard.current.client) @@ -100,7 +100,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 @@ -157,5 +157,5 @@ /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) diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 62ce9dffa53..10bea98de54 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -57,9 +57,9 @@ /obj/item/soulstone/pickup(mob/living/user) . = ..() if(iscultist(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.")) 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) @@ -245,7 +245,7 @@ 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 release_shades(user) @@ -257,9 +257,9 @@ A.cancel_camera() update_appearance(UPDATE_ICON_STATE|UPDATE_NAME) if(iscultist(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() ///////////////////////////Transferring to constructs///////////////////////////////////////////////////// @@ -274,11 +274,11 @@ /obj/structure/constructshell/examine(mob/user) . = ..() if(in_range(user, src) && (iscultist(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/attackby(obj/item/I, mob/living/user, params) @@ -373,7 +373,7 @@ if(T.client && T.ghost_can_reenter()) init_shade(T, user) else - 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)) T.dust() //If we can't get a ghost, kill the sacrifice anyway. @@ -381,17 +381,17 @@ if("VICTIM") var/mob/living/carbon/human/T = target if(T.stat == 0) - 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, !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) @@ -399,21 +399,21 @@ 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((iscultist(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(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 T.forceMove(src) // Put the shade into the stone. T.health = T.maxHealth update_appearance(UPDATE_ICON_STATE|UPDATE_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.") if("CONSTRUCT") var/obj/structure/constructshell/shell = target @@ -449,7 +449,7 @@ to_chat(C, C.playstyle_string) was_used() 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 @@ -475,9 +475,9 @@ CC.Grant(src) D.Grant(src) SSticker.mode.cult_objs.study(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.")) cancel_camera() qdel(shell) qdel(shade) @@ -571,7 +571,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/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 4e272eb52b8..fc6d53dcdc1 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -89,9 +89,9 @@ wizard_mind.current.spellremove(wizard_mind.current) wizard_mind.current.faction = list("Station") if(issilicon(wizard_mind.current)) - to_chat(wizard_mind.current, "You have been turned into a robot! You can feel your magical powers fading away...") + to_chat(wizard_mind.current, span_userdanger("You have been turned into a robot! You can feel your magical powers fading away...")) else - to_chat(wizard_mind.current, "You have been brainwashed! You are no longer a wizard.") + to_chat(wizard_mind.current, span_userdanger("You have been brainwashed! You are no longer a wizard.")) SSticker.mode.update_wiz_icons_removed(wizard_mind) else if(wizard_mind in apprentices) SSticker.mode.apprentices -= wizard_mind @@ -100,9 +100,9 @@ wizard_mind.current.spellremove(wizard_mind.current) wizard_mind.current.faction = list("Station") if(issilicon(wizard_mind.current)) - to_chat(wizard_mind.current, "You have been turned into a robot! You can feel your magical powers fading away...") + to_chat(wizard_mind.current, span_userdanger("You have been turned into a robot! You can feel your magical powers fading away...")) else - to_chat(wizard_mind.current, "You have been brainwashed! You are no longer a wizard-apprentice.") + to_chat(wizard_mind.current, span_userdanger("You have been brainwashed! You are no longer a wizard-apprentice.")) SSticker.mode.update_wiz_icons_removed(wizard_mind) /datum/game_mode/proc/update_wiz_icons_added(datum/mind/wiz_mind) @@ -156,10 +156,10 @@ addtimer(CALLBACK(wizard.current, TYPE_PROC_REF(/mob, playsound_local), null, 'sound/ambience/antag/ragesmages.ogg', 100, 0), 30) var/list/messages = list() if(you_are) - messages.Add("You are the Space Wizard!") + messages.Add(span_danger("You are the Space Wizard!")) messages.Add("The Space Wizards Federation has given you the following tasks:") messages.Add(wizard.prepare_announce_objectives(title = FALSE)) - messages.Add("С полной информацией вы можете ознакомиться на вики: Маг") + messages.Add(span_motd("С полной информацией вы можете ознакомиться на вики: Маг")) to_chat(wizard.current, chat_box_red(messages.Join("
"))) return @@ -254,9 +254,9 @@ - to_chat(wizard_mob, "Вы найдёте набор из доступных закинаний в вашем магическом учебнике.") - to_chat(wizard_mob, "Магический учебник привязан к вам, другие не могут ей воспользоваться.") - to_chat(wizard_mob, "В карманах вы найдёте свиток телепортации. Используйте его при необходимости.") + to_chat(wizard_mob, span_notice("Вы найдёте набор из доступных закинаний в вашем магическом учебнике.")) + to_chat(wizard_mob, span_notice("Магический учебник привязан к вам, другие не могут ей воспользоваться.")) + to_chat(wizard_mob, span_notice("В карманах вы найдёте свиток телепортации. Используйте его при необходимости.")) wizard_mob.mind.store_memory("Помните: не забудьте выбрать предпочитаемый набор.") wizard_mob.update_icons() wizard_mob.gene_stability += DEFAULT_GENE_STABILITY //magic @@ -298,7 +298,7 @@ /datum/game_mode/wizard/declare_completion(var/ragin = 0) if(finished && !ragin) SSticker.mode_result = "wizard loss - wizard killed" - to_chat(world, " The wizard[(wizards.len>1)?"s":""] [(apprentices.len>1)?"and apprentices":""] 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[(wizards.len>1)?"s":""] [(apprentices.len>1)?"and apprentices":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!")) ..() return 1 diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index ac774327f2e..661f67b9062 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -106,8 +106,8 @@ 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.") diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index fa7255d1147..9455f64d15f 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -157,11 +157,11 @@ add_attack_logs(user, src, "emagged") emagged = TRUE if(user) - to_chat(user, "You slide the card through [src]'s ID slot.") + to_chat(user, span_notice("You slide the card through [src]'s ID slot.")) playsound(loc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - desc += "
The mech's equipment slots spark dangerously!" + desc += span_danger("
The mech's equipment slots spark dangerously!") else if(user) - to_chat(user, "[src]'s ID slot rejects the card.") + to_chat(user, span_warning("[src]'s ID slot rejects the card.")) /obj/mecha/working/ripley/full_load name = "Тестовый Рипли" diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 2c691337281..1bdd1103f86 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -18,7 +18,7 @@ /obj/effect/mine/proc/mineEffect(mob/living/victim) - to_chat(victim, "*click*") + to_chat(victim, span_danger("*click*")) /obj/effect/mine/proc/on_entered(datum/source, mob/living/arrived, atom/old_loc, list/atom/old_locs) @@ -39,7 +39,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 = 1 @@ -145,7 +145,7 @@ /obj/effect/mine/pickup/bloodbath/mineEffect(mob/living/carbon/victim) if(!istype(victim) || !victim.client) return - to_chat(victim, "RIP AND TEAR") + to_chat(victim, span_redtext(span_reallybig("RIP AND TEAR"))) victim << 'sound/misc/e1m1.ogg' var/old_color = victim.client.color var/red_splash = list(1,0,0,0.8,0.2,0, 0.8,0,0.2,0.1,0,0) @@ -169,7 +169,7 @@ spawn(10) animate(victim.client,color = old_color, time = duration)//, easing = SINE_EASING|EASE_OUT) 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) @@ -181,7 +181,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() diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index f51a493800d..4fd34e83522 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -123,7 +123,7 @@ . = ..() if(ishuman(user)) if (user.a_intent == INTENT_HELP) - visible_message("Вы пощекотали брюшко [src.name].", "[user.name] пощекотал[genderize_ru(user.gender,"","а","о","и")] брюшко [src.name].") + visible_message(span_notice("Вы пощекотали брюшко [src.name]."), span_notice("[user.name] пощекотал[genderize_ru(user.gender,"","а","о","и")] брюшко [src.name].")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) else user.changeNext_move(CLICK_CD_MELEE) @@ -148,7 +148,7 @@ var/obj/machinery/atmospherics/unary/vent_pump/exit_vent = pick(vents) if(prob(50)) visible_message("[src] scrambles into the ventilation ducts!", \ - "You hear something squeezing through the ventilation ducts.") + span_notice("You hear something squeezing through the ventilation ducts.")) spawn(rand(20,60)) loc = exit_vent @@ -161,7 +161,7 @@ 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.")) sleep(travel_time) if(!exit_vent || exit_vent.welded) @@ -177,7 +177,7 @@ else if(prob(33)) if(random_skitter() && prob(40)) - visible_message("[src] skitters[pick(" away"," around","")].") + visible_message(span_notice("[src] skitters[pick(" away"," around","")].")) else if(prob(10)) //ventcrawl! for(var/obj/machinery/atmospherics/unary/vent_pump/v in view(7,src)) @@ -210,7 +210,7 @@ if(C) S.key = C.key 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_dangerbigger("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.")) add_game_logs("was made giant spider, master: [S.master_commander ? S.master_commander : "None"]") qdel(src) @@ -228,8 +228,8 @@ /obj/structure/spider/spiderling/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 [user] 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 [user] into your decompiler. It makes a series of visceral crunching noises.")) C.stored_comms["wood"] += 2 C.stored_comms["glass"] += 2 qdel(src) @@ -254,7 +254,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/items.dm b/code/game/objects/items.dm index 3756443000a..5f7da63b9df 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -308,29 +308,29 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/g 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: [CallTechName(T)] | Magnitude: [techlvls[T]]
" else - msg += "No tech origins detected.
" + msg += span_danger("No tech origins detected.
") if(length(materials)) - msg += "Extractable materials:
" + msg += span_notice("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(isclocker(user) && enchant_type) if(enchant_type == CASTING_SPELL) - . += "The last spell hasn't expired yet!
" + . += span_notice("The last spell hasn't expired yet!
") for(var/datum/spell_enchant/S in enchants) if(S.enchantment == enchant_type) - . += "It has a sealed spell \"[S.name]\" inside.
" + . += span_notice("It has a sealed spell \"[S.name]\" inside.
") break @@ -978,13 +978,13 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/g /obj/item/proc/wash(mob/user, atom/source) if(item_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, 4 SECONDS, 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 diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index 8f466e10f92..b7b7b67f65f 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -18,7 +18,7 @@ /obj/item/twohanded/cardboard_cutout/attack_hand(mob/living/user) if(user.a_intent == INTENT_HELP || pushed_over) return ..() - user.visible_message("[user] толка[pluralize_ru(user.gender,"ет","ют")] [src]!", "[pluralize_ru(user.gender,"Ты толкаешь","Вы толкаете")] [src]!") + user.visible_message(span_warning("[user] толка[pluralize_ru(user.gender,"ет","ют")] [src]!"), span_danger("[pluralize_ru(user.gender,"Ты толкаешь","Вы толкаете")] [src]!")) playsound(src, 'sound/weapons/genhit.ogg', 50, 1) push_over() @@ -35,7 +35,7 @@ . = ..() if(HAS_TRAIT(src, TRAIT_WIELDED)) if(pushed_over) - to_chat(user, "[pluralize_ru(user.gender,"Ты поднимаешь","Вы поднимаете")] [src].") + to_chat(user, span_notice("[pluralize_ru(user.gender,"Ты поднимаешь","Вы поднимаете")] [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 @@ -97,23 +97,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, 1 SECONDS, src, DEFAULT_DOAFTER_IGNORE|DA_IGNORE_HELD_ITEM)) 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/crayons.dm b/code/game/objects/items/crayons.dm index d9ad9f4cbd1..f95e83a5440 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -23,7 +23,7 @@ var/list/validSurfaces = list(/turf/simulated/floor) /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) @@ -86,16 +86,16 @@ 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_info("You start drawing a [temp] on the [target.name].")) busy = TRUE if(instant || do_after(user, 5 SECONDS * toolspeed, target, category = DA_CAT_TOOL)) var/obj/effect/decal/cleanable/crayon/C = new /obj/effect/decal/cleanable/crayon(target,colour,drawtype,temp) C.add_hiddenprint(user) - to_chat(user, "You finish drawing [temp].") + to_chat(user, span_info("You finish drawing [temp].")) 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 @@ -299,7 +299,7 @@ var/choice = input(user,"Spraycan options") in list("Toggle Cap","Change Drawing","Change Color") switch(choice) if("Toggle Cap") - to_chat(user, "You [capped ? "Remove" : "Replace"] the cap of the [src]") + to_chat(user, span_notice("You [capped ? "Remove" : "Replace"] the cap of the [src]")) capped = !capped update_icon() if("Change Drawing") @@ -321,7 +321,7 @@ if(uses-10 > 0) uses = uses - 10 var/mob/living/carbon/human/C = target - 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(C.client) C.EyeBlurry(6 SECONDS) C.EyeBlind(2 SECONDS) diff --git a/code/game/objects/items/decorations.dm b/code/game/objects/items/decorations.dm index 31a58d695f8..d6b89b5da80 100644 --- a/code/game/objects/items/decorations.dm +++ b/code/game/objects/items/decorations.dm @@ -337,7 +337,7 @@ /obj/structure/decorative_structures/corpse/attack_hand(mob/living/user) take_damage(pick(2,3), BRUTE, "melee") playsound(src, (pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg')), 20, 0) - user.visible_message("You punched something viscous! You hear a slimy sound.") + user.visible_message(span_danger("You punched something viscous! You hear a slimy sound.")) /obj/structure/decorative_structures/corpse/play_attack_sound() return @@ -359,7 +359,7 @@ continue if(HAS_TRAIT(H, TRAIT_NO_BREATH)) continue //no puking if you can't smell! - to_chat(H, "You smell something foul...") + to_chat(H, span_warning("You smell something foul...")) H.fakevomit() ///// jumping meat for body explotion effect diff --git a/code/game/objects/items/devices/chameleon_counter.dm b/code/game/objects/items/devices/chameleon_counter.dm index 6d8ceb430e4..c69363916e2 100644 --- a/code/game/objects/items/devices/chameleon_counter.dm +++ b/code/game/objects/items/devices/chameleon_counter.dm @@ -24,7 +24,7 @@ if(dummy_active || !isitem(target)) return playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, 1, -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 @@ -42,9 +42,9 @@ playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -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() @@ -76,6 +76,6 @@ matter_toggle(user) /obj/item/chameleon_counterfeiter/proc/buzz() - visible_message(" The [name] is buzzing weirdly!") + visible_message(span_danger(" The [name] is buzzing weirdly!")) playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6) matter_deactivate() diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index fe0047a2bfe..36661c7f720 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -51,7 +51,7 @@ if(!active_dummy) if(isitem(target) && !istype(target, /obj/item/disk/nuclear)) playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, 1, -6) - to_chat(user, "Scanned [target].") + to_chat(user, span_notice("Scanned [target].")) var/obj/temp = new /obj() temp.appearance = target.appearance temp.layer = initial(target.layer) @@ -70,13 +70,13 @@ eject_all() playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6) QDEL_NULL(active_dummy) - to_chat(user, "You deactivate [src].") + to_chat(user, span_notice("You deactivate [src].")) new /obj/effect/temp_visual/emp/pulse(get_turf(src)) else playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6) var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(get_turf(user)) C.activate(user, saved_appearance, src) - to_chat(user, "You activate [src].") + to_chat(user, span_notice("You activate [src].")) new /obj/effect/temp_visual/emp/pulse(get_turf(src)) /obj/item/chameleon/proc/disrupt(delete_dummy = 1) @@ -120,7 +120,7 @@ /obj/effect/dummy/chameleon/attack_hand() for(var/mob/M in src) - to_chat(M, "Your chameleon projector deactivates.") + to_chat(M, span_danger("Your chameleon projector deactivates.")) master.disrupt() /obj/effect/dummy/chameleon/attack_animal() @@ -134,7 +134,7 @@ /obj/effect/dummy/chameleon/ex_act(severity) //no longer bomb-proof for(var/mob/M in src) - to_chat(M, "Your chameleon projector deactivates.") + to_chat(M, span_danger("Your chameleon projector deactivates.")) spawn() M.ex_act(severity) master.disrupt() @@ -209,14 +209,14 @@ 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 [activationCost] charge in your cell to use [src]!") + to_chat(user, span_warning("You need at least [activationCost] charge in your cell to use [src]!")) /obj/item/borg_chameleon/proc/toggle(mob/living/silicon/robot/syndicate/saboteur/user) if(active) playsound(src, 'sound/effects/pop.ogg', 100, 1, -6) - to_chat(user, "You deactivate [src].") + to_chat(user, span_notice("You deactivate [src].")) deactivate(user) else var/choice @@ -244,7 +244,7 @@ choice = disguise else choice = last_disguise - to_chat(user, "You activate [src].") + to_chat(user, span_notice("You activate [src].")) var/start = user.filters.len var/X var/Y @@ -264,10 +264,10 @@ animate(offset = f:offset - 1, time = rand() * 20 + 10) if(do_after(user, 5 SECONDS, user) && user.cell.use(activationCost)) playsound(src, 'sound/effects/bamf.ogg', 100, 1, -6) - to_chat(user, "You are now disguised as a Nanotrasen cyborg.") + to_chat(user, span_notice("You are now disguised as a Nanotrasen cyborg.")) activate(user, choice) else - to_chat(user, "The chameleon field fizzles.") + to_chat(user, span_warning("The chameleon field fizzles.")) do_sparks(3, FALSE, user) for(i in 1 to min(7, user.filters.len)) // removing filters that are animating does nothing, we gotta stop the animations first f = user.filters[start + i] @@ -307,5 +307,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/flash.dm b/code/game/objects/items/devices/flash.dm index 441de22d994..ed7be7be98e 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -87,7 +87,7 @@ /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 update_icon(UPDATE_ICON_STATE) - visible_message("The [src.name] burns out!") + visible_message(span_notice("The [src.name] burns out!")) /obj/item/flash/proc/flash_recharge(mob/user) @@ -108,7 +108,7 @@ return FALSE if(!COOLDOWN_FINISHED(src, flash_cooldown)) if(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 COOLDOWN_START(src, flash_cooldown, cooldown_duration) flash_recharge(user) @@ -179,7 +179,10 @@ /obj/item/flash/attack_self(mob/living/carbon/user, flag = 0, emp = FALSE) if(!try_use_flash(user)) return FALSE - user.visible_message("[user]'s [src.name] emits a blinding light!", "Your [src.name] emits a blinding light!") + user.visible_message( + span_disarm("[user]'s [src.name] emits a blinding light!"), + span_danger("Your [src.name] emits a blinding light!") + ) for(var/mob/living/carbon/M in oviewers(3, get_turf(src))) flash_carbon(M, user, 6 SECONDS, FALSE) @@ -243,7 +246,7 @@ /obj/item/flash/cameraflash/try_use_flash(mob/user) if(!flash_cur_charges) if(user) - to_chat(user, "[src] needs time to recharge!") + to_chat(user, span_warning("[src] needs time to recharge!")) return FALSE . = ..() if(.) @@ -263,7 +266,7 @@ /obj/item/flash/armimplant/burn_out() if(I && I.owner) - to_chat(I.owner, "Your [name] implant overheats and deactivates!") + to_chat(I.owner, span_warning("Your [name] implant overheats and deactivates!")) I.Retract() /obj/item/flash/synthetic //just a regular flash now diff --git a/code/game/objects/items/devices/memorizer.dm b/code/game/objects/items/devices/memorizer.dm index 7d776c32468..c3e9062d998 100644 --- a/code/game/objects/items/devices/memorizer.dm +++ b/code/game/objects/items/devices/memorizer.dm @@ -68,7 +68,7 @@ /obj/item/memorizer/proc/burn_out() //Made so you can override it if you want to have an invincible flash from R&D or something. broken = TRUE update_icon(UPDATE_ICON_STATE) - visible_message("The [name] burns out!") + visible_message(span_notice("The [name] burns out!")) /obj/item/memorizer/proc/flash_recharge(mob/user) @@ -112,10 +112,13 @@ fucking_target.Stun(2 SECONDS) visible_message(span_disarm("[user] erases [fucking_target] memory with the memorizer!")) to_chat(user, span_danger("You erased [fucking_target] memory with the memorizer!")) - to_chat(fucking_target, span_danger("Your memory about last events has been erased!")) + to_chat(fucking_target, span_danger(span_reallybig("Your memory about last events has been erased!"))) if(fucking_target.weakeyes) fucking_target.Stun(4 SECONDS) - fucking_target.visible_message(span_disarm("[fucking_target] gasps and shields [fucking_target.p_their()] eyes!"), span_userdanger("You gasp and shield your eyes!")) + fucking_target.visible_message( + span_disarm("[fucking_target] gasps and shields [fucking_target.p_their()] eyes!"), + span_userdanger("You gasp and shield your eyes!") + ) else visible_message(span_disarm("[user] fails to erase [fucking_target] memory with the memorizer!")) to_chat(user, span_warning("You fail to erase [fucking_target] memory with the memorizer!")) @@ -141,7 +144,10 @@ add_attack_logs(user, fucking_target, "Flashed with [src]") if(fucking_target.flash_eyes(affect_silicon = TRUE)) fucking_target.Weaken(rand(10 SECONDS, 20 SECONDS)) - user.visible_message(span_disarm("[user] overloads [fucking_target]'s sensors with the [name]!"), span_danger("You overload [fucking_target]'s sensors with the [name]!")) + user.visible_message( + span_disarm("[user] overloads [fucking_target]'s sensors with the [name]!"), + span_danger("You overload [fucking_target]'s sensors with the [name]!") + ) return .|ATTACK_CHAIN_SUCCESS user.visible_message(span_disarm("[user] fails to blind [fucking_target] with the [name]!"), span_warning("You fail to blind [fucking_target] with the [name]!")) @@ -149,7 +155,10 @@ /obj/item/memorizer/attack_self(mob/living/carbon/user, flag = 0, emp = FALSE) if(!try_use_flash(user)) return FALSE - user.visible_message("[user]'s [src.name] emits a blinding light!", "Your [src.name] emits a blinding light!") + user.visible_message( + span_disarm("[user]'s [src.name] emits a blinding light!"), + span_danger("Your [src.name] emits a blinding light!") + ) for(var/mob/living/carbon/fucking_target in oviewers(3, get_turf(src))) memorize_carbon(fucking_target, user, 3, FALSE) diff --git a/code/game/objects/items/devices/pizza_bomb.dm b/code/game/objects/items/devices/pizza_bomb.dm index c7736e8b278..6bc3c337cbb 100644 --- a/code/game/objects/items/devices/pizza_bomb.dm +++ b/code/game/objects/items/devices/pizza_bomb.dm @@ -52,7 +52,7 @@ /obj/item/pizza_bomb/attack_self(mob/user) if(disarmed) - to_chat(user, "\The [src] is disarmed.") + to_chat(user, span_notice("\The [src] is disarmed.")) return if(!timer_set) @@ -69,15 +69,15 @@ timer = new_timer SECONDS timer_set = TRUE update_appearance(UPDATE_ICON_STATE|UPDATE_NAME|UPDATE_DESC) - to_chat(user, "You set the timer to [timer / 10] before activating the payload and closing \the [src].") + to_chat(user, span_notice("You set the timer to [timer / 10] before activating the payload and closing \the [src].")) message_admins("[key_name_admin(usr)] has set a timer on a pizza bomb to [timer/10] seconds at [ADMIN_COORDJMP(loc)].") add_game_logs("has set the timer on a pizza bomb to [timer/10] seconds [COORD(loc)].", usr) armer = usr return if(!primed) - audible_message("[bicon(src)] *beep* *beep*") - to_chat(user, "That's no pizza! That's a bomb!") + audible_message(span_warning("[bicon(src)] *beep* *beep*")) + to_chat(user, span_danger("That's no pizza! That's a bomb!")) message_admins("[key_name_admin(usr)] has triggered a pizza bomb armed by [armer] at [ADMIN_COORDJMP(loc)].") add_game_logs("has triggered a pizza bomb armed by [armer] [COORD(loc)].", usr) primed = TRUE @@ -87,10 +87,10 @@ /obj/item/pizza_bomb/proc/go_boom() if(disarmed) - visible_message("[bicon(src)] Sparks briefly jump out of the [correct_wire] wire on \the [src], but it's disarmed!") + visible_message(span_danger("[bicon(src)] Sparks briefly jump out of the [correct_wire] wire on \the [src], but it's disarmed!")) return atom_say("Наслаждайтесь пиццей!") - src.visible_message("\The [src] violently explodes!") + src.visible_message(span_userdanger("\The [src] violently explodes!")) explosion(src.loc,1,2,4,flame_range = 2) //Identical to a minibomb qdel(src) diff --git a/code/game/objects/items/theft_items.dm b/code/game/objects/items/theft_items.dm index f32670baa7a..ea65c11beb8 100644 --- a/code/game/objects/items/theft_items.dm +++ b/code/game/objects/items/theft_items.dm @@ -38,7 +38,7 @@ flick(pulseicon, src) /obj/item/nuke_core/suicide_act(mob/user) - user.visible_message("[user] is rubbing [src] against [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is rubbing [src] against [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!")) return TOXLOSS //The steal objective, so it doesnt mess with the SM sliver on pinpointers and objectives @@ -80,9 +80,9 @@ /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 \"Cybersun Industries secure container, guaranteed thermite proof, assistant proof, and explosive resistant.\"" @@ -133,7 +133,7 @@ update_icon(UPDATE_ICON_STATE) 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/attackby(obj/item/I, mob/user, params) @@ -144,7 +144,7 @@ /obj/item/nuke_core_container/proc/crack_open() - visible_message("[src] bursts open!") + visible_message(span_boldnotice("[src] bursts open!")) if(core) START_PROCESSING(SSobj, core) REMOVE_TRAIT(core, TRAIT_BLOCK_RADIATION, src) @@ -240,9 +240,11 @@ 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.", "supermatter") - victim.visible_message("As [victim] is hit by [src], both burst into flames and silence fills the room...", - "You're hit by [src] and everything suddenly goes silent.\n[src] bursts into flames, 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 burst into flames and silence fills the room..."), + span_userdanger("You're hit by [src] and everything suddenly goes silent.\n[src] bursts into flames, and soon as you can register this, you do as well."), + span_hear("Everything suddenly goes silent.") + ) victim.gib() for(var/mob/living/L in view(5, src)) L.apply_effect(120, IRRADIATE) @@ -298,7 +300,7 @@ I.sliver = null I.update_icon(UPDATE_ICON_STATE) update_icon(UPDATE_ICON_STATE) - 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/supermatter/seal() @@ -309,7 +311,7 @@ sealed = TRUE update_icon(UPDATE_ICON_STATE) 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) @@ -319,7 +321,7 @@ sliver = null I.update_icon(UPDATE_ICON_STATE) update_icon(UPDATE_ICON_STATE) - 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/attackby(obj/item/retractor/supermatter/tongs, mob/user, params) @@ -340,9 +342,11 @@ if(cracked && sliver) //What did we say about touching the shard... if(!isliving(user) || HAS_TRAIT(user, TRAIT_GODMODE)) 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!", - "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!"), + span_userdanger("You reach for [sliver] with your hands. That was dumb."), + span_italics("Everything suddenly goes silent.") + ) for(var/mob/living/L in view(5, src)) L.apply_effect(80, IRRADIATE) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) @@ -356,7 +360,7 @@ /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) REMOVE_TRAIT(sliver, TRAIT_BLOCK_RADIATION, src) @@ -410,7 +414,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 ..() @@ -436,9 +440,9 @@ qdel(AM) if(user) 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 bursts into flames and silence fills the room...", - "You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] bursts into flames, and soon as you can register this, you do as well.", - "Everything suddenly goes silent.") + user.visible_message(span_danger("As [user] touches [AM] with [src], both bursts into flames and silence fills the room..."), + span_userdanger("You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] bursts into flames, and soon as you can register this, you do as well."), + span_hear("Everything suddenly goes silent.")) user.gib() for(var/mob/living/L in view(5, src)) L.apply_effect(60, IRRADIATE) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index fb52f80bcad..490b5015491 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -72,13 +72,13 @@ if(istype(A, /obj/structure/reagent_dispensers)) var/obj/structure/reagent_dispensers/RD = A 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 user.changeNext_move(CLICK_CD_MELEE) A.reagents.trans_to(src, 10) - to_chat(user, "You fill the balloon with the contents of [A].") + to_chat(user, span_notice("You fill the balloon with the contents of [A].")) desc = "A translucent balloon with some form of liquid sloshing around in it." update_icon(UPDATE_ICON_STATE) @@ -86,7 +86,7 @@ /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(UPDATE_ICON_STATE) @@ -113,7 +113,7 @@ /obj/item/toy/balloon/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(reagents.total_volume >= 1) - visible_message("The [src] bursts!","You hear a pop and a splash.") + visible_message(span_warning("The [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) @@ -148,7 +148,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/balloon/snail @@ -192,13 +192,13 @@ /obj/item/toy/sword/attack_self(mob/user) 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" item_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 = "sword0" item_state = "sword0" @@ -276,7 +276,7 @@ /obj/item/toy/katana/suicide_act(mob/user) var/dmsg = pick("[user] tries to stab \the [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 \the [src] into [user.p_their()] abdomen, but \the [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 @@ -298,7 +298,7 @@ ..() do_sparks(3, 1, src) new /obj/effect/decal/cleanable/ash(src.loc) - visible_message("The [name] explodes!","You hear a bang!") + visible_message(span_warning("The [name] explodes!"),span_warning("You hear a bang!")) playsound(src, 'sound/effects/snap.ogg', 50, 1) qdel(src) @@ -325,8 +325,10 @@ /obj/item/toy/snappop/proc/pop_burst(var/n=3, var/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) @@ -380,14 +382,14 @@ //all credit to skasi for toy mech fun ideas /obj/item/toy/prize/attack_self(mob/user as mob) if(cooldown < world.time - 8) - to_chat(user, "You play with [src].") + to_chat(user, span_notice("You play with [src].")) playsound(user, 'sound/mecha/mechstep.ogg', 20, 1) cooldown = world.time /obj/item/toy/prize/attack_hand(mob/user as mob) if(loc == user) if(cooldown < world.time - 8) - to_chat(user, "You play with [src].") + to_chat(user, span_notice("You play with [src].")) playsound(user, 'sound/mecha/mechturn.ogg', 20, 1) cooldown = world.time return @@ -479,11 +481,11 @@ /obj/item/toy/nuke/attack_self(mob/user) if(cooldown < world.time) cooldown = world.time + 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.")) INVOKE_ASYNC(src, PROC_REF(async_animation)) 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)][span_alert("' appears on a small display.")]") /obj/item/toy/nuke/proc/async_animation() @@ -517,7 +519,7 @@ /obj/item/toy/therapy/attack_self(mob/user) if(cooldown < world.time - 8) - 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, 1) cooldown = world.time @@ -688,7 +690,7 @@ /obj/item/toy/plushie/attack_self(mob/user as mob) var/cuddle_verb = pick("hugs","cuddles","snugs") - user.visible_message("[user] [cuddle_verb] the [src].") + user.visible_message(span_notice("[user] [cuddle_verb] the [src].")) playsound(get_turf(src), poof_sound, 50, 1, -1) return ..() @@ -955,7 +957,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 @@ -976,14 +978,14 @@ 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/attack_self(mob/user) if(!cooldown) playsound(user, 'sound/voice/shriek1.ogg', 10, FALSE) - visible_message("Skreee!") + visible_message(span_danger("Skreee!")) cooldown = 1 spawn(30) cooldown = 0 return @@ -1022,7 +1024,7 @@ return ..() playsound(loc, pick('sound/effects/supermatter.ogg', 'sound/effects/glass_step_sm.ogg'), 10, 1) - visible_message(" DESTABILIZATION!") + visible_message(span_danger(" DESTABILIZATION!")) cooldown = TRUE addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 3 SECONDS) @@ -1074,14 +1076,14 @@ switch(rand(1, 20)) if(1 to 12) playsound(src, ashwalkerbite, 40, 1) - visible_message("Hsss!") + visible_message(span_danger("Hsss!")) if(13 to 19) playsound(src, pick('sound/voice/unathi/roar.ogg', 'sound/voice/unathi/roar2.ogg', 'sound/voice/unathi/roar3.ogg', \ 'sound/voice/unathi/threat.ogg', 'sound/voice/unathi/threat2.ogg', 'sound/voice/unathi/whip.ogg'), 40, 1) - visible_message("RAAAAAWR!") + visible_message(span_danger("RAAAAAWR!")) if(20) playsound(src, pick('sound/voice/unathi/rumble.ogg', 'sound/voice/unathi/rumble2.ogg'), 40, 1) - visible_message("Ash walker looks calm.") + visible_message(span_notice("Ash walker looks calm.")) cooldown = TRUE addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 3 SECONDS) @@ -1117,7 +1119,7 @@ return ..() playsound(src, 'sound/voice/scream_moth.ogg', 10, 0) - visible_message("Buzzzz!") + visible_message(span_danger("Buzzzz!")) cooldown = TRUE addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 3 SECONDS) @@ -1199,7 +1201,7 @@ return ..() playsound(src, 'sound/items/goatsound.ogg', 10, 0) - visible_message("Baaaaah!") + visible_message(span_danger("Baaaaah!")) cooldown = TRUE addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 3 SECONDS) @@ -1231,7 +1233,7 @@ return ..() playsound(src, 'sound/weapons/bite.ogg', 10, 0) - visible_message("...!") + visible_message(span_danger("...!")) cooldown = TRUE addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 3 SECONDS) @@ -1277,7 +1279,7 @@ return ..() playsound(src, 'sound/items/axolotl.ogg', 20, 0) - visible_message("Squeeek!") + visible_message(span_danger("Squeeek!")) cooldown = TRUE addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 3 SECONDS) @@ -1350,7 +1352,7 @@ return ..() playsound(src, 'sound/effects/extinguish.ogg', 20, 0) - visible_message("Plasssma iss Eternal!") + visible_message(span_danger("Plasssma iss Eternal!")) cooldown = TRUE addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 3 SECONDS) @@ -1374,7 +1376,7 @@ return ..() playsound(src, 'sound/items/Help.ogg', 10, 0) - visible_message("Ruuun!") + visible_message(span_danger("Ruuun!")) cooldown = TRUE addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 3 SECONDS) @@ -1478,7 +1480,7 @@ return ..() playsound(src, bubblestep, 40, 1) - visible_message("Bubblegum stomps...") + visible_message(span_danger("Bubblegum stomps...")) cooldown = TRUE addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 3 SECONDS) @@ -1600,7 +1602,7 @@ /obj/item/toy/redbutton/attack_self(mob/user) if(cooldown < world.time) 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, 0, 0) for(var/mob/M in range(10, src)) // Checks range if(!M.stat && !istype(M, /mob/living/silicon/ai)) // Checks to make sure whoever's getting shaken is alive/not the AI @@ -1608,7 +1610,7 @@ shake_camera(M, 2, 1) // Shakes player camera 2 squares for 1 second. else - to_chat(user, "Nothing happens.") + to_chat(user, span_alert("Nothing happens.")) /* @@ -1625,9 +1627,9 @@ /obj/item/toy/AI/attack_self(mob/user) if(!cooldown) //for the sanity of everyone 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, 1) - visible_message("[bicon(src)] [message]") + visible_message(span_danger("[bicon(src)] [message]")) cooldown = 1 spawn(30) cooldown = 0 return @@ -1679,9 +1681,9 @@ /obj/item/toy/owl/attack_self(mob/user) if(!cooldown) //for the sanity of everyone 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 the [src].") + to_chat(user, span_notice("You pull the string on the [src].")) playsound(user, 'sound/creatures/hoot.ogg', 25, 1) - visible_message("[bicon(src)] [message]") + visible_message(span_danger("[bicon(src)] [message]")) cooldown = 1 spawn(30) cooldown = 0 return @@ -1698,9 +1700,9 @@ /obj/item/toy/griffin/attack_self(mob/user) if(!cooldown) //for the sanity of everyone 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 the [src].") + to_chat(user, span_notice("You pull the string on the [src].")) playsound(user, 'sound/creatures/caw.ogg', 25, 1) - visible_message("[bicon(src)] [message]") + visible_message(span_danger("[bicon(src)] [message]")) cooldown = 1 spawn(30) cooldown = 0 return @@ -1800,13 +1802,13 @@ /obj/item/toy/minigibber/attack_self(mob/user) 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 @@ -1851,10 +1853,10 @@ /obj/item/toy/toy_xeno/attack_self(mob/user) if(cooldown <= world.time) cooldown = (world.time + 50) //5 second cooldown - user.visible_message("[user] pulls back the string on [src].") + user.visible_message(span_notice("[user] pulls back the string on [src].")) INVOKE_ASYNC(src, PROC_REF(async_animation)) else - 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/toy_xeno/proc/async_animation() @@ -1892,7 +1894,7 @@ var/max_shots = 6 /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 @@ -1902,10 +1904,10 @@ /obj/item/toy/russian_revolver/attack_self(mob/user) 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() @@ -1932,7 +1934,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) @@ -1941,14 +1943,14 @@ if(!(user.get_organ(zone))) // If they somehow don't have a head. zone = BODY_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) 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 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/trick_revolver @@ -2038,7 +2040,7 @@ /obj/item/toy/figure/attack_self(mob/user as mob) if(cooldown < world.time) cooldown = (world.time + 30) //3 second cooldown - user.visible_message("[bicon(src)] The [src] says \"[toysay]\".") + user.visible_message(span_notice("[bicon(src)] The [src] says \"[toysay]\".")) playsound(user, 'sound/machines/click.ogg', 20, 1) /obj/item/toy/figure/cmo @@ -2279,8 +2281,8 @@ /obj/item/toy/eight_ball/attack_self(mob/user as mob) if(!cooldown) var/answer = pick(possible_answers) - user.visible_message("[user] focuses on [user.p_their()] question and [use_action]...") - user.visible_message("[bicon(src)] The [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)] The [src] says \"[answer]\"")) spawn(30) cooldown = 0 return @@ -2333,7 +2335,7 @@ set src in oview(1) if(usr.incapacitated() || HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED)) - to_chat(usr, "You can't do that right now!") + to_chat(usr, span_warning("You can't do that right now!")) return dir = turn(dir, 270) return TRUE diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index ec808d498ff..536a1213d40 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -131,8 +131,8 @@ /obj/item/rcd/examine(mob/user) . = ..() - . += "MATTER: [matter]/[max_matter] matter-units." - . += "MODE: [mode]." + . += span_notice("MATTER: [matter]/[max_matter] matter-units.") + . += span_notice("MODE: [mode].") /obj/item/rcd/Destroy() QDEL_NULL(spark_system) @@ -180,11 +180,11 @@ /obj/item/rcd/proc/rcd_reload(obj/item/rcd_ammo/rcd_ammo, mob/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 if(!user.drop_item_ground(rcd_ammo)) - to_chat(user, "[rcd_ammo] is stuck to your hand!") + to_chat(user, span_warning("[rcd_ammo] is stuck to your hand!")) return user.put_in_active_hand(rcd_ammo) @@ -192,9 +192,9 @@ matter = min(matter + rcd_ammo.ammoamt, max_matter) qdel(rcd_ammo) 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.")) else - to_chat(user, "This matter cartridge is incompatible with your RCD") + to_chat(user, span_warning("This matter cartridge is incompatible with your RCD")) SStgui.update_uis(src) /** @@ -240,7 +240,7 @@ else return 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/attack_self(mob/user) @@ -309,13 +309,13 @@ if("door_type") var/new_door_type = text2path(params["door_type"]) if(!(new_door_type in current_rcd_door_types)) - message_admins("RCD Door HREF exploit attempted by [ADMIN_FULLMONTY(usr)]!") + message_admins("[span_warning("RCD Door HREF exploit")] attempted by [ADMIN_FULLMONTY(usr)]!") return FALSE door_type = new_door_type 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 @@ -436,7 +436,10 @@ /obj/item/rcd/proc/detonate_pulse() if(is_taipan(z) || is_admin_level(z)) //Защищает тайпан и админские Z-lvla от взрыва RCD return - 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/weapons/bee_briefcase.dm b/code/game/objects/items/weapons/bee_briefcase.dm index 17189054e59..c43127c991b 100644 --- a/code/game/objects/items/weapons/bee_briefcase.dm +++ b/code/game/objects/items/weapons/bee_briefcase.dm @@ -35,9 +35,9 @@ . = ..() 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_warning("The bees are gone... Colony collapse disorder?") /obj/item/bee_briefcase/attackby(obj/item/I, mob/user, params) @@ -81,7 +81,7 @@ /obj/item/bee_briefcase/attack_self(mob/user as mob) 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/dice.dm b/code/game/objects/items/weapons/dice.dm index 13251a89a4c..5650d5e31a8 100644 --- a/code/game/objects/items/weapons/dice.dm +++ b/code/game/objects/items/weapons/dice.dm @@ -52,7 +52,7 @@ /obj/item/storage/pill_bottle/dice/suicide_act(mob/user) - user.visible_message("[user] Игра[pluralize_ru(user.gender,"ет","ют")] со смертью! Похоже, он[genderize_ru(user.gender,"","а","о","и")] пыта[pluralize_ru(user.gender,"ется","ются")] покончить жизнь самоубийством!") + user.visible_message(span_suicide("[user] игра[pluralize_ru(user.gender,"ет","ют")] со смертью! Похоже, он[genderize_ru(user.gender,"","а","о","и")] пыта[pluralize_ru(user.gender,"ется","ются")] покончить жизнь самоубийством!")) return (OXYLOSS) /obj/item/dice //depreciated d6, use /obj/item/dice/d6 if you actually want a d6 @@ -92,7 +92,7 @@ /obj/item/dice/suicide_act(mob/user) - user.visible_message("[user] играет со смертью! Похоже [user.p_theyre()] пытается покончить жизнь самоубийством!") + user.visible_message(span_suicide("[user] играет со смертью! Похоже [user.p_theyre()] пытается покончить жизнь самоубийством!")) return (OXYLOSS) /obj/item/dice/d1 @@ -200,11 +200,13 @@ if(length(special_faces) == sides) result = special_faces[result] if(user != null) //Dice was rolled in someone's hand - user.visible_message("[user] броса[pluralize_ru(user.gender,"ет","ют")] [src.name]. На [src.name] выпадает [result]. [comment]", - "Вы бросили [src.name] и выпало [result]. [comment]", - "Вы слышите как катится [src.name], звучит как [fake_result].") + user.visible_message( + "[user] броса[pluralize_ru(user.gender,"ет","ют")] [src.name]. На [src.name] выпадает [result]. [comment]", + span_notice("Вы бросили [src.name] и выпало [result]. [comment]"), + span_italics("Вы слышите как катится [src.name], звучит как [fake_result].") + ) else if(!throwing) //Dice was thrown and is coming to rest - visible_message("[src.name] прекращает катиться, остановившись на [result]. [comment]") + visible_message(span_notice("[src.name] прекращает катиться, остановившись на [result]. [comment]")) /obj/item/dice/d20/e20/diceroll(mob/user, thrown) if(triggered) @@ -213,12 +215,12 @@ . = ..() if(result == 1) - to_chat(user, "На вас упали камни и вы умерли.") + to_chat(user, span_danger("На вас упали камни и вы умерли.")) user.gib() add_attack_logs(src, user, "detonated with a roll of [result], gibbing them!", ATKLOG_FEW) else triggered = TRUE - visible_message("Вы слышите тихий щелчок.") + visible_message(span_notice("Вы слышите тихий щелчок.")) addtimer(CALLBACK(src, PROC_REF(boom), user, result), 4 SECONDS) /obj/item/dice/d20/e20/proc/boom(mob/user, result) @@ -268,14 +270,14 @@ . = ..() if(!used) if(!ishuman(user) || !user.mind || (user.mind in SSticker.mode.wizards)) - 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) @@ -283,7 +285,7 @@ . = ..() if(!ishuman(user) || !user.mind || (user.mind in SSticker.mode.wizards)) - 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_ground(src) /obj/item/dice/d20/fate/proc/create_smoke(amount) @@ -296,35 +298,35 @@ 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/simple_animal/hostile/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/implant) || istype(I, /obj/item/organ)) continue qdel(I) if(5) //Monkeying - 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!")) user.add_movespeed_modifier(/datum/movespeed_modifier/die_of_fate) 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/throw_dir = GLOB.cardinal @@ -332,29 +334,29 @@ 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 = src) if(9) //Cold - T.visible_message("[user] looks a little under the weather!") + T.visible_message(span_userdanger("[user] looks a little under the weather!")) var/datum/disease/virus/cold/D = new D.Contract(user) 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/reagent_containers/food/snacks/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) @@ -366,17 +368,17 @@ new /obj/item/coin/gold(M) if(14) //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/projectile/revolver/mateba(drop_location()) if(15) //Random One-use 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 /obj/item/spellbook/oneuse/random(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) @@ -403,22 +405,22 @@ if(17) //Choose from 1 of 3 random syndie bundles - T.visible_message("A suspicious radio beacon appears!") + T.visible_message(span_userdanger("A suspicious radio beacon appears!")) new /obj/item/radio/beacon/syndicate/bundle/magical(drop_location()) create_smoke(2) 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) //Free wizard! - T.visible_message("Magic flows out of [src] and into [user]!") + T.visible_message(span_userdanger("Magic flows out of [src] and into [user]!")) user.mind.make_Wizard() diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 0dee6d84a6e..5182eb37a6e 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -70,7 +70,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 @@ -146,7 +146,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() @@ -170,16 +170,16 @@ /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) START_PROCESSING(SSobj, src) @@ -261,7 +261,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 = ITEM_ATTACK) var/obj/item/projectile/P = hitby if(ptank && 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) add_game_logs("A projectile ([hitby]) detonated a flamethrower tank held by [key_name(owner)] at [COORD(target_turf)]", owner) igniter.ignite_turf(src,target_turf, release_amount = 100) diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index 333bab5e3ef..82811012877 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -139,7 +139,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 = ITEM_ATTACK) var/obj/item/projectile/P = hitby if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15)) - owner.visible_message("[attack_text] hits [owner]'s [src], setting it off! What a shot!") + owner.visible_message(span_danger("[attack_text] hits [owner]'s [src], setting it off! What a shot!")) add_attack_logs(P.firer, owner, "A projectile ([hitby]) detonated a grenade held", ATKLOG_FEW) prime() return 1 //It hit the grenade, not them @@ -471,7 +471,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(mob/user) if(stage != READY) diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index 2b619e2a3b4..3521b82bb3c 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -4,8 +4,8 @@ righthand_file = 'icons/mob/inhands/melee_righthand.dmi' /obj/item/melee/proc/check_martial_counter(mob/living/carbon/human/target, mob/living/carbon/human/user) - var/message = "[target.name] blocks [src] and twists [user]'s arm behind [user.p_their()] back!" - var/self_message = "You block the attack!" + var/message = span_danger("[target.name] blocks [src] and twists [user]'s arm behind [user.p_their()] back!") + var/self_message = span_userdanger("You block the attack!") if(target.check_martial_art_defense(target, user, src, message, self_message)) user.Stun(4 SECONDS) return TRUE @@ -26,7 +26,7 @@ /obj/item/melee/chainofcommand/suicide_act(mob/user) - to_chat(viewers(user), "[user] is strangling [user.p_them()]self with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.") + to_chat(viewers(user), span_suicide("[user] is strangling [user.p_them()]self with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.")) return OXYLOSS /obj/item/melee/rapier @@ -166,15 +166,23 @@ 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(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.")) + 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, 2.5 SECONDS, 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(TRUE) /obj/item/melee/mantisblade/shellguard @@ -233,7 +241,7 @@ if(proximity_flag) if(is_type_in_typecache(target, strong_against)) new /obj/effect/decal/cleanable/insectguts(target.drop_location()) - to_chat(user, "You easily splat the [target].") + to_chat(user, span_warning("You easily splat the [target].")) if(istype(target, /mob/living/)) var/mob/living/bug = target bug.death(1) diff --git a/code/game/objects/items/weapons/shards.dm b/code/game/objects/items/weapons/shards.dm index 492b7bcb627..0885b7bca75 100644 --- a/code/game/objects/items/weapons/shards.dm +++ b/code/game/objects/items/weapons/shards.dm @@ -21,8 +21,10 @@ 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 @@ -61,7 +63,7 @@ var/obj/item/organ/external/affecting = H.get_organ(H.hand ? BODY_ZONE_PRECISE_L_HAND : BODY_ZONE_PRECISE_R_HAND) if(!affecting || affecting.is_robotic()) return - to_chat(H, "[src] cuts into your hand!") + to_chat(H, span_warning("[src] cuts into your hand!")) H.apply_damage(force * 0.5, def_zone = affecting) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 275a09873aa..0e1806442a1 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -346,11 +346,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 @@ -549,7 +549,10 @@ 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) @@ -617,7 +620,7 @@ /obj/item/twohanded/required/chainsaw/doomslayer name = "OOOH BABY" - desc = "VRRRRRRR!!!" + desc = span_warning("VRRRRRRR!!!") armour_penetration = 100 force_on = 30 @@ -778,9 +781,9 @@ target.Stun(4 SECONDS) do_sparks(5, 1, target.loc) target.visible_message( - "[target.name] was shocked by the [name]!", - "You feel a powerful shock course through your body sending you flying!", - "You hear a heavy electrical crack!", + span_danger("[target.name] was shocked by the [name]!"), + span_userdanger("You feel a powerful shock course through your body sending you flying!"), + span_italics("You hear a heavy electrical crack!"), ) var/atom/throw_target = get_edge_target_turf(target, get_dir(src, get_step_away(target, src))) INVOKE_ASYNC(target, TYPE_PROC_REF(/atom/movable, throw_at), throw_target, 200, 4) @@ -843,16 +846,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 the [name]!", \ - "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 the [name]!"), \ + 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 [name]!", \ - "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 [name]!"), \ + 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)) @@ -906,7 +909,7 @@ icon_state = "pitchfork[HAS_TRAIT(src, TRAIT_WIELDED)]" /obj/item/twohanded/pitchfork/suicide_act(mob/user) - user.visible_message("[user] impales \himself in \his abdomen with [src]! It looks like \he's trying to commit suicide...") + user.visible_message(span_suicide("[user] impales \himself in \his abdomen with [src]! It looks like \he's trying to commit suicide...")) return BRUTELOSS /obj/item/twohanded/pitchfork/demonic/pickup(mob/user) @@ -942,7 +945,7 @@ return if(iswallturf(target)) var/turf/simulated/wall/W = target - user.visible_message("[user] blasts \the [target] with \the [src]!") + user.visible_message(span_danger("[user] blasts \the [target] with \the [src]!")) playsound(target, 'sound/magic/Disintegrate.ogg', 100, 1) W.devastate_wall(TRUE) return TRUE @@ -1009,15 +1012,15 @@ 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, 2.5 SECONDS, 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 @@ -1039,9 +1042,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, mob/user, datum/action/action) if(slot == ITEM_SLOT_GLOVES) @@ -1049,24 +1052,28 @@ /obj/item/clothing/gloves/color/black/pyro_claws/ui_action_click(mob/user, datum/action/action, leftclick) 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!")) do_sparks(rand(1,6), 1, loc) return if(used) - visible_message("Energy claws slides back into the depths of [loc]'s wrists.") + visible_message(span_warning("Energy claws slides back into the depths of [loc]'s wrists.")) user.drop_from_active_hand(force = TRUE)//dropdel stuff. only ui act, without hotkeys do_sparks(rand(1,6), 1, loc) on_cooldown = TRUE addtimer(CALLBACK(src, PROC_REF(reboot)), 1 MINUTES) return if(user.get_active_hand() && !user.drop_from_active_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/twohanded/required/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) ADD_TRAIT(src, TRAIT_NODROP, PYRO_CLAWS_TRAIT) used = TRUE diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index a7883d3863a..777c3ee62ba 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -182,7 +182,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/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 80378f52902..b5f8c82a770 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -287,7 +287,7 @@ GLOBAL_LIST_EMPTY(closets) /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 @@ -301,12 +301,19 @@ GLOBAL_LIST_EMPTY(closets) if(!can_weld_shut) return 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() @@ -333,7 +340,10 @@ GLOBAL_LIST_EMPTY(closets) user.stop_pulling() 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 @@ -346,7 +356,7 @@ GLOBAL_LIST_EMPTY(closets) 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)) @@ -378,7 +388,7 @@ GLOBAL_LIST_EMPTY(closets) add_fingerprint(usr) toggle(usr) else - to_chat(usr, "This mob type can't use this verb.") + to_chat(usr, span_warning("This mob type can't use this verb.")) /obj/structure/closet/update_icon(updates = ALL) @@ -446,9 +456,9 @@ GLOBAL_LIST_EMPTY(closets) // 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] 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] minutes)")) for(var/mob/O in viewers(usr.loc)) - O.show_message("The [src] begins to shake violently!", 1) + O.show_message(span_danger("The [src] begins to shake violently!"), 1) spawn(0) @@ -463,9 +473,9 @@ GLOBAL_LIST_EMPTY(closets) //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/bigDelivery)) //nullspace ect.. read the comment above var/obj/structure/bigDelivery/BD = loc BD.attack_hand(usr) @@ -476,7 +486,10 @@ GLOBAL_LIST_EMPTY(closets) /obj/structure/closet/tesla_act(var/power) ..() - visible_message("[src] is blown apart by the bolt of electricity!", "You hear a metallic screeching sound.") + visible_message( + span_danger("[src] is blown apart by the bolt of electricity!"), + span_danger("You hear a metallic screeching sound.") + ) qdel(src) /obj/structure/closet/get_remote_view_fullscreens(mob/user) @@ -526,7 +539,7 @@ GLOBAL_LIST_EMPTY(closets) if(locked && allowed(target)) locked = !locked - visible_message("[attacker] shoves [target] against [src], knocking the lock [locked ? null : "un"]locked!") + visible_message(span_danger("[attacker] shoves [target] against [src], knocking the lock [locked ? null : "un"]locked!")) target.Knockdown(3 SECONDS) playsound(loc, pick(togglelock_sound), 15, TRUE, -3) update_icon() @@ -534,7 +547,7 @@ GLOBAL_LIST_EMPTY(closets) 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/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 03150cb624e..ca65903e5bf 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -95,26 +95,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 atleast 15 wires to rig [src]!") + to_chat(user, span_warning("You need atleast 15 wires to rig [src]!")) return TRUE if(istype(W, /obj/item/radio/electropack)) if(rigged) if(!user.drop_transfer_item_to_loc(W, src)) - 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].")) return TRUE /obj/structure/closet/crate/wirecutter_act(mob/living/user, obj/item/I) @@ -124,7 +124,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 @@ -135,7 +135,7 @@ /obj/structure/closet/crate/attack_hand(mob/user) if(manifest) add_fingerprint(user) - 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_turf() if(ishuman(user)) @@ -197,7 +197,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_log(user)] has detonated a [src]", INVESTIGATE_BOMB) add_attack_logs(user, src, "has detonated", ATKLOG_MOST) for(var/atom/movable/AM in src) @@ -219,27 +219,27 @@ if(!istype(user)) return if(user.incapacitated() || 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(opened) - to_chat(user, "Close the crate first.") + to_chat(user, span_notice("Close the crate first.")) return if(broken) - to_chat(user, "The crate appears to be broken.") + to_chat(user, span_warning("The crate appears to be broken.")) return if(allowed(user)) locked = !locked playsound(loc, pick(togglelock_sound), 15, TRUE, -3) - 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() else - to_chat(user, "Access Denied") + to_chat(user, span_notice("Access Denied")) add_fingerprint(user) /obj/structure/closet/crate/secure/attack_hand(mob/user) if(manifest) add_fingerprint(user) - 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_turf() if(ishuman(user)) diff --git a/code/game/objects/structures/depot.dm b/code/game/objects/structures/depot.dm index dd65b68fde1..6ad44cd13a4 100644 --- a/code/game/objects/structures/depot.dm +++ b/code/game/objects/structures/depot.dm @@ -41,7 +41,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, TRUE, "[user] screwed with [name]") else @@ -52,7 +52,7 @@ . = TRUE if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return - to_chat(user, "The [src] is too well secured to the floor.") + to_chat(user, span_notice("The [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 fa0e92635aa..e85fe80115b 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -38,11 +38,11 @@ /obj/structure/displaycase/examine(mob/user) . = ..() if(alert) - . += "Hooked up with an anti-theft system." + . += span_notice("Hooked up with an anti-theft system.") if(showpiece) - . += "There's [showpiece] inside." + . += span_notice("There's [showpiece] inside.") if(trophy_message) - . += "The plaque reads:\n [trophy_message]" + . += span_notice("The plaque reads:\n [trophy_message]") /obj/structure/displaycase/proc/dump() if(showpiece) @@ -78,7 +78,7 @@ if(alert && is_station_contact(z)) 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) @@ -161,15 +161,15 @@ return if(broken) if(showpiece) - to_chat(user, "Remove the displayed object first.") + to_chat(user, span_notice("Remove the displayed object first.")) if(I.use_tool(src, user, 0, volume = I.tool_volume)) - to_chat(user, "You remove the destroyed case") + to_chat(user, span_notice("You remove the destroyed case")) qdel(src) else - 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(user) /obj/structure/displaycase/welder_act(mob/user, obj/item/I) @@ -184,7 +184,7 @@ /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() add_fingerprint(user) update_icon(UPDATE_OVERLAYS) @@ -194,7 +194,7 @@ if(!Adjacent(user)) return add_fingerprint(user) - 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) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index ac34dc01d10..0908e0da7ba 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -37,14 +37,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/ratvar_act() new /obj/structure/falsewall/brass(loc) @@ -170,7 +170,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) @@ -233,7 +233,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) @@ -330,7 +330,7 @@ if(I.get_heat() > 300) add_attack_logs(user, src, "Ignited using [I]", ATKLOG_FEW) - investigate_log("was ignited by [key_name_log(user)]",INVESTIGATE_ATMOS) + investigate_log("was [span_warning("ignited")] by [key_name_log(user)]",INVESTIGATE_ATMOS) burnbabyburn() return ATTACK_CHAIN_BLOCKED_ALL @@ -488,7 +488,7 @@ /obj/structure/falsewall/clockwork/attack_hand(mob/user) if(!isclocker(user)) user.changeNext_move(CLICK_CD_MELEE) - 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) //sneaky return FALSE return ..() diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index e059e2d737c..e5cf40ca623 100644 --- a/code/game/objects/structures/guillotine.dm +++ b/code/game/objects/structures/guillotine.dm @@ -42,7 +42,7 @@ msg += "The blade is raised, ready to fall, and" if(blade_sharpness >= GUILLOTINE_DECAP_MIN_SHARP) - msg += " looks sharp enough to decapitate without any resistance." + msg += span_danger(" looks sharp enough to decapitate without any resistance.") else msg += " doesn't look particularly sharp. Perhaps a whetstone can be used to sharpen it." else @@ -51,7 +51,7 @@ if(has_buckled_mobs()) msg += "
" msg += "Someone appears to be strapped in. You can help them out, or you can harm them by activating the guillotine." - . += "[msg]" + . += span_notice("[msg]") /obj/structure/guillotine/update_icon_state() @@ -95,8 +95,10 @@ 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, src) && blade_status == GUILLOTINE_BLADE_RAISED) @@ -207,11 +209,11 @@ current_action = NONE 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 = NONE - to_chat(user, "You [anchored ? "un" : ""]secure [src].") + to_chat(user, span_notice("You [anchored ? "un" : ""]secure [src].")) set_anchored(!anchored) playsound(src, 'sound/items/deconstruct.ogg', 50, 1) dir = SOUTH diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index ef6ae41b74b..df89bea638f 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -73,7 +73,7 @@ /obj/structure/ladder/singularity_pull() if(!(resistance_flags & INDESTRUCTIBLE)) - visible_message("[src] is torn to pieces by the gravitational pull!") + visible_message(span_danger("[src] is torn to pieces by the gravitational pull!")) qdel(src) /obj/structure/ladder/proc/travel(going_up, mob/user, is_ghost, obj/structure/ladder/ladder) @@ -159,9 +159,15 @@ /obj/structure/ladder/proc/show_fluff_message(going_up, mob/user) if(going_up) - user.visible_message("[user] climbs up [src].","You climb up [src].") + user.visible_message( + "[user] climbs up [src].", + span_notice("You climb up [src].") + ) else - user.visible_message("[user] climbs down [src].","You climb down [src].") + user.visible_message( + "[user] climbs down [src].", + span_notice("You climb down [src].") + ) // Indestructible away mission ladders which link based on a mapped ID and height value rather than X/Y/Z. @@ -217,9 +223,15 @@ /obj/structure/ladder/unbreakable/dive_point/buoy/show_fluff_message(going_up, mob/user) if(going_up) - user.visible_message("[user] swims up [src].","You swim up [src].") + user.visible_message( + "[user] swims up [src].", + span_notice("You swim up [src].") + ) else - user.visible_message("[user] swims down [src].","You swim down [src].") + user.visible_message( + "[user] swims down [src].", + span_notice("You swim down [src].") + ) /obj/structure/ladder/unbreakable/dive_point/anchor name = "diving point anchor" diff --git a/code/game/objects/structures/nest.dm b/code/game/objects/structures/nest.dm index e79427c7ba3..bd1f4c7dcce 100644 --- a/code/game/objects/structures/nest.dm +++ b/code/game/objects/structures/nest.dm @@ -37,7 +37,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) @@ -61,7 +61,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 @@ -73,7 +73,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(/mob/living/simple_animal/hostile/asteroid/goliath/beast, /mob/living/simple_animal/hostile/asteroid/goldgrub) diff --git a/code/game/objects/structures/pit.dm b/code/game/objects/structures/pit.dm index 7bea7126c48..a3f5d74c68e 100644 --- a/code/game/objects/structures/pit.dm +++ b/code/game/objects/structures/pit.dm @@ -152,23 +152,23 @@ return escapee.changeNext_click(CLICK_CD_CLICK_ABILITY) - to_chat(escapee, "You start digging your way out of \the [src] (this will take about [breakout_time] minute\s)") - visible_message("Something is scratching its way out of \the [src]!") + to_chat(escapee, span_warning("You start digging your way out of \the [src] (this will take about [breakout_time] minute\s)")) + visible_message(span_danger("Something is scratching its way out of \the [src]!")) for(var/i in 1 to (6*breakout_time * 2)) //minutes * 6 * 5seconds * 2 playsound(src.loc, 'sound/effects/squelch1.ogg', 100, 1) if(!do_after(escapee, 5 SECONDS)) - to_chat(escapee, "You have stopped digging.") + to_chat(escapee, span_warning("You have stopped digging.")) return if(open) return if(i == 6*breakout_time) - to_chat(escapee, "Halfway there...") + to_chat(escapee, span_warning("Halfway there...")) - to_chat(escapee, "You successfuly dig yourself out!") - visible_message("\the [escapee] emerges from \the [src]!") + to_chat(escapee, span_warning("You successfuly dig yourself out!")) + visible_message(span_danger("\the [escapee] emerges from \the [src]!")) playsound(src.loc, 'sound/effects/squelch1.ogg', 100, 1) open() diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index 02b3d0b3810..d365dc26c84 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -57,8 +57,10 @@ /obj/structure/statue/attack_hand(mob/living/user) . = ..() user.changeNext_move(CLICK_CD_MELEE) - user.visible_message("[user] rubs some dust off from the [name]'s surface.", \ - "You rub some dust off from the [name]'s surface.") + user.visible_message( + "[user] rubs some dust off from the [name]'s surface.", + span_notice("You rub some dust off from the [name]'s surface.") + ) /obj/structure/statue/CanAtmosPass(turf/T, vertical) return !density @@ -122,7 +124,7 @@ if(!P.nodamage && ((P.damage_type == BURN) || (P.damage_type == BRUTE))) if(P.firer) add_attack_logs(P.firer, src, "Ignited by firing with [P.name]", ATKLOG_FEW) - investigate_log("was ignited by [key_name_log(P.firer)] with [P.name]",INVESTIGATE_ATMOS) + investigate_log("was [span_warning("ignited")] by [key_name_log(P.firer)] with [P.name]",INVESTIGATE_ATMOS) else message_admins("A plasma statue was ignited with [P.name] at [ADMIN_COORDJMP(loc)]. No known firer.") add_game_logs("A plasma statue was ignited with [P.name] at [COORD(loc)]. No known firer.") @@ -133,7 +135,7 @@ /obj/structure/statue/plasma/attackby(obj/item/I, mob/user, params) if(I.get_heat() > 300)//If the temperature of the object is over 300, then ignite add_attack_logs(user, src, "Ignited using [I]", ATKLOG_FEW) - investigate_log("was ignited by [key_name_log(user)]",INVESTIGATE_ATMOS) + investigate_log("was [span_warning("ignited")] by [key_name_log(user)]",INVESTIGATE_ATMOS) ignite(I.get_heat()) return ATTACK_CHAIN_BLOCKED_ALL return ..() @@ -143,11 +145,13 @@ . = 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.") + ) add_attack_logs(user, src, "ignited using [I]", ATKLOG_FEW) - investigate_log("was ignited by [key_name_log(user)]",INVESTIGATE_ATMOS) + investigate_log("was [span_warning("ignited")] by [key_name_log(user)]",INVESTIGATE_ATMOS) ignite(2500) /obj/structure/statue/plasma/proc/PlasmaBurn() diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 2fa59026391..38c00b486eb 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -857,7 +857,7 @@ /obj/structure/rack/examine(mob/user) . = ..() if(!wooden_version) - . += "It's held together by a couple of bolts." + . += span_notice("It's held together by a couple of bolts.") /obj/structure/rack/CanAllowThrough(atom/movable/mover, border_dir) @@ -897,7 +897,7 @@ /obj/structure/rack/wrench_act(mob/user, obj/item/I) . = TRUE if(obj_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 @@ -911,8 +911,10 @@ add_fingerprint(user) 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) @@ -1029,13 +1031,15 @@ if(building) return building = TRUE - to_chat(user, "You start constructing a gun rack...") + to_chat(user, span_notice("You start constructing a gun rack...")) if(do_after(user, 5 SECONDS, user)) if(!user.drop_from_active_hand()) return var/obj/structure/rack/gunrack/GR = new (user.loc) - user.visible_message("[user] assembles \a [GR].\ - ", "You assemble \a [GR].") + user.visible_message( + span_notice("[user] assembles \a [GR]."), + span_notice("You assemble \a [GR].") + ) GR.add_fingerprint(user) qdel(src) building = FALSE @@ -1075,13 +1079,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, 5 SECONDS, user)) if(!user.drop_from_active_hand()) return var/obj/structure/rack/R = new /obj/structure/rack(user.loc) - user.visible_message("[user] assembles \a [R].\ - ", "You assemble \a [R].") + user.visible_message(span_notice("[user] assembles \a [R].\ + "), span_notice("You assemble \a [R].")) R.add_fingerprint(user) qdel(src) building = FALSE diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 8df00309afd..502ec8d4022 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -28,13 +28,17 @@ add_fingerprint(user) user.changeNext_move(CLICK_CD_MELEE) playsound(src.loc, "swing_hit", 25, 1) - swirlie.visible_message("[user] slams the toilet seat onto [swirlie]'s head!", "[user] slams the toilet seat onto [swirlie]'s head!", "You hear reverberating porcelain.") + swirlie.visible_message( + span_danger("[user] slams the toilet seat onto [swirlie]'s head!"), + span_userdanger("[user] slams the toilet seat onto [swirlie]'s head!"), + span_italics("You hear reverberating porcelain.") + ) swirlie.adjustBruteLoss(5) return if(cistern && !open) if(!contents.len) - to_chat(user, "The cistern is empty.") + to_chat(user, span_notice("The cistern is empty.")) return else var/obj/item/I = pick(contents) @@ -44,7 +48,7 @@ user.put_in_hands(I, ignore_anim = FALSE) 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 @@ -134,10 +138,10 @@ . = 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, 1) 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.") + user.visible_message("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!", 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() @@ -162,18 +166,18 @@ 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]!")) set_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]!")) set_anchored(TRUE) if("Rotate") var/list/dir_choices = list("North" = NORTH, "East" = EAST, "South" = SOUTH, "West" = WEST) @@ -185,16 +189,16 @@ if(!I) return if(I.w_class > WEIGHT_CLASS_NORMAL) // if item size > 3 - 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) // if item size > 5 - to_chat(user, "The cistern is full!") + to_chat(user, span_warning("The cistern is full!")) return if(!user.drop_transfer_item_to_loc(I, src)) - 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 w_items += I.w_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/toilet/secret var/secret_type = null @@ -276,20 +280,20 @@ 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]!")) set_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]!")) set_anchored(TRUE) pixel_x = 0 pixel_y = 32 @@ -509,12 +513,12 @@ if(current_temperature == SHOWER_FREEZING) //C.bodytemperature = max(80, C.bodytemperature - 80) - to_chat(C, "The water is freezing!") + to_chat(C, span_warning("The water is freezing!")) else if(current_temperature == SHOWER_BOILING) //C.bodytemperature = min(500, C.bodytemperature + 35) C.adjustFireLoss(5) - to_chat(C, "The water is searing!") + to_chat(C, span_danger("The water is searing!")) #undef SHOWER_FREEZING #undef SHOWER_NORMAL @@ -555,7 +559,7 @@ if(!Adjacent(user)) 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 if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -563,11 +567,11 @@ if(user.hand) temp = H.bodyparts_by_name[BODY_ZONE_PRECISE_L_HAND] if(temp && !temp.is_usable()) - to_chat(user, "You try to move your [temp.name], but cannot!") + to_chat(user, span_notice("You try to move your [temp.name], but cannot!")) return if(busy) - to_chat(user, "Someone's already washing here.") + to_chat(user, span_notice("Someone's already washing here.")) return var/washing_face = FALSE if(user.zone_selected in list(BODY_ZONE_HEAD, BODY_ZONE_PRECISE_EYES, BODY_ZONE_PRECISE_MOUTH)) @@ -649,18 +653,18 @@ if(wateract) I.water_act(20, COLD_WATER_TEMPERATURE, src) 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]!")) set_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]!")) set_anchored(TRUE) if("Rotate") var/list/dir_choices = list("North" = NORTH, "East" = EAST, "South" = SOUTH, "West" = WEST) @@ -778,7 +782,7 @@ if(proximity_flag != 1) //if we aren't next to the wall return if(!(get_dir(on_wall, user) 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 1 @@ -814,14 +818,14 @@ /obj/item/bathroom_parts/attack_self(mob/user) 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 if(result in T.contents) - to_chat(user, "There's already \an [result_name] here.") + to_chat(user, span_warning("There's already \an [result_name] 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, 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.set_anchored(FALSE) S.dir = user.dir diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 85fd0a5e5ed..ca99956bdb4 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -34,12 +34,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(!CONFIG_GET(flag/ooc_allowed)) - 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 @@ -97,9 +97,8 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") display_name = holder.fakekey if(!CONFIG_GET(flag/disable_ooc_emoji)) - msg = "[msg]" - - to_chat(C, "OOC: [display_name]: [msg]") + msg = span_emojienabled("[msg]") + to_chat(C, span_ooc("[span_prefix("OOC: ")][display_name]: [span_message(msg)]")) /proc/toggle_ooc() CONFIG_SET(flag/ooc_allowed, !CONFIG_GET(flag/ooc_allowed)) @@ -146,7 +145,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)) @@ -206,7 +205,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") prefix = "(R)" if(send) - to_chat(target, "LOOC[prefix]: [display_name][admin_stuff]: [msg]") + to_chat(target, span_ooc(span_looc("LOOC[span_prefix("[prefix]: ")][display_name][admin_stuff]: [span_message(msg)]"))) /mob/proc/get_looc_source() return src diff --git a/code/modules/admin/admin_memo.dm b/code/modules/admin/admin_memo.dm index 0187a7ea588..544e9f1322e 100644 --- a/code/modules/admin/admin_memo.dm +++ b/code/modules/admin/admin_memo.dm @@ -4,7 +4,7 @@ if(!check_rights(R_SERVER)) return if(!SSdbcore.IsConnected()) - to_chat(src, "Failed to establish database connection.", confidential=TRUE) + to_chat(src, span_danger("Failed to establish database connection."), confidential=TRUE) return var/memotask = input(usr,"Choose task.","Memo") in list("Show","Write","Edit","Remove") if(!memotask) @@ -17,7 +17,7 @@ if(!task) return if(!SSdbcore.IsConnected()) - to_chat(src, "Failed to establish database connection.", confidential=TRUE) + to_chat(src, span_danger("Failed to establish database connection."), confidential=TRUE) return switch(task) if("Write") @@ -130,10 +130,10 @@ 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 [span_prefix(ckey)] on [timestamp]") if(last_editor) - output += "
Last edit by [last_editor] (Click here to see edit log)" - output += "
[memotext]

" + output += span_memoedit("
Last edit by [last_editor] (Click here to see edit log)") + output += span_memo("
[memotext]
") if(output) to_chat(src, output, confidential=TRUE) else if(!silent) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 18c434824e6..36c34d4b022 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -142,45 +142,45 @@ switch(bantype) if(BANTYPE_PERMA) if(!banckey || !banreason) - to_chat(usr, "Not enough parameters (Requires ckey and reason)", confidential=TRUE) + to_chat(usr, span_warning("Not enough parameters (Requires ckey and reason)"), confidential=TRUE) return banduration = null banjob = null bantype_str = "PERMABAN" if(BANTYPE_TEMP) if(!banckey || !banreason || !banduration) - to_chat(usr, "Not enough parameters (Requires ckey, reason and duration)", confidential=TRUE) + to_chat(usr, span_warning("Not enough parameters (Requires ckey, reason and duration)"), confidential=TRUE) return banjob = null bantype_str = "TEMPBAN" if(BANTYPE_JOB_PERMA) if(!banckey || !banreason || !banjob) - to_chat(usr, "Not enough parameters (Requires ckey, reason and job)", confidential=TRUE) + to_chat(usr, span_warning("Not enough parameters (Requires ckey, reason and job)"), confidential=TRUE) return banduration = null bantype_str = "JOB_PERMABAN" if(BANTYPE_JOB_TEMP) if(!banckey || !banreason || !banjob || !banduration) - to_chat(usr, "Not enough parameters (Requires ckey, reason and job)", confidential=TRUE) + to_chat(usr, span_warning("Not enough parameters (Requires ckey, reason and job)"), confidential=TRUE) return bantype_str = "JOB_TEMPBAN" if(BANTYPE_APPEARANCE) if(!banckey || !banreason) - to_chat(usr, "Not enough parameters (Requires ckey and reason)", confidential=TRUE) + to_chat(usr, span_warning("Not enough parameters (Requires ckey and reason)"), confidential=TRUE) return banduration = null banjob = null bantype_str = "APPEARANCE_BAN" if(BANTYPE_ADMIN_PERMA) if(!banckey || !banreason) - to_chat(usr, "Not enough parameters (Requires ckey and reason)", confidential=TRUE) + to_chat(usr, span_warning("Not enough parameters (Requires ckey and reason)"), confidential=TRUE) return banduration = null banjob = null bantype_str = "ADMIN_PERMABAN" if(BANTYPE_ADMIN_TEMP) if(!banckey || !banreason || !banduration) - to_chat(usr, "Not enough parameters (Requires ckey, reason and duration)", confidential=TRUE) + to_chat(usr, span_warning("Not enough parameters (Requires ckey, reason and duration)"), confidential=TRUE) return banjob = null bantype_str = "ADMIN_TEMPBAN" @@ -371,7 +371,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(EMERGENCY_AT_LEAST_DOCKED) @@ -380,11 +380,11 @@ if(SHUTTLE_CALL) SSshuttle.emergency.cancel() 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 SSshuttle.emergency.cancel() 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" @@ -397,7 +397,7 @@ var/time_to_destination = round(SSshuttle.emergency.timeLeft(600)) log_admin("[key_name(usr)] edited the Emergency Shuttle's timeleft to [timer] seconds") GLOB.minor_announcement.Announce("Эвакуационный шаттл достигнет места назначения через [time_to_destination] [declension_ru(time_to_destination,"минуту","минуты","минут")].") - message_admins("[key_name_admin(usr)] edited the Emergency Shuttle's timeleft to [timer] seconds") + message_admins(span_adminnotice("[key_name_admin(usr)] edited the Emergency Shuttle's timeleft to [timer] seconds")) href_list["secrets"] = "check_antagonist" else if(href_list["stop_lockdown"]) @@ -458,7 +458,7 @@ var/mob/M = locateUID(href_list["mob"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return var/delmob = 0 @@ -550,7 +550,7 @@ log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") ban_unban_log_save("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") - message_admins("[key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") + message_admins(span_notice("[key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]")) GLOB.banlist_savefile.cd = "/base/[banfolder]" to_chat(GLOB.banlist_savefile["reason"], reason) to_chat(GLOB.banlist_savefile["temp"], temp) @@ -566,17 +566,17 @@ return var/mob/M = locateUID(href_list["appearanceban"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return if(!M.ckey) //sanity - to_chat(usr, "This mob has no ckey", confidential=TRUE) + to_chat(usr, span_warning("This mob has no ckey"), confidential=TRUE) return var/ban_ckey_param = href_list["dbbanaddckey"] var/banreason = appearance_isbanned(M) if(banreason) /* if(!CONFIG_GET(flag/ban_legacy_system)) - to_chat(usr, "Unfortunately, database based unbanning cannot be done through this panel") + to_chat(usr, span_warning("Unfortunately, database based unbanning cannot be done through this panel")) DB_ban_panel(M.ckey) return */ switch(tgui_alert(usr, "Reason: '[banreason]' Remove appearance ban?", "Please Confirm", list("Yes", "No"))) @@ -585,8 +585,8 @@ log_admin("[key_name(usr)] removed [key_name(M)]'s appearance ban") DB_ban_unban(M.ckey, BANTYPE_APPEARANCE) appearance_unban(M) - message_admins("[key_name_admin(usr)] removed [key_name_admin(M)]'s appearance ban") - to_chat(M, "[usr.client.ckey] has removed your appearance ban.", confidential=TRUE) + message_admins(span_notice("[key_name_admin(usr)] removed [key_name_admin(M)]'s appearance ban")) + to_chat(M, span_warning("[usr.client.ckey] has removed your appearance ban."), confidential=TRUE) else switch(tgui_alert(usr, "Appearance ban [M.ckey]?",, list("Yes", "No", "Cancel"))) if("Yes") @@ -599,14 +599,14 @@ DB_ban_record(BANTYPE_APPEARANCE, M, -1, reason) appearance_fullban(M, "[reason]; By [usr.ckey] on [time2text(world.realtime)]") add_note(M.ckey, "Appearance banned - [reason]", null, usr.ckey, 0) - message_admins("[key_name_admin(usr)] appearance banned [key_name_admin(M)]") - to_chat(M, "You have been appearance banned by [usr.client.ckey].", confidential=TRUE) - to_chat(M, "The reason is: [reason]", confidential=TRUE) - to_chat(M, "Appearance ban can be lifted only upon request.", confidential=TRUE) + message_admins(span_notice("[key_name_admin(usr)] appearance banned [key_name_admin(M)]")) + to_chat(M, span_warning("You have been appearance banned by [usr.client.ckey]."), confidential=TRUE) + to_chat(M, span_danger("The reason is: [reason]"), confidential=TRUE) + to_chat(M, span_warning("Appearance ban can be lifted only upon request."), confidential=TRUE) if(CONFIG_GET(string/banappeals)) - to_chat(M, "To try to resolve this matter head to [CONFIG_GET(string/banappeals)]", confidential=TRUE) + to_chat(M, span_warning("To try to resolve this matter head to [CONFIG_GET(string/banappeals)]"), confidential=TRUE) else - to_chat(M, "No ban appeals URL has been set.", confidential=TRUE) + to_chat(M, span_warning("No ban appeals URL has been set."), confidential=TRUE) if("No") return @@ -615,14 +615,14 @@ var/mob/M = locateUID(href_list["jobban2"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return if(!M.ckey) //sanity - to_chat(usr, "This mob has no ckey", confidential=TRUE) + to_chat(usr, span_warning("This mob has no ckey"), confidential=TRUE) return if(!SSjobs) - to_chat(usr, "SSjobs has not been setup!", confidential=TRUE) + to_chat(usr, span_warning("SSjobs has not been setup!"), confidential=TRUE) return var/dat = "" @@ -863,7 +863,7 @@ var/mob/M = locateUID(href_list["jobban4"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return if(M != usr) //we can jobban ourselves @@ -874,7 +874,7 @@ var/ban_ckey_param = href_list["dbbanaddckey"] if(!SSjobs) - to_chat(usr, "SSjobs has not been setup!", confidential=TRUE) + to_chat(usr, span_warning("SSjobs has not been setup!"), confidential=TRUE) return //get jobs for department if specified, otherwise just returnt he one job in a list. @@ -943,7 +943,7 @@ switch(tgui_alert(usr, "Temporary Ban of [M.ckey]?",, list("Yes", "No", "Cancel"))) if("Yes") if(CONFIG_GET(flag/ban_legacy_system)) - to_chat(usr, "Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban.", confidential=TRUE) + to_chat(usr, span_warning("Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban."), confidential=TRUE) return var/mins = tgui_input_number(usr, "How long (in minutes)?", "Ban time", 1440, max_value = 525599) if(!mins) @@ -964,10 +964,10 @@ else msg += ", [job]" add_note(M.ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0) - message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes") - to_chat(M, "You have been jobbanned by [usr.client.ckey] from: [msg].", confidential=TRUE) - to_chat(M, "The reason is: [reason]", confidential=TRUE) - to_chat(M, "This jobban will be lifted in [mins] minutes.", confidential=TRUE) + message_admins(span_notice("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes")) + to_chat(M, span_warning("You have been jobbanned by [usr.client.ckey] from: [msg]."), confidential=TRUE) + to_chat(M, span_danger("The reason is: [reason]"), confidential=TRUE) + to_chat(M, span_warning("This jobban will be lifted in [mins] minutes."), confidential=TRUE) href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("No") @@ -983,10 +983,10 @@ if(!msg) msg = job else msg += ", [job]" add_note(M.ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0) - message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]") - to_chat(M, "You have been jobbanned by [usr.client.ckey] from: [msg].", confidential=TRUE) - to_chat(M, "The reason is: [reason]", confidential=TRUE) - to_chat(M, "Jobban can be lifted only upon request.", confidential=TRUE) + message_admins(span_notice("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]")) + to_chat(M, span_warning("You have been jobbanned by [usr.client.ckey] from: [msg]."), confidential=TRUE) + to_chat(M, span_danger("The reason is: [reason]"), confidential=TRUE) + to_chat(M, span_warning("Jobban can be lifted only upon request."), confidential=TRUE) href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("Cancel") @@ -996,7 +996,7 @@ //all jobs in joblist are banned already OR we didn't give a reason (implying they shouldn't be banned) if(joblist.len) //at least 1 banned job exists in joblist so we have stuff to unban. if(!CONFIG_GET(flag/ban_legacy_system)) - to_chat(usr, "Unfortunately, database based unbanning cannot be done through this panel", confidential=TRUE) + to_chat(usr, span_warning("Unfortunately, database based unbanning cannot be done through this panel"), confidential=TRUE) DB_ban_panel(M.ckey) return var/msg @@ -1014,8 +1014,8 @@ else continue if(msg) - message_admins("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]") - to_chat(M, "You have been un-jobbanned by [usr.client.ckey] from [msg].", confidential=TRUE) + message_admins(span_notice("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]")) + to_chat(M, span_warning("You have been un-jobbanned by [usr.client.ckey] from [msg]."), confidential=TRUE) href_list["jobban2"] = 1 // lets it fall through and refresh return 1 return 0 //we didn't do anything! @@ -1026,14 +1026,14 @@ return var/client/C = M.client if(C == null) - to_chat(usr, "Mob has no client to kick.", confidential=TRUE) + to_chat(usr, span_warning("Mob has no client to kick."), confidential=TRUE) return if(tgui_alert(usr, "Kick [C.ckey]?",, list("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.", confidential=TRUE) + to_chat(usr, span_warning("[key_name_admin(C)] cannot be kicked from the server."), confidential=TRUE) return - to_chat(C, "You have been kicked from the server", confidential=TRUE) - log_and_message_admins("booted [key_name_admin(C)].") + to_chat(C, span_warning("You have been kicked from the server"), confidential=TRUE) + log_and_message_admins(span_notice("booted [key_name_admin(C)].")) //C = null qdel(C) @@ -1119,7 +1119,7 @@ var/t = href_list["removejobban"] if(t) if((tgui_alert(usr, "Do you want to unjobban [t]?", "Unjobban confirmation", list("Yes", "No")) == "Yes") && t) //No more misclicks! Unless you do it twice. - log_and_message_admins("removed [t]") + log_and_message_admins(span_notice("removed [t]")) jobban_remove(t) href_list["ban"] = 1 // lets it fall through and refresh var/t_split = splittext(t, " - ") @@ -1146,17 +1146,17 @@ M = admin_ban_mobsearch(M, ban_ckey_param, usr) AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins) ban_unban_log_save("[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.") - to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason].", confidential=TRUE) - to_chat(M, "This is a temporary ban, it will be removed in [mins] minutes.", confidential=TRUE) + to_chat(M, span_warning("You have been banned by [usr.client.ckey].\nReason: [reason]."), confidential=TRUE) + to_chat(M, span_warning("This is a temporary ban, it will be removed in [mins] minutes."), confidential=TRUE) DB_ban_record(BANTYPE_TEMP, M, mins, reason) if(M.client) M.client.link_forum_account(TRUE) if(CONFIG_GET(string/banappeals)) - to_chat(M, "To try to resolve this matter head to [CONFIG_GET(string/banappeals)]", confidential=TRUE) + to_chat(M, span_warning("To try to resolve this matter head to [CONFIG_GET(string/banappeals)]"), confidential=TRUE) else - to_chat(M, "No ban appeals URL has been set.", confidential=TRUE) + to_chat(M, span_warning("No ban appeals URL has been set."), confidential=TRUE) log_admin("[key_name(usr)] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") - message_admins("[key_name_admin(usr)] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") + message_admins(span_notice("[key_name_admin(usr)] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")) qdel(M.client) if("No") @@ -1164,17 +1164,17 @@ if(!reason) return AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0, M.lastKnownIP) - to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason].", confidential=TRUE) - to_chat(M, "This ban does not expire automatically and must be appealed.", confidential=TRUE) + to_chat(M, span_warning("You have been banned by [usr.client.ckey].\nReason: [reason]."), confidential=TRUE) + to_chat(M, span_warning("This ban does not expire automatically and must be appealed."), confidential=TRUE) if(M.client) M.client.link_forum_account(TRUE) if(CONFIG_GET(string/banappeals)) - to_chat(M, "To try to resolve this matter head to [CONFIG_GET(string/banappeals)]", confidential=TRUE) + to_chat(M, span_warning("To try to resolve this matter head to [CONFIG_GET(string/banappeals)]"), confidential=TRUE) else - to_chat(M, "No ban appeals URL has been set.", confidential=TRUE) + to_chat(M, span_warning("No ban appeals URL has been set."), confidential=TRUE) ban_unban_log_save("[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This ban does not expire automatically and must be appealed.") log_admin("[key_name(usr)] has banned [M.ckey].\nReason: [reason]\nThis ban does not expire automatically and must be appealed.") - message_admins("[key_name_admin(usr)] has banned [M.ckey].\nReason: [reason]\nThis ban does not expire automatically and must be appealed.") + message_admins(span_notice("[key_name_admin(usr)] has banned [M.ckey].\nReason: [reason]\nThis ban does not expire automatically and must be appealed.")) DB_ban_record(BANTYPE_PERMA, M, -1, reason) qdel(M.client) @@ -1286,8 +1286,8 @@ if(SSticker && SSticker.mode) return tgui_alert(usr, "The game has already started.") GLOB.master_mode = href_list["c_mode2"] - log_and_message_admins("set the mode as [GLOB.master_mode].") - to_chat(world, "The mode is now: [GLOB.master_mode]") + log_and_message_admins(span_notice("set the mode as [GLOB.master_mode].")) + to_chat(world, span_boldnotice("The mode is now: [GLOB.master_mode]")) Game() // updates the main game menu if (tgui_alert(usr, " Хотите ли вы сохранить этот режим как режим по умолчанию?", "Сохранить режим", list("Да", "Нет")) == "Да") world.save_mode(GLOB.master_mode) @@ -1301,7 +1301,7 @@ if(GLOB.master_mode != "secret") return tgui_alert(usr, "The game mode has to be secret!") GLOB.secret_force_mode = href_list["f_secret2"] - log_and_message_admins("set the forced secret mode as [GLOB.secret_force_mode].") + log_and_message_admins(span_notice("set the forced secret mode as [GLOB.secret_force_mode].")) Game() // updates the main game menu .(href, list("f_secret"=1)) @@ -1394,12 +1394,12 @@ 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", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living/carbon/human"), confidential=TRUE) return if(tgui_alert(usr, "Confirm make monkey?",, list("Yes", "No")) != "Yes") return - log_and_message_admins("attempting to monkeyize [key_name_admin(H)]") + log_and_message_admins(span_notice("attempting to monkeyize [key_name_admin(H)]")) H.monkeyize() else if(href_list["forcespeech"]) @@ -1408,7 +1408,7 @@ var/mob/M = locateUID(href_list["forcespeech"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return var/speech = tgui_input_text(usr, "What will [key_name(M)] say?.", "Force speech", "", encode = FALSE)// Don't need to sanitize, since it does that in say(), we also trust our admins. @@ -1416,7 +1416,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 @@ -1449,11 +1449,11 @@ var/mob/M = locateUID(href_list["sendbacktolobby"]) if(!isobserver(M)) - to_chat(usr, "You can only send ghost players back to the Lobby.", confidential=TRUE) + to_chat(usr, span_notice("You can only send ghost players back to the Lobby."), confidential=TRUE) return if(!M.client) - to_chat(usr, "[M] doesn't seem to have an active client.", confidential=TRUE) + to_chat(usr, span_warning("[M] doesn't seem to have an active client."), confidential=TRUE) return if(tgui_alert(usr, "Send [key_name(M)] back to Lobby?", "Message", list("Yes", "No")) != "Yes") @@ -1474,15 +1474,15 @@ var/mob/M = locateUID(href_list["eraseflavortext"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return if(!M.client) - to_chat(usr, "[M] doesn't seem to have an active client.", confidential=TRUE) + to_chat(usr, span_warning("[M] doesn't seem to have an active client."), confidential=TRUE) return if(M.flavor_text == "" && M.client.prefs.flavor_text == "") - to_chat(usr, "[M] has no flavor text set.", confidential=TRUE) + to_chat(usr, span_warning("[M] has no flavor text set."), confidential=TRUE) return if(tgui_alert(usr, "Erase [key_name(M)]'s flavor text?", "Message", list("Yes", "No")) != "Yes") @@ -1505,11 +1505,11 @@ var/mob/M = locateUID(href_list["userandomname"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return if(!M.client) - to_chat(usr, "[M] doesn't seem to have an active client.", confidential=TRUE) + to_chat(usr, span_warning("[M] doesn't seem to have an active client."), confidential=TRUE) return if(tgui_alert(usr, "Force [key_name(M)] to use a random name?", "Message", list("Yes", "No")) != "Yes") @@ -1532,7 +1532,7 @@ var/mob/M = locateUID(href_list["cma_admin"]) if(!ishuman(M)) - to_chat(usr, "This can only be used on instances of type /human", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /human"), confidential=TRUE) return usr.client.change_human_appearance_admin(M) @@ -1542,7 +1542,7 @@ var/mob/M = locateUID(href_list["cma_self"]) if(!ishuman(M)) - to_chat(usr, "This can only be used on instances of type /human", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /human"), confidential=TRUE) return usr.client.change_human_appearance_self(M) @@ -1552,7 +1552,7 @@ var/mob/M = locateUID(href_list["check_contents"]) if(!isliving(M)) - to_chat(usr, "This can only be used on instances of type /living", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /living"), confidential=TRUE) return usr.client.cmd_admin_check_contents(M) @@ -1562,7 +1562,7 @@ var/mob/M = locateUID(href_list["man_up"]) if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return usr.client.man_up(M) @@ -1572,7 +1572,7 @@ var/mob/M = locateUID(href_list["select_equip"]) if(!ishuman(M)) - to_chat(usr, "This can only be used on instances of type /human", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /human"), confidential=TRUE) return usr.client.cmd_admin_dress(M) else if(href_list["change_voice"]) @@ -1581,14 +1581,14 @@ var/mob/M = locateUID(href_list["change_voice"]) if(!isliving(M)) - to_chat(usr, "This can only be used on instances of type /living", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /living"), confidential=TRUE) return var/old_tts_seed = M.tts_seed var/new_tts_seed = M.change_voice(usr, override = TRUE) if(!new_tts_seed) return - to_chat(M, "Your voice has been changed from [old_tts_seed] to [new_tts_seed].", confidential=TRUE) + to_chat(M, span_notice("Your voice has been changed from [old_tts_seed] to [new_tts_seed]."), confidential=TRUE) log_and_message_admins("has changed [key_name_admin(M)]'s voice from [old_tts_seed] to [new_tts_seed]") else if(href_list["update_mob_sprite"]) @@ -1597,7 +1597,7 @@ var/mob/M = locateUID(href_list["update_mob_sprite"]) if(!ishuman(M)) - to_chat(usr, "This can only be used on instances of type /human", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /human"), confidential=TRUE) return usr.client.update_mob_sprite(M) @@ -1628,10 +1628,10 @@ var/mob/M = locateUID(href_list["tdome1"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return if(istype(M, /mob/living/silicon/ai)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai", confidential=TRUE) + to_chat(usr, span_warning("This cannot be used on instances of type /mob/living/silicon/ai"), confidential=TRUE) return for(var/obj/item/I in M) @@ -1643,7 +1643,7 @@ sleep(5) M.forceMove(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_and_message_admins("has sent [key_name_admin(M)] to the thunderdome. (Team 1)") else if(href_list["tdome2"]) @@ -1655,10 +1655,10 @@ var/mob/M = locateUID(href_list["tdome2"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return if(istype(M, /mob/living/silicon/ai)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai", confidential=TRUE) + to_chat(usr, span_warning("This cannot be used on instances of type /mob/living/silicon/ai"), confidential=TRUE) return for(var/obj/item/I in M) @@ -1670,7 +1670,7 @@ sleep(5) M.forceMove(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_and_message_admins("has sent [key_name_admin(M)] to the thunderdome. (Team 2)") else if(href_list["tdomeadmin"]) @@ -1682,10 +1682,10 @@ var/mob/M = locateUID(href_list["tdomeadmin"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return if(istype(M, /mob/living/silicon/ai)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai", confidential=TRUE) + to_chat(usr, span_warning("This cannot be used on instances of type /mob/living/silicon/ai"), confidential=TRUE) return if(isliving(M)) @@ -1694,7 +1694,7 @@ sleep(5) M.forceMove(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_and_message_admins("has sent [key_name_admin(M)] to the thunderdome. (Admin.)") else if(href_list["tdomeobserve"]) @@ -1706,10 +1706,10 @@ var/mob/M = locateUID(href_list["tdomeobserve"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return if(istype(M, /mob/living/silicon/ai)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai", confidential=TRUE) + to_chat(usr, span_warning("This cannot be used on instances of type /mob/living/silicon/ai"), confidential=TRUE) return for(var/obj/item/I in M) @@ -1725,7 +1725,7 @@ sleep(5) M.forceMove(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_and_message_admins("has sent [key_name_admin(M)] to the thunderdome. (Observer.)") else if(href_list["contractor_stop"]) @@ -1734,15 +1734,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.", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob."), confidential=TRUE) 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.", confidential=TRUE) + to_chat(usr, span_warning("[M] is currently not imprisoned by the Syndicate."), confidential=TRUE) return if(!contract.prisoner_timer_handle) - to_chat(usr, "[M] is already NOT scheduled to return from the Syndicate Jail.", confidential=TRUE) + to_chat(usr, span_warning("[M] is already NOT scheduled to return from the Syndicate Jail."), confidential=TRUE) return deltimer(contract.prisoner_timer_handle) @@ -1757,15 +1757,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.", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob."), confidential=TRUE) 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.", confidential=TRUE) + to_chat(usr, span_warning("[M] is currently not imprisoned by the Syndicate."), confidential=TRUE) return if(contract.prisoner_timer_handle) - to_chat(usr, "[M] is already scheduled to return from the Syndicate Jail.", confidential=TRUE) + to_chat(usr, span_warning("[M] is already scheduled to return from the Syndicate Jail."), confidential=TRUE) return var/time_seconds = tgui_input_number(usr, "Enter the jail time in seconds:", "Start Syndicate Jail Timer") @@ -1784,12 +1784,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.", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob."), confidential=TRUE) 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.", confidential=TRUE) + to_chat(usr, span_warning("[M] is currently not imprisoned by the Syndicate."), confidential=TRUE) return deltimer(contract.prisoner_timer_handle) @@ -1807,10 +1807,10 @@ var/mob/M = locateUID(href_list["aroomwarp"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return if(istype(M, /mob/living/silicon/ai)) - to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai", confidential=TRUE) + to_chat(usr, span_warning("This cannot be used on instances of type /mob/living/silicon/ai"), confidential=TRUE) return if(isliving(M)) @@ -1819,7 +1819,7 @@ sleep(5) M.forceMove(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_and_message_admins("has sent [key_name_admin(M)] to the Admin Room") else if(href_list["togglerespawnability"]) @@ -1839,7 +1839,7 @@ 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", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living"), confidential=TRUE) return L.revive() @@ -1850,7 +1850,7 @@ 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", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living/carbon/human"), confidential=TRUE) return if(tgui_alert(usr, "Confirm make ai?",, list("Yes", "No")) != "Yes") @@ -1866,7 +1866,7 @@ 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", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living/carbon/human"), confidential=TRUE) return if(tgui_alert(usr, "Confirm make superhero?",, list("Yes", "No")) != "Yes") @@ -1879,7 +1879,7 @@ 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", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living/carbon/human"), confidential=TRUE) return if(tgui_alert(usr, "Confirm make robot?",, list("Yes", "No")) != "Yes") return @@ -1891,7 +1891,7 @@ var/mob/M = locateUID(href_list["makeanimal"]) if(isnewplayer(M)) - to_chat(usr, "This cannot be used on instances of type /mob/new_player", confidential=TRUE) + to_chat(usr, span_warning("This cannot be used on instances of type /mob/new_player"), confidential=TRUE) return if(tgui_alert(usr, "Confirm make animal?",, list("Yes", "No")) != "Yes") return @@ -1943,7 +1943,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", confidential=TRUE) + to_chat(usr, span_warning("This will only work on /mob/dead/observer"), confidential=TRUE) return var/posttransformoutfit = usr.client.robust_dress_shop() @@ -1966,7 +1966,7 @@ var/mob/living/carbon/human/H = locateUID(href_list["togmutate"]) var/source = href_list["version"] 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])") @@ -1982,7 +1982,7 @@ var/mob/M = locateUID(href_list["adminplayeropts"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return show_player_panel(M) @@ -2123,13 +2123,13 @@ if(href_list["team"]) team = locateUID(href_list["team"]) if(QDELETED(team)) - to_chat(usr, "This team doesn't exist anymore!", confidential=TRUE) + to_chat(usr, span_warning("This team doesn't exist anymore!"), confidential=TRUE) return if(href_list["member"]) member = locateUID(href_list["member"]) if(QDELETED(member)) - to_chat(usr, "This team member doesn't exist anymore!", confidential=TRUE) + to_chat(usr, span_warning("This team member doesn't exist anymore!"), confidential=TRUE) return switch(href_list["team_command"]) @@ -2232,7 +2232,7 @@ else if(href_list["autorespond"]) if(href_list["is_mhelp"]) - to_chat(usr, "Auto responses are not available for mentor helps.", confidential=TRUE) + to_chat(usr, span_warning("Auto responses are not available for mentor helps."), confidential=TRUE) return var/index = text2num(href_list["autorespond"]) if(!check_rights(R_ADMIN|R_MOD)) @@ -2253,10 +2253,10 @@ for(var/datum/mind/H in SSticker.mode.cult) if(H.current) - to_chat(H.current, "[SSticker.cultdat.entity_name] murmurs, \"[input]\"") + to_chat(H.current, "[span_cult("[SSticker.cultdat.entity_name] murmurs,")] \"[span_cultlarge(input)]\"") for(var/mob/dead/observer/O in GLOB.player_list) - to_chat(O, "[SSticker.cultdat.entity_name] murmurs, \"[input]\"") + to_chat(O, "[span_cult("[SSticker.cultdat.entity_name] murmurs,")] \"[span_cultlarge(input)]\"") message_admins("Admin [key_name_admin(usr)] has talked with the Voice of [SSticker.cultdat.entity_name].") log_admin("[key_name(usr)] Voice of [SSticker.cultdat.entity_name]: [input]") @@ -2290,8 +2290,8 @@ if(gamemode.cult_objs.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 for(var/datum/mind/cult_mind in gamemode.cult) if(cult_mind && cult_mind.current) - to_chat(cult_mind.current, "The veil has shifted! Our summoning will need to take place elsewhere.") - to_chat(cult_mind.current, "Current goal : [gamemode.cult_objs.obj_summon.explanation_text]") + to_chat(cult_mind.current, span_cult("The veil has shifted! Our summoning will need to take place elsewhere.")) + to_chat(cult_mind.current, span_cult("Current goal : [gamemode.cult_objs.obj_summon.explanation_text]")) message_admins("Admin [key_name_admin(usr)] has rerolled the Cult's sacrifice target.") log_admin("Admin [key_name_admin(usr)] has rerolled the Cult's sacrifice target.") @@ -2312,10 +2312,10 @@ for(var/datum/mind/H in SSticker.mode.clockwork_cult) if(H.current) - to_chat(H.current, "Ratvar murmurs, \"[input]\"") + to_chat(H.current, "[span_clock("Ratvar murmurs,")] \"[span_clocklarge(input)]\"") for(var/mob/dead/observer/O in GLOB.player_list) - to_chat(O, "Ratvar murmurs, \"[input]\"") + to_chat(O, "[span_clock("Ratvar murmurs,")] \"[span_clocklarge(input)]\"") message_admins("Admin [key_name_admin(usr)] has talked with the Voice of Ratvar.") log_admin("[key_name(usr)] Voice of Ratvar: [input]") @@ -2356,8 +2356,8 @@ if(gamemode.clocker_objs.clock_status == RATVAR_NEEDS_SUMMONING) //Only update cultists if they are already have the summon goal since they arent aware of summon spots till then for(var/datum/mind/clock_mind in gamemode.clockwork_cult) if(clock_mind && clock_mind.current) - to_chat(clock_mind.current, "The veil has shifted! Our summoning will need to take place elsewhere.") - to_chat(clock_mind.current, "Current goal : [gamemode.clocker_objs.obj_summon.explanation_text]") + to_chat(clock_mind.current, span_cult("The veil has shifted! Our summoning will need to take place elsewhere.")) + to_chat(clock_mind.current, span_cult("Current goal : [gamemode.clocker_objs.obj_summon.explanation_text]")) message_admins("Admin [key_name_admin(usr)] has rerolled the Clock Cult's sacrifice target.") log_admin("Admin [key_name_admin(usr)] has rerolled the Clock Cult's sacrifice target.") @@ -2389,7 +2389,7 @@ var/mob/M = locateUID(href_list["adminmoreinfo"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return admin_mob_info(M) @@ -2399,7 +2399,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", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living/carbon/human"), confidential=TRUE) return H.equip_to_slot_or_del( new /obj/item/reagent_containers/food/snacks/cookie(H), ITEM_SLOT_HAND_LEFT ) @@ -2416,7 +2416,7 @@ 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 @@ -2431,7 +2431,7 @@ var/mob/M = locateUID(href_list["CentcommReply"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return usr.client.admin_headset_message(M, "Centcomm") @@ -2443,7 +2443,7 @@ var/mob/M = locateUID(href_list["SyndicateReply"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return usr.client.admin_headset_message(M, "Syndicate") @@ -2455,7 +2455,7 @@ var/mob/M = locateUID(href_list["HeadsetMessage"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return usr.client.admin_headset_message(M) @@ -2465,7 +2465,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", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living/carbon/human"), confidential=TRUE) 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 = tgui_input_list(src.owner, "Which type of evil fax do you wish to send [H]?", "Its good to be baaaad...", etypes) @@ -2487,7 +2487,7 @@ P.faxmachineid = fax.UID() P.forceMove(fax.loc) // Do not use fax.receivefax(P) here, as it won't preserve the type. Physically teleporting the fax paper is required. if(istype(H) && H.stat == CONSCIOUS && (istype(H.l_ear, /obj/item/radio/headset) || istype(H.r_ear, /obj/item/radio/headset))) - to_chat(H, "Your headset pings, notifying you that a reply to your fax has arrived.") + to_chat(H, span_specialnoticebold("Your headset pings, notifying you that a reply to your fax has arrived.")) to_chat(src.owner, "You sent a [eviltype] fax to [H]") log_admin("[key_name(src.owner)] sent [key_name(H)] a [eviltype] fax") message_admins("[key_name_admin(src.owner)] replied to [key_name_admin(H)] with a [eviltype] fax") @@ -2496,7 +2496,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", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living"), confidential=TRUE) return usr.client.bless(M) else if(href_list["Smite"]) @@ -2504,7 +2504,7 @@ return var/mob/living/M = locateUID(href_list["Smite"]) if(!istype(M)) - to_chat(usr, "This can only be used on instances of type /mob/living", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living"), confidential=TRUE) return usr.client.smite(M) else if(href_list["cryossd"]) @@ -2512,10 +2512,10 @@ return var/mob/living/carbon/human/H = locateUID(href_list["cryossd"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living/carbon/human"), confidential=TRUE) return if(!href_list["cryoafk"] && !isLivingSSD(H)) - to_chat(usr, "This can only be used on living, SSD players.", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on living, SSD players."), confidential=TRUE) return if(istype(H.loc, /obj/machinery/cryopod)) var/obj/machinery/cryopod/P = H.loc @@ -2526,7 +2526,7 @@ log_admin("[key_name(usr)] sent [H.job] [H] to cryo.") message_admins("[key_name_admin(usr)] sent [H.job] [H] to cryo.") if(href_list["cryoafk"]) // Warn them if they are send to storage and are AFK - to_chat(H, "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(H, 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(H, 'sound/effects/adminhelp.ogg') if(H.client) window_flash(H.client) @@ -2535,7 +2535,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", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living/carbon/human"), confidential=TRUE) return var/obj/item/paper/P = new /obj/item/paper(null) var/obj/machinery/photocopier/faxmachine/fax = locate(href_list["originfax"]) @@ -2564,7 +2564,7 @@ P.stamp(/obj/item/stamp/centcom) fax.receivefax(P) if(istype(H) && H.stat == CONSCIOUS && (istype(H.l_ear, /obj/item/radio/headset) || istype(H.r_ear, /obj/item/radio/headset))) - to_chat(H, "Your headset pings, notifying you that a reply to your fax has arrived.") + to_chat(H, span_specialnoticebold("Your headset pings, notifying you that a reply to your fax has arrived.")) to_chat(src.owner, "You sent a standard '[stype]' fax to [H]", confidential=TRUE) log_admin("[key_name(src.owner)] sent [key_name(H)] a standard '[stype]' fax") message_admins("[key_name_admin(src.owner)] replied to [key_name_admin(H)] with a standard '[stype]' fax") @@ -2572,10 +2572,10 @@ else if(href_list["HONKReply"]) var/mob/living/carbon/human/H = locateUID(href_list["HONKReply"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living/carbon/human"), confidential=TRUE) return if(!istype(H.l_ear, /obj/item/radio/headset) && !istype(H.r_ear, /obj/item/radio/headset)) - to_chat(usr, "The person you are trying to contact is not wearing a headset", confidential=TRUE) + to_chat(usr, span_warning("The person you are trying to contact is not wearing a headset"), confidential=TRUE) return var/input = tgui_input_text(src.owner, "Please enter a message to reply to [key_name(H)] via [H.p_their()] headset.", "Outgoing message from HONKplanet", "", encode = FALSE) @@ -2592,13 +2592,13 @@ if(tgui_alert(src.owner, "Accept or Deny ERT request?", "CentComm Response", list("Accept", "Deny")) == "Deny") var/mob/living/carbon/human/H = locateUID(href_list["ErtReply"]) if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob/living/carbon/human"), confidential=TRUE) return if(H.stat != 0) - to_chat(usr, "The person you are trying to contact is not conscious.", confidential=TRUE) + to_chat(usr, span_warning("The person you are trying to contact is not conscious."), confidential=TRUE) return if(!istype(H.l_ear, /obj/item/radio/headset) && !istype(H.r_ear, /obj/item/radio/headset)) - to_chat(usr, "The person you are trying to contact is not wearing a headset", confidential=TRUE) + to_chat(usr, span_warning("The person you are trying to contact is not wearing a headset"), confidential=TRUE) return var/input = tgui_input_text(src.owner, "Please enter a reason for denying [key_name(H)]'s ERT request.","Outgoing message from CentComm", "", encode = FALSE) @@ -2606,7 +2606,7 @@ GLOB.ert_request_answered = TRUE to_chat(src.owner, "You sent [input] to [H] via a secure channel.", confidential=TRUE) log_admin("[src.owner] denied [key_name(H)]'s ERT request with the message [input].") - to_chat(H, "Incoming priority transmission from Central Command. Message as follows, Your ERT request has been denied for the following reasons: [input].") + to_chat(H, "[span_specialnoticebold("Incoming priority transmission from Central Command. Message as follows,")][span_specialnotice(" Your ERT request has been denied for the following reasons: [input].")]") else src.owner.response_team() @@ -2634,7 +2634,7 @@ usr << browse(data, "window=PaperBundle[bundle.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]", confidential=TRUE) + 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]"), confidential=TRUE) else if(href_list["AdminFaxViewPage"]) if(!check_rights(R_ADMIN)) @@ -2760,14 +2760,14 @@ if(destination != "All Departments") if(!fax.receivefax(P)) - to_chat(src.owner, "Message transmission failed.", confidential=TRUE) + to_chat(src.owner, span_warning("Message transmission failed."), confidential=TRUE) return else for(var/obj/machinery/photocopier/faxmachine/F in GLOB.allfaxes) if(is_station_level(F.z)) spawn(0) if(!F.receivefax(P)) - to_chat(src.owner, "Message transmission to [F.department] failed.", confidential=TRUE) + to_chat(src.owner, span_warning("Message transmission to [F.department] failed."), confidential=TRUE) var/datum/fax/admin/A = new /datum/fax/admin() A.name = P.name @@ -2782,11 +2782,11 @@ A.sent_by = usr A.sent_at = world.time - to_chat(src.owner, "Message transmitted successfully.", confidential=TRUE) + to_chat(src.owner, span_notice("Message transmitted successfully."), confidential=TRUE) 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))) - to_chat(sender, "Your headset pings, notifying you that a reply to your fax has arrived.", confidential=TRUE) + to_chat(sender, span_specialnoticebold("Your headset pings, notifying you that a reply to your fax has arrived."), confidential=TRUE) if(sender) log_admin("[key_name(src.owner)] replied to a fax message from [key_name(sender)]: [input]") message_admins("[key_name_admin(src.owner)] replied to a fax message from [key_name_admin(sender)] (VIEW).") @@ -2800,7 +2800,7 @@ var/mob/sender = locate(href_list["AdminFaxNotify"]) 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))) - to_chat(sender, "Ваши наушники издают гудки, уведомляя вас о получении ответа на ваш факс.") + to_chat(sender, span_specialnoticebold("Ваши наушники издают гудки, уведомляя вас о получении ответа на ваш факс.")) return else if(href_list["refreshfaxpanel"]) if(!check_rights(R_ADMIN)) @@ -2813,7 +2813,7 @@ return var/mob/M = locateUID(href_list["getplaytimewindow"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return cmd_mentor_show_exp_panel(M.client) @@ -2822,7 +2822,7 @@ var/mob/M = locateUID(href_list["jumpto"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return usr.client.jumptomob(M) @@ -2832,7 +2832,7 @@ if(tgui_alert(usr, "Confirm?", "Message", list("Yes", "No")) != "Yes") return var/mob/M = locateUID(href_list["getmob"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return usr.client.Getmob(M) @@ -2841,7 +2841,7 @@ var/mob/M = locateUID(href_list["sendmob"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return usr.client.sendmob(M) @@ -2850,7 +2850,7 @@ var/mob/M = locateUID(href_list["narrateto"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return usr.client.cmd_admin_direct_narrate(M) @@ -2860,7 +2860,7 @@ var/mob/M = locateUID(href_list["subtlemessage"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return usr.client.cmd_admin_subtle_message(M) @@ -2873,7 +2873,7 @@ var/mob/M = locateUID(href_list["traitor"]) if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential=TRUE) return show_traitor_panel(M) @@ -2947,7 +2947,7 @@ if("inhand") if(!iscarbon(usr) && !isrobot(usr)) - to_chat(usr, "Can only spawn in hand when you're a carbon mob or cyborg.", confidential=TRUE) + to_chat(usr, span_warning("Can only spawn in hand when you're a carbon mob or cyborg."), confidential=TRUE) where = "onfloor" target = usr @@ -2959,10 +2959,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.", confidential=TRUE) + to_chat(usr, span_warning("You don't have any object marked. Abandoning spawn."), confidential=TRUE) 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.", confidential=TRUE) + to_chat(usr, span_warning("The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn."), confidential=TRUE) return else target = marked_datum @@ -3031,7 +3031,7 @@ var/afkonly = text2num(href_list["afkonly"]) if(tgui_alert(usr, "Are you sure you want to kick all [afkonly ? "AFK" : ""] clients from the lobby?", "Confirmation", list("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) @@ -3039,7 +3039,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.", confidential=TRUE) + to_chat(usr, span_warning("You may only use this when the game is running."), confidential=TRUE) else if(href_list["memoeditlist"]) if(!check_rights(R_SERVER)) return @@ -3199,12 +3199,12 @@ return var/new_name = new_station_name() change_station_name(new_name) - log_and_message_admins("reset the station name.
") + log_and_message_admins("reset the station name.") GLOB.event_announcement.Announce("Решением [command_name()] станция переименована в \"[new_name]\".") if("gravity") if(!(SSticker && SSticker.mode)) - to_chat(usr, "Please wait until the game starts! Not sure how it will work otherwise.", confidential=TRUE) + to_chat(usr, span_warning("Please wait until the game starts! Not sure how it will work otherwise."), confidential=TRUE) return var/static/list/gravity_states = list( @@ -3240,19 +3240,19 @@ if(!you_realy_want_do_this()) return SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Power All APCs") - log_and_message_admins("made all areas powered") + log_and_message_admins(span_notice("made all areas powered")) power_restore() if("unpower") if(!you_realy_want_do_this()) return SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Depower All APCs") - log_and_message_admins("made all areas unpowered") + log_and_message_admins(span_notice("made all areas unpowered")) power_failure() if("quickpower") if(!you_realy_want_do_this()) return SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Power All SMESs") - log_and_message_admins("made all SMESs powered") + log_and_message_admins(span_notice("made all SMESs powered")) power_restore_quick() if("prisonwarp") @@ -3322,7 +3322,7 @@ antag_datum.add_objective(objective) A.mind.add_antag_datum(antag_datum) - log_and_message_admins("used everyone is a traitor secret. Objective is [objective]") + log_and_message_admins(span_notice("used everyone is a traitor secret. Objective is [objective]")) if("togglebombcap") if(!you_realy_want_do_this()) @@ -3424,7 +3424,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.", confidential=TRUE) + to_chat(H, span_danger("You suddenly feel stupid."), confidential=TRUE) H.setBrainLoss(60) message_admins("[key_name_admin(usr)] made everybody stupid") if("fakeguns") @@ -3535,7 +3535,7 @@ var/area/template = locate(/area/centcom/reset) template.copy_contents_to(ertarmory) log_admin("[key_name(usr)] reset the ertarmory to default with delete_mobs==[delete_mobs].", 1) - message_admins("[key_name_admin(usr)] reset ertarmory to default with delete_mobs==[delete_mobs].") + message_admins(span_adminnotice("[key_name_admin(usr)] reset ertarmory to default with delete_mobs==[delete_mobs].")) if("armotyreset1") var/delete_mobs = alert("Clear all mobs?","Confirm","Yes","No","Cancel") if(delete_mobs == "Cancel") @@ -3550,7 +3550,7 @@ var/area/template = locate(/area/centcom/reset1) template.copy_contents_to(ertarmory) log_admin("[key_name(usr)] reset the ertarmory to default with delete_mobs==[delete_mobs].", 1) - message_admins("[key_name_admin(usr)] reset ertarmory to default with delete_mobs==[delete_mobs].") + message_admins(span_adminnotice("[key_name_admin(usr)] reset ertarmory to default with delete_mobs==[delete_mobs].")) if("armotyreset2") var/delete_mobs = alert("Clear all mobs?","Confirm","Yes","No","Cancel") if(delete_mobs == "Cancel") @@ -3565,7 +3565,7 @@ var/area/template = locate(/area/centcom/reset2) template.copy_contents_to(ertarmory) log_admin("[key_name(usr)] reset the ertarmory to default with delete_mobs==[delete_mobs].", 1) - message_admins("[key_name_admin(usr)] reset ertarmory to default with delete_mobs==[delete_mobs].") + message_admins(span_adminnotice("[key_name_admin(usr)] reset ertarmory to default with delete_mobs==[delete_mobs].")) if("armotyreset3") var/delete_mobs = alert("Clear all mobs?","Confirm","Yes","No","Cancel") if(delete_mobs == "Cancel") @@ -3580,7 +3580,7 @@ var/area/template = locate(/area/centcom/reset3) template.copy_contents_to(ertarmory) log_admin("[key_name(usr)] reset the ertarmory to default with delete_mobs==[delete_mobs].", 1) - message_admins("[key_name_admin(usr)] reset ertarmory to default with delete_mobs==[delete_mobs].") + message_admins(span_adminnotice("[key_name_admin(usr)] reset ertarmory to default with delete_mobs==[delete_mobs].")) */ if("tdomereset") var/delete_mobs = tgui_alert(usr, "Clear all mobs?", "Confirm", list("Yes", "No", "Cancel")) @@ -3604,48 +3604,48 @@ var/area/template = locate(/area/tdome/arena_source) 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 = tgui_alert(usr, "Start a Thunderdome match?", "Confirm", list("Yes", "No")) if(confirmation == "No") return if(makeThunderdomeTeams()) - log_and_message_admins("has started a Thunderdome match!") + log_and_message_admins(span_adminnotice("has started a Thunderdome match!")) else - log_and_message_admins("tried starting a Thunderdome match, but no ghosts signed up.") + log_and_message_admins(span_adminnotice("tried starting a Thunderdome match, but no ghosts signed up.")) if("securitylevel0") if(!you_realy_want_do_this()) return set_security_level(SEC_LEVEL_GREEN) - log_and_message_admins("change security level to Green.") + log_and_message_admins(span_notice("change security level to Green.")) if("securitylevel1") if(!you_realy_want_do_this()) return set_security_level(SEC_LEVEL_BLUE) - log_and_message_admins("change security level to Blue.") + log_and_message_admins(span_notice("change security level to Blue.")) if("securitylevel2") if(!you_realy_want_do_this()) return set_security_level(SEC_LEVEL_RED) - log_and_message_admins("change security level to Red.") + log_and_message_admins(span_notice("change security level to Red.")) if("securitylevel3") if(!you_realy_want_do_this()) return set_security_level(SEC_LEVEL_GAMMA) - log_and_message_admins("change security level to Gamma.") + log_and_message_admins(span_notice("change security level to Gamma.")) if("securitylevel4") if(!you_realy_want_do_this()) return set_security_level(SEC_LEVEL_EPSILON) - log_and_message_admins("change security level to Epsilon.") + log_and_message_admins(span_notice("change security level to Epsilon.")) if("securitylevel5") if(!you_realy_want_do_this()) return set_security_level(SEC_LEVEL_DELTA) - log_and_message_admins("change security level to Delta.") + log_and_message_admins(span_notice("change security level to Delta.")) if("moveminingshuttle") if(!you_realy_want_do_this()) return @@ -3757,15 +3757,15 @@ SSnightshift.fire() else SSnightshift.update_nightshift(FALSE, TRUE) - to_chat(usr, "Night shift set to automatic.", confidential=TRUE) + to_chat(usr, span_notice("Night shift set to automatic."), confidential=TRUE) if("On") SSnightshift.can_fire = FALSE SSnightshift.update_nightshift(TRUE, FALSE) - to_chat(usr, "Night shift forced on.", confidential=TRUE) + to_chat(usr, span_notice("Night shift forced on."), confidential=TRUE) if("Off") SSnightshift.can_fire = FALSE SSnightshift.update_nightshift(FALSE, FALSE) - to_chat(usr, "Night shift forced off.", confidential=TRUE) + to_chat(usr, span_notice("Night shift forced off."), confidential=TRUE) else if(usr) log_admin("[key_name(usr)] used secret [href_list["secretsadmin"]]") @@ -4026,12 +4026,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(!candidates.len) - to_chat(usr, "ERROR: Could not create eventmob. No valid candidates.", confidential=TRUE) + to_chat(usr, span_warning("ERROR: Could not create eventmob. No valid candidates."), confidential=TRUE) 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.", confidential=TRUE) + to_chat(usr, span_warning("ERROR: Could not create eventmob. Could not pick key."), confidential=TRUE) return var/datum/mind/hunter_mind = new /datum/mind(key_of_hunter) hunter_mind.active = 1 @@ -4059,8 +4059,8 @@ protect_objective.explanation_text = "Protect [H.real_name], the [H.mind.assigned_role]." hunter_mind.objectives += 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/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 51d879ea71d..b95279936ee 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -62,7 +62,7 @@ //Fetching a message if needed. src is the sender and C is the target client /client/proc/cmd_admin_pm(whom, msg, type = "PM") if(check_mute(ckey, MUTE_ADMINHELP)) - to_chat(src, "Error: Private-Message: You are unable to use PM-s (muted).", confidential=TRUE) + to_chat(src, span_danger("Error: Private-Message: You are unable to use PM-s (muted)."), confidential=TRUE) return var/client/C @@ -73,7 +73,7 @@ if(!C) if(holder) - to_chat(src, "Error: Private-Message: Client not found.", confidential=TRUE) + to_chat(src, span_danger("Error: Private-Message: Client not found."), confidential=TRUE) else adminhelp(msg) //admin we are replying to left. adminhelp instead return @@ -81,7 +81,7 @@ /*if(C && C.last_pm_recieved + 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*/ @@ -97,7 +97,7 @@ return if(!C) if(holder) - to_chat(src, "Error: Admin-PM: Client not found.", confidential=TRUE) + to_chat(src, span_danger("Error: Admin-PM: Client not found."), confidential=TRUE) else adminhelp(msg) //admin we are replying to has vanished, adminhelp instead return @@ -131,7 +131,7 @@ recieve_pm_type = holder.rank else if(!C.holder) - to_chat(src, "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.", confidential=TRUE) + to_chat(src, span_danger("Error: Admin-PM: Non-admin to non-admin PM communication is forbidden."), confidential=TRUE) return var/recieve_message = "" @@ -158,8 +158,8 @@ adminhelp(reply) //sender has left, adminhelp instead return - var/emoji_msg = "[msg]" - recieve_message = chat_box_red("[type] from-[recieve_pm_type] [C.holder ? key_name(src, TRUE, type) : key_name_hidden(src, TRUE, type)]:

[emoji_msg]
") + var/emoji_msg = span_emojienabled("[msg]") + recieve_message = chat_box_red("[type] from-[recieve_pm_type] [C.holder ? key_name(src, TRUE, type) : key_name_hidden(src, TRUE, type)]:

[emoji_msg]") to_chat(C, recieve_message, confidential=TRUE) var/ping_link = check_rights(R_MOD, 0, mob) ? "(PING)" : "" var/window_link = "(WINDOW)" @@ -184,13 +184,13 @@ switch(type) if("Mentorhelp") if(check_rights(R_ADMIN|R_MOD|R_MENTOR, 0, X.mob)) - to_chat(X, "[type]: [key_name(src, TRUE, type)]->[key_name(C, TRUE, type)]: [emoji_msg]", confidential=TRUE) + to_chat(X, "[type]: [key_name(src, TRUE, type)]->[key_name(C, TRUE, type)]: [emoji_msg]", confidential=TRUE) if("Adminhelp") if(check_rights(R_ADMIN|R_MOD, 0, X.mob)) - to_chat(X, "[type]: [key_name(src, TRUE, type)]->[key_name(C, TRUE, type)]: [emoji_msg]", confidential=TRUE) + to_chat(X, "[type]: [key_name(src, TRUE, type)]->[key_name(C, TRUE, type)]: [emoji_msg]", confidential=TRUE) else if(check_rights(R_ADMIN|R_MOD, 0, X.mob)) - to_chat(X, "[type]: [key_name(src, TRUE, type)]->[key_name(C, TRUE, type)]: [emoji_msg]", confidential=TRUE) + to_chat(X, "[type]: [key_name(src, TRUE, type)]->[key_name(C, TRUE, type)]: [emoji_msg]", confidential=TRUE) //Check if the mob being PM'd has any open admin tickets. var/tickets = list() @@ -216,11 +216,11 @@ /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).", confidential=TRUE) + to_chat(src, span_danger("Error: Private-Message: You are unable to use PMs (muted)."), confidential=TRUE) 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.", confidential=TRUE) + 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."), confidential=TRUE) return // We only allow PMs once every 10 seconds, othewrise the channel can get spammed very quickly @@ -234,8 +234,8 @@ 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", confidential=TRUE) - to_chat(src, "[msg]", confidential=TRUE) + 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"), confidential=TRUE) + to_chat(src, span_notice("[msg]"), confidential=TRUE) return SSdiscord.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "PM from [key_name(src)]: [html_decode(msg)]") @@ -247,7 +247,7 @@ if(X == src) continue if(check_rights(R_ADMIN, 0, X.mob)) - to_chat(X, "PM: [key_name_admin(src)]->Discord Admins: [msg]", confidential=TRUE) + to_chat(X, "PM: [key_name_admin(src)]->Discord Admins: [span_notice(msg)]", confidential=TRUE) /client/verb/open_pms_ui() set name = "My PMs" @@ -396,7 +396,7 @@ C.pm_tracker.current_title = usr.key window_flash(C) C.pm_tracker.show_ui(C.mob) - to_chat(usr, "Forced open [C]'s messages window.", confidential=TRUE) + to_chat(usr, span_notice("Forced open [C]'s messages window."), confidential=TRUE) return if(href_list["reply"]) diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index 3c23bb13a39..08b044f8cb7 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -23,7 +23,7 @@ msg = replacetext(msg, "@[C.ckey]", "@[C.ckey]") msg = replacetext(msg, "@[C.key]", "@[C.key]") // Same applies here. key and ckey. - msg = "[msg]" + msg = span_emojienabled("[msg]") to_chat(C, "ADMIN: [key_name(usr, 1)] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_ADMINCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Asay") //If you are copy-pasting this, ensure the 4th parameter is unique to the new proc! @@ -60,7 +60,7 @@ display_name = "[holder.fakekey]/([key])" else display_name = holder.fakekey - msg = "[msg]" + msg = span_emojienabled("[msg]") to_chat(C, "MENTOR: [display_name] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_MENTORCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Msay") //If you are copy-pasting this, ensure the 4th parameter is unique to the new proc! @@ -133,7 +133,7 @@ display_name = "[holder.fakekey]/([key])" else display_name = holder.fakekey - msg = "[msg]" + msg = span_emojienabled("[msg]") to_chat(C, "DEV: [display_name] ([admin_jump_link(mob)]): [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! diff --git a/code/modules/admin/verbs/ping_all_admins.dm b/code/modules/admin/verbs/ping_all_admins.dm index 77d419cd1c2..372416035cf 100644 --- a/code/modules/admin/verbs/ping_all_admins.dm +++ b/code/modules/admin/verbs/ping_all_admins.dm @@ -35,5 +35,5 @@ for(var/client/C in admins_to_ping) SEND_SOUND(C, sound('sound/misc/ping.ogg')) - to_chat(C, span_all_admin_ping("ALL ADMIN PING: [key_name(usr, TRUE)] ([admin_jump_link(mob)]): [msg]")) + to_chat(C, span_all_admin_ping("ALL ADMIN PING: [span_name(key_name(usr, TRUE))] ([admin_jump_link(mob)]): [span_emojienabled(msg)]")) to_chat(usr, "[length(admins_to_ping)] клиентов пропинговано.") diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm index a343cdc6142..de7964ff99d 100644 --- a/code/modules/antagonists/_common/antag_datum.dm +++ b/code/modules/antagonists/_common/antag_datum.dm @@ -155,7 +155,7 @@ GLOBAL_LIST_EMPTY(antagonists_datums) apply_innate_effects() messages.Add(finalize_antag()) if(wiki_page_name) - messages.Add("С полной информацией вы можете ознакомиться на вики: [russian_wiki_name]") + messages.Add(span_motd("С полной информацией вы можете ознакомиться на вики: [russian_wiki_name]")) to_chat(owner.current, chat_box_red(messages.Join("
"))) if(is_banned(owner.current) && replace_banned) @@ -188,7 +188,7 @@ GLOBAL_LIST_EMPTY(antagonists_datums) var/list/messages = list() . = messages if(owner?.current && !silent) - messages.Add("You are a [special_role]!") + messages.Add(span_userdanger("You are a [special_role]!")) /** @@ -345,7 +345,7 @@ GLOBAL_LIST_EMPTY(antagonists_datums) to_chat(owner.current, span_notice("Your current objectives:")) var/objective_num = 1 for(var/datum/objective/objective in objectives) - to_chat(owner.current, "Objective #[objective_num++]: [objective.explanation_text]
") + to_chat(owner.current, span_notice("Objective #[objective_num++]: [objective.explanation_text]
")) return TRUE @@ -460,16 +460,16 @@ GLOBAL_LIST_EMPTY(antagonists_datums) var/objectives_complete = TRUE for(var/datum/objective/objective in objectives) if(objective.check_completion()) - report += "Objective #[count]: [objective.explanation_text] Success!" + report += "Objective #[count]: [objective.explanation_text] [span_greentext("Success!")]" else objectives_complete = FALSE - report += "Objective #[count]: [objective.explanation_text] Fail." + report += "Objective #[count]: [objective.explanation_text] [span_redtext("Fail.")]" count++ if(!length(objectives) || objectives_complete) - report += "The [name] was successful!" + report += span_greentext("The [name] was successful!") else - report += "The [name] has failed!" + report += span_redtext("The [name] has failed!") return report.Join("
") @@ -478,7 +478,7 @@ GLOBAL_LIST_EMPTY(antagonists_datums) * 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:
") /** diff --git a/code/modules/antagonists/blob/blob_actions.dm b/code/modules/antagonists/blob/blob_actions.dm index 9537a77c53b..0df380fae7d 100644 --- a/code/modules/antagonists/blob/blob_actions.dm +++ b/code/modules/antagonists/blob/blob_actions.dm @@ -23,7 +23,7 @@ return add_say_logs(usr, message, language = "BLOB") - var/rendered = span_blob("\[Blob Telepathy\] [usr.name] states, [message]") + var/rendered = span_blob("\[Blob Telepathy\] [span_name(usr.name)] states, [message]") relay_to_list_and_observers(rendered, GLOB.blob_telepathy_mobs, usr) /datum/action/innate/blob/self_burst diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm index 1773e696f13..aa5e022b46d 100644 --- a/code/modules/antagonists/blob/overmind.dm +++ b/code/modules/antagonists/blob/overmind.dm @@ -198,7 +198,7 @@ GLOBAL_LIST_EMPTY(overminds) add_say_logs(src, message, language = "BLOB") var/message_a = say_quote(message) - var/rendered = span_big(span_blob("\[Blob Telepathy\] [name]([blobstrain.name]) [message_a], [message]")) + var/rendered = span_big(span_blob("\[Blob Telepathy\] [span_name(name)]([blobstrain.name]) [message_a], [message]")) relay_to_list_and_observers(rendered, GLOB.blob_telepathy_mobs, src) /mob/camera/blob/proc/add_points(points) diff --git a/code/modules/antagonists/space_dragon/space_dragon_datum.dm b/code/modules/antagonists/space_dragon/space_dragon_datum.dm index 1a55fb37887..0a6e0e35515 100644 --- a/code/modules/antagonists/space_dragon/space_dragon_datum.dm +++ b/code/modules/antagonists/space_dragon/space_dragon_datum.dm @@ -217,7 +217,7 @@ var/list/parts = list() var/datum/objective/summon_carp/S = locate() in objectives if(S.check_completion()) - parts += "[name] - успех! Космические карпы вернули контроль над территорией расположения станции!" + parts += span_redtext("[name] - успех! Космические карпы вернули контроль над территорией расположения станции!") parts += printplayer(owner) var/objectives_complete = TRUE if(objectives.len) @@ -227,11 +227,11 @@ objectives_complete = FALSE break if(objectives_complete) - parts += "[name] преуспел!" + parts += span_greentext("[name] преуспел!") else - parts += "[name] провалился!" + parts += span_redtext("[name] провалился!") if(carp.len) - parts += "Помощниками [name] были:" + parts += span_header("Помощниками [name] были:") for(var/datum/mind/M in carp) parts += "[printplayer(M)]" return parts.Join("
") diff --git a/code/modules/antagonists/traitor/contractor/datums/contractor.dm b/code/modules/antagonists/traitor/contractor/datums/contractor.dm index 9bb5bf822af..e7cb154d1fd 100644 --- a/code/modules/antagonists/traitor/contractor/datums/contractor.dm +++ b/code/modules/antagonists/traitor/contractor/datums/contractor.dm @@ -89,7 +89,7 @@ messages.Add(greet()) apply_innate_effects() messages.Add(finalize_antag()) - messages.Add("С полной информацией вы можете ознакомиться на вики:
Контрактор
") + messages.Add(span_motd("С полной информацией вы можете ознакомиться на вики: Контрактор")) to_chat(owner.current, chat_box_red(messages.Join("
"))) if(is_banned(owner.current) && replace_banned) INVOKE_ASYNC(src, PROC_REF(replace_banned_player)) diff --git a/code/modules/mining/lavaland/loot/ashdragon_loot.dm b/code/modules/mining/lavaland/loot/ashdragon_loot.dm index 19f5925ed16..2db05f5d5d1 100644 --- a/code/modules/mining/lavaland/loot/ashdragon_loot.dm +++ b/code/modules/mining/lavaland/loot/ashdragon_loot.dm @@ -174,9 +174,12 @@ visibility_flags = VISIBLE 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 @@ -220,7 +223,7 @@ if(!is_mining_level(user.z)) //Will only spawn a few sparks if not on mining z level 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 @@ -233,10 +236,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, 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 [ADMIN_COORDJMP(T)]") add_attack_logs(user, target, "fired lava staff", ATKLOG_MOST) T.ChangeTurf(turf_type, keep_icon = FALSE) @@ -247,7 +250,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.ChangeTurf(reset_turf_type, keep_icon = FALSE) timer = world.time + reset_cooldown playsound(T,'sound/magic/fireball.ogg', 200, 1) 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 17e8ddc32f5..8f3c8cc9de8 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm @@ -5,18 +5,22 @@ var/damage = rand(1, 9) if(prob(90)) playsound(loc, "punch", 25, 1, -1) - visible_message("[M] ударил[genderize_ru(M.gender,"","а","о","и")] [src.name]!", \ - "[M] ударил[genderize_ru(M.gender,"","а","о","и")] [src.name]!") + visible_message( + span_danger("[M] ударил[genderize_ru(M.gender,"","а","о","и")] [src.name]!"), + span_userdanger("[M] ударил[genderize_ru(M.gender,"","а","о","и")] [src.name]!") + ) if((stat != DEAD) && (damage > 9||prob(5)))//Regular humans have a very small chance of weakening an alien. Paralyse(4 SECONDS) - visible_message("[M] ослабил[genderize_ru(M.gender,"","а","о","и")] [src.name]!", \ - "[M] ослабил[genderize_ru(M.gender,"","а","о","и")] [src.name]!", \ - "Вы слышите, как кто-то упал.") + visible_message( + span_danger("[M] ослабил[genderize_ru(M.gender,"","а","о","и")] [src.name]!"), + span_userdanger("[M] ослабил[genderize_ru(M.gender,"","а","о","и")] [src.name]!"), + span_danger("Вы слышите, как кто-то упал.") + ) adjustBruteLoss(damage) add_attack_logs(M, src, "Melee attacked with fists") else playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("[M] попытал[genderize_ru(M.gender,"ся","ась","ось","ись")] ударить [src.name]!") + visible_message(span_danger("[M] попытал[genderize_ru(M.gender,"ся","ась","ось","ись")] ударить [src.name]!")) if(INTENT_DISARM) if(body_position != LYING_DOWN) @@ -24,17 +28,21 @@ Paralyse(4 SECONDS) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) add_attack_logs(M, src, "Pushed over") - visible_message("[M] опрокинул[genderize_ru(M.gender,"","а","о","и")] [src.name]!", \ - "[M] опрокинул[genderize_ru(M.gender,"","а","о","и")] [src.name]!") + visible_message( + span_danger("[M] опрокинул[genderize_ru(M.gender,"","а","о","и")] [src.name]!"), + span_userdanger("[M] опрокинул[genderize_ru(M.gender,"","а","о","и")] [src.name]!") + ) else if(prob(50)) drop_from_active_hand() playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - visible_message("[M] обезоружил[genderize_ru(M.gender,"","а","о","и")] [src.name]!", \ - "[M] обезоружил[genderize_ru(M.gender,"","а","о","и")] [src.name]!") + visible_message( + span_danger("[M] обезоружил[genderize_ru(M.gender,"","а","о","и")] [src.name]!"), + span_userdanger("[M] обезоружил[genderize_ru(M.gender,"","а","о","и")] [src.name]!") + ) else playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("[M] попытал[genderize_ru(M.gender,"ся","ась","ось","ись")] обезоружить [src.name]!") + visible_message(span_danger("[M] попытал[genderize_ru(M.gender,"ся","ась","ось","ись")] обезоружить [src.name]!")) /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) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index d625200111c..c3557b00533 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -168,16 +168,16 @@ var/instability = DEFAULT_GENE_STABILITY - gene_stability if(prob(instability * 0.1)) adjustFireLoss(min(5, 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) if(prob(instability * 0.83)) adjustCloneLoss(min(4, 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(5, 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 && prob(1)) - to_chat(src, "You feel incredibly sick... Something isn't right!") + to_chat(src, span_dangerbigger("You feel incredibly sick... Something isn't right!")) spawn(300) if(gene_stability < GENETIC_DAMAGE_STAGE_3) gib() @@ -213,7 +213,7 @@ if(prob(5)) radiation = max(radiation-5, 0) Weaken(6 SECONDS) - to_chat(src, "You feel weak.") + to_chat(src, span_danger("You feel weak.")) emote("collapse") if(75 to 100) @@ -221,7 +221,7 @@ apply_damages(burn = 2, tox = 2, spread_damage = TRUE) autopsy_damage = 4 if(prob(2)) - to_chat(src, "You mutate!") + to_chat(src, span_danger("You mutate!")) randmutb(src) check_genes() @@ -230,7 +230,7 @@ apply_damages(burn = 3, tox = 2, spread_damage = TRUE) autopsy_damage = 5 if(prob(4)) - to_chat(src, "You mutate!") + to_chat(src, span_danger("You mutate!")) randmutb(src) check_genes() @@ -239,7 +239,7 @@ apply_damages(burn = 3, tox = 2, spread_damage = TRUE) autopsy_damage = 5 if(prob(6)) - to_chat(src, "You mutate!") + to_chat(src, span_danger("You mutate!")) randmutb(src) check_genes() @@ -292,7 +292,7 @@ return SEND_SIGNAL(src, COMSIG_HUMAN_EARLY_HANDLE_ENVIRONMENT, environment) - + var/loc_temp = get_temperature(environment) // to_chat(world, "Loc temp: [loc_temp] - Body temp: [bodytemperature] - Fireloss: [getFireLoss()] - Thermal protection: [get_main_thermal_protection()] - Fire protection: [thermal_protection + add_fire_protection(loc_temp)] - Heat capacity: [environment_heat_capacity] - Location: [loc] - src: [src]") @@ -688,15 +688,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 if(HAS_TRAIT(src, TRAIT_NO_INTORGANS)) @@ -755,7 +755,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/critical/heart_failure/D = new D.Contract(src) @@ -768,7 +768,7 @@ var/datum/disease/critical/heart_failure/D = new D.Contract(src) 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) @@ -778,7 +778,7 @@ var/datum/disease/critical/shock/D = new D.Contract(src) 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) @@ -980,7 +980,7 @@ // Humans can lack a mind datum, y'know if(H.mind && (H.mind.assigned_role == JOB_TITLE_DETECTIVE || H.mind.assigned_role == JOB_TITLE_CORONER)) continue //too cool for puke - 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/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index df813f90c72..479e987a052 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -494,7 +494,7 @@ user.do_cpr(target) /datum/species/proc/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) - var/message = "[target.declent_ru(NOMINATIVE)] блокиру[pluralize_ru(target.gender,"ет","ют")] попытку захвата [user.declent_ru(GENITIVE)]!" + var/message = span_warning("[target.declent_ru(NOMINATIVE)] блокиру[pluralize_ru(target.gender,"ет","ют")] попытку захвата [user.declent_ru(GENITIVE)]!") if(target.check_martial_art_defense(target, user, null, message)) return FALSE @@ -510,7 +510,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) || GLOB.pacifism_after_gt) - to_chat(user, "[pluralize_ru(user.gender,"Ты не хочешь","Вы не хотите")] навредить [target.declent_ru(DATIVE)]!") + to_chat(user, span_warning("[pluralize_ru(user.gender,"Ты не хочешь","Вы не хотите")] навредить [target.declent_ru(DATIVE)]!")) return FALSE //Vampire code @@ -530,7 +530,7 @@ add_attack_logs(user, target, "vampirebit") return - var/message = "[target.declent_ru(NOMINATIVE)] блокиру[pluralize_ru(target.gender,"ет","ют")] атаку [user.declent_ru(GENITIVE)]!" + var/message = span_warning("[target.declent_ru(NOMINATIVE)] блокиру[pluralize_ru(target.gender,"ет","ют")] атаку [user.declent_ru(GENITIVE)]!") if(target.check_martial_art_defense(target, user, null, message)) return FALSE if(attacker_style && attacker_style.harm_act(user, target) == TRUE) @@ -549,7 +549,7 @@ user.do_attack_animation(target, attack.animation_type) if(attack.harmless) playsound(target.loc, attack.attack_sound, 25, 1, -1) - target.visible_message("[user.declent_ru(NOMINATIVE)] [attack_species] [target.declent_ru(ACCUSATIVE)]!") + target.visible_message(span_danger("[user.declent_ru(NOMINATIVE)] [attack_species] [target.declent_ru(ACCUSATIVE)]!")) return FALSE add_attack_logs(user, target, "Melee attacked with fists") @@ -566,7 +566,7 @@ damage += attack.damage if(!damage) playsound(target.loc, attack.miss_sound, 25, 1, -1) - target.visible_message("[user.declent_ru(NOMINATIVE)] [attack_species] [target.declent_ru(ACCUSATIVE)], но промахива[pluralize_ru(user.gender,"ется","ются")]!") + target.visible_message(span_danger("[user.declent_ru(NOMINATIVE)] [attack_species] [target.declent_ru(ACCUSATIVE)], но промахива[pluralize_ru(user.gender,"ется","ются")]!")) return FALSE var/obj/item/organ/external/affecting = target.get_organ(ran_zone(user.zone_selected)) @@ -593,7 +593,7 @@ playsound(target.loc, attack.attack_sound, 25, 1, -1) - target.visible_message("[user.declent_ru(NOMINATIVE)] [attack_species] [target.declent_ru(ACCUSATIVE)]!") + target.visible_message(span_danger("[user.declent_ru(NOMINATIVE)] [attack_species] [target.declent_ru(ACCUSATIVE)]!")) var/all_objectives = user?.mind?.get_all_objectives() if(target.mind && all_objectives) @@ -603,8 +603,10 @@ target.apply_damage(damage, damage_type, affecting, armor_block, sharp = attack.sharp) //moving this back here means Armalis are going to knock you down 70% of the time, but they're pure adminbus anyway. if((target.stat != DEAD) && damage >= (user.dna.species.punchstunthreshold + user.physiology.punch_stun_threshold)) - target.visible_message("[user.declent_ru(NOMINATIVE)] ослабля[pluralize_ru(user.gender,"ет","ют")] [target.declent_ru(ACCUSATIVE)]!", \ - "[user.declent_ru(NOMINATIVE)] ослабля[pluralize_ru(user.gender,"ет","ют")] [target.declent_ru(ACCUSATIVE)]!") + target.visible_message( + span_danger("[user.declent_ru(NOMINATIVE)] ослабля[pluralize_ru(user.gender,"ет","ют")] [target.declent_ru(ACCUSATIVE)]!"), \ + span_userdanger("[user.declent_ru(NOMINATIVE)] ослабля[pluralize_ru(user.gender,"ет","ют")] [target.declent_ru(ACCUSATIVE)]!") + ) target.apply_effect(4 SECONDS, WEAKEN, armor_block) target.forcesay(GLOB.hit_appends) else if(target.body_position == LYING_DOWN) @@ -614,7 +616,7 @@ /datum/species/proc/disarm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) if(user == target) return FALSE - var/message = "[target.declent_ru(NOMINATIVE)] блокиру[pluralize_ru(target.gender,"ет","ют")] попытку обезоруживания [user.declent_ru(GENITIVE)]!" + var/message = span_warning("[target.declent_ru(NOMINATIVE)] блокиру[pluralize_ru(target.gender,"ет","ют")] попытку обезоруживания [user.declent_ru(GENITIVE)]!") if(target.check_martial_art_defense(target, user, null, message)) return FALSE if(attacker_style && attacker_style.disarm_act(user, target) == TRUE) @@ -634,7 +636,7 @@ if(randn <= 10 + extra_knock_chance) target.apply_effect(4 SECONDS, KNOCKDOWN, target.run_armor_check(affecting, "melee")) playsound(target.loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - target.visible_message("[user.declent_ru(NOMINATIVE)] толка[pluralize_ru(user.gender,"ет","ют")] [target.declent_ru(ACCUSATIVE)]!") + target.visible_message(span_danger("[user.declent_ru(NOMINATIVE)] толка[pluralize_ru(user.gender,"ет","ют")] [target.declent_ru(ACCUSATIVE)]!")) add_attack_logs(user, target, "Pushed over", ATKLOG_ALL) if(!iscarbon(user)) target.LAssailant = null @@ -718,7 +720,7 @@ if(M.hand) temp = M.bodyparts_by_name[BODY_ZONE_PRECISE_L_HAND] if(!temp || !temp.is_usable()) - to_chat(M, "[pluralize_ru(M.gender,"Ты не можешь","Вы не можете")] пользоваться своей рукой.") + to_chat(M, span_warning("[pluralize_ru(M.gender,"Ты не можешь","Вы не можете")] пользоваться своей рукой.")) return if(M.mind) @@ -726,7 +728,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.declent_ru(NOMINATIVE)] пыта[pluralize_ru(M.gender,"ется","ются")] коснуться [H.declent_ru(ACCUSATIVE)]!") + H.visible_message(span_warning("[M.declent_ru(NOMINATIVE)] пыта[pluralize_ru(M.gender,"ется","ются")] коснуться [H.declent_ru(ACCUSATIVE)]!")) return FALSE switch(M.a_intent) diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm index 2d0ee7f0211..5e3470df73e 100644 --- a/code/modules/mob/living/carbon/human/species/golem.dm +++ b/code/modules/mob/living/carbon/human/species/golem.dm @@ -240,11 +240,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, "Вы чувствуете, что можете взорваться в любой момент!") + to_chat(H, span_userdanger("Вы чувствуете, что можете взорваться в любой момент!")) boom_warning = TRUE else if(boom_warning) - to_chat(H, "Вы чувствуете себя стабильней.") + to_chat(H, span_notice("Вы чувствуете себя стабильней.")) boom_warning = FALSE if(H.bodytemperature > 850 && H.on_fire && prob(25)) @@ -281,9 +281,9 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner if(H.fire_stacks) - to_chat(owner, "Вы подожгли себя!") + to_chat(owner, span_notice("Вы подожгли себя!")) else - to_chat(owner, "Вы попытались поджечь себя, но неудачно!") + to_chat(owner, span_warning("Вы попытались поджечь себя, но неудачно!")) H.IgniteMob() //firestacks are already there passively //Harder to hurt @@ -608,7 +608,7 @@ special_name_chance = 30 /datum/species/golem/sand/handle_death(gibbed, mob/living/carbon/human/H) - H.visible_message("[H] рассыпал[genderize_ru(H.gender,"ся","ась","ось","ись")] в кучу песка!") + H.visible_message(span_danger("[H] рассыпал[genderize_ru(H.gender,"ся","ась","ось","ись")] в кучу песка!")) for(var/obj/item/W in H) H.drop_item_ground(W) for(var/i=1, i <= rand(3, 5), i++) @@ -654,7 +654,7 @@ /datum/species/golem/glass/handle_death(gibbed, mob/living/carbon/human/H) playsound(H, "shatter", 70, 1) - H.visible_message("[H] разбил[genderize_ru(H.gender,"ся","ась","ось","ись")] в дребезги!") + H.visible_message(span_danger("[H] разбил[genderize_ru(H.gender,"ся","ась","ось","ись")] в дребезги!")) for(var/obj/item/W in H) H.drop_item_ground(W) for(var/i=1, i <= rand(3, 5), i++) @@ -698,7 +698,7 @@ var/tele_range = 6 /datum/species/golem/bluespace/proc/reactive_teleport(mob/living/carbon/human/H) - H.visible_message("[H] телепортировал[genderize_ru(H.gender,"ся","ась","ось","ись")]!", "Вы дестабилизируетесь и телепортируетесь!") + H.visible_message(span_warning("[H] телепортировал[genderize_ru(H.gender,"ся","ась","ось","ись")]!"), span_danger("Вы дестабилизируетесь и телепортируетесь!")) var/list/turfs = new/list() for(var/turf/T in orange(tele_range, H)) if(T.density) @@ -780,13 +780,13 @@ /datum/action/innate/unstable_teleport/Activate() activated = TRUE var/mob/living/carbon/human/H = owner - H.visible_message("[H] начинает вибрировать!", "Вы начали заряжать своё блюспейс-ядро…") + H.visible_message(span_warning("[H] начинает вибрировать!"), span_danger("Вы начали заряжать своё блюспейс-ядро…")) 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] телепортировал[genderize_ru(H.gender,"ся","ась","ось","ись")]!", "Вы телепортировались!") + H.visible_message(span_warning("[H] телепортировал[genderize_ru(H.gender,"ся","ась","ось","ись")]!"), span_danger("Вы телепортировались!")) var/list/turfs = new/list() for(var/turf/T in orange(tele_range, H)) if(isspaceturf(T)) @@ -970,7 +970,7 @@ SSticker.mode.add_clocker(H.mind) /datum/species/golem/clockwork/handle_death(gibbed, mob/living/carbon/human/H) - H.visible_message("[H] crumbles into cogs and gears! Then leftovers suddenly dusts!") + H.visible_message(span_danger("[H] crumbles into cogs and gears! Then leftovers suddenly dusts!")) for(var/obj/item/W in H) H.drop_item_ground(W) new /obj/item/clockwork/clockgolem_remains(get_turf(H)) diff --git a/code/modules/mob/living/carbon/human/species/wryn.dm b/code/modules/mob/living/carbon/human/species/wryn.dm index 2e37b0a3473..3bd9e6202a9 100644 --- a/code/modules/mob/living/carbon/human/species/wryn.dm +++ b/code/modules/mob/living/carbon/human/species/wryn.dm @@ -117,13 +117,13 @@ return var/mob/living/carbon/user = owner if((HAS_TRAIT(user, TRAIT_RESTRAINED) && user.pulledby) || user.buckled) //Is your Wryn restrained, pulled, or buckled? No stinging! - to_chat(user, "Вам нужна свобода передвижения, чтобы ужалить кого-то!") + to_chat(user, span_notice("Вам нужна свобода передвижения, чтобы ужалить кого-то!")) return if(user.wear_suit) //Is your Wryn wearing a Hardsuit or a Laboat that's blocking their Stinger? - to_chat(user, "Для использования жала нужно снять верхнюю одежду.") + to_chat(user, span_notice("Для использования жала нужно снять верхнюю одежду.")) return if(user.getStaminaLoss() >= 50) //Does your Wryn have enough Stamina to sting? - to_chat(user, "Вы слишком устали для использования жала.") + to_chat(user, span_notice("Вы слишком устали для использования жала.")) return else button_on = TRUE @@ -149,13 +149,13 @@ names += M var/target = input("Select a Target: ", "Sting Target", null) as null|anything in names if(!target) //No one's around! - to_chat(user, "Вокруг некого жалить! Жало втягивается обратно.") - user.visible_message("") + to_chat(user, span_warning("Вокруг некого жалить! Жало втягивается обратно.")) + user.visible_message(span_warning("[user] втягивает своё жало.")) button_on = FALSE UpdateButtonIcon() return else //Get ready, aim, fire! - user.visible_message(" [user] собирается применить жало!") + user.visible_message(span_warning(" [user] собирается применить жало!")) sting_target(user, target) return @@ -163,14 +163,14 @@ /datum/action/innate/wryn_sting/proc/sting_target(mob/living/carbon/human/user, mob/living/carbon/human/target) button_on = FALSE //For when we Update the Button Icon if(!(target in orange(1, user))) //Dang, did they get away? - to_chat(user, "Вы слишком далеко от [target]. Жало втягивается.") - user.visible_message("") + to_chat(user, span_warning("Вы слишком далеко от [target]. Жало втягивается.")) + user.visible_message(span_warning("[user] убирает свое жало.")) UpdateButtonIcon() return else //Nah, that chump is still here! Sting 'em! Sting 'em good! var/obj/item/organ/external/organ = target.get_organ(pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_L_FOOT, BODY_ZONE_PRECISE_R_FOOT, BODY_ZONE_PRECISE_GROIN)) - to_chat(user, " Вы жалите [target] в [organ]!") - user.visible_message("[user] жалит [target] в [organ]! ") + to_chat(user, span_danger("Вы жалите [target] в [organ]!")) + user.visible_message(span_danger("[user] жалит [target] в [organ]! ")) user.adjustStaminaLoss(20) //You can't sting infinitely, Wryn - take some Stamina loss var/dam = rand(3, 7) target.apply_damage(dam, BRUTE, organ) @@ -179,8 +179,8 @@ if(HAS_TRAIT(target, TRAIT_RESTRAINED)) //Apply tiny BURN damage if target is restrained if(prob(50)) user.apply_damage(2, BURN, target) - to_chat(target, "Вы ощущаете небольшое жжение! Ауч!") - user.visible_message("[user] выглядит ужаленным!") + to_chat(target, span_danger("Вы ощущаете небольшое жжение! Ауч!")) + user.visible_message(span_danger("[user] выглядит ужаленным!")) UpdateButtonIcon() return @@ -192,22 +192,22 @@ for(var/mob/living/carbon/C in GLOB.alive_mob_list) if(C.get_int_organ(/obj/item/organ/internal/wryn/hivenode)) - to_chat(C, "Ваши усики дрожат, когда вас одолевает боль...") - to_chat(C, "Такое ощущение, что часть вас умерла.") // This is bullshit -- Да, согласен. + to_chat(C, span_danger("Ваши усики дрожат, когда вас одолевает боль...")) + to_chat(C, span_danger("Такое ощущение, что часть вас умерла.")) // This is bullshit -- Да, согласен. /datum/species/wryn/harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) var/obj/item/organ/internal/wryn/hivenode/node = target.get_int_organ(/obj/item/organ/internal/wryn/hivenode) if(target.handcuffed && node && user.zone_selected == BODY_ZONE_HEAD) switch(alert(user, "Вы хотите вырвать усики этому существу?", "OH SHIT", "Да", "Нет")) if("Да") - user.visible_message("[user] начина[pluralize_ru(user.gender,"ет","ют")] яростно отрывать усики [target].") - to_chat(target, "[user] схватил[genderize_ru(user.gender,"","а","о","и")] ваши усики и яростно тян[pluralize_ru(user.gender,"ет","ут")] их!") + user.visible_message(span_notice("[user] начина[pluralize_ru(user.gender,"ет","ют")] яростно отрывать усики [target].")) + to_chat(target, span_danger("[user] схватил[genderize_ru(user.gender,"","а","о","и")] ваши усики и яростно тян[pluralize_ru(user.gender,"ет","ут")] их!")) if(do_after(user, 25 SECONDS, target, NONE)) node.remove(target) node.forceMove(get_turf(target)) - to_chat(user, "Вы слышите громкий хруст, когда безжалостно отрываете усики [target].") - to_chat(target, "Вы слышите невыносимый хруст, когда [user] вырыва[pluralize_ru(user.gender,"ет","ют")] усики из вашей головы.") - to_chat(target, "Стало так тихо...") + to_chat(user, span_notice("Вы слышите громкий хруст, когда безжалостно отрываете усики [target].")) + to_chat(target, span_danger("Вы слышите невыносимый хруст, когда [user] вырыва[pluralize_ru(user.gender,"ет","ют")] усики из вашей головы.")) + to_chat(target, span_danger("Стало так тихо...")) add_attack_logs(user, target, "Antennae removed") return 0 @@ -230,7 +230,7 @@ /mob/living/carbon/human/proc/toggle_producing() var/obj/item/organ/internal/wryn/glands/glands = get_int_organ(/obj/item/organ/internal/wryn/glands) if(glands) - to_chat(usr, "Вы [glands.producing ? "расслабляете" : "напрягаете"] восковые железы") + to_chat(usr, span_notice("Вы [glands.producing ? "расслабляете" : "напрягаете"] восковые железы")) glands.producing = !glands.producing /mob/living/carbon/human/proc/get_producing() diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm index 35743e1f73c..38397483f14 100644 --- a/code/modules/mob/living/carbon/superheroes.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -155,8 +155,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.") need_active_overlay = TRUE @@ -171,12 +171,12 @@ /obj/effect/proc_holder/spell/recruit/can_cast(mob/user = usr, charge_check = TRUE, show_message = FALSE) if(SSticker.mode.greyshirts.len >= 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 ..() @@ -188,46 +188,46 @@ /obj/effect/proc_holder/spell/recruit/cast(list/targets,mob/living/user = usr) var/mob/living/carbon/human/target = targets[1] if(target.mind.assigned_role != JOB_TITLE_CIVILIAN) - to_chat(user, "You can only recruit Civilians.") + to_chat(user, span_warning("You can only recruit Civilians.")) 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_them()]self 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_them()]self 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 implant 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 implant 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_after(user, 10 SECONDS, target, NONE)) //around 30 seconds total for enthralling, 45 for someone with a mindshield implant - 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(BODY_ZONE_HEAD) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 99374373b7b..aa2a620d759 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -17,20 +17,20 @@ if(armor && armor < 100 && armour_penetration) // Armor with 100+ protection can not be penetrated for admin items armor = max(0, armor - armour_penetration) if(penetrated_text) - to_chat(src, "[penetrated_text]") + to_chat(src, span_userdanger("[penetrated_text]")) else - to_chat(src, "[pluralize_ru(src.gender,"Твоя","Ваша")] броня пробита!") + to_chat(src, span_userdanger("[pluralize_ru(src.gender,"Твоя","Ваша")] броня пробита!")) if(armor >= 100) if(absorb_text) - to_chat(src, "[absorb_text]") + to_chat(src, span_userdanger("[absorb_text]")) else - to_chat(src, "[pluralize_ru(src.gender,"Твоя","Ваша")] броня поглощает удар!") + to_chat(src, span_userdanger("[pluralize_ru(src.gender,"Твоя","Ваша")] броня поглощает удар!")) else if(armor > 0) if(soften_text) - to_chat(src, "[soften_text]") + to_chat(src, span_userdanger("[soften_text]")) else - to_chat(src, "[pluralize_ru(src.gender,"Твоя","Ваша")] броня смягчает удар!") + to_chat(src, span_userdanger("[pluralize_ru(src.gender,"Твоя","Ваша")] броня смягчает удар!")) return armor //if null is passed for def_zone, then this should return something appropriate for all zones (e.g. area effect damage) @@ -157,7 +157,7 @@ /mob/living/mech_melee_attack(obj/mecha/M) if(M.occupant.a_intent == INTENT_HARM) if(HAS_TRAIT(M.occupant, TRAIT_PACIFISM) || GLOB.pacifism_after_gt) - to_chat(M.occupant, "[pluralize_ru(M.occupant.gender,"Ты не хочешь","Вы не хотите")] навредить живым существам!") + to_chat(M.occupant, span_warning("[pluralize_ru(M.occupant.gender,"Ты не хочешь","Вы не хотите")] навредить живым существам!")) return M.do_attack_animation(src) if(M.damtype == "brute" && !is_strong()) @@ -175,18 +175,18 @@ M.mech_toxin_damage(src) else return - M.occupant_message("[pluralize_ru(M.occupant.gender,"Ты","Вы")] ударяе[pluralize_ru(M.occupant.gender,"шь","те")] [src.declent_ru(ACCUSATIVE)].") - visible_message("[capitalize(M.declent_ru(NOMINATIVE))] ударя[pluralize_ru(M.gender,"ет","ют")] [src.declent_ru(ACCUSATIVE)]!", "[capitalize(M.declent_ru(NOMINATIVE))] ударя[pluralize_ru(M.gender,"ет","ют")] [pluralize_ru(src.gender,"тебя","вас")]!") + M.occupant_message(span_danger("[pluralize_ru(M.occupant.gender,"Ты","Вы")] ударяе[pluralize_ru(M.occupant.gender,"шь","те")] [src.declent_ru(ACCUSATIVE)].")) + visible_message(span_danger("[capitalize(M.declent_ru(NOMINATIVE))] ударя[pluralize_ru(M.gender,"ет","ют")] [src.declent_ru(ACCUSATIVE)]!"), span_userdanger("[capitalize(M.declent_ru(NOMINATIVE))] ударя[pluralize_ru(M.gender,"ет","ют")] [pluralize_ru(src.gender,"тебя","вас")]!")) add_attack_logs(M.occupant, src, "Mecha-meleed with [M]") else if(!is_strong()) step_away(src,M) add_attack_logs(M.occupant, src, "Mecha-pushed with [M]", ATKLOG_ALL) - M.occupant_message("[pluralize_ru(M.occupant.gender,"Ты толкаешь","Вы толкаете")] [src.declent_ru(ACCUSATIVE)] в сторону.") - visible_message("[capitalize(M.declent_ru(NOMINATIVE))] отталкива[pluralize_ru(M.gender,"ет","ют")] [src.declent_ru(ACCUSATIVE)] в сторону.") + M.occupant_message(span_warning("[pluralize_ru(M.occupant.gender,"Ты толкаешь","Вы толкаете")] [src.declent_ru(ACCUSATIVE)] в сторону.")) + visible_message(span_warning("[capitalize(M.declent_ru(NOMINATIVE))] отталкива[pluralize_ru(M.gender,"ет","ют")] [src.declent_ru(ACCUSATIVE)] в сторону.")) else - M.occupant_message("[pluralize_ru(M.occupant.gender,"Ты пытаешься оттолкнуть","Вы пытаетесь оттолкнуть")] [src.declent_ru(ACCUSATIVE)] в сторону, но это не срабатывает.") - visible_message("[capitalize(M.declent_ru(NOMINATIVE))] безуспешно пытается оттолкнуть [src.declent_ru(ACCUSATIVE)] в сторону.") + M.occupant_message(span_warning("[pluralize_ru(M.occupant.gender,"Ты пытаешься оттолкнуть","Вы пытаетесь оттолкнуть")] [src.declent_ru(ACCUSATIVE)] в сторону, но это не срабатывает.")) + visible_message(span_warning("[capitalize(M.declent_ru(NOMINATIVE))] безуспешно пытается оттолкнуть [src.declent_ru(ACCUSATIVE)] в сторону.")) //Mobs on Fire /mob/living/proc/IgniteMob() @@ -466,13 +466,15 @@ return // can't attack while eating! if(HAS_TRAIT(src, TRAIT_PACIFISM) || GLOB.pacifism_after_gt) - to_chat(M, "[pluralize_ru(M.gender,"Ты не хочешь","Вы не хотите")] никому навредить!") + to_chat(M, span_warning("[pluralize_ru(M.gender,"Ты не хочешь","Вы не хотите")] никому навредить!")) return FALSE if(stat != DEAD) add_attack_logs(M, src, "Slime'd") M.do_attack_animation(src) - visible_message("[capitalize(M.declent_ru(NOMINATIVE))] поглоща[pluralize_ru(M.gender,"ет","ют")] [src.declent_ru(ACCUSATIVE)]!", "[M.declent_ru(NOMINATIVE)] поглоща[pluralize_ru(M.gender,"ет","ют")] [pluralize_ru(src.gender,"тебя","вас")]!") + visible_message( + span_danger("[capitalize(M.declent_ru(NOMINATIVE))] поглоща[pluralize_ru(M.gender,"ет","ют")] [src.declent_ru(ACCUSATIVE)]!"), + span_userdanger("[M.declent_ru(NOMINATIVE)] поглоща[pluralize_ru(M.gender,"ет","ют")] [pluralize_ru(src.gender,"тебя","вас")]!")) return TRUE /mob/living/attack_animal(mob/living/simple_animal/M) @@ -483,14 +485,14 @@ M.custom_emote(EMOTE_VISIBLE, "[M.friendly] [src.declent_ru(ACCUSATIVE)].") return FALSE if(HAS_TRAIT(M, TRAIT_PACIFISM) || GLOB.pacifism_after_gt) - to_chat(M, "[pluralize_ru(M.gender,"Ты не хочешь","Вы не хотите")] никому навредить!") + to_chat(M, span_warning("[pluralize_ru(M.gender,"Ты не хочешь","Вы не хотите")] никому навредить!")) return FALSE if(M.attack_sound) playsound(loc, M.attack_sound, 50, 1, 1) M.do_attack_animation(src) - visible_message("[capitalize(M.declent_ru(NOMINATIVE))] [M.attacktext] [src.declent_ru(ACCUSATIVE)]!", \ - "[capitalize(M.declent_ru(NOMINATIVE))] [M.attacktext] [src.declent_ru(ACCUSATIVE)]!") + visible_message(span_danger("[capitalize(M.declent_ru(NOMINATIVE))] [M.attacktext] [src.declent_ru(ACCUSATIVE)]!"), \ + span_userdanger("[capitalize(M.declent_ru(NOMINATIVE))] [M.attacktext] [src.declent_ru(ACCUSATIVE)]!")) add_attack_logs(M, src, "Animal attacked") SEND_SIGNAL(src, COMSIG_SIMPLE_ANIMAL_ATTACKEDBY, M) return TRUE @@ -498,37 +500,37 @@ /mob/living/attack_larva(mob/living/carbon/alien/larva/L) switch(L.a_intent) if(INTENT_HELP) - visible_message("[L.declent_ru(NOMINATIVE)] [pluralize_ru(L.gender,"трётся","трутся")] головой о [src.declent_ru(ACCUSATIVE)].") + visible_message(span_notice("[L.declent_ru(NOMINATIVE)] [pluralize_ru(L.gender,"трётся","трутся")] головой о [src.declent_ru(ACCUSATIVE)].")) return FALSE else if(HAS_TRAIT(L, TRAIT_PACIFISM) || GLOB.pacifism_after_gt) - to_chat(L, "[pluralize_ru(L.gender,"Ты не хочешь","Вы не хотите")] никому навредить!") + to_chat(L, span_warning("[pluralize_ru(L.gender,"Ты не хочешь","Вы не хотите")] никому навредить!")) return FALSE L.do_attack_animation(src) if(prob(90)) add_attack_logs(L, src, "Larva attacked") - visible_message("[capitalize(L.declent_ru(NOMINATIVE))] куса[pluralize_ru(L.gender,"ет","ют")] [src.declent_ru(ACCUSATIVE)]!", \ - "[capitalize(L.declent_ru(NOMINATIVE))] куса[pluralize_ru(L.gender,"ет","ют")] [src.declent_ru(ACCUSATIVE)]!") + visible_message(span_danger("[capitalize(L.declent_ru(NOMINATIVE))] куса[pluralize_ru(L.gender,"ет","ют")] [src.declent_ru(ACCUSATIVE)]!"), \ + span_userdanger("[capitalize(L.declent_ru(NOMINATIVE))] куса[pluralize_ru(L.gender,"ет","ют")] [src.declent_ru(ACCUSATIVE)]!")) playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) return TRUE else - visible_message("[capitalize(L.declent_ru(NOMINATIVE))] пыта[pluralize_ru(L.gender,"ет","ют")]ся укусить [src.declent_ru(ACCUSATIVE)]!", \ - "[capitalize(L.declent_ru(NOMINATIVE))] пыта[pluralize_ru(L.gender,"ет","ют")]ся укусить [src.declent_ru(ACCUSATIVE)]!") + visible_message(span_danger("[capitalize(L.declent_ru(NOMINATIVE))] пыта[pluralize_ru(L.gender,"ет","ют")]ся укусить [src.declent_ru(ACCUSATIVE)]!"), \ + span_userdanger("[capitalize(L.declent_ru(NOMINATIVE))] пыта[pluralize_ru(L.gender,"ет","ют")]ся укусить [src.declent_ru(ACCUSATIVE)]!")) return FALSE /mob/living/attack_alien(mob/living/carbon/alien/humanoid/M) switch(M.a_intent) if(INTENT_HELP) - visible_message("[M.declent_ru(NOMINATIVE)] глад[pluralize_ru(M.gender,"ит","ят")] [src.declent_ru(ACCUSATIVE)] своей серповидной рукой.") + visible_message(span_notice("[M.declent_ru(NOMINATIVE)] глад[pluralize_ru(M.gender,"ит","ят")] [src.declent_ru(ACCUSATIVE)] своей серповидной рукой.")) return FALSE if(INTENT_GRAB) grabbedby(M) return FALSE if(INTENT_HARM) if(HAS_TRAIT(M, TRAIT_PACIFISM) || GLOB.pacifism_after_gt) - to_chat(M, "[pluralize_ru(M.gender,"Ты","Вы")] не [pluralize_ru(M.gender,"хочешь","хотите")] никому навредить!") + to_chat(M, span_warning("[pluralize_ru(M.gender,"Ты","Вы")] не [pluralize_ru(M.gender,"хочешь","хотите")] никому навредить!")) return FALSE M.do_attack_animation(src) return TRUE diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index f3316d8eb3b..dec165fbfed 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -323,8 +323,8 @@ /obj/machinery/power/supermatter_shard/singularity_act() var/gain = 100 investigate_log("consumed by singularity.", INVESTIGATE_ENGINE) - message_admins("Singularity has consumed a supermatter shard and can now become stage six [ADMIN_COORDJMP(src)].") - visible_message("[src] is consumed by the singularity!") + message_admins("[span_danger("Singularity has consumed a supermatter shard and can now become stage six")] [ADMIN_COORDJMP(src)].") + visible_message(span_userdanger("[src] is consumed by the singularity!")) for(var/mob/M in GLOB.mob_list) M << 'sound/effects/supermatter.ogg' //everyone gunna know bout this to_chat(M, span_boldannounceic("A horrible screeching fills your ears, and a wave of dread washes over you...")) @@ -347,9 +347,11 @@ playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) return - user.visible_message("\The [user] reaches out and touches \the [src], inducing a resonance... [user.p_their(TRUE)] body starts to glow and bursts into flames before flashing into ash.",\ - "You reach out and touch \the [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"",\ - "You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.") + user.visible_message( + span_warning("\The [user] reaches out and touches \the [src], inducing a resonance... [user.p_their(TRUE)] body starts to glow and bursts into flames before flashing into ash."), + span_danger("You reach out and touch \the [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\""), + span_warning("You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.") + ) playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1) @@ -463,12 +465,16 @@ nuclear_touch(moving_atom) return . if(isliving(moving_atom)) - moving_atom.visible_message("\The [moving_atom] slams into \the [src] inducing a resonance... [moving_atom.p_their(TRUE)] body starts to glow and catch flame before flashing into ash.",\ - "You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"",\ - "You hear an unearthly noise as a wave of heat washes over you.") + moving_atom.visible_message( + span_danger("\The [moving_atom] slams into \the [src] inducing a resonance... [moving_atom.p_their(TRUE)] body starts to glow and catch flame before flashing into ash."),\ + span_userdanger("You slam into \the [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(moving_atom) && !iseffect(moving_atom)) - moving_atom.visible_message("\The [moving_atom] smacks into \the [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") + moving_atom.visible_message( + span_danger("\The [moving_atom] smacks into \the [src] and rapidly flashes to ash."),\ + span_italics("You hear a loud crack as you are washed with a wave of heat.") + ) else return @@ -528,10 +534,10 @@ L.apply_effect(rads, IRRADIATE) investigate_log("has irradiated [L] after consuming [AM].", INVESTIGATE_ENGINE) if(src in view(L.client.maxview())) - L.show_message("As \the [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 \the [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 uneartly ringing and notice your skin is covered in fresh radiation burns.", 2) + L.show_message(span_italics("You hear an uneartly ringing and notice your skin is covered in fresh radiation burns."), 2) /obj/machinery/power/supermatter_shard/proc/get_status() var/turf/T = get_turf(src) diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 715a30200ce..028e556557f 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -72,7 +72,7 @@ /obj/item/gun/projectile/shotgun/examine(mob/user) . = ..() if(chambered) - . += "A [chambered.BB ? "live" : "spent"] one is in the chamber." + . += span_notice("A [chambered.BB ? "live" : "spent"] one is in the chamber.") /obj/item/gun/projectile/shotgun/lethal mag_type = /obj/item/ammo_box/magazine/internal/shot/lethal @@ -137,13 +137,22 @@ if(chambered) //if the gun is chambering live ammo, shoot self, if chambering empty ammo, 'click' if(chambered.BB) afterattack(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(user, user) - user.visible_message("The [src] goes click!", "The [src] you are holding goes click.") + user.visible_message( + "The [src] goes click!", + span_notice("The [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(FALSE) > 0) var/obj/item/ammo_casing/CB CB = magazine.get_round(0) @@ -152,7 +161,10 @@ CB.update_icon() if(do_after(user, 3 SECONDS, 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 @@ -180,13 +192,13 @@ if(chambered) //if the gun is chambering live ammo, shoot self, if chambering empty ammo, 'click' if(chambered.BB) afterattack(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(user, user) - user.visible_message("The [src] goes click!", "The [src] you are holding goes click.") + user.visible_message("The [src] goes click!", span_notice("The [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) @@ -196,7 +208,7 @@ if(do_after(user, 3 SECONDS, 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 @@ -279,7 +291,7 @@ /obj/item/gun/projectile/shotgun/boltaction/examine(mob/user) . = ..() - . += "The bolt is [bolt_open ? "open" : "closed"]." + . += span_notice("The bolt is [bolt_open ? "open" : "closed"].") /obj/item/gun/projectile/shotgun/boltaction/enchanted name = "enchanted bolt action rifle" @@ -313,7 +325,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 diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 34c3a99caf1..f5676287716 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -317,7 +317,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) @@ -461,14 +461,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)] The [my_atom]'s power is consumed in the reaction.") + to_chat(M, span_notice("[bicon(my_atom)] The [my_atom]'s power is consumed in the reaction.")) ME2.name = "used slime extract" ME2.desc = "This extract has been used up." @@ -570,7 +570,7 @@ var/mult = H.dna.species.heatmod * H.physiology.heat_mod if(H.reagent_safety_check()) if(mult > 0) - to_chat(H, "You are scalded by the hot chemicals!") + to_chat(H, span_danger("You are scalded by the hot chemicals!")) H.apply_damage(round(log(chem_temp / 50) * 10), BURN, def_zone = affecting) INVOKE_ASYNC(H, TYPE_PROC_REF(/mob, emote), "scream") H.adjust_bodytemperature(min(max((chem_temp - T0C) - 20, 5), 500)) @@ -578,7 +578,7 @@ var/mult = H.dna.species.coldmod * H.physiology.cold_mod if(H.reagent_safety_check(FALSE)) if(mult > 0) - to_chat(H, "You are frostbitten by the freezing cold chemicals!") + to_chat(H, span_danger("You are frostbitten by the freezing cold chemicals!")) H.apply_damage(round(log(T0C - chem_temp / 50) * 10), BURN, def_zone = affecting) INVOKE_ASYNC(H, TYPE_PROC_REF(/mob, emote), "scream") H.adjust_bodytemperature(- min(max(T0C - chem_temp - 20, 5), 500)) @@ -587,13 +587,13 @@ if(chem_temp > H.dna.species.heat_level_1) var/mult = H.dna.species.heatmod * H.physiology.heat_mod if(mult > 0) - 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) var/mult = H.dna.species.coldmod * H.physiology.cold_mod if(mult > 0) - 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/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index 709022b6ab3..dcccfd4a1ac 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" @@ -115,12 +115,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" @@ -128,12 +128,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" @@ -141,12 +141,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 @@ -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) @@ -383,7 +383,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 F.forceMove(get_turf(holder.my_atom)) @@ -473,12 +473,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_name() continue slime.rabid = 1 - slime.visible_message("The [slime] is driven into a frenzy!") + slime.visible_message(span_danger("The [slime] is driven into a frenzy!")) /datum/chemical_reaction/slimespeed @@ -553,7 +553,7 @@ var/turf/T = get_turf(holder.my_atom) message_admins("[ADMIN_LOOKUPFLW(usr)] has primed a [name] for detonation at [ADMIN_VERBOSEJMP(T)]") add_attack_logs(usr, src, "has primed for detonation", ATKLOG_MOST) - T.visible_message("The slime extract begins to vibrate violently !") + T.visible_message(span_danger("The slime extract begins to vibrate violently !")) spawn(50) if(holder && holder.my_atom) explosion(get_turf(holder.my_atom), 1 ,3, 6, cause = src) @@ -668,7 +668,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("The [BC.name] appears out of thin air!") + BC.visible_message(span_notice("The [BC.name] appears out of thin air!")) //Cerulean /datum/chemical_reaction/slimepsteroid2 @@ -810,7 +810,7 @@ /datum/chemical_reaction/slimeRNG/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/research/experimentor.dm b/code/modules/research/experimentor.dm index 9b2fc4df4c1..8ebdd686ec7 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -269,7 +269,7 @@ /obj/machinery/r_n_d/experimentor/proc/ejectItem(delete=FALSE) if(loaded_item) if(cloneMode && cloneCount > 0) - visible_message("A duplicate [loaded_item] pops out!") + visible_message(span_notice("A duplicate [loaded_item] pops out!")) var/type_to_make = loaded_item.type new type_to_make(get_turf(pick(oview(1,src)))) --cloneCount @@ -309,16 +309,16 @@ visible_message("[exp_on] is gripped in just the right way, enhancing its focus.") badThingCoeff++ if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src] malfunctions and destroys [exp_on], lashing its arms out at nearby people!") + visible_message(span_danger("[src] malfunctions and destroys [exp_on], lashing its arms out at nearby people!")) for(var/mob/living/m in oview(1, src)) m.apply_damage(15,BRUTE,pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_PRECISE_GROIN)) investigate_log("Experimentor dealt minor brute to [key_name_log(m)].", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src] malfunctions!") + visible_message(span_warning("[src] malfunctions!")) exp = SCANTYPE_OBLITERATE if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) - visible_message("[src] malfunctions, throwing the [exp_on]!") + visible_message(span_danger("[src] malfunctions, throwing the [exp_on]!")) var/mob/living/target = locate(/mob/living) in oview(7,src) if(target) var/obj/item/throwing = loaded_item @@ -327,7 +327,7 @@ if(throwing) throwing.throw_at(target, 10, 1) else if(prob(EFFECT_PROB_VERYLOW)) - visible_message("The [exp_on] begins to vibrate!") + visible_message(span_warning("The [exp_on] begins to vibrate!")) playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 3, -1) ejectItem() throwSmoke(get_turf(exp_on)) @@ -339,7 +339,7 @@ /obj/machinery/r_n_d/experimentor/proc/scan_irradiate(exp, obj/item/exp_on, chosenchem, criticalReaction, isRelict) - visible_message("[src] reflects radioactive rays at [exp_on]!") + visible_message(span_danger("[src] reflects radioactive rays at [exp_on]!")) if(!isRelict) if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[exp_on] has activated an unknown subroutine!") @@ -349,14 +349,14 @@ ejectItem() if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src] malfunctions, melting [exp_on] and leaking radiation!") + visible_message(span_danger("[src] malfunctions, melting [exp_on] and leaking radiation!")) for(var/mob/living/m in oview(1, src)) m.apply_effect(25,IRRADIATE) investigate_log("Experimentor has irradiated [key_name_log(m)]", INVESTIGATE_EXPERIMENTOR) //One entry per person so we know what was irradiated. ejectItem(TRUE) if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src] malfunctions, spewing toxic waste!") + visible_message(span_warning("[src] malfunctions, spewing toxic waste!")) for(var/turf/T in oview(1, src)) if(!T.density) if(prob(EFFECT_PROB_VERYHIGH)) @@ -367,7 +367,7 @@ ejectItem(TRUE) var/newPath = pickWeighted(valid_items) loaded_item = new newPath(src) - visible_message("[src] malfunctions, transforming [savedName] into [loaded_item]!") + visible_message(span_warning("[src] malfunctions, transforming [savedName] into [loaded_item]!")) investigate_log("Experimentor has transformed [savedName] into [loaded_item]", INVESTIGATE_EXPERIMENTOR) if(istype(loaded_item,/obj/item/grenade/chem_grenade)) var/obj/item/grenade/chem_grenade/CG = loaded_item @@ -376,7 +376,7 @@ ejectItem() else if(prob(EFFECT_PROB_VERYLOW)) - visible_message("The [exp_on] has activated an unknown subroutine!") + visible_message(span_warning("The [exp_on] has activated an unknown subroutine!")) clone_next = TRUE ejectItem() qdel(exp_on) @@ -385,13 +385,13 @@ /obj/machinery/r_n_d/experimentor/proc/scan_gas(exp, obj/item/exp_on, chosenchem, criticalReaction, isRelict) - visible_message("[src] fills its chamber with gas, [exp_on] included.") + visible_message(span_warning("[src] fills its chamber with gas, [exp_on] included.")) if(!isRelict) if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[exp_on] achieves the perfect mix!") new /obj/item/stack/sheet/mineral/plasma(get_turf(pick(oview(1,src)))) if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src] destroys [exp_on], leaking dangerous gas!") + visible_message(span_danger("[src] destroys [exp_on], leaking dangerous gas!")) chosenchem = pick("carbon","radium","toxin","condensedcapsaicin","psilocybin","space_drugs","ethanol","beepskysmash") var/datum/reagents/inner_reagent = new/datum/reagents(400) inner_reagent.my_atom = src @@ -404,7 +404,7 @@ qdel(inner_reagent) ejectItem(TRUE) if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src]'s chemical chamber has sprung a leak!") + visible_message(span_danger("[src]'s chemical chamber has sprung a leak!")) chosenchem = pick("mutationtoxin","nanomachines","sacid") var/datum/reagents/inner_reagent = new/datum/reagents(400) inner_reagent.my_atom = src @@ -421,7 +421,7 @@ visible_message("[src] malfunctions, spewing harmless gas.>") throwSmoke(src.loc) if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) - visible_message("[src] melts [exp_on], ionizing the air around it!") + visible_message(span_warning("[src] melts [exp_on], ionizing the air around it!")) empulse(src.loc, 4, 0) //change this to 4,6 once the EXPERI-Mentor is moved. investigate_log("Experimentor has generated an Electromagnetic Pulse.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) @@ -440,7 +440,7 @@ visible_message("[src] raises [exp_on]'s temperature.") if(!isRelict) if(prob(EFFECT_PROB_LOW) && criticalReaction) - visible_message("[src]'s emergency coolant system gives off a small ding!") + visible_message(span_warning("[src]'s emergency coolant system gives off a small ding!")) playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) var/obj/item/reagent_containers/food/drinks/coffee/C = new /obj/item/reagent_containers/food/drinks/coffee(get_turf(pick(oview(1,src)))) chosenchem = pick("plasma","capsaicin","ethanol") @@ -454,7 +454,7 @@ var/mob/M = locate(/mob/living) in view(src, 3) var/turf/MT = get_turf(M) if(MT) - visible_message("[src] dangerously overheats, launching a flaming fuel orb!") + visible_message(span_danger("[src] dangerously overheats, launching a flaming fuel orb!")) investigate_log("Experimentor has launched a fireball at [key_name_log(M)]!", INVESTIGATE_EXPERIMENTOR) var/obj/item/projectile/magic/fireball/FB = new /obj/item/projectile/magic/fireball(start) FB.original = MT @@ -463,12 +463,12 @@ FB.xo = MT.x - start.x FB.fire() if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src] malfunctions, melting [exp_on] and releasing a burst of flame!") + visible_message(span_danger("[src] malfunctions, melting [exp_on] and releasing a burst of flame!")) explosion(src.loc, -1, 0, 0, 0, 0, flame_range = 2, cause = "Experimentor Fire") investigate_log("Experimentor started a fire.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) - visible_message("[src] malfunctions, melting [exp_on] and leaking hot air!") + visible_message(span_warning("[src] malfunctions, melting [exp_on] and leaking hot air!")) var/datum/gas_mixture/env = src.loc.return_air() var/transfer_moles = 0.25 * env.total_moles() var/datum/gas_mixture/removed = env.remove(transfer_moles) @@ -482,7 +482,7 @@ investigate_log("Experimentor has released hot air.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) - visible_message("[src] malfunctions, activating its emergency coolant systems!") + visible_message(span_warning("[src] malfunctions, activating its emergency coolant systems!")) throwSmoke(src.loc) for(var/mob/living/m in oview(1, src)) m.apply_damage(5,BURN,pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_PRECISE_GROIN)) @@ -504,7 +504,7 @@ visible_message("[src] lowers [exp_on]'s temperature.") if(!isRelict) if(prob(EFFECT_PROB_LOW) && criticalReaction) - visible_message("[src]'s emergency coolant system gives off a small ding!") + visible_message(span_warning("[src]'s emergency coolant system gives off a small ding!")) var/obj/item/reagent_containers/food/drinks/coffee/C = new /obj/item/reagent_containers/food/drinks/coffee(get_turf(pick(oview(1,src)))) playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) //Ding! Your death coffee is ready! chosenchem = pick("uranium","frostoil","ephedrine") @@ -514,7 +514,7 @@ C.desc = "It has a large hazard symbol printed on the side in fading ink." investigate_log("Experimentor has made a cup of [chosenchem] coffee.", INVESTIGATE_EXPERIMENTOR) if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src] malfunctions, shattering [exp_on] and releasing a dangerous cloud of coolant!") + visible_message(span_danger("[src] malfunctions, shattering [exp_on] and releasing a dangerous cloud of coolant!")) var/datum/reagents/inner_reagent = new/datum/reagents(400) inner_reagent.my_atom = src inner_reagent.add_reagent("frostoil" , 375) @@ -526,7 +526,7 @@ qdel(inner_reagent) ejectItem(TRUE) if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src] malfunctions, shattering [exp_on] and leaking cold air!") + visible_message(span_warning("[src] malfunctions, shattering [exp_on] and leaking cold air!")) var/datum/gas_mixture/env = src.loc.return_air() var/transfer_moles = 0.25 * env.total_moles() var/datum/gas_mixture/removed = env.remove(transfer_moles) @@ -540,7 +540,7 @@ investigate_log("Experimentor has released cold air.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) - visible_message("[src] malfunctions, releasing a flurry of chilly air as [exp_on] pops out!") + visible_message(span_warning("[src] malfunctions, releasing a flurry of chilly air as [exp_on] pops out!")) var/datum/effect_system/fluid_spread/smoke/smoke = new smoke.set_up(amount = 1, location = src.loc) smoke.start() @@ -558,17 +558,17 @@ /obj/machinery/r_n_d/experimentor/proc/scan_obliterate(exp, obj/item/exp_on, chosenchem, criticalReaction, isRelict) - visible_message("[exp_on] activates the crushing mechanism.") + visible_message(span_warning("[exp_on] activates the crushing mechanism.")) if(!isRelict) if(prob(EFFECT_PROB_LOW) && criticalReaction) - visible_message("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!") + visible_message(span_warning("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!")) new /obj/item/stack/sheet/plasteel(get_turf(pick(oview(1,src)))) if(linked_console.linked_lathe) var/datum/component/material_container/linked_materials = linked_console.linked_lathe.GetComponent(/datum/component/material_container) for(var/material in exp_on.materials) linked_materials.insert_amount( min((linked_materials.max_amount - linked_materials.total_amount), (exp_on.materials[material])), material) if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) - visible_message("[src]'s crusher goes way too many levels too high, crushing right through space-time!") + visible_message(span_danger("[src]'s crusher goes way too many levels too high, crushing right through space-time!")) playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 1, -3) investigate_log("Experimentor has triggered the 'throw things' reaction.", INVESTIGATE_EXPERIMENTOR) for(var/atom/movable/AM in oview(7,src)) @@ -577,7 +577,7 @@ AM.throw_at(src,10,1) if(prob(EFFECT_PROB_LOW-badThingCoeff)) - visible_message("[src]'s crusher goes one level too high, crushing right into space-time!") + visible_message(span_danger("[src]'s crusher goes one level too high, crushing right into space-time!")) playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 1, -3) investigate_log("Experimentor has triggered the 'minor throw things' reaction.", INVESTIGATE_EXPERIMENTOR) var/list/throwAt = list() @@ -590,7 +590,7 @@ cast.throw_at(pick(throwAt),10,1) ejectItem(TRUE) else if(prob(EFFECT_PROB_LOW)) - visible_message("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!") + visible_message(span_warning("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!")) badThingCoeff++ var/list/obj/item/stack/sheet/mineral/minreals = list(/obj/item/stack/sheet/mineral/diamond, /obj/item/stack/sheet/mineral/gold, /obj/item/stack/sheet/glass,/obj/item/stack/sheet/metal,/obj/item/stack/sheet/mineral/plasma,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/titanium,/obj/item/stack/sheet/mineral/uranium,/obj/item/stack/sheet/mineral/tranquillite,/obj/item/stack/sheet/mineral/bananium) // Plastinium and abductor alloy are alloys, not processed ores. @@ -627,23 +627,23 @@ if(exp == FAIL) var/a = pick("rumbles","shakes","vibrates","shudders") var/b = pick("crushes","spins","viscerates","smashes","insults") - visible_message("[exp_on] [a], and [b], the experiment was a failure.") + visible_message(span_warning("[exp_on] [a], and [b], the experiment was a failure.")) if(prob(EFFECT_PROB_VERYLOW) && prob(13)) - visible_message("Experimentor draws the life essence of those nearby!") + visible_message(span_warning("Experimentor draws the life essence of those nearby!")) for(var/mob/living/m in view(4,src)) - to_chat(m, "You feel your flesh being torn from you, mists of blood drifting to [src]!") + to_chat(m, span_danger("You feel your flesh being torn from you, mists of blood drifting to [src]!")) m.take_overall_damage(50) investigate_log("Experimentor has taken 50 brute a blood sacrifice from [key_name_log(m)]", INVESTIGATE_EXPERIMENTOR) if(prob(EFFECT_PROB_VERYLOW-badThingCoeff) && prob(87)) var/globalMalf = rand(1,87) if(globalMalf < 15) - visible_message("[src]'s onboard detection system has malfunctioned!") + visible_message(span_warning("[src]'s onboard detection system has malfunctioned!")) item_reactions["[exp_on.type]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE) ejectItem() if(globalMalf > 16 && globalMalf < 35) - visible_message("[src] melts [exp_on], ian-izing the air around it!") + visible_message(span_warning("[src] melts [exp_on], ian-izing the air around it!")) throwSmoke(src.loc) if(trackedIan) throwSmoke(trackedIan.loc) @@ -654,7 +654,7 @@ investigate_log("Experimentor has spawned a new corgi.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) if(globalMalf > 36 && globalMalf < 59) - visible_message("[src] encounters a run-time error!") + visible_message(span_warning("[src] encounters a run-time error!")) throwSmoke(src.loc) if(trackedRuntime) throwSmoke(trackedRuntime.loc) @@ -665,7 +665,7 @@ investigate_log("Experimentor failed to steal runtime, and instead spawned a new cat.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) if(globalMalf > 60) - visible_message("[src] begins to smoke and hiss, shaking violently!") + visible_message(span_warning("[src] begins to smoke and hiss, shaking violently!")) use_power(500000) investigate_log("Experimentor has drained power from its APC", INVESTIGATE_EXPERIMENTOR) @@ -702,15 +702,15 @@ src.updateUsrDialog() else if(recentlyExperimented) - to_chat(usr, "[src] has been used too recently!") + to_chat(usr, span_warning("[src] has been used too recently!")) return else if(!loaded_item) updateUsrDialog() //Set the interface to unloaded mode - to_chat(usr, "[src] is not currently loaded!") + to_chat(usr, span_warning("[src] is not currently loaded!")) return else if(!process || process != loaded_item) //Interface exploit protection (such as hrefs or swapping items with interface set to old item) updateUsrDialog() //Refresh interface to update interface hrefs - to_chat(usr, "Interface failure detected in [src]. Please try again.") + to_chat(usr, span_danger("Interface failure detected in [src]. Please try again.")) return var/dotype if(text2num(scantype) == SCANTYPE_DISCOVER) @@ -764,7 +764,7 @@ /obj/item/relict_production/attack_self(mob/user) if(!COOLDOWN_FINISHED(src, relict_production_cooldown)) - to_chat(user, "[src] is not ready yet.") + to_chat(user, span_notice("[src] is not ready yet.")) return FALSE COOLDOWN_START(src, relict_production_cooldown, cooldown) return TRUE @@ -789,9 +789,9 @@ if(istype(target, /obj/item/reagent_containers/glass)) var/obj/item/reagent_containers/glass/beaker = target beaker.reagents.add_reagent(inner_reagent.id, transfer) - to_chat(user, "You have poured 10 units of content into this.") + to_chat(user, span_notice("You have poured 10 units of content into this.")) else - to_chat(user, "You can't pour [src]'s content into this.") + to_chat(user, span_notice("You can't pour [src]'s content into this.")) /obj/item/relict_production/strange_teleporter name = "strange teleporter" @@ -804,11 +804,11 @@ /obj/item/relict_production/strange_teleporter/attack_self(mob/user) if(!..()) return - to_chat(user, "[src] begins to vibrate!") + to_chat(user, span_notice("[src] begins to vibrate!")) spawn(rand(10,30)) var/turf/userturf = get_turf(user) if(src.loc == user && is_teleport_allowed(userturf.z)) - visible_message("The [src] twists and bends, relocating itself!") + visible_message(span_notice("The [src] twists and bends, relocating itself!")) var/datum/effect_system/fluid_spread/smoke/smoke = new smoke.set_up(amount = 5, location = get_turf(user)) smoke.start() @@ -828,7 +828,7 @@ /obj/item/relict_production/pet_spray/attack_self(mob/user) if(!..()) return - 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/amount = rand(1,3) @@ -852,7 +852,7 @@ step(S, pick(NORTH, SOUTH, EAST, WEST)) if(prob(60)) - to_chat(user, "[src] falls apart!") + to_chat(user, span_warning("[src] falls apart!")) qdel(src) /obj/item/relict_production/rapid_dupe diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index ec3f40e3379..868a3aca517 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -232,7 +232,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, req_access = list() emagged = TRUE if(user) - to_chat(user, "You disable the security protocols") + to_chat(user, span_notice("You disable the security protocols")) /obj/machinery/computer/rdconsole/proc/valid_nav(next_menu, next_submenu) switch(next_menu) @@ -313,11 +313,11 @@ won't update every console in existence) but it's more of a hassle to do. Also, return if(linked_destroy.busy) - to_chat(user, "[linked_destroy] is busy at the moment.") + to_chat(user, span_danger("[linked_destroy] is busy at the moment.")) return if(!linked_destroy.loaded_item) - to_chat(user, "[linked_destroy] appears to be empty.") + to_chat(user, span_danger("[linked_destroy] appears to be empty.")) return var/list/temp_tech = linked_destroy.ConvertReqString2List(linked_destroy.loaded_item.origin_tech) @@ -359,7 +359,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(!linked_destroy.hacked) if(!linked_destroy.loaded_item) - to_chat(usr, "[linked_destroy] appears to be empty.") + to_chat(usr, span_danger("[linked_destroy] appears to be empty.")) else var/tech_log for(var/T in temp_tech) @@ -397,23 +397,23 @@ 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/is_lathe = istype(machine, /obj/machinery/r_n_d/protolathe) 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))) @@ -622,7 +622,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 destructive analyzer. if(linked_destroy) if(linked_destroy.busy) - to_chat(usr, "[linked_destroy] is busy at the moment.") + to_chat(usr, span_danger("[linked_destroy] is busy at the moment.")) else if(linked_destroy.loaded_item) linked_destroy.loaded_item.forceMove(linked_destroy.loc) @@ -645,7 +645,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, if("sync") //Sync the research holder with all the R&D consoles in the game that aren't sync protected. if(!sync) - to_chat(usr, "You must connect to the network first!") + to_chat(usr, span_danger("You must connect to the network first!")) else add_wait_message("Syncing Database...", SYNC_RESEARCH_DELAY) griefProtection() //Putting this here because I dont trust the sync process @@ -739,7 +739,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.")) playsound(src, pick('sound/machines/button.ogg', 'sound/machines/button_alternate.ogg', 'sound/machines/button_meloboom.ogg'), 20) return TRUE ui_interact(user)