diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index aa953760bce71..9d72d7c432041 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -235,7 +235,7 @@ if(!SSticker.IsRoundInProgress() || QDELETED(character)) return var/area/player_area = get_area(character) - deadchat_broadcast(" has arrived at the station at [player_area.name].", "[character.real_name] ([rank])", follow_target = character, message_type=DEADCHAT_ARRIVALRATTLE) + deadchat_broadcast(" прибыл на станцию у [player_area.name].", "[character.real_name] ([job_title_ru(rank)])", follow_target = character, message_type=DEADCHAT_ARRIVALRATTLE) if(!character.mind) return if(!GLOB.announcement_systems.len) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index ed8d882393b5c..df04d20c5e2cb 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -47,7 +47,7 @@ GLOBAL_LIST_INIT(achievements_unlocked, list()) var/mob/living/carbon/human/H = L category = "humans" if(H.mind) - mob_data["job"] = H.mind.assigned_role.title + mob_data["job"] = job_title_ru(H.mind.assigned_role.title) else mob_data["job"] = "Unknown" mob_data["species"] = H.dna.species.name @@ -685,8 +685,8 @@ GLOBAL_LIST_INIT(achievements_unlocked, list()) /proc/printplayer(datum/mind/ply, fleecheck) var/jobtext = "" if(!is_unassigned_job(ply.assigned_role)) - jobtext = " the [ply.assigned_role.title]" - var/text = "[ply.key] was [ply.name][jobtext] and" + jobtext = ", [job_title_ru(ply.assigned_role.title)]," + var/text = "[ply.key] был [ply.name][jobtext] and" if(ply.current) if(ply.current.stat == DEAD) text += " [span_redtext("died")]" diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index bb4f3802d89b1..be70843f930ec 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -325,7 +325,7 @@ Versioning if(!did_they_suicide && !first_death.len) first_death["name"] = "[(L.real_name == L.name) ? L.real_name : "[L.real_name] as [L.name]"]" first_death["role"] = null - first_death["role"] = L.mind.assigned_role.title + first_death["role"] = job_title_ru(L.mind.assigned_role.title) first_death["area"] = "[AREACOORD(L)]" first_death["damage"] = "[L.getBruteLoss()]/[L.getFireLoss()]/[L.getToxLoss()]/[L.getOxyLoss()]" first_death["last_words"] = L.last_words @@ -339,7 +339,7 @@ Versioning "}, list( "name" = L.real_name, "key" = L.ckey, - "job" = L.mind.assigned_role.title, + "job" = job_title_ru(L.mind.assigned_role.title), "special" = L.mind.special_role, "pod" = get_area_name(L, TRUE), "laname" = L.lastattacker, diff --git a/code/datums/memory/_memory.dm b/code/datums/memory/_memory.dm index 08a694616a336..1d4301769024f 100644 --- a/code/datums/memory/_memory.dm +++ b/code/datums/memory/_memory.dm @@ -388,11 +388,11 @@ else if(ishuman(character)) // This can slip into memories involving monkey humans. - return "the unfamiliar person" + return "неизвестная персона" if(istype(character, /datum/mind)) var/datum/mind/character_mind = character - return "\the [LOWER_TEXT(initial(character_mind.assigned_role.title))]" + return "[LOWER_TEXT(job_title_ru(initial(character_mind.assigned_role.title)))]" // Generic result - mobs get "the guy", objs / turfs get "a thing" return ismob(character) ? "\the [character]" : "\a [character]" diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index c73dda284d97a..467eeea067a81 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -230,7 +230,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list /datum/objective/assassinate/update_explanation_text() ..() if(target?.current) - explanation_text = "Убейте [target.name], [!target_role_type ? target.assigned_role.title : target.special_role]." + explanation_text = "Убейте [target.name], [!target_role_type ? job_title_ru(target.assigned_role.title) : target.special_role]." else explanation_text = "Свободная задача." @@ -280,7 +280,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list /datum/objective/mutiny/update_explanation_text() ..() if(target?.current) - explanation_text = "Убейте или отправьте в изгнание [target.name], [!target_role_type ? target.assigned_role.title : target.special_role]." + explanation_text = "Убейте или отправьте в изгнание [target.name], [!target_role_type ? job_title_ru(target.assigned_role.title) : target.special_role]." else explanation_text = "Свободная задача." @@ -302,7 +302,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list /datum/objective/maroon/update_explanation_text() if(target?.current) - explanation_text = "Не дайте [target.name], [!target_role_type ? target.assigned_role.title : target.special_role], эвакуироватся живым со станции." + explanation_text = "Не дайте [target.name], [!target_role_type ? job_title_ru(target.assigned_role.title) : target.special_role], эвакуироватся живым со станции." else explanation_text = "Свободная задача." @@ -333,7 +333,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list /datum/objective/debrain/update_explanation_text() ..() if(target?.current) - explanation_text = "Украдите мозг [target.name], [!target_role_type ? target.assigned_role.title : target.special_role]." + explanation_text = "Украдите мозг [target.name], [!target_role_type ? job_title_ru(target.assigned_role.title) : target.special_role]." else explanation_text = "Свободная задача." @@ -359,7 +359,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list /datum/objective/protect/update_explanation_text() ..() if(target?.current) - explanation_text = "Защитите [target.name], [!target_role_type ? target.assigned_role.title : target.special_role]." + explanation_text = "Защитите [target.name], [!target_role_type ? job_title_ru(target.assigned_role.title) : target.special_role]." else explanation_text = "Свободная задача." @@ -384,7 +384,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list /datum/objective/jailbreak/update_explanation_text() ..() if(target?.current) - explanation_text = "Удостоверьтесь, что [target.name], [!target_role_type ? target.assigned_role.title : target.special_role], сбежит живым и вне заключения." + explanation_text = "Удостоверьтесь, что [target.name], [!target_role_type ? job_title_ru(target.assigned_role.title) : target.special_role], сбежит живым и вне заключения." else explanation_text = "Свободная задача." @@ -400,7 +400,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list /datum/objective/jailbreak/detain/update_explanation_text() ..() if(target?.current) - explanation_text = "Удостоверьтесь, что [target.name], [!target_role_type ? target.assigned_role.title : target.special_role], доставлен на ЦК живым и в заключении." + explanation_text = "Удостоверьтесь, что [target.name], [!target_role_type ? job_title_ru(target.assigned_role.title) : target.special_role], доставлен на ЦК живым и в заключении." else explanation_text = "Свободная задача." @@ -527,7 +527,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list /datum/objective/escape/escape_with_identity/update_explanation_text() if(target?.current) target_real_name = target.current.real_name - explanation_text = "Сбегите на эвакуационном шаттле или челноке под личиной [target_real_name], [target.assigned_role.title]" + explanation_text = "Сбегите на эвакуационном шаттле или челноке под личиной [target_real_name], [job_title_ru(target.assigned_role.title)]" var/mob/living/carbon/human/H if(ishuman(target.current)) H = target.current diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index 7e30566430b0f..bb08161e404c9 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -75,7 +75,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) /obj/machinery/announcement_system/proc/CompileText(str, user, rank) //replaces user-given variables with actual thingies. str = replacetext(str, "%PERSON", "[user]") - str = replacetext(str, "%RANK", "[rank]") + str = replacetext(str, "%RANK", "[job_title_ru(rank)]") return str /obj/machinery/announcement_system/proc/announce(message_type, user, rank, list/channels) @@ -98,7 +98,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) if (!is_operational) return - broadcast("Officer [officer.real_name] has been assigned to [department].", list(RADIO_CHANNEL_SECURITY)) + broadcast("Офицер [officer.real_name] был назначен к отделу: [department].", list(RADIO_CHANNEL_SECURITY)) /// Sends a message to the appropriate channels. /obj/machinery/announcement_system/proc/broadcast(message, list/channels) diff --git a/code/game/objects/items/mail.dm b/code/game/objects/items/mail.dm index 2aec478162445..3a2cbf0637afd 100644 --- a/code/game/objects/items/mail.dm +++ b/code/game/objects/items/mail.dm @@ -167,7 +167,7 @@ /// Accepts a mind to initialize goodies for a piece of mail. /obj/item/mail/proc/initialize_for_recipient(datum/mind/recipient) - name = "[initial(name)] for [recipient.name] ([recipient.assigned_role.title])" + name = "[initial(name)] для [recipient.name], ([job_title_ru(recipient.assigned_role.title)])" recipient_ref = WEAKREF(recipient) var/mob/living/body = recipient.current diff --git a/code/modules/admin/antag_panel.dm b/code/modules/admin/antag_panel.dm index 877bebffe9509..91948ab3faae1 100644 --- a/code/modules/admin/antag_panel.dm +++ b/code/modules/admin/antag_panel.dm @@ -97,7 +97,7 @@ GLOBAL_VAR(antag_prototypes) var/out = "[name][(current && (current.real_name != name))?" (as [current.real_name])":""]
" out += "Mind currently owned by key: [key] [active?"(synced)":"(not synced)"]
" - out += "Assigned role: [assigned_role.title]. Edit
" + out += "Assigned role: [job_title_ru(assigned_role.title)]. Edit
" out += "Faction and special role: [special_role]
" out += "Show Teams

" diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 13f5b3544b2a0..e5f6c8b5f4260 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -793,7 +793,7 @@ //Job + antagonist if(subject.mind) - special_role_description = "Role: [subject.mind.assigned_role.title]; Antagonist: " + special_role_description = "Role: [job_title_ru(subject.mind.assigned_role.title)]; Antagonist: " if(subject.mind.antag_datums) var/iterable = 0 diff --git a/code/modules/antagonists/cult/cult_objectives.dm b/code/modules/antagonists/cult/cult_objectives.dm index d290b212ab22f..4f6a8b7cf7267 100644 --- a/code/modules/antagonists/cult/cult_objectives.dm +++ b/code/modules/antagonists/cult/cult_objectives.dm @@ -78,7 +78,7 @@ /datum/objective/sacrifice/update_explanation_text() if(target) - explanation_text = "Sacrifice [target], the [target.assigned_role.title] via invoking an Offer rune with [target.p_them()] on it and three acolytes around it." + explanation_text = "Sacrifice [target], [job_title_ru(target.assigned_role.title)], via invoking an Offer rune with [target.p_them()] on it and three acolytes around it." else explanation_text = "The veil has already been weakened here, proceed to the final objective." diff --git a/code/modules/antagonists/obsessed/obsessed.dm b/code/modules/antagonists/obsessed/obsessed.dm index 7316102e2ce09..aeeab3988e6ad 100644 --- a/code/modules/antagonists/obsessed/obsessed.dm +++ b/code/modules/antagonists/obsessed/obsessed.dm @@ -167,7 +167,7 @@ /datum/objective/assassinate/obsessed/update_explanation_text() ..() if(target?.current) - explanation_text = "Murder [target.name], the [!target_role_type ? target.assigned_role.title : target.special_role]." + explanation_text = "Убейте [target.name], [!target_role_type ? job_title_ru(target.assigned_role.title) : target.special_role]." else message_admins("WARNING! [ADMIN_LOOKUPFLW(owner)] obsessed objectives forged without an obsession!") explanation_text = "Free Objective" @@ -179,7 +179,7 @@ ..() old = find_coworker(target) if(target?.current && old) - explanation_text = "Murder [target.name], [old]'s coworker." + explanation_text = "Убейте [target.name], коллегу [old]." else explanation_text = "Free Objective" @@ -217,7 +217,7 @@ var/datum/antagonist/obsessed/creeper = owner.has_antag_datum(/datum/antagonist/obsessed) if(target?.current && creeper) creeper.trauma.attachedobsessedobj = src - explanation_text = "Spend [DisplayTimeText(timer)] around [target.name] while they're alive." + explanation_text = "Проведите [DisplayTimeText(timer)] возле [target.name], пока они живы." else explanation_text = "Free Objective" @@ -235,7 +235,7 @@ hugs_needed = rand(4,6) var/datum/antagonist/obsessed/creeper = owner.has_antag_datum(/datum/antagonist/obsessed) if(target?.current && creeper) - explanation_text = "Hug [target.name] [hugs_needed] times while they're alive." + explanation_text = "Обнимите [target.name] [hugs_needed] раз, пока они живы." else explanation_text = "Free Objective" @@ -251,7 +251,7 @@ /datum/objective/polaroid/update_explanation_text() ..() if(target?.current) - explanation_text = "Take a photo of [target.name] while they're alive, and keep it in your bag." + explanation_text = "Сделайте фото [target.name], пока они живы, и храните фотографию у себя." else explanation_text = "Free Objective" @@ -275,6 +275,6 @@ /datum/objective/steal/heirloom_thief/update_explanation_text() ..() if(steal_target) - explanation_text = "Steal [target.name]'s family heirloom, [steal_target] they cherish." + explanation_text = "Украдите семейную реликвию, [steal_target], которая чтится у [target.name]." else explanation_text = "Free Objective" diff --git a/code/modules/antagonists/paradox_clone/paradox_clone.dm b/code/modules/antagonists/paradox_clone/paradox_clone.dm index e809e8cecbf00..b51d02fd7c026 100644 --- a/code/modules/antagonists/paradox_clone/paradox_clone.dm +++ b/code/modules/antagonists/paradox_clone/paradox_clone.dm @@ -94,7 +94,7 @@ if(!target?.current) explanation_text = "Free Objective" CRASH("WARNING! [ADMIN_LOOKUPFLW(owner)] paradox clone objectives forged without an original!") - explanation_text = "Murder and replace [target.name], the [!target_role_type ? target.assigned_role.title : target.special_role]. Remember, your mission is to blend in, do not kill anyone else unless you have to!" + explanation_text = "Murder and replace [target.name], [!target_role_type ? job_title_ru(target.assigned_role.title) : target.special_role]. Remember, your mission is to blend in, do not kill anyone else unless you have to!" ///Static bluespace stream used in its ghost poll icon. /obj/effect/bluespace_stream diff --git a/code/modules/antagonists/traitor/objectives/assassination.dm b/code/modules/antagonists/traitor/objectives/assassination.dm index 639ea50eb6c21..0282ff63bde77 100644 --- a/code/modules/antagonists/traitor/objectives/assassination.dm +++ b/code/modules/antagonists/traitor/objectives/assassination.dm @@ -158,7 +158,7 @@ var/datum/mind/target_mind = pick(possible_targets) set_target(target_mind.current) replace_in_name("%TARGET%", target.real_name) - replace_in_name("%JOB TITLE%", target_mind.assigned_role.title) + replace_in_name("%JOB TITLE%", job_title_ru(target_mind.assigned_role.title)) RegisterSignal(target, COMSIG_LIVING_DEATH, PROC_REF(on_target_death)) return TRUE diff --git a/code/modules/antagonists/traitor/objectives/demoralise_assault.dm b/code/modules/antagonists/traitor/objectives/demoralise_assault.dm index 13b87edd6ae73..2914065d7c2d7 100644 --- a/code/modules/antagonists/traitor/objectives/demoralise_assault.dm +++ b/code/modules/antagonists/traitor/objectives/demoralise_assault.dm @@ -102,7 +102,7 @@ set_target(target_mind.current) replace_in_name("%TARGET%", target.real_name) - replace_in_name("%JOB TITLE%", target_mind.assigned_role.title) + replace_in_name("%JOB TITLE%", job_title_ru(target_mind.assigned_role.title)) attacks_required = rand(min_attacks_required, max_attacks_required) replace_in_name("%COUNT%", attacks_required) diff --git a/code/modules/antagonists/traitor/objectives/destroy_heirloom.dm b/code/modules/antagonists/traitor/objectives/destroy_heirloom.dm index b2b44d4c91581..d1172d06bb654 100644 --- a/code/modules/antagonists/traitor/objectives/destroy_heirloom.dm +++ b/code/modules/antagonists/traitor/objectives/destroy_heirloom.dm @@ -144,7 +144,7 @@ target_item = quirk.heirloom.resolve() AddComponent(/datum/component/traitor_objective_register, target_item, succeed_signals = list(COMSIG_QDELETING)) replace_in_name("%TARGET%", target_mind.name) - replace_in_name("%JOB TITLE%", target_mind.assigned_role.title) + replace_in_name("%JOB TITLE%", job_title_ru(target_mind.assigned_role.title)) replace_in_name("%ITEM%", target_item.name) return TRUE diff --git a/code/modules/antagonists/traitor/objectives/eyesnatching.dm b/code/modules/antagonists/traitor/objectives/eyesnatching.dm index c438b62b24e4f..4f3c84999569e 100644 --- a/code/modules/antagonists/traitor/objectives/eyesnatching.dm +++ b/code/modules/antagonists/traitor/objectives/eyesnatching.dm @@ -105,7 +105,7 @@ set_target(target_mind.current) replace_in_name("%TARGET%", target_mind.name) - replace_in_name("%JOB TITLE%", target_mind.assigned_role.title) + replace_in_name("%JOB TITLE%", job_title_ru(target_mind.assigned_role.title)) RegisterSignal(target, COMSIG_CARBON_LOSE_ORGAN, PROC_REF(check_eye_removal)) AddComponent(/datum/component/traitor_objective_register, target, fail_signals = list(COMSIG_QDELETING)) return TRUE diff --git a/code/modules/antagonists/traitor/objectives/infect.dm b/code/modules/antagonists/traitor/objectives/infect.dm index 17b2c1da2e74c..43e20215c59ee 100644 --- a/code/modules/antagonists/traitor/objectives/infect.dm +++ b/code/modules/antagonists/traitor/objectives/infect.dm @@ -123,7 +123,7 @@ var/datum/mind/target_mind = pick(possible_targets) set_target(target_mind.current) replace_in_name("%TARGET%", target.real_name) - replace_in_name("%JOB TITLE%", target_mind.assigned_role.title) + replace_in_name("%JOB TITLE%", job_title_ru(target_mind.assigned_role.title)) RegisterSignal(target, COMSIG_LIVING_DEATH, PROC_REF(on_target_death)) return TRUE diff --git a/code/modules/antagonists/traitor/objectives/kidnapping.dm b/code/modules/antagonists/traitor/objectives/kidnapping.dm index ea349b7d10e7e..1a00f8e539346 100644 --- a/code/modules/antagonists/traitor/objectives/kidnapping.dm +++ b/code/modules/antagonists/traitor/objectives/kidnapping.dm @@ -169,7 +169,7 @@ dropoff_area = pick(possible_areas) replace_in_name("%TARGET%", target_mind.name) - replace_in_name("%JOB TITLE%", target_mind.assigned_role.title) + replace_in_name("%JOB TITLE%", job_title_ru(target_mind.assigned_role.title)) replace_in_name("%AREA%", initial(dropoff_area.name)) replace_in_name("%TC%", alive_bonus) return TRUE diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index e78b1703ebe23..fbea013fc5ec6 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -289,7 +289,7 @@ /datum/job/proc/get_spawn_message_information() SHOULD_CALL_PARENT(TRUE) var/list/info = list() - info += "Ваша роль на станции: [title].\n" + info += "Ваша роль на станции: [job_title_ru(title)].\n" var/related_policy = get_policy(title) var/radio_info = get_radio_information() if(related_policy) diff --git a/code/modules/mob/living/silicon/silicon_say.dm b/code/modules/mob/living/silicon/silicon_say.dm index 9310211aa0e6d..882105ced5889 100644 --- a/code/modules/mob/living/silicon/silicon_say.dm +++ b/code/modules/mob/living/silicon/silicon_say.dm @@ -9,7 +9,7 @@ designation = trim_left(player.designation + " " + player.job) if(HAS_TRAIT(mind, TRAIT_DISPLAY_JOB_IN_BINARY)) - designation = mind.assigned_role.title + designation = job_title_ru(mind.assigned_role.title) if(isAI(src)) // AIs are loud and ugly diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index a6a1c58c7eddf..d44cc164d7fe5 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -365,7 +365,7 @@ message_admins("[key_name_admin(usr)] has offered control of ([ADMIN_LOOKUPFLW(M)]) to ghosts") var/poll_message = "Do you want to play as [span_danger(M.real_name)]?" if(M.mind) - poll_message = "[poll_message] Job: [span_notice(M.mind.assigned_role.title)]." + poll_message = "[poll_message] Job: [span_notice(job_title_ru(M.mind.assigned_role.title))]." if(M.mind.special_role) poll_message = "[poll_message] Status: [span_boldnotice(M.mind.special_role)]." else diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 23930f3cca7d0..fe3b55281e0ea 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -364,7 +364,7 @@ var/datum/brain_trauma/special/imaginary_friend/trapped_owner/trauma = target.gain_trauma(/datum/brain_trauma/special/imaginary_friend/trapped_owner) var/poll_message = "Do you want to play as [span_danger(target.real_name)]?" if(target.mind) - poll_message = "[poll_message] Job:[span_notice(target.mind.assigned_role.title)]." + poll_message = "[poll_message] Job:[span_notice(job_title_ru(target.mind.assigned_role.title))]." if(target.mind && target.mind.special_role) poll_message = "[poll_message] Status:[span_boldnotice(target.mind.special_role)]." else if(target.mind)