diff --git a/code/datums/mind/antag.dm b/code/datums/mind/antag.dm
index 4aaab464f5e8f..0a6bb5e81d1e2 100644
--- a/code/datums/mind/antag.dm
+++ b/code/datums/mind/antag.dm
@@ -235,7 +235,7 @@
/datum/mind/proc/announce_objectives()
var/obj_count = 1
- to_chat(current, span_notice("Your current objectives:"))
+ to_chat(current, span_notice("Ваши текущие задачи:"))
for(var/datum/objective/objective as anything in get_all_objectives())
to_chat(current, "[objective.objective_name] #[obj_count]: [objective.explanation_text]")
obj_count++
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 50c75850647f8..60e820b61b7c0 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -226,9 +226,9 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/assassinate/update_explanation_text()
..()
if(target?.current)
- explanation_text = "Assassinate [target.name], the [!target_role_type ? target.assigned_role.title : target.special_role]."
+ explanation_text = "Убейте [target.name], [!target_role_type ? target.assigned_role.title : target.special_role]."
else
- explanation_text = "Free objective."
+ explanation_text = "Свободная задача."
/datum/objective/assassinate/admin_edit(mob/admin)
admin_simple_target_pick(admin)
@@ -276,9 +276,9 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/mutiny/update_explanation_text()
..()
if(target?.current)
- explanation_text = "Assassinate or exile [target.name], the [!target_role_type ? target.assigned_role.title : target.special_role]."
+ explanation_text = "Убейте или отправьте в изгнание [target.name], [!target_role_type ? target.assigned_role.title : target.special_role]."
else
- explanation_text = "Free objective."
+ explanation_text = "Свободная задача."
/datum/objective/maroon
name = "maroon"
@@ -298,9 +298,9 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/maroon/update_explanation_text()
if(target?.current)
- explanation_text = "Prevent [target.name], the [!target_role_type ? target.assigned_role.title : target.special_role], from escaping alive."
+ explanation_text = "Не дайте [target.name], [!target_role_type ? target.assigned_role.title : target.special_role], эвакуироватся живым со станции."
else
- explanation_text = "Free objective."
+ explanation_text = "Свободная задача."
/datum/objective/maroon/admin_edit(mob/admin)
admin_simple_target_pick(admin)
@@ -329,9 +329,9 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/debrain/update_explanation_text()
..()
if(target?.current)
- explanation_text = "Steal the brain of [target.name], the [!target_role_type ? target.assigned_role.title : target.special_role]."
+ explanation_text = "Украдите мозг [target.name], [!target_role_type ? target.assigned_role.title : target.special_role]."
else
- explanation_text = "Free objective."
+ explanation_text = "Свободная задача."
/datum/objective/debrain/admin_edit(mob/admin)
admin_simple_target_pick(admin)
@@ -353,9 +353,9 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/protect/update_explanation_text()
..()
if(target?.current)
- explanation_text = "Protect [target.name], the [!target_role_type ? target.assigned_role.title : target.special_role]."
+ explanation_text = "Защитите [target.name], [!target_role_type ? target.assigned_role.title : target.special_role]."
else
- explanation_text = "Free objective."
+ explanation_text = "Свободная задача."
/datum/objective/protect/admin_edit(mob/admin)
admin_simple_target_pick(admin)
@@ -378,9 +378,9 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/jailbreak/update_explanation_text()
..()
if(target?.current)
- explanation_text = "Ensure that [target.name], the [!target_role_type ? target.assigned_role.title : target.special_role] escapes alive and out of custody."
+ explanation_text = "Удостоверьтесь, что [target.name], [!target_role_type ? target.assigned_role.title : target.special_role], сбежит живым и вне заключения."
else
- explanation_text = "Free objective."
+ explanation_text = "Свободная задача."
/datum/objective/jailbreak/admin_edit(mob/admin)
admin_simple_target_pick(admin)
@@ -394,14 +394,14 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/jailbreak/detain/update_explanation_text()
..()
if(target?.current)
- explanation_text = "Ensure that [target.name], the [!target_role_type ? target.assigned_role.title : target.special_role] is delivered to nanotrasen alive and in custody."
+ explanation_text = "Удостоверьтесь, что [target.name], [!target_role_type ? target.assigned_role.title : target.special_role], доставлен на ЦК живым и в заключении."
else
- explanation_text = "Free objective."
+ explanation_text = "Свободная задача."
/datum/objective/hijack
name = "hijack"
- explanation_text = "Hijack the emergency shuttle by hacking its navigational protocols through the control console (alt click emergency shuttle console)."
- team_explanation_text = "Hijack the emergency shuttle by hacking its navigational protocols through the control console (alt click emergency shuttle console). Leave no team member behind."
+ explanation_text = "Угоните эвакуационный шаттл, взломав его навигационные протоколы через консоль управления (Alt-Клик по консоли эвакуационного шаттла)."
+ team_explanation_text = "Угоните эвакуационный шаттл, взломав его навигационные протоколы через консоль управления (Alt-Клик по консоли эвакуационного шаттла). Все члены вашей команды должны выжить."
martyr_compatible = FALSE //Technically you won't get both anyway.
/// Overrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted.
admin_grantable = TRUE
@@ -418,8 +418,8 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/elimination
name = "elimination"
- explanation_text = "Slaughter all loyalist crew aboard the shuttle. You, and any likeminded individuals, must be the only remaining people on the shuttle."
- team_explanation_text = "Slaughter all loyalist crew aboard the shuttle. You, and any likeminded individuals, must be the only remaining people on the shuttle. Leave no team member behind."
+ explanation_text = "Убейте всех лоялистов на борту шаттла. Вы и любые единомышленники, должно быть единственными живыми на шаттле."
+ team_explanation_text = "Уничтожьте всех лоялистов на борту шаттла. Вы и любые единомышленники должны быть единственными живыми на шаттле. Все члены вашей команды должны выжить."
martyr_compatible = FALSE
/datum/objective/elimination/check_completion()
@@ -433,7 +433,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/elimination/highlander
name="highlander elimination"
- explanation_text = "Escape on the shuttle alone. Ensure that nobody else makes it out."
+ explanation_text = "Сбегите на шаттле в одиночку. Убедитесь, что никто другой кроме вас не сбежал."
/datum/objective/elimination/highlander/check_completion()
if(SSshuttle.emergency.mode != SHUTTLE_ENDGAME)
@@ -446,7 +446,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/block
name = "no organics on shuttle"
- explanation_text = "Do not allow any organic lifeforms with sapience to escape on the shuttle alive."
+ explanation_text = "Не позволяйте разумным органическим формам жизни сбежать на шаттле живыми."
martyr_compatible = 1
/datum/objective/block/check_completion()
@@ -460,7 +460,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/purge
name = "no mutants on shuttle"
- explanation_text = "Ensure no nonhuman humanoid species with sapience are present aboard the escape shuttle."
+ explanation_text = "Убедитесь, что на борту эвакуационного шаттла нет разумных видов гуманоидов, не являющихся людьми."
martyr_compatible = TRUE
/datum/objective/purge/check_completion()
@@ -475,7 +475,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/robot_army
name = "robot army"
- explanation_text = "Have at least eight active cyborgs synced to you."
+ explanation_text = "Синхронизируйте с собой как минимум восемь активных киборгов."
martyr_compatible = FALSE
/datum/objective/robot_army/check_completion()
@@ -492,8 +492,8 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/escape
name = "escape"
- explanation_text = "Escape on the shuttle or an escape pod alive and without being in custody."
- team_explanation_text = "Have all members of your team escape on a shuttle or pod alive, without being in custody."
+ explanation_text = "Сбегите живым на эвакуационном шаттле или челноке, при этом не являясь в заключении."
+ team_explanation_text = "Все члены вашей команды должны сбежать живыми на эвакуационном шаттле или челноке, при этом не являясь в заключении."
admin_grantable = TRUE
/datum/objective/escape/check_completion()
@@ -521,18 +521,18 @@ 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 = "Escape on the shuttle or an escape pod with the identity of [target_real_name], the [target.assigned_role.title]"
+ explanation_text = "Сбегите на эвакуационном шаттле или челноке под личиной [target_real_name], [target.assigned_role.title]"
var/mob/living/carbon/human/H
if(ishuman(target.current))
H = target.current
if(H && H.get_id_name() != target_real_name)
target_missing_id = 1
else
- explanation_text += " while wearing their identification card"
+ explanation_text += ", при этом нося ID карту цели"
explanation_text += "." //Proper punctuation is important!
else
- explanation_text = "Escape on the shuttle or an escape pod alive and without being in custody."
+ explanation_text = "Сбегите живым на эвакуационном шаттле или челноке, при этом не являясь в заключении."
/datum/objective/escape/escape_with_identity/check_completion()
var/list/datum/mind/owners = get_owners()
@@ -551,7 +551,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/survive
name = "survive"
- explanation_text = "Stay alive until the end."
+ explanation_text = "Оставайтесь в живых до самого конца."
admin_grantable = TRUE
/datum/objective/survive/check_completion()
@@ -563,7 +563,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/survive/malf //Like survive, but for Malf AIs
name = "survive AI"
- explanation_text = "Prevent your own deactivation."
+ explanation_text = "Предотвратите вашу деактивацию."
admin_grantable = FALSE
/datum/objective/survive/malf/check_completion()
@@ -575,7 +575,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/exile
name = "exile"
- explanation_text = "Stay alive off station. Do not go to CentCom."
+ explanation_text = "Оставайтесь в живых за пределами станции. Не улетайте на ЦК."
/datum/objective/exile/check_completion()
var/list/owners = get_owners()
@@ -588,7 +588,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/martyr
name = "martyr"
- explanation_text = "Die a glorious death."
+ explanation_text = "Умрите славной смертью!"
admin_grantable = TRUE
/datum/objective/martyr/check_completion()
@@ -602,7 +602,7 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list
/datum/objective/nuclear
name = "nuclear"
- explanation_text = "Destroy the station with a nuclear device."
+ explanation_text = "Уничтожьте станцию с помощью ядерного устройства."
martyr_compatible = TRUE
admin_grantable = TRUE
@@ -643,11 +643,11 @@ GLOBAL_LIST_EMPTY(possible_items)
if(item)
targetinfo = item
steal_target = targetinfo.targetitem
- explanation_text = "Steal [targetinfo.name]"
+ explanation_text = "Украдите - [targetinfo.name]"
give_special_equipment(targetinfo.special_equipment)
return steal_target
else
- explanation_text = "Free objective."
+ explanation_text = "Свободная задача."
return
/datum/objective/steal/admin_edit(mob/admin)
@@ -753,9 +753,9 @@ GLOBAL_LIST_EMPTY(possible_items)
/datum/objective/protect_object/update_explanation_text()
. = ..()
if(protect_target)
- explanation_text = "Protect \the [protect_target] at all costs."
+ explanation_text = "Защитите любой ценой - \the [protect_target]."
else
- explanation_text = "Free objective."
+ explanation_text = "Свободная задача."
/datum/objective/protect_object/check_completion()
return !isnull(protect_target)
@@ -790,7 +790,7 @@ GLOBAL_LIST_EMPTY(possible_items)
/datum/objective/absorb/update_explanation_text()
. = ..()
- explanation_text = "Extract [target_amount] compatible genome\s."
+ explanation_text = "Извлеките [target_amount] совместимых генов."
/datum/objective/absorb/admin_edit(mob/admin)
var/count = input(admin,"How many people to absorb?","absorb",target_amount) as num|null
@@ -812,7 +812,7 @@ GLOBAL_LIST_EMPTY(possible_items)
/datum/objective/absorb_most
name = "absorb most"
- explanation_text = "Extract more compatible genomes than any other Changeling."
+ explanation_text = "Извлеките больше совместимых генов, чем любой другой генокрад."
/datum/objective/absorb_most/check_completion()
var/list/datum/mind/owners = get_owners()
@@ -833,7 +833,7 @@ GLOBAL_LIST_EMPTY(possible_items)
/datum/objective/absorb_changeling
name = "absorb changeling"
- explanation_text = "Absorb another Changeling."
+ explanation_text = "Поглотите другого генокрада."
/datum/objective/absorb_changeling/check_completion()
var/list/datum/mind/owners = get_owners()
@@ -873,9 +873,9 @@ GLOBAL_LIST_EMPTY(possible_items)
/datum/objective/destroy/update_explanation_text()
..()
if(target?.current)
- explanation_text = "Destroy [target.name], the experimental AI."
+ explanation_text = "Уничтожьте [target.name], эксперементальный ИИ."
else
- explanation_text = "Free objective."
+ explanation_text = "Свободная задача."
/datum/objective/destroy/admin_edit(mob/admin)
var/list/possible_targets = active_ais(1)
@@ -888,7 +888,7 @@ GLOBAL_LIST_EMPTY(possible_items)
/datum/objective/steal_n_of_type
name = "steal five of"
- explanation_text = "Steal some items!"
+ explanation_text = "Украдите некоторые предметы!"
//what types we want to steal
var/list/wanted_items = list()
//how many we want to steal
@@ -916,7 +916,7 @@ GLOBAL_LIST_EMPTY(possible_items)
/datum/objective/steal_n_of_type/summon_guns
name = "steal guns"
- explanation_text = "Steal at least five guns!"
+ explanation_text = "Украдите как минимум пять видов огнестрельного оружия!"
wanted_items = list(/obj/item/gun)
amount = 5
@@ -926,7 +926,7 @@ GLOBAL_LIST_EMPTY(possible_items)
/datum/objective/steal_n_of_type/summon_magic
name = "steal magic"
- explanation_text = "Steal at least five magical artefacts!"
+ explanation_text = "Украдите не менее пяти магических артефактов!"
wanted_items = list()
amount = 5
@@ -952,7 +952,7 @@ GLOBAL_LIST_EMPTY(possible_items)
/datum/objective/steal_n_of_type/organs
name = "steal organs"
- explanation_text = "Steal at least 5 organic organs! They must be kept healthy."
+ explanation_text = "Украдите как минимум 5 органических органов! Их необходимо поддерживать свежими."
wanted_items = list(/obj/item/organ)
amount = 5 //i want this to be higher, but the organs must be fresh at roundend
diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm
index 8be6abe98eae6..74ae5a19937f8 100644
--- a/code/modules/antagonists/_common/antag_spawner.dm
+++ b/code/modules/antagonists/_common/antag_spawner.dm
@@ -324,7 +324,7 @@
/// What category to ignore the poll
var/poll_ignore_category = POLL_IGNORE_SYNDICATE
/// text given when device fails to secure candidates
- var/fail_text = "Unable to connect to Syndicate command. Please wait and try again later or use the beacon on your uplink to get your points refunded."
+ var/fail_text = "Невозможно соединиться с командованием Синдиката. Пожалуйста, подождите и повторите попытку позже или воспользуйтесь маяком на аплинке, чтобы вернуть свои очки."
/obj/item/antag_spawner/loadout/proc/check_usability(mob/user)
if(used)
@@ -343,7 +343,7 @@
if(!(check_usability(user)))
return
- to_chat(user, span_notice("You activate [src] and wait for confirmation."))
+ to_chat(user, span_notice("Вы активируете [src] и ждете подтверждения."))
var/mob/chosen_one = SSpolling.poll_ghost_candidates(
check_jobban = poll_role_check,
role = poll_role_check,
@@ -394,7 +394,7 @@
/obj/item/antag_spawner/loadout/contractor
name = "contractor support beacon"
- desc = "A beacon sold to the most prestigeous syndicate members, a single-use radio for calling immediate backup."
+ desc = "Маяк, проданный самым престижным членам синдиката, одноразовое радио для немедленного вызова подкрепления."
icon = 'icons/obj/devices/voice.dmi'
icon_state = "nukietalkie"
outfit = /datum/outfit/contractor_partner
@@ -404,8 +404,8 @@
role_to_play = ROLE_CONTRACTOR_SUPPORT
/obj/item/antag_spawner/loadout/contractor/do_special_things(mob/living/carbon/human/contractor_support, mob/user)
- to_chat(contractor_support, "\n[span_alertwarning("[user.real_name] is your superior. Follow any, and all orders given by them. You're here to support their mission only.")]")
- to_chat(contractor_support, "[span_alertwarning("Should they perish, or be otherwise unavailable, you're to assist other active agents in this mission area to the best of your ability.")]")
+ to_chat(contractor_support, "\n[span_alertwarning("[user.real_name] - ваш начальник. Выполняйте любые их приказы. Вы здесь только для того, чтобы поддержать их миссию.")]")
+ to_chat(contractor_support, "[span_alertwarning("Если они погибнут или станут недоступны по какой-либо причине, вы должны помочь другим активным агентам в этой зоне миссии, насколько это возможно.")]")
/obj/item/antag_spawner/loadout/monkey_man
name = "monkey agent beacon"
diff --git a/code/modules/antagonists/traitor/components/demoraliser.dm b/code/modules/antagonists/traitor/components/demoraliser.dm
index 47cdae620f47e..ef95eb799337f 100644
--- a/code/modules/antagonists/traitor/components/demoraliser.dm
+++ b/code/modules/antagonists/traitor/components/demoraliser.dm
@@ -98,83 +98,83 @@
/datum/demoralise_moods/poster
mood_category = "evil poster"
- antag_notification = "Nice poster."
+ antag_notification = "Хороший плакат."
antag_mood = /datum/mood_event/traitor_poster_antag
- crew_notification = "Wait, is what that poster says true?"
+ crew_notification = "Подожди, а правда ли то, что написано на этом плакате?"
crew_mood = /datum/mood_event/traitor_poster_crew
- authority_notification = "Hey! Who put up that poster?"
+ authority_notification = "Э блять! Кто повесил этот плакат?"
authority_mood = /datum/mood_event/traitor_poster_auth
reading_requirements = (READING_CHECK_LITERACY | READING_CHECK_LIGHT)
/datum/mood_event/traitor_poster_antag
- description = "I am doing the right thing."
+ description = "Я поступаю правильно."
mood_change = 2
timeout = 2 MINUTES
hidden = TRUE
/datum/mood_event/traitor_poster_crew
- description = "That poster made me feel bad about my job..."
+ description = "Этот плакат заставил меня чувствовать себя плохо из-за своей работы..."
mood_change = -2
timeout = 2 MINUTES
hidden = TRUE
/datum/mood_event/traitor_poster_auth
- description = "That poster better not be giving the crew any funny ideas..."
+ description = "Надеюсь этот плакат не будет давать экипажу никаких забавных идей..."
mood_change = -3
timeout = 2 MINUTES
hidden = TRUE
/datum/demoralise_moods/graffiti
mood_category = "evil graffiti"
- antag_notification = "A three headed snake. Nice."
+ antag_notification = "Трехглавая змея. Заебись."
antag_mood = /datum/mood_event/traitor_graffiti_antag
- crew_notification = "Is that... a three headed snake?"
+ crew_notification = "Это... трёхголовая змея?"
crew_mood = /datum/mood_event/traitor_graffiti_crew
- authority_notification = "A three headed snake only means trouble."
+ authority_notification = "Трехглавая змея означает только неприятности."
authority_mood = /datum/mood_event/traitor_graffiti_auth
/datum/mood_event/traitor_graffiti_antag
- description = "The Syndicate logo? How delightfully bold."
+ description = "Логотип Синдиката? Как восхитительно смело."
mood_change = 2
timeout = 2 MINUTES
hidden = TRUE
/datum/mood_event/traitor_graffiti_crew
- description = "The Syndicate logo? Am I safe here?"
+ description = "Логотип Синдиката? Я точно здесь в безопасности?"
mood_change = -2
timeout = 2 MINUTES
hidden = TRUE
/datum/mood_event/traitor_graffiti_auth
- description = "Which of these layabouts drew that Syndicate logo?!"
+ description = "Кто из этих бездельников нарисовал логотип Синдиката?!"
mood_change = -3
timeout = 2 MINUTES
hidden = TRUE
/datum/demoralise_moods/module
mood_category = "module"
- antag_notification = "I feel oddly refreshed."
+ antag_notification = "Я чувствую себя странно отдохнувшим."
antag_mood = /datum/mood_event/traitor_module_antag
- crew_notification = "My head hurts. It feels like something is driving nails into my brain!"
+ crew_notification = "Моя голова болит. Такое ощущение, будто что-то вбивает мне гвозди в мозг!"
crew_mood = /datum/mood_event/traitor_module_crew
- authority_notification = "My heads beginning to spin. The enemy is at the gate. I'm all alone..."
+ authority_notification = "У меня начинает кружиться голова. Враг у ворот. Я одинок..."
authority_mood = /datum/mood_event/traitor_module_auth
reading_requirements = (READING_CHECK_LIGHT)
/datum/mood_event/traitor_module_antag
- description = "I think I'll cause problems on purpose."
+ description = "Думаю, я специально создам проблемы."
mood_change = 1
timeout = 2 MINUTES
hidden = TRUE
/datum/mood_event/traitor_module_crew
- description = "They're on the station! I know it! They're going to get me!"
+ description = "Они на станции! Я знаю это! Они собираются схватить меня!"
mood_change = -4
timeout = 2 MINUTES
hidden = TRUE
/datum/mood_event/traitor_module_auth
- description = "Nobody on this station is on my side, and the enemy could be anyone! I have to take more drastic measures..."
+ description = "Никто на этой станции не на моей стороне, а врагом может быть кто угодно! Придётся принять более решительные меры..."
mood_change = -5
timeout = 2 MINUTES
hidden = TRUE
diff --git a/code/modules/antagonists/traitor/contractor/contract_teammate.dm b/code/modules/antagonists/traitor/contractor/contract_teammate.dm
index 54fc958c1f89f..48abe2a983141 100644
--- a/code/modules/antagonists/traitor/contractor/contract_teammate.dm
+++ b/code/modules/antagonists/traitor/contractor/contract_teammate.dm
@@ -9,8 +9,8 @@
/datum/antagonist/traitor/contractor_support/forge_traitor_objectives()
var/datum/objective/generic_objective = new
- generic_objective.name = "Follow Contractor's Orders"
- generic_objective.explanation_text = "Follow your orders. Assist agents in this mission area."
+ generic_objective.name = "Следуйте приказам контрактника"
+ generic_objective.explanation_text = "Следуйте вашим приказам. Помогайте агентам в зоне вашей миссии."
generic_objective.completed = TRUE
objectives += generic_objective
diff --git a/code/modules/antagonists/traitor/contractor/contractor_items.dm b/code/modules/antagonists/traitor/contractor/contractor_items.dm
index 90c495358f2a7..90fd0b86c99ee 100644
--- a/code/modules/antagonists/traitor/contractor/contractor_items.dm
+++ b/code/modules/antagonists/traitor/contractor/contractor_items.dm
@@ -1,6 +1,6 @@
/obj/item/pinpointer/crew/contractor
name = "contractor pinpointer"
- desc = "A handheld tracking device that locks onto certain signals. Ignores suit sensors, but is much less accurate."
+ desc = "Портативное устройство слежения, которое фиксирует определенные сигналы. Игнорирует датчики костюма, но гораздо менее точен."
icon_state = "pinpointer_syndicate"
worn_icon_state = "pinpointer_black"
minimum_range = 25
@@ -18,36 +18,36 @@
/obj/item/paper/contractor_guide
name = "Contractor Guide"
- default_raw_text = {"Welcome agent, congratulations on your new position as contractor. On top of your already assigned objectives,\
- this kit will provide you contracts to take on for TC payments.\
-
Provided within, we give your specialist contractor space suit. It's even more compact, being able to fit into a pocket, and faster than the\
- Syndicate space suit available to you on the uplink. We also provide your chameleon jumpsuit and mask, both of which can be changed\
- to any form you need for the moment. The cigarettes are a special blend - it'll heal your injuries slowly overtime.
\
-
Your standard issue contractor baton hits harder than the ones you might be used to, and likely be your go to weapon for kidnapping your\
- targets. The three additional items have been randomly selected from what we had available. We hope they're useful to you for your mission.
\
-
The contractor hub, available at the top right of the uplink, will provide you unique items and abilities. These are bought using Contractor Rep,\
- with two Rep being provided each time you complete a contract.
\
-
Using the tablet
\
+ default_raw_text = {"Приветствую вас, агент, поздравляю с новой должностью контрактника. Помимо уже поставленных целей,\
+ этот комплект предоставит вам возможность брать контракты с оплатой в виде телекристалов.\
+
В комплекте мы выдаем вам специализированный скафандр контрактника. Он намного компактнее, его можно поместить в карман, и в нем удобнее передвигатся, в отличии\
+ от обычного скафандра Синдиката доступного в вашем аплинке. Мы также предоставляем вам костюм и маску хамелеон, которые оба могут быть изменены\
+ в любую форму которая вам может быть необходима. В сигаретах содержится особая смесь - она будет медленно лечить ваши раны.
\
+
Выданная вам дубинка бьет сильнее чем та, к который вы привыкли, и, скорее всего, будет вашим лучшим оружием для похищения ваших \
+ целей. Три дополнительных предмета, которые имелись у нас в наличии, были случайно выбраны и выданы вам. Мы надеемся, что они будут полезны для вашей работы.
\
+
Магазин контрактника, находящийся в правом верхнем угле аплинка, предоставит вам уникальные предметы и возможности. Они могут быть куплены за репутацию контрактника,\
+ с каждым выполненным контрактом вы будете получать по 2 очка репутации.
\
+
Использование планшета
\
\
-
Open the Syndicate Contract Uplink program.
\
-
Here, you can accept a contract, and redeem your TC payments from completed contracts.
\
-
The payment number shown in brackets is the bonus you'll receive when bringing your target alive. You receive the\
- other number regardless of if they were alive or dead.
\
-
Contracts are completed by bringing the target to designated dropoff, calling for extraction, and putting them\
- inside the pod.
\
+
Откройте программу Syndicate Contract Uplink.
\
+
В этой программе вы можете принять контракт, а также получить оплату с выполненых контрактов.
\
+
Цифры в скобках это ваша премия за то что вы доставите вашу цель живой. Вы получите\
+ определённую сумму независимо от того будет ли ваша цель живой или нет.
\
+
Чтобы выполнить контракт, вам нужно принести цель до назначенного места высадки, вызвать под отправки и положить\
+ цель внутрь пода
\
\
-
Be careful when accepting a contract. While you'll be able to see the location of the dropoff point, cancelling will make it\
- unavailable to take on again.
\
-
The tablet can also be recharged at any cell charger.
\
-
Extracting
\
+
Будьте осторожны принимая контракт. Хоть вы и сможете видеть местоположение точки высадки, отмена контракта сделает\
+ его более недоступным для выбора
\
+
Планшет может быть заряжен в любом заряднике для батарей.
\
+
Отправление
\
\
-
Make sure both yourself and your target are at the dropoff.
\
-
Call the extraction, and stand back from the drop point.
\
-
If it fails, make sure your target is inside, and there's a free space for the pod to land.
\
-
Grab your target, and drag them into the pod.
\
+
Убедитесь, что и вы, и ваша цель находятся на месте высадки.
\
+
Вызовите под отправки и отойдите от зоны приземления.
\
+
Если попытка вызвать под провалилась, проверьте чтобы ваша цель была внутри зоны и есть ли достаточно место для приземления пода.
\
+
Схватите свою цель и поместите ее в под.
\
\
-
Ransoms
\
-
We need your target for our own reasons, but we ransom them back to your mission area once their use is served. They will return back\
- from where you sent them off from in several minutes time. Don't worry, we give you a cut of what we get paid. We pay this into whatever\
- ID card you have equipped, on top of the TC payment we give.
\
-
Good luck agent. You can burn this document with the supplied lighter.
"}
+
Выкупы
\
+
Нам нужна ваша цель по нашим собственным причинам, но мы вернем ее за выкуп в район вашей миссии, как только она будет больше не нужна. Она вернется обратно\
+ откуда вы их отправили через несколько минут. Не волнуйтесь, мы отдаем вам часть выкупа. Оплата приходит на\
+ любую ID карту которая экипированая на вас, помимо оплаты телекристалами, которую мы вам даем.
\
+
Удачи, агент. Вы можете сжечь этот документ с помощью прилагаемой зажигалки.
"}
diff --git a/code/modules/antagonists/traitor/contractor/syndicate_contract.dm b/code/modules/antagonists/traitor/contractor/syndicate_contract.dm
index 2c9d45e382dd4..b775e020a0cbc 100644
--- a/code/modules/antagonists/traitor/contractor/syndicate_contract.dm
+++ b/code/modules/antagonists/traitor/contractor/syndicate_contract.dm
@@ -35,7 +35,7 @@
if (record)
target_rank = record.rank
else
- target_rank = "Unknown"
+ target_rank = "Неизвестно"
if (payout_type == CONTRACT_PAYOUT_LARGE)
contract.payout_bonus = rand(9,13)
@@ -137,8 +137,8 @@
if(!contractor_id || !contractor_id.registered_account)
return
contractor_id.registered_account.adjust_money(ransom * 0.35)
- contractor_id.registered_account.bank_card_talk("We've processed the ransom, agent. \
- Here's your cut - your balance is now [contractor_id.registered_account.account_balance] cr.", TRUE)
+ contractor_id.registered_account.bank_card_talk("Мы получили выкуп, агент. \
+ Вот ваша доля - на вашем балансе теперь [contractor_id.registered_account.account_balance] cr.", TRUE)
#define VICTIM_EXPERIENCE_START 0
#define VICTIM_EXPERIENCE_FIRST_HIT 1
@@ -172,27 +172,27 @@
victim.flash_act()
victim.adjust_confusion(1 SECONDS)
victim.adjust_eye_blur(5 SECONDS)
- to_chat(victim, span_warning("You feel strange..."))
+ to_chat(victim, span_warning("Вы чувствуете себя странно..."))
time_until_next = 6 SECONDS
if(VICTIM_EXPERIENCE_FIRST_HIT)
- to_chat(victim, span_warning("That pod did something to you..."))
+ to_chat(victim, span_warning("Эта капсула что-то сделала с вами..."))
victim.adjust_dizzy(3.5 SECONDS)
time_until_next = 6.5 SECONDS
if(VICTIM_EXPERIENCE_SECOND_HIT)
- to_chat(victim, span_warning("Your head pounds... It feels like it's going to burst out your skull!"))
+ to_chat(victim, span_warning("Ваша голова раскалывается... Такое ощущение, что ваш череп сейчас лопнет!"))
victim.flash_act()
victim.adjust_confusion(2 SECONDS)
victim.adjust_eye_blur(3 SECONDS)
time_until_next = 3 SECONDS
if(VICTIM_EXPERIENCE_THIRD_HIT)
- to_chat(victim, span_warning("Your head pounds..."))
+ to_chat(victim, span_warning("Ваша голова болит..."))
time_until_next = 10 SECONDS
if(VICTIM_EXPERIENCE_LAST_HIT)
victim.flash_act()
victim.Unconscious(200)
- to_chat(victim, span_hypnophrase("A million voices echo in your head... \"Your mind held many valuable secrets - \
- we thank you for providing them. Your value is expended, and you will be ransomed back to your station. We always get paid, \
- so it's only a matter of time before we ship you back...\""))
+ to_chat(victim, span_hypnophrase("Множество голосов отдаются эхом в вашей голове... \"Вам разум хранил множество важных секретов - \
+ мы благодарим вас за предоставления их нам. Ваша ценность упала, и вы будете выкуплены обратно на свою станцию. Мы всегда получаем свое, \
+ поэтому это только дело времени когда вы вернетесь обратно на ваш корабль...\""))
victim.adjust_eye_blur(10 SECONDS)
victim.adjust_dizzy(1.5 SECONDS)
victim.adjust_confusion(2 SECONDS)
diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm
index 88776b6819af6..cea43a2f47180 100644
--- a/code/modules/antagonists/traitor/datum_traitor.dm
+++ b/code/modules/antagonists/traitor/datum_traitor.dm
@@ -12,7 +12,7 @@
antag_hud_name = "traitor"
hijack_speed = 0.5 //10 seconds per hijack stage by default
ui_name = "AntagInfoTraitor"
- suicide_cry = "FOR THE SYNDICATE!!"
+ suicide_cry = "ЗА СИНДИКАТ!!"
preview_outfit = /datum/outfit/traitor
can_assign_self_objectives = TRUE
default_custom_objective = "Perform an overcomplicated heist on valuable Nanotrasen assets."
@@ -338,16 +338,16 @@
for(var/datum/objective/objective in objectives)
if(!objective.check_completion())
traitor_won = FALSE
- objectives_text += " Objective #[count]: [objective.explanation_text] [objective.get_roundend_success_suffix()]"
+ objectives_text += " Задача #[count]: [objective.explanation_text] [objective.get_roundend_success_suffix()]"
count++
if(uplink_handler.final_objective)
- objectives_text += " [span_greentext("[traitor_won ? "Additionally" : "However"], the final objective \"[uplink_handler.final_objective]\" was completed!")]"
+ objectives_text += " [span_greentext("[traitor_won ? "К тому же" : "Однако"], финальная задача \"[uplink_handler.final_objective]\" была выполнена!")]"
traitor_won = TRUE
result += " [owner.name] [traitor_flavor["roundend_report"]]"
if(uplink_owned)
- var/uplink_text = "(used [used_telecrystals] TC) [purchases]"
+ var/uplink_text = "(использовал [used_telecrystals] ТК) [purchases]"
if((used_telecrystals == 0) && traitor_won)
var/static/icon/badass = icon('icons/ui_icons/antags/badass.dmi', "badass")
uplink_text += "[icon2html(badass, world)]"
@@ -358,14 +358,14 @@
if(uplink_handler)
if (uplink_handler.contractor_hub)
result += contractor_round_end()
- result += " The traitor had a total of [DISPLAY_PROGRESSION(uplink_handler.progression_points)] Reputation and [uplink_handler.telecrystals] Unused Telecrystals."
+ result += " Предатель имел [DISPLAY_PROGRESSION(uplink_handler.progression_points)] репутации и [uplink_handler.telecrystals] неиспользованных телекристаллов."
var/special_role_text = lowertext(name)
if(traitor_won)
- result += span_greentext("The [special_role_text] was successful!")
+ result += span_greentext("[special_role_text] был успешен!")
else
- result += span_redtext("The [special_role_text] has failed!")
+ result += span_redtext("[special_role_text] провалился!")
SEND_SOUND(owner.current, 'sound/ambience/ambifailure.ogg')
return result.Join(" ")
@@ -379,20 +379,20 @@
if(completed_contracts <= 0)
return
- var/plural_check = "contract"
+ var/plural_check = "контракт"
if (completed_contracts > 1)
- plural_check = "contracts"
- var/sent_data = "Completed [span_greentext("[completed_contracts]")] [plural_check] for a total of [span_greentext("[tc_total] TC")]! "
+ plural_check = "контракты"
+ var/sent_data = "Выполнил [span_greentext("[completed_contracts]")] [plural_check] на общую сумму в [span_greentext("[tc_total] ТК")]! "
if(contractor_support_unit)
- sent_data += "[contractor_support_unit.owner.key] played [contractor_support_unit.owner.current.name], their contractor support unit. "
+ sent_data += "[contractor_support_unit.owner.key] был [contractor_support_unit.owner.current.name], помощником контратника. "
return sent_data
/datum/antagonist/traitor/roundend_report_footer()
var/phrases = jointext(GLOB.syndicate_code_phrase, ", ")
var/responses = jointext(GLOB.syndicate_code_response, ", ")
- var/message = " The code phrases were:[phrases] \
- The code responses were: [span_redtext("[responses]")] "
+ var/message = " Кодовыми фразами были:[phrases] \
+ Кодовыми ответами были: [span_redtext("[responses]")] "
return message
diff --git a/code/modules/antagonists/traitor/objectives/assassination.dm b/code/modules/antagonists/traitor/objectives/assassination.dm
index 0e1a437fe4f25..639ea50eb6c21 100644
--- a/code/modules/antagonists/traitor/objectives/assassination.dm
+++ b/code/modules/antagonists/traitor/objectives/assassination.dm
@@ -188,18 +188,18 @@
color = "#ff5050"
show_written_words = FALSE
default_raw_text = {"
- **Death to Nanotrasen.**
+ **Смерть Nanotrasen.**
- Only through the inviolable cooperation of corporations known as The Syndicate, can Nanotrasen and its autocratic tyrants be silenced.
- The outcries of Nanotrasen's employees are squelched by the suffocating iron grip of their leaders. If you read this, and understand
- why we fight, then you need only to look where Nanotrasen doesn't want you to find us to join our cause. Any number of our companies
- may be fighting with your interests in mind.
+ Только благодаря нерушимому сотрудничеству корпораций, известных как Синдикат, можно заставить замолчать НаноТрайзен и его деспотических тиранов.
+ Вопли сотрудников Nanotrasen подавляются удушающей железной хваткой их руководителей. Если ты это прочитаешь и поймешь
+ почему мы сражаемся, то вам нужно только поискать там, где НаноТрейзен не хочет, чтобы вы нашли нас, чтобы присоединиться к нашему делу. Любое количество наших компаний
+ , возможно, борятся помня о ваших интересах.
- SELF: They fight for the protection and freedom of silicon life all across the galaxy.
+ SELF: Они сражаются ради безопастности и свободы жизней силиконов по всех галактике.
- Tiger Cooperative: They fight for religious freedom and their righteous concoctions.
+ Tiger Cooperative: Они борются за религиозную свободу и свои праведные выдумки.
- Waffle Corporation: They fight for the return of healthy corporate competition, snuffed out by Nanotrasen's monopoly.
+ Waffle Corporation: Они борются за возвращение здоровой корпоративной конкуренции, подавленной монополией НаноТрейзен.
- Animal Rights Consortium: They fight for nature and the right for all biological life to exist.
+ Animal Rights Consortium: Они борются за природу и право на существование всей биологической жизни.
"}
diff --git a/code/modules/antagonists/traitor/objectives/eyesnatching.dm b/code/modules/antagonists/traitor/objectives/eyesnatching.dm
index 39cafed6da54f..bd1d6601a62bc 100644
--- a/code/modules/antagonists/traitor/objectives/eyesnatching.dm
+++ b/code/modules/antagonists/traitor/objectives/eyesnatching.dm
@@ -137,7 +137,7 @@
/obj/item/eyesnatcher
name = "portable eyeball extractor"
- desc = "An overly complicated device that can pierce target's skull and extract their eyeballs if enough brute force is applied."
+ desc = "Чрезмерно сложное устройство, которое может пробить череп цели и вырвать ей глазные яблоки, если применить достаточную грубую силу."
icon = 'icons/obj/medical/surgery_tools.dmi'
icon_state = "eyesnatcher"
base_icon_state = "eyesnatcher"
@@ -169,13 +169,13 @@
eye_snatch_enthusiasm *= 0.7
user.do_attack_animation(target, used_item = src)
target.visible_message(
- span_warning("[user] presses [src] against [target]'s skull!"),
- span_userdanger("[user] presses [src] against your skull!"))
+ span_warning("[user] прижимает [src] на череп [target]!"),
+ span_userdanger("[user] прижимает [src] на ваш череп!"))
if(!do_after(user, eye_snatch_enthusiasm, target = target, extra_checks = CALLBACK(src, PROC_REF(eyeballs_exist), eyeballies, head, target)))
return
- to_chat(target, span_userdanger("You feel something forcing its way into your skull!"))
- balloon_alert(user, "applying pressure...")
+ to_chat(target, span_userdanger("Вы чувствуете, как что-то проникает в ваш череп!"))
+ balloon_alert(user, "надавливаем...")
if(!do_after(user, eye_snatch_enthusiasm, target = target, extra_checks = CALLBACK(src, PROC_REF(eyeballs_exist), eyeballies, head, target)))
return
@@ -184,9 +184,9 @@
target.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = rand(min_wound, max_wound + 10), attacking_item = src)
target.visible_message(
- span_danger("[src] pierces through [target]'s skull, horribly mutilating their eyes!"),
- span_userdanger("Something penetrates your skull, horribly mutilating your eyes! Holy fuck!"),
- span_hear("You hear a sickening sound of metal piercing flesh!")
+ span_danger("[src] пробивает череп [target], ужасно калеча глаза!"),
+ span_userdanger("Что-то проникает тебе в череп, ужасно калеча твои глаза! Пиздец!"),
+ span_hear("Вы слышите тошнотворный звук пронзения плоти металлом!")
)
eyeballies.apply_organ_damage(eyeballies.maxHealth)
target.emote("scream")
@@ -197,21 +197,21 @@
return
if(!target.is_blind())
- to_chat(target, span_userdanger("You suddenly go blind!"))
+ to_chat(target, span_userdanger("Вы внезапно слепните!"))
if(prob(1))
- to_chat(target, span_notice("At least you got a new pirate-y look out of it..."))
+ to_chat(target, span_notice("По крайней мере, у вас появился новый пиратский вид..."))
var/obj/item/clothing/glasses/eyepatch/new_patch = new(target.loc)
target.equip_to_slot_if_possible(new_patch, ITEM_SLOT_EYES, disable_warning = TRUE)
- to_chat(user, span_notice("You successfully extract [target]'s eyeballs."))
+ to_chat(user, span_notice("Вы успешно извлекаете глаза [target]."))
playsound(target, 'sound/surgery/retractor2.ogg', 100, TRUE)
playsound(target, 'sound/effects/pop.ogg', 100, TRAIT_MUTE)
eyeballies.Remove(target)
eyeballies.forceMove(get_turf(target))
notify_ghosts(
- "[target] has just had their eyes snatched!",
+ "У [target] только что вырвали глаза!",
source = target,
- header = "Ouch!",
+ header = "Ай бля!",
)
target.emote("scream")
if(prob(20))
@@ -222,7 +222,7 @@
/obj/item/eyesnatcher/examine(mob/user)
. = ..()
if(used)
- . += span_notice("It has been used up.")
+ . += span_notice("Устройство уже было использованно.")
/obj/item/eyesnatcher/proc/eyeballs_exist(obj/item/organ/internal/eyes/eyeballies, obj/item/bodypart/head/head, mob/living/carbon/human/target)
if(!eyeballies || QDELETED(eyeballies))
diff --git a/code/modules/antagonists/traitor/objectives/final_objective/infect_ai.dm b/code/modules/antagonists/traitor/objectives/final_objective/infect_ai.dm
index f5267524ff16d..dffd690a62470 100644
--- a/code/modules/antagonists/traitor/objectives/final_objective/infect_ai.dm
+++ b/code/modules/antagonists/traitor/objectives/final_objective/infect_ai.dm
@@ -46,7 +46,7 @@
return
var/area/delivery_area = get_area(user)
if(delivery_area.type != board_area_pickup)
- to_chat(user, span_warning("You must be in [initial(board_area_pickup.name)] to receive the infected law upload board."))
+ to_chat(user, span_warning("Вы должны быть в [initial(board_area_pickup.name)], чтобы получить зараженную плату загрузки законов."))
return
sent_board = TRUE
podspawn(list(
diff --git a/code/modules/antagonists/traitor/objectives/final_objective/objective_dark_matteor.dm b/code/modules/antagonists/traitor/objectives/final_objective/objective_dark_matteor.dm
index 5164bcd95dbd7..5697b191c9967 100644
--- a/code/modules/antagonists/traitor/objectives/final_objective/objective_dark_matteor.dm
+++ b/code/modules/antagonists/traitor/objectives/final_objective/objective_dark_matteor.dm
@@ -43,7 +43,7 @@
return
var/area/delivery_area = get_area(user)
if(delivery_area.type != satellites_spawnarea_type)
- to_chat(user, span_warning("You must be in [initial(satellites_spawnarea_type.name)] to receive the smuggled satellites."))
+ to_chat(user, span_warning("Вы должны быть в [initial(satellites_spawnarea_type.name)], чтобы получить контрабандные спутники."))
return
sent_satellites = TRUE
podspawn(list(
@@ -64,20 +64,20 @@
/obj/item/paper/dark_matteor_summoning
name = "notes - dark matter meteor summoning"
default_raw_text = {"
- Summoning a dark matter meteor.
+ Призыв метеорита тёмной материи
- Operative, this crate contains 10+1 spare meteor shield satellites stolen from NT’s supply lines. Your mission is to
- deploy them in space near the station and recalibrate them with the provided emag. Be careful: you need a 30 second
- cooldown between each hack, and NT will detect your interference after seven recalibrations. That means you
- have at least 5 minutes of work and 1 minute of resistance.
+ Оперативник, в этом ящике находятся 10 и один дополнительный метеорный щит украденный с линий снабжения НТ. Ваша миссия состоит
+ в установке их в космосе рядом со станцией и перекалибровки их с помощью предоставленного Емага. Будьте осторожны: вам нужно 30 секунд
+ для восстановления между каждым взломом, и НТ обнаружит ваше вмешательство после семи повторных калибровок. Это значит что вы
+ будете иметь не менее 5 минут для работы и 1 минуту для защиты.
- This is a high-risk operation. You’ll need backup, fortification, and determination. The reward?
- A spectacular dark matter singularity that will wipe out the station.
+ Это очень рискованная операция. Вам потребуется поддержка, укрепление и решимость. Награда?
+ Впечатляющая сингулярность темной материи, которая уничтожит станцию!
- **Death to Nanotrasen.**
+ **Смерть Nanotrasen**
"}
/obj/item/card/emag/meteor_shield_recalibrator
name = "cryptographic satellite recalibrator"
- desc = "It's a cryptographic sequencer that has been tuned to recalibrate meteor shields quicker and with less risk of frying them."
+ desc = "Этот криптографический сиквенсор был настроен, чтобы рекалибровать метеорные щиты быстрее и с меньшим риском их поломки."
diff --git a/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm b/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm
index f05dae42e58ae..aa5dc3e4f93d2 100644
--- a/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm
+++ b/code/modules/antagonists/traitor/objectives/final_objective/romerol.dm
@@ -36,7 +36,7 @@
return
var/area/delivery_area = get_area(user)
if(delivery_area.type != romerol_spawnarea_type)
- to_chat(user, span_warning("You must be in [initial(romerol_spawnarea_type.name)] to receive the bioterror agent."))
+ to_chat(user, span_warning("Вы должны быть в [initial(romerol_spawnarea_type.name)], чтобы получить набор с вирусом биотеррора."))
return
sent_romerol = TRUE
podspawn(list(
diff --git a/code/modules/antagonists/traitor/objectives/final_objective/supermatter_cascade.dm b/code/modules/antagonists/traitor/objectives/final_objective/supermatter_cascade.dm
index 4e0227fa74173..92dc5e261799c 100644
--- a/code/modules/antagonists/traitor/objectives/final_objective/supermatter_cascade.dm
+++ b/code/modules/antagonists/traitor/objectives/final_objective/supermatter_cascade.dm
@@ -47,7 +47,7 @@
return
var/area/delivery_area = get_area(user)
if(delivery_area.type != dest_crystal_area_pickup)
- to_chat(user, span_warning("You must be in [initial(dest_crystal_area_pickup.name)] to receive the supermatter cascade kit."))
+ to_chat(user, span_warning("Вы должны быть в [initial(dest_crystal_area_pickup.name)], чтобы получить набор для каскада суперматерии."))
return
sent_crystal = TRUE
podspawn(list(
diff --git a/code/modules/antagonists/traitor/objectives/infect.dm b/code/modules/antagonists/traitor/objectives/infect.dm
index e10580562cdfe..17b2c1da2e74c 100644
--- a/code/modules/antagonists/traitor/objectives/infect.dm
+++ b/code/modules/antagonists/traitor/objectives/infect.dm
@@ -149,7 +149,7 @@
/obj/item/reagent_containers/hypospray/medipen/manifoldinjector
name = "EHMS autoinjector"
- desc = "Experimental Hereditary Manifold Sickness autoinjector."
+ desc = "Экспериментальный автоинжектор наследственной многообразной болезни."
icon_state = "tbpen"
inhand_icon_state = "tbpen"
base_icon_state = "tbpen"
@@ -163,11 +163,11 @@
/obj/item/reagent_containers/hypospray/medipen/manifoldinjector/attack(mob/living/affected_mob, mob/living/carbon/human/user)
if(used)
return ..()
- to_chat(affected_mob, span_warning("You feel someone try to inject you with something."))
- balloon_alert(user, "injecting...")
+ to_chat(affected_mob, span_warning("Вы чувствуете, что кто-то пытается ввести вам что-то."))
+ balloon_alert(user, "вкалываем...")
log_combat(user, affected_mob, "attempted to inject", src)
if(!do_after(user, 1.5 SECONDS, hidden = TRUE))
- balloon_alert(user, "interrupted!")
+ balloon_alert(user, "прервано!")
return
var/datum/disease/chronic_illness/hms = new /datum/disease/chronic_illness()
affected_mob.ForceContractDisease(hms)
diff --git a/code/modules/antagonists/traitor/objectives/kidnapping.dm b/code/modules/antagonists/traitor/objectives/kidnapping.dm
index d6aec912fdbac..089a6b2ad86ec 100644
--- a/code/modules/antagonists/traitor/objectives/kidnapping.dm
+++ b/code/modules/antagonists/traitor/objectives/kidnapping.dm
@@ -1,7 +1,7 @@
/datum/traitor_objective/target_player/kidnapping
- name = "Kidnap %TARGET% the %JOB TITLE% and deliver them to %AREA%"
- description = "%TARGET% holds extremely important information regarding secret NT projects - and you'll need to kidnap and deliver them to %AREA%, where our transport pod will be waiting. \
- If %TARGET% is delivered alive, you will be rewarded with an additional %TC% telecrystals."
+ name = "Похитьте %TARGET%, %JOB TITLE%, и доставьте в %AREA%"
+ description = "%TARGET% содержит чрезвычайно важную информацию о секретных проектах НТ — и вам нужно будет похитить ее и доставить в %AREA%, где будет ждать наша транспортировочный под. \
+ Если %TARGET% будет доставлен живым, вам дополнительно будет выдано %TC% телекристаллов."
abstract_type = /datum/traitor_objective/target_player/kidnapping
@@ -189,7 +189,7 @@
/datum/traitor_objective/target_player/kidnapping/generate_ui_buttons(mob/user)
var/list/buttons = list()
if(!pod_called)
- buttons += add_ui_button("Call Extraction Pod", "Pressing this will call down an extraction pod.", "rocket", "call_pod")
+ buttons += add_ui_button("Вызвать транспортировочный под", "Нажатие этой кнопки вызовет под для транспортировки цели.", "rocket", "call_pod")
return buttons
/datum/traitor_objective/target_player/kidnapping/ui_perform_action(mob/living/user, action)
@@ -202,11 +202,11 @@
var/area/target_area = get_area(target)
if(user_area.type != dropoff_area)
- to_chat(user, span_warning("You must be in [initial(dropoff_area.name)] to call the extraction pod."))
+ to_chat(user, span_warning("Вы должны быть в [initial(dropoff_area.name)], чтобы вызвать транспортировочный под."))
return
if(target_area.type != dropoff_area)
- to_chat(user, span_warning("[target.real_name] must be in [initial(dropoff_area.name)] for you to call the extraction pod."))
+ to_chat(user, span_warning("[target.real_name] должна быть в [initial(dropoff_area.name)], чтобы вы могли вызвать транспортировочный под."))
return
call_pod(user)
@@ -262,9 +262,9 @@
sent_mob.adjust_dizzy(10 SECONDS)
sent_mob.set_eye_blur_if_lower(100 SECONDS)
sent_mob.dna.species.give_important_for_life(sent_mob) // so plasmamen do not get left for dead
- to_chat(sent_mob, span_hypnophrase("A million voices echo in your head... \"Your mind held many valuable secrets - \
- we thank you for providing them. Your value is expended, and you will be ransomed back to your station. We always get paid, \
- so it's only a matter of time before we ship you back...\""))
+ to_chat(sent_mob, span_hypnophrase("Множество голосов отдаются эхом в вашей голове... \"Вам разум хранил множество важных секретов - \
+ мы благодарим вас за предоставления их нам. Ваша ценность упала, и вы будете выкуплены обратно на свою станцию. Мы всегда получаем свое, \
+ поэтому это только дело времени, когда вы вернетесь обратно на ваш корабль...\""))
/datum/traitor_objective/target_player/kidnapping/proc/return_target(mob/living/carbon/human/sent_mob)
if(!sent_mob || QDELETED(sent_mob)) //suicided and qdeleted themselves
diff --git a/code/modules/antagonists/traitor/objectives/locate_weakpoint.dm b/code/modules/antagonists/traitor/objectives/locate_weakpoint.dm
index fc9512528a297..72aee48e29ffc 100644
--- a/code/modules/antagonists/traitor/objectives/locate_weakpoint.dm
+++ b/code/modules/antagonists/traitor/objectives/locate_weakpoint.dm
@@ -126,15 +126,15 @@
else
explosion(epicenter, devastation_range = 3, heavy_impact_range = 6, light_impact_range = 9, explosion_cause = src)
priority_announce(
- "Attention crew, it appears that a high-power explosive charge has been detonated in your station's weakpoint, causing severe structural damage.",
- "[command_name()] High-Priority Update"
+ "Внимание экипаж, похоже, что в слабом месте вашей станции взорвался мощный взрывной заряд, вызвавший серьезные структурные повреждения.",
+ "[command_name()] Высокоприоритетное оповещение"
)
succeed_objective()
/obj/item/weakpoint_locator
name = "structural weakpoint locator"
- desc = "A device that can triangulate station's structural weakpoint. It has to be used in %AREA1% and %AREA2% in order to triangulate the weakpoint. Warning: station's AI will be notified as soon as the process starts!"
+ desc = "Устройство, которое может определить структурное слабое место станции. Его необходимо использовать в %AREA1% и %AREA2% для триангуляции слабого места. Внимание: ИИ станции будет уведомлен, как только процесс начнется!"
icon = 'icons/obj/antags/syndicate_tools.dmi'
icon_state = "weakpoint_locator"
inhand_icon_state = "weakpoint_locator"
@@ -168,27 +168,27 @@
var/datum/traitor_objective/locate_weakpoint/objective = objective_weakref.resolve()
if(!objective || objective.objective_state == OBJECTIVE_STATE_INACTIVE)
- to_chat(user, span_warning("Your time to use [src] has not come yet."))
+ to_chat(user, span_warning("Ваше время использовать [src] еще не пришло."))
return
if(objective.handler.owner != user.mind)
- to_chat(user, span_warning("You have zero clue how to use [src]."))
+ to_chat(user, span_warning("Вы понятия не имеете, как использовать [src]."))
return
var/area/user_area = get_area(user)
if(!(user_area.type in objective.scan_areas))
- balloon_alert(user, "invalid area!")
+ balloon_alert(user, "неверная область!")
playsound(user, 'sound/machines/buzz-sigh.ogg', 30, TRUE)
return
if(!objective.scan_areas[user_area.type])
- balloon_alert(user, "already scanned here!")
+ balloon_alert(user, "место уже отсканированно!")
playsound(user, 'sound/machines/buzz-sigh.ogg', 30, TRUE)
return
- user.visible_message(span_danger("[user] presses a few buttons on [src] and it starts ominously beeping!"), span_notice("You activate [src] and start scanning the area. Do not exit [get_area_name(user, TRUE)] until the scan finishes!"))
+ user.visible_message(span_danger("[user] нажимает несколько кнопок на [src], и предмет начинает зловеще пищать!"), span_notice("Вы активируете [src] и начинаете сканировать местность. Не выходите [get_area_name(user, TRUE)], пока сканирование не завершится!"))
playsound(user, 'sound/machines/triple_beep.ogg', 30, TRUE)
- var/alertstr = span_userdanger("Network Alert: Station network probing attempt detected[user_area?" in [get_area_name(user, TRUE)]":". Unable to pinpoint location"].")
+ var/alertstr = span_userdanger("Сетевое оповещение: обнаружена попытка анализирование сети станции[user_area?" в [get_area_name(user, TRUE)]":". Невозможно определить местоположение"].")
for(var/mob/living/silicon/ai/ai_player in GLOB.player_list)
to_chat(ai_player, alertstr)
@@ -200,10 +200,10 @@
objective.scan_areas[user_area.type] = FALSE
for(var/area/scan_area as anything in objective.scan_areas)
if(objective.scan_areas[scan_area])
- say("Next scanning location is [initial(scan_area.name)]")
+ say("Следующее место сканирования: [initial(scan_area.name)]")
return
- to_chat(user, span_notice("Scan finished. Structural weakpoint located in [initial(objective.weakpoint_area.name)]."))
+ to_chat(user, span_notice("Сканирование завершено. Слабое место конструкции расположено в [initial(objective.weakpoint_area.name)]."))
objective.weakpoint_located()
/obj/item/weakpoint_locator/proc/scan_checks(mob/living/user, area/user_area, datum/traitor_objective/locate_weakpoint/parent_objective)
@@ -224,7 +224,7 @@
/obj/item/grenade/c4/es8
name = "ES8 explosive charge"
- desc = "A high-power explosive charge designed to create a shockwave in a structural weakpoint of the station."
+ desc = "Мощный заряд взрывчатого вещества, предназначенный для создания ударной волны в слабом месте конструкции станции."
icon_state = "plasticx40"
inhand_icon_state = "plasticx4"
@@ -248,22 +248,22 @@
return
if(!IS_TRAITOR(user))
- to_chat(user, span_warning("You can't seem to find a way to detonate the charge."))
+ to_chat(user, span_warning("Похоже, вы не можете найти способ взорвать заряд."))
return
var/datum/traitor_objective/locate_weakpoint/objective = objective_weakref.resolve()
if(!objective || objective.objective_state == OBJECTIVE_STATE_INACTIVE || objective.handler.owner != user.mind)
- to_chat(user, span_warning("You don't think it would be wise to use [src]."))
+ to_chat(user, span_warning("Вы не думаете, что было бы разумно использовать [src]."))
return
var/area/target_area = get_area(target)
if (target_area.type != objective.weakpoint_area)
- to_chat(user, span_warning("[src] can only be detonated in [initial(objective.weakpoint_area.name)]."))
+ to_chat(user, span_warning("[src] можно взорвать только в [initial(objective.weakpoint_area.name)]."))
return
if(!isfloorturf(target) && !iswallturf(target))
- to_chat(user, span_warning("[src] can only be planted on a wall or the floor!"))
+ to_chat(user, span_warning("[src] можно ставить только на стену или пол!"))
return
return ..()
@@ -277,7 +277,7 @@
if (target_area.type != objective.weakpoint_area)
var/obj/item/grenade/c4/es8/new_bomb = new(target.drop_location())
- new_bomb.balloon_alert_to_viewers("invalid location!")
+ new_bomb.balloon_alert_to_viewers("неверная локация!")
target.cut_overlay(plastic_overlay, TRUE)
qdel(src)
return
diff --git a/code/modules/antagonists/traitor/objectives/sabotage_machinery.dm b/code/modules/antagonists/traitor/objectives/sabotage_machinery.dm
index 8638c839dfbc1..fed9808706fc7 100644
--- a/code/modules/antagonists/traitor/objectives/sabotage_machinery.dm
+++ b/code/modules/antagonists/traitor/objectives/sabotage_machinery.dm
@@ -157,14 +157,14 @@ GLOBAL_DATUM_INIT(objective_machine_handler, /datum/objective_target_machine_han
if(!IS_TRAITOR(user))
return
if(target_machine_path)
- . += span_notice("This device must be placed by clicking on a [initial(target_machine_path.name)] with it. It can be removed with a screwdriver.")
- . += span_notice("Remember, you may leave behind fingerprints on the device. Wear gloves when handling it to be safe!")
+ . += span_notice("Это устройство необходимо разместить, нажав на [initial(target_machine_path.name)] с ним. Его можно снять с помощью отвертки.")
+ . += span_notice("Помните, что вы можете оставить отпечатки пальцев на устройстве. Чтобы быть в безопасности, при работе с ним надевайте перчатки!")
/obj/item/traitor_machine_trapper/pre_attack(atom/target, mob/living/user, params)
. = ..()
if (. || !istype(target, target_machine_path))
return
- balloon_alert(user, "planting device...")
+ balloon_alert(user, "устанавливаем устройство...")
if(!do_after(user, delay = deploy_time, target = src, interaction_key = DOAFTER_SOURCE_PLANTING_DEVICE, hidden = TRUE))
return TRUE
target.AddComponent(\
@@ -187,7 +187,7 @@ GLOBAL_DATUM_INIT(objective_machine_handler, /datum/objective_target_machine_han
UnregisterSignal(machine, COMSIG_QDELETING)
playsound(machine, 'sound/effects/structure_stress/pop3.ogg', 100, vary = TRUE)
forceMove(get_turf(machine))
- visible_message(span_warning("A [src] falls out from the [machine]!"))
+ visible_message(span_warning("[src] выпадает из [machine]!"))
/// Datum which manages references to things we are instructed to destroy
/datum/objective_target_machine_handler
diff --git a/code/modules/antagonists/traitor/objectives/sleeper_protocol.dm b/code/modules/antagonists/traitor/objectives/sleeper_protocol.dm
index 5ec0aec38fa8f..74a7da00823fd 100644
--- a/code/modules/antagonists/traitor/objectives/sleeper_protocol.dm
+++ b/code/modules/antagonists/traitor/objectives/sleeper_protocol.dm
@@ -68,12 +68,12 @@
disk = null
/obj/item/disk/surgery/sleeper_protocol
name = "Suspicious Surgery Disk"
- desc = "The disk provides instructions on how to turn someone into a sleeper agent for the Syndicate."
+ desc = "На диске содержатся инструкции о том, как превратить кого-либо в спящего агента Синдиката."
surgeries = list(/datum/surgery/advanced/brainwashing_sleeper)
/datum/surgery/advanced/brainwashing_sleeper
name = "Sleeper Agent Surgery"
- desc = "A surgical procedure which implants the sleeper protocol into the patient's brain, making it their absolute priority. It can be cleared using a mindshield implant."
+ desc = "Хирургическая процедура, которая имплантирует протокол сна в мозг пациента, что делает его абсолютным приоритетом. Его можно очистить с помощью импланта защиты разума."
possible_locs = list(BODY_ZONE_HEAD)
steps = list(
/datum/surgery_step/incise,
@@ -96,18 +96,18 @@
/datum/surgery_step/brainwash/sleeper_agent
time = 25 SECONDS
var/static/list/possible_objectives = list(
- "You love the Syndicate.",
- "Do not trust Nanotrasen.",
- "The Captain is a lizardperson.",
- "Nanotrasen isn't real.",
- "They put something in the food to make you forget.",
- "You are the only real person on the station.",
- "Things would be a lot better on the station if more people were screaming, someone should do something about that.",
- "The people in charge around here have only ill intentions for the crew.",
- "Help the crew? What have they ever done for you anyways?",
- "Does your bag feel lighter? I bet those guys in Security stole something from it. Go get it back.",
- "Command is incompetent, someone with some REAL authority should take over around here.",
- "The cyborgs and the AI are stalking you. What are they planning?",
+ "Ты любишь Синдикат.",
+ "Недоверяй Nanotrasen.",
+ "Капитан - ящер.",
+ "Nanotrasen не существует.",
+ "Они подложили что-то в твою еду, чтобы ты забыл.",
+ "Ты единственный реальный член экипажа на этой станции.",
+ "На станции было бы намного лучше, если бы больше людей кричало, кто-то должен с этим что-то сделать.",
+ "Люди, ответственные здесь, имеют только злые намерения в отношении команды.",
+ "Помочь экипажу? Что они вообще для тебя сделали?",
+ "Ваша сумка кажется легче? Могу поспорить, что те ребята из службы безопасности что-то оттуда украли. Иди и верни это!",
+ "Командование некомпетентно, кто-то, обладающий РЕАЛЬНОЙ властью, должен взять на себя управление здесь.",
+ "Киборги и искусственный интеллект преследуют вас. Что они планируют?",
)
/datum/surgery_step/brainwash/sleeper_agent/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -115,15 +115,15 @@
display_results(
user,
target,
- span_notice("You begin to brainwash [target]..."),
- span_notice("[user] begins to fix [target]'s brain."),
- span_notice("[user] begins to perform surgery on [target]'s brain."),
+ span_notice("Вы начинаете промывать мозги [target]..."),
+ span_notice("[user] начинает исправлять мозги [target]."),
+ span_notice("[user] начинает делать операцию на мозге [target]."),
)
- display_pain(target, "Your head pounds with unimaginable pain!") // Same message as other brain surgeries
+ display_pain(target, "Голова раскалывается от невообразимой боли!") // Same message as other brain surgeries
/datum/surgery_step/brainwash/sleeper_agent/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(target.stat == DEAD)
- to_chat(user, span_warning("They need to be alive to perform this surgery!"))
+ to_chat(user, span_warning("Они должны быть живы, чтобы провести эту операцию!"))
return FALSE
. = ..()
if(!.)
diff --git a/code/modules/antagonists/traitor/objectives/steal.dm b/code/modules/antagonists/traitor/objectives/steal.dm
index 949c57e5ffbb3..7ec89c4fb80d0 100644
--- a/code/modules/antagonists/traitor/objectives/steal.dm
+++ b/code/modules/antagonists/traitor/objectives/steal.dm
@@ -169,12 +169,12 @@ GLOBAL_DATUM_INIT(steal_item_handler, /datum/objective_item_handler, new())
/datum/traitor_objective/steal_item/generate_ui_buttons(mob/user)
var/list/buttons = list()
if(special_equipment)
- buttons += add_ui_button("", "Pressing this will summon any extra special equipment you may need for the mission.", "tools", "summon_gear")
+ buttons += add_ui_button("", "Нажатие этой кнопки вызовет любое дополнительное специальное оборудование, которое может вам понадобиться для миссии.", "tools", "summon_gear")
if(!bug)
- buttons += add_ui_button("", "Pressing this will materialize a scanner in your hand, which you can place on the target item", "wifi", "summon_bug")
+ buttons += add_ui_button("", "При нажатии на эту кнопку в вашей руке появится сканер, который вы сможете поместить на цель.", "wifi", "summon_bug")
else if(bug.planted_on)
- buttons += add_ui_button("[DisplayTimeText(time_fulfilled)]", "This tells you how much time you have spent around the target item after the scanner has been planted.", "clock", "none")
- buttons += add_ui_button("Skip Time", "Pressing this will succeed the mission. You will not get the extra TC and progression.", "forward", "cash_out")
+ buttons += add_ui_button("[DisplayTimeText(time_fulfilled)]", "Это показывает, сколько времени вы провели возле целевого предмета после установки сканера.", "clock", "none")
+ buttons += add_ui_button("Пропустить время", "Нажатие этой кнопки приведет к успеху миссии. Вы не получите дополнительных TК и прогресса.", "forward", "cash_out")
return buttons
/datum/traitor_objective/steal_item/ui_perform_action(mob/living/user, action)
@@ -185,7 +185,7 @@ GLOBAL_DATUM_INIT(steal_item_handler, /datum/objective_item_handler, new())
return
bug = new(user.drop_location())
user.put_in_hands(bug)
- bug.balloon_alert(user, "the scanner materializes in your hand")
+ bug.balloon_alert(user, "сканер материализуется у вас в руке")
bug.target_object_type = target_item.targetitem
AddComponent(/datum/component/traitor_objective_register, bug, \
fail_signals = list(COMSIG_QDELETING), \
@@ -198,7 +198,7 @@ GLOBAL_DATUM_INIT(steal_item_handler, /datum/objective_item_handler, new())
for(var/item in special_equipment)
var/obj/item/new_item = new item(user.drop_location())
user.put_in_hands(new_item)
- user.balloon_alert(user, "the equipment materializes in your hand")
+ user.balloon_alert(user, "оборудование материализуется в ваших руках")
special_equipment = null
if("cash_out")
if(!bug.planted_on)
@@ -250,7 +250,7 @@ GLOBAL_DATUM_INIT(steal_item_handler, /datum/objective_item_handler, new())
/obj/item/traitor_bug
name = "suspicious device"
- desc = "It looks dangerous."
+ desc = "Это выглядит опасно."
item_flags = EXAMINE_SKIP
icon = 'icons/obj/antags/syndicate_tools.dmi'
@@ -270,8 +270,8 @@ GLOBAL_DATUM_INIT(steal_item_handler, /datum/objective_item_handler, new())
if(IS_TRAITOR(user))
if(target_object_type)
- . += span_notice("This device must be placed by clicking on the [initial(target_object_type.name)] with it.")
- . += span_notice("Remember, you may leave behind fingerprints or fibers on the device. Use soap or similar to scrub it clean to be safe!")
+ . += span_notice("Это устройство необходимо разместить, нажав на[initial(target_object_type.name)] с ним.")
+ . += span_notice("Помните, что вы можете оставить на устройстве отпечатки пальцев или волокна. Используйте мыло или что-то подобное, чтобы очистить его, чтобы быть в безопасности!")
/obj/item/traitor_bug/afterattack(atom/movable/target, mob/user, proximity_flag, click_parameters)
. = ..()
@@ -283,7 +283,7 @@ GLOBAL_DATUM_INIT(steal_item_handler, /datum/objective_item_handler, new())
var/result = SEND_SIGNAL(src, COMSIG_TRAITOR_BUG_PRE_PLANTED_OBJECT, target)
if(!(result & COMPONENT_FORCE_PLACEMENT))
if(result & COMPONENT_FORCE_FAIL_PLACEMENT || !istype(target, target_object_type))
- balloon_alert(user, "you can't attach this onto here!")
+ balloon_alert(user, "вы не можете прикрепить это сюда!")
return
if(!do_after(user, deploy_time, src, hidden = TRUE))
return
diff --git a/code/modules/uplink/uplink_items/contractor.dm b/code/modules/uplink/uplink_items/contractor.dm
index 7d261410e314d..d4429d4e037e4 100644
--- a/code/modules/uplink/uplink_items/contractor.dm
+++ b/code/modules/uplink/uplink_items/contractor.dm
@@ -4,12 +4,12 @@
/datum/uplink_item/bundles_tc/contract_kit
name = "Contract Kit"
- desc = "The Syndicate have offered you the chance to become a contractor, take on kidnapping contracts for TC \
- and cash payouts. Upon purchase, you'll be granted your own contract uplink embedded within the supplied \
- tablet computer. Additionally, you'll be granted standard contractor gear to help with your mission - \
- comes supplied with the tablet, specialised space suit, chameleon jumpsuit and mask, agent card, \
- specialised contractor baton, and three randomly selected low cost items. \
- Can include otherwise unobtainable items."
+ desc = "Синдикат предложил вам стать контрактником и взять на себя контракты на похищение людей за TК \
+ и денежные выплаты. После покупке вам будет предоставлен собственный аплинк контрактора, встроенный в прилагаемый \
+ планшет. Кроме того, вам будет предоставлено стандартное снаряжение контрактника, которое поможет вам в выполнении вашей миссии - \
+ планшет, специализированный скафандр, комбинезон и маска-хамелеон, карточка агента, \
+ специализированная дубинка контрактника и три случайно выбранных недорогих предмета. \
+ Может включать в себя предметы, которые иначе невозможно получить."
item = /obj/item/storage/box/syndicate/contract_kit
category = /datum/uplink_category/contractor
cost = 20
@@ -34,8 +34,8 @@
/datum/uplink_item/contractor/reroll
name = "Contract Reroll"
- desc = "Request a reroll of your current contract list. Will generate a new target, \
- payment, and dropoff for the contracts you currently have available."
+ desc = "Запросите обновление вашего текущего списка контрактов. Создаст новую цель, \
+ оплату и места для транспортировки ваших текущих доступных контрактов."
item = ABSTRACT_UPLINK_ITEM
limited_stock = 2
cost = 0
@@ -63,28 +63,28 @@
/datum/uplink_item/contractor/pinpointer
name = "Contractor Pinpointer"
- desc = "A pinpointer that finds targets even without active suit sensors. \
- Due to taking advantage of an exploit within the system, it can't pinpoint \
- to the same accuracy as the traditional models. \
- Becomes permanently locked to the user that first activates it."
+ desc = "Пинпоинтер, который находит цели даже без активных датчиков костюма. \
+ Из-за использования эксплойта внутри системы он не может точно определять \
+ с той же точностью, что и традиционные модели. \
+ Становится навсегда заблокированным для пользователя, который первым его активировал."
item = /obj/item/pinpointer/crew/contractor
limited_stock = 2
cost = 1
/datum/uplink_item/contractor/extraction_kit
name = "Fulton Extraction Kit"
- desc = "For getting your target across the station to those difficult dropoffs. \
- Place the beacon somewhere secure, and link the pack. \
- Activating the pack on your target will send them over to the beacon - \
- make sure they're not just going to run away though!"
+ desc = "Для того, чтобы доставлять вашу цель через станцию к этим трудным зонам отправки. \
+ Установите маяк в безопасное место и соедините устройство. \
+ Активация устройства на вашей цели отправит ее к маяку - \
+ убедитесь, что они не смогут просто убежать!"
item = /obj/item/storage/box/contractor/fulton_extraction
limited_stock = 1
cost = 1
/datum/uplink_item/contractor/partner
name = "Contractor Reinforcement"
- desc = "A reinforecment operative will be sent to aid you in your goals, \
- they are paid separately, and will not take a cut from your profits."
+ desc = "Подкрепление в виде оперативника будет отправлено для помощи в достижении ваших целей - \
+ они оплачиваются отдельно и не отнимают часть вашей прибыли."
item = /obj/item/antag_spawner/loadout/contractor
limited_stock = 1
cost = 2
diff --git a/strings/antagonist_flavor/traitor_flavor.json b/strings/antagonist_flavor/traitor_flavor.json
index 773d2f55370f6..d6fffc5dd2488 100644
--- a/strings/antagonist_flavor/traitor_flavor.json
+++ b/strings/antagonist_flavor/traitor_flavor.json
@@ -1,123 +1,123 @@
{
"Animal Rights Consortium": {
- "allies": "You may cooperate with other syndicate operatives if they support our cause. Maybe you can convince the Bee Liberation Front operatives to cooperate for once?",
- "goal": "The creatures of this world must be freed from the iron grasp of Nanotrasen, and you are their only hope!",
- "introduction": "You are the ARC Terrorist.",
- "roundend_report": "was an activist from the Animal Rights Consortium.",
+ "allies": "Вы можете сотрудничать с другими оперативниками синдиката, если они поддержат наше дело. Может быть, вам удастся хоть раз убедить оперативников Фронта Освобождения Пчел сотрудничать?",
+ "goal": "Существа этого мира должны быть освобождены из железной хватки Нанотрасена, и вы их единственная надежда!",
+ "introduction": "Вы — террорист ARC.",
+ "roundend_report": "был активистом Консорциума по правам животных.",
"ui_theme": "syndicate",
- "uplink": "The Syndicate have graciously given one of their uplinks for your task."
+ "uplink": "Синдикат любезно предоставил один из своих каналов связи для вашего задания."
},
"Bee Liberation Front": {
- "allies": "You may cooperate with other syndicate operatives if they support our cause. Maybe you can recruit an Animal Rights Consort to be useful for once?",
- "goal": "We must prove ourselves to the Syndicate or we will not be able to join. Animal Rights Consort will roll us!",
- "introduction": "You are the Bee Liberation Front Operative.",
- "roundend_report": "was an activist of the Bee Liberation Front.",
+ "allies": "Вы можете сотрудничать с другими оперативниками синдиката, если они поддержат наше дело. Может быть, ты сможешь нанять рекрута из АRC, чтобы они хоть раз оказались полезными?",
+ "goal": "Мы должны доказать свою состоятельность Синдикату, иначе мы не сможем присоединиться к нему. Консорт по правам животных поведет нас!",
+ "introduction": "Вы — оперативник Фронта Освобождения Пчел",
+ "roundend_report": "был активистом Фронта Освобождения Пчел",
"ui_theme": "syndicate",
- "uplink": "The Syndicate have graciously given one of their uplinks to see if we are worthy."
+ "uplink": "Синдикат любезно предоставил один из своих каналов связи, чтобы проверить, достойны ли мы."
},
"Champions of Evil": {
- "allies": "Anyone who sees as you see, feels as you feel, may join the Champions of Evil! That means the Syndicate, the self-serving, or even the insane, as long as it has a heart of darkness, it's cool with the Champions!",
- "goal": "You've got some napkin-note-plans for some EVIL to do today. On the side, the Champions of Evil are always looking for more morally malodorous malefactors! Get some recruiting done!",
- "introduction": "You are the Champion of Evil.",
- "roundend_report": "was a Champion of Evil!",
+ "allies": "Любой, кто видит то, что вы видите, чувствует то же, что вы чувствуете, может присоединиться к Чемпионам Зла! Это означает, что Синдикат, корыстный или даже безумный, и пока у него есть сердце тьмы - он дружит с Чемпионами!",
+ "goal": "У тебя есть небольшие планы для какого-то ЗЛА, которые нужно сделать сегодня. С другой стороны, Чемпионы Зла всегда ищут более зловонных злоумышленников! Займись вербовкой!",
+ "introduction": "Ты — Чемпион Зла",
+ "roundend_report": "был Чемпионом Зла!",
"ui_theme": "neutral",
- "uplink": "The Champions of Evil is well connected to the black market. Your uplink has been provided for utmost evil!"
+ "uplink": "Чемпионы Зла хорошо связаны с черным рынком. Ваш канал связи предназначен для крайнего зла!"
},
"Corporate Climber": {
- "allies": "Death to the Syndicate.",
- "goal": "Killing needlessly would make you some kind of traitor, or at least definitely seen as one. This is all just a means to an end.",
- "introduction": "You are the Corporate Climber.",
- "roundend_report": "was a corporate climber.",
+ "allies": "Смерть Синдикату.",
+ "goal": "Убийство без необходимости сделало бы вас предателем или, по крайней мере, определенно считало бы вас таковым. Все это лишь средство для достижения цели.",
+ "introduction": "Вы — идущий по карьерной лестнице.",
+ "roundend_report": "был идущим по карьерной лестнице.",
"ui_theme": "neutral",
- "uplink": "You have connections to the black market for the deeds. Knock off a few loose weights, and your climb will be so much smoother."
+ "uplink": "У вас есть связи с черным рынком этих дел. Скиньте пару ненужных тяжестей, и ваш подъем станет намного более плавным."
},
"Cybersun Industries": {
- "allies": "Fellow Cybersun operatives are to be trusted. Members of the MI13 organization can be trusted. All other syndicate operatives are not to be trusted.",
- "goal": "Do not establish substantial presence on the designated facility, as larger incidents are harder to cover up.",
- "introduction": "You are from Cybersun Industries.",
- "roundend_report": "was a specialist from Cybersun Industries.",
+ "allies": "Сотрудникам Cybersun следует доверять. Членам организации MI-13 можно доверять. Всем остальным оперативникам синдиката доверять нельзя.",
+ "goal": "Не устанавливайте существенное присутствие на указанном объекте, поскольку крупные инциденты сложнее скрыть.",
+ "introduction": "Вы из Cybersun Industries.",
+ "roundend_report": "был специалистом из Cybersun Industries.",
"ui_theme": "syndicate",
- "uplink": "You have been supplied the tools for the job in the form of a standard syndicate uplink."
+ "uplink": "Вам предоставлены инструменты для работы в виде стандартного аплинка синдиката."
},
"Donk Corporation": {
- "allies": "Members of Waffle Co. are to be killed on sight; they are not allowed to be on the station while we're around.",
- "goal": "We do not approve of mindless killing of innocent workers; \"get in, get done, get out\" is our motto.",
- "introduction": "You are the Donk Co. Traitor.",
- "roundend_report": "was an employee from Donk Corporation.",
+ "allies": "Членов Waffle Co. следует уничтожать на месте; им не разрешено находиться на станции, когда мы вокруг.",
+ "goal": "Мы не одобряем бессмысленного убийства невинных работников; \"зайти, сделать дело, уйти\" - наш девиз.",
+ "introduction": "Ты - предатель из Donk Co.",
+ "roundend_report": "был сотрудником Donk Corporation.",
"ui_theme": "syndicate",
- "uplink": "You have been provided with a standard uplink to accomplish your task."
+ "uplink": "Вам был предоставлен стандартный аплинк для выполнения вашей задачи."
},
"Gone Postal": {
- "allies": "If the syndicate learns of your plan, they're going to kill you and take your uplink. Take no chances.",
- "goal": "The preparations are finally complete. Today is the day you go postal. You're going to hijack the emergency shuttle and live a new life free of Nanotrasen.",
- "introduction": "You're going postal today.",
- "roundend_report": "simply went completely postal!",
+ "allies": "Если синдикат узнает о вашем плане, они убьют вас и заберут ваш аплинк. Не рискуйте.",
+ "goal": "Подготовка наконец завершена. Сегодня - день, когда вы начнете действовать безрассудно. Вы собираетесь угнать эвакуационный шаттл и начать новую жизнь, свободную от Nanotrasen.",
+ "introduction": "Сегодня ты начинаешь действовать безрассудно.",
+ "roundend_report": "просто ебанулся!",
"ui_theme": "neutral",
- "uplink": "You've actually managed to steal a full uplink a month ago. This should certainly help accomplish your goals."
+ "uplink": "Вы даже смогли украсть полный аплинк месяц назад. Это, безусловно, поможет вам достичь ваших целей."
},
"Gorlex Marauders": {
- "allies": "You may collaborate with any friends of the Syndicate coalition, but keep an eye on any of those Tiger punks if they do show up.",
- "goal": "Getting noticed is not an issue, and you may use any level of ordinance to get the job done. That being said, do not make this sloppy by dragging in random slaughter.",
- "introduction": "You are a Gorlex Marauder.",
- "roundend_report": "was a Gorlex Marauder.",
+ "allies": "Вы можете сотрудничать с любыми друзьями коалиции Синдиката, но следите за теми мудилами из Тигров, если они все же появятся.",
+ "goal": "Быть замеченным - не проблема, и вы можете использовать любой уровень вооружения, чтобы выполнить задание. Тем не менее, не делайте это беспорядочно, привлекая случайных жертв.",
+ "introduction": "Вы - мародер Горлекса.",
+ "roundend_report": "был мародером Горлекса.",
"ui_theme": "syndicate",
- "uplink": "You have been provided with a standard uplink to accomplish your task."
+ "uplink": "Вам был предоставлен стандартный аплинк для выполнения вашей задачи."
},
"Internal Affairs Agent": {
- "allies": "Do NOT reveal your agent status, to anyone. Work to root out corruption from the station from the shadows.",
- "goal": "While you have a license to kill, unneeded property damage or loss of employee life will lead to your contract being terminated.",
- "introduction": "You are the Internal Affairs Agent.",
- "roundend_report": "was part of Nanotrasen Internal Affairs.",
+ "allies": "НЕ раскрывайте свой статус агента никому. Работайте, чтобы искоренить коррупцию на станции из тени.",
+ "goal": "Хотя у вас есть лицензия на убийство, необоснованный ущерб собственности или потеря жизни сотрудников приведет к расторжению вашего контракта.",
+ "introduction": "Вы - агент внутренних дел.",
+ "roundend_report": "был агентом внутренних дел Nanotrasen",
"ui_theme": "ntos",
- "uplink": "For the sake of plausible deniability, you have been equipped with an array of captured Syndicate weaponry available via uplink."
+ "uplink": "В целях возможного отрицания вас снабдили арсеналом захваченного синдикатского оружия, доступного через аплинк."
},
"Legal Trouble": {
- "allies": "Death to the Syndicate.",
- "goal": "Try to finish your to-do list, and don't get caught. If they find out what you're actually doing, this scandal will go galactic.",
- "introduction": "You are in legal trouble.",
- "roundend_report": "was in legal trouble.",
+ "allies": "Смерть Синдикату.",
+ "goal": "Попробуйте закончить свой список дел и не попадайтесь. Если они узнают, что вы на самом деле делаете, эта скандал пойдет дальше, чем космическое пространство.",
+ "introduction": "У вас проблемы с законом.",
+ "roundend_report": "имел проблемы с законом.",
"ui_theme": "neutral",
- "uplink": "You've connected to the black market to clean this mess up. If there's no evidence, there's no crime."
+ "uplink": "Вы связались с чёрным рынком, чтобы разобраться с этим беспорядком. Если нет доказательств, нет преступления."
},
"MI13": {
- "allies": "You are the only operative we are sending, any others are fake. All other syndicate operatives are not to be trusted, with the exception of Cybersun operatives.",
- "goal": "Avoid killing innocent personnel at all costs. You are not here to mindlessly kill people, as that would attract too much attention and is not our goal. Avoid detection at all costs.",
- "introduction": "You are the MI13 Agent.",
- "roundend_report": "was an MI13 agent.",
+ "allies": "Вы - единственный оперативник, которого мы отправляем, все остальные - поддельные. Ни на кого из других оперативников Синдиката нельзя полагаться, за исключением оперативников Cybersun.",
+ "goal": "Избегайте убийства невинного персонала любой ценой. Вы здесь не для того, чтобы бессмысленно убивать людей, так как это привлечет слишком много внимания и не соответствует нашей цели. Избегайте обнаружения любой ценой.",
+ "introduction": "Вы - агент MI13.",
+ "roundend_report": "был агентом MI13.",
"ui_theme": "syndicate",
- "uplink": "You have been provided with a standard uplink to accomplish your task."
+ "uplink": "Вам был предоставлен стандартный аплинк для выполнения вашей задачи."
},
"Tiger Cooperative Fanatic": {
- "allies": "Only the enlightened Tiger brethren can be trusted; all others must be expelled from this mortal realm!",
- "goal": "Remember the teachings of Hy-lurgixon; kill first, ask questions later!",
- "introduction": "You are the Tiger Cooperative Fanatic.",
- "roundend_report": "was a Tiger Cooperative Fanatic.",
+ "allies": "Только просвещенным братьям-Тиграм можно доверять; все остальные должны быть изгнаны из этого смертного мира!",
+ "goal": "Помните учения Хай-лургиксона: вначале убей, а потом задавай вопросы!",
+ "introduction": "Вы - фанатик из Тигровой Кооперации",
+ "roundend_report": "был фанатиком из Тигровой Кооперации",
"ui_theme": "abductor",
- "uplink": "You have been provided with a hy-lurgixon tome to prove yourself to the changeling hive. If you accomplish your tasks, you will be assimilated.",
- "uplink_name": "hy-lurgixon tome"
+ "uplink": "Вам была предоставлена книга Хай-лургиксона, чтобы доказать свою преданность улью генокрадов. Если вы выполните свои задачи, вас ассимилируют.",
+ "uplink_name": "книга Хай-лургиксона"
},
"Waffle Corporation": {
- "allies": "Members of Donk Co. are to be killed on sight; they are not allowed to be on the station while we're around. Do not trust fellow members of the Waffle.co (but try not to rat them out), as they might have been assigned opposing objectives.",
- "goal": "You are not here for a station-wide demonstration. Again, other Waffle Co. Traitors may be, so watch out. Your job is to only accomplish your objectives.",
- "introduction": "You are the Waffle Co. Traitor.",
- "roundend_report": "was an employee from Waffle Corporation.",
+ "allies": "Членов Donc Co. следует уничтожать на месте; им не разрешено находиться на станции, когда мы тут. Не доверяйте своим соратникам из Waffle.co (но попробуйте не выдавать их), так как они могли получить противоположные задачи.",
+ "goal": "Вы здесь не для большой все-станционной демонстранции. Опять же, другие агенты Waffle Co. могут присуствовать, так что будьте аккуратнее. Ваша задача – достичь своих целей.",
+ "introduction": "Вы предатель из Waffle Co.",
+ "roundend_report": "был сотрудником Waffle Corporation.",
"ui_theme": "syndicate",
- "uplink": "You have been provided with a standard uplink to accomplish your task."
+ "uplink": "Вам был предоставлен стандартный аплинк для выполнения вашей задачи."
},
"Waffle Corporation Terrorist": {
- "allies": "Most other syndicate operatives are not to be trusted, except for members of the Gorlex Marauders. Do not trust fellow members of the Waffle.co (but try not to rat them out), as they might have been assigned opposing objectives.",
- "goal": "Our investors need a demonstration of our pledge to destroying Nanotrasen. Let's give them a loud one!",
- "introduction": "You are the Waffle Corporation Terrorist.",
- "roundend_report": "was a terrorist from Waffle Corporation.",
+ "allies": "Большинству других оперативников Синдиката нельзя доверять, за исключением членов Мародеров Горлекса. Не доверяйте своим соратникам из Waffle.co (но попробуйте не выдавать их), так как они могли получить противоположные задачи.",
+ "goal": "Наши инвесторы нуждаются в демонстрации нашего обещания уничтожить Нанотрасен. Давайте дадим им громкое представление!",
+ "introduction": "Вы - террорист от Waffle Corporation.",
+ "roundend_report": "был террористом из корпорации Waffle Corporation.",
"ui_theme": "syndicate",
- "uplink": "You have been provided with a standard uplink to accomplish your task."
+ "uplink": "Вам был предоставлен стандартный аплинк для выполнения вашей задачи."
},
"Contractor Support Unit": {
- "allies": "You are being sent to help your designated agent. Their allegiences are above all others.",
- "goal": "Help your designated agent to the furtest extent you can, their life is above your own.",
- "introduction": "You are the Contractor Support Agent.",
- "roundend_report": "was a contractor support agent.",
+ "allies": "Вы отправлены, чтобы помочь вашему назначенному агенту. Их приверженность выше всех остальных.",
+ "goal": "Помогайте вашему назначенному агенту в максимально возможной степени, их жизнь важнее вашей собственной.",
+ "introduction": "Вы - агент поддержки контрактника.",
+ "roundend_report": "был агентом поддержки контрактника.",
"ui_theme": "syndicate",
- "uplink": "You do not come with your own uplink, defer to your agent."
+ "uplink": "У вас нет собственного аплинка, следуйте за вашим агентом."
}
}
diff --git a/tgui/packages/tgui/interfaces/AntagInfoTraitor.tsx b/tgui/packages/tgui/interfaces/AntagInfoTraitor.tsx
index a4c30dc808a4f..55d7bf89e17e8 100644
--- a/tgui/packages/tgui/interfaces/AntagInfoTraitor.tsx
+++ b/tgui/packages/tgui/interfaces/AntagInfoTraitor.tsx
@@ -154,7 +154,7 @@ const UplinkSection = (props) => {
{(has_uplink && (
- Если вы потеряете свой аплнинк, создайте Синдикатовский маячок аплинка
+ Если вы потеряете свой аплинк, создайте Синдикатовский маячок аплинка
и скажите{' '}
{replacement_code}
diff --git a/tgui/packages/tgui/interfaces/SyndicateContractor.tsx b/tgui/packages/tgui/interfaces/SyndicateContractor.tsx
index 81e01d682d73a..4c3d7640b3a7e 100644
--- a/tgui/packages/tgui/interfaces/SyndicateContractor.tsx
+++ b/tgui/packages/tgui/interfaces/SyndicateContractor.tsx
@@ -64,56 +64,56 @@ export const SyndicateContractorContent = (props) => {
const { error, logged_in, first_load, info_screen } = data;
const terminalMessages = [
- 'Recording biometric data...',
- 'Analyzing embedded syndicate info...',
- 'STATUS CONFIRMED',
- 'Contacting syndicate database...',
- 'Awaiting response...',
- 'Awaiting response...',
- 'Awaiting response...',
- 'Awaiting response...',
- 'Awaiting response...',
- 'Awaiting response...',
- 'Response received, ack 4851234...',
- 'CONFIRM ACC ' + Math.round(Math.random() * 20000),
- 'Setting up private accounts...',
- 'CONTRACTOR ACCOUNT CREATED',
- 'Searching for available contracts...',
- 'Searching for available contracts...',
- 'Searching for available contracts...',
- 'Searching for available contracts...',
- 'CONTRACTS FOUND',
- 'WELCOME, AGENT',
+ 'Запись биометрических данных...',
+ 'Анализ встроенной информации о синдикате...',
+ 'СТАТУС ПОДТВЕРЖДЕН',
+ 'Обращение к базе данных синдиката...',
+ 'Ожидание ответа...',
+ 'Ожидание ответа...',
+ 'Ожидание ответа...',
+ 'Ожидание ответа...',
+ 'Ожидание ответа...',
+ 'Ожидание ответа...',
+ 'Ответ получен, аккаунт 4851234...',
+ 'ПОДТВЕРДИТЬ АККАУНТ ' + Math.round(Math.random() * 20000),
+ 'Настройка личных аккаунтов...',
+ 'АККАУНТ КОНТРАКТНИКА СОЗДАН',
+ 'Поиск доступных контрактов...',
+ 'Поиск доступных контрактов...',
+ 'Поиск доступных контрактов...',
+ 'Поиск доступных контрактов...',
+ 'КОНТРАКТЫ НАЙДЕНЫ',
+ 'ДОБРО ПОЖАЛОВАТЬ, АГЕНТ',
];
const infoEntries = [
'SyndTract v2.0',
'',
- "We've identified potentional high-value targets that are",
- 'currently assigned to your mission area. They are believed',
- 'to hold valuable information which could be of immediate',
- 'importance to our organisation.',
+ "Мы определили потенциально ценные цели, которые",
+ 'в настоящее время находятся в районе вашей миссии. Они могут',
+ 'хранить ценную информацию, которая может иметь важное',
+ 'значение для нашей организации.',
'',
- 'Listed below are all of the contracts available to you. You',
- 'are to bring the specified target to the designated',
- 'drop-off, and contact us via this uplink. We will send',
- 'a specialised extraction unit to put the body into.',
+ 'Ниже перечислены все доступные вам контракты. Вы',
+ 'должны довести заданную цель до назначенной',
+ 'зоны отправки, и связаться с нами через аплинк. Мы отправим',
+ 'специализированную капсулу для транспортировки, куда нужно поместить тело.',
'',
- 'We want targets alive - but we will sometimes pay slight',
- "amounts if they're not, you just won't receive the shown",
- 'bonus. You can redeem your payment through this uplink in',
- 'the form of raw telecrystals, which can be put into your',
- 'regular Syndicate uplink to purchase whatever you may need.',
- 'We provide you with these crystals the moment you send the',
- 'target up to us, which can be collected at anytime through',
- 'this system.',
+ 'Мы хотим, чтобы цели были живыми; мы платим меньшие',
+ "суммы если цель будет мертва, так как вы просто не получите указанный",
+ 'бонус. Вы можете получить свою оплату через этот аплинк в',
+ 'форме телекристаллов, которые могут быть вложены в',
+ 'обычный аплинк Синдиката для приобретения необходимого вам снаряжения.',
+ 'Мы предоставим вам эти кристаллы в тот момент, когда вы отправите',
+ 'цель к нам, телекристаллы можно получить в любое время через',
+ 'эту систему.',
'',
- 'Targets extracted will be ransomed back to the station once',
- 'their use to us is fulfilled, with us providing you a small',
- 'percentage cut. You may want to be mindful of them',
- 'identifying you when they come back. We provide you with',
- 'a standard contractor loadout, which will help cover your',
- 'identity.',
+ 'Похищенные цели будут выкуплены обратно на станцию после того,',
+ 'как их знания будут извлечены, и вам будет предоставлена',
+ 'часть выкупа. Вам следует помнить, что они могут',
+ 'идентифицировать вас, когда они вернутся. Мы предоставляем вам',
+ 'стандартное снаряжение контрактника, которое поможет скрыть вашу',
+ 'личность.',
];
const errorPane = !!error && (
@@ -137,7 +137,7 @@ export const SyndicateContractorContent = (props) => {